小编ᄂ ᄀ*_*ᄂ ᄀ的帖子

Linux支持直接通过inode号调用程序吗?

我\xe2\x80\x99m询问是因为字符串比较很慢,但索引很快,而且我编写的很多脚本都是在bash中,据我所知,bash对每个可执行调用执行完整的字符串查找。所有这些ls\xe2\x80\x99s 和grep\xe2\x80\x99s 会更快一点,而无需在每个步骤中执行字符串查找。当然,现在深入研究编译器优化。

\n

无论如何,有没有一种方法可以在 Linux 中仅使用其 inode 号直接调用程序(假设您只需在所有调用中查找一次)?

\n

filesystems scripting path inode

16
推荐指数
2
解决办法
4876
查看次数

如何grep unicode?在 bash 脚本中

if grep -q "?" out.txt
    then
        echo "working"
    else
        cat out.txt
fi
Run Code Online (Sandbox Code Playgroud)

基本上,如果文件“out.txt”包含“?” 文件中的任何地方我都希望它回显“工作”,并且如果文件“out.txt”不包含“?” 文件中的任何地方,然后我希望它 cat out.txt

编辑:所以这就是我在做什么。我正在尝试暴力破解 openssl 解密。

openssl enc 成功返回 0,否则返回非零。注意:您会得到误报,因为 AES/CBC 只能根据正确的填充来确定“解密是否有效”。所以文件解密了,但它不是正确的密码,所以里面会有乱码。乱码中的一个常见字符是“?”。因此,如果输出包含“?”,我希望 do 循环继续运行。

这是我的 git 链接https://github.com/Raphaeangelo/OpenSSLCracker 这是脚本

while read line
do
openssl aes-256-cbc -d -a -in $1 -pass pass:$line -out out.txt 2>out.txt >/dev/null && printf "==================================================\n"
if grep -q "?" out.txt
    then
        :
    else
        cat out.txt &&
            printf "\n==================================================" &&
            printfn"\npassword is $line\n" &&
            read -p "press return key to continue..." < /dev/tty; 
fi …
Run Code Online (Sandbox Code Playgroud)

linux grep scripting openssl

13
推荐指数
2
解决办法
2万
查看次数

Setfattr总是返回不支持的操作

我正在尝试让脚本正常工作,但是在尝试使用 setfattr 设置文件属性的特定行上遇到问题。

有问题的行是

ret=os.system('setfattr -n "user.dummy" -v "dummy" /apachelogs/data/file')
Run Code Online (Sandbox Code Playgroud)

该位置的 fstab 输出如下。

/dev/sdb1 /apachelogs          reiserfs    user,noauto,rw,exec,suid,user_xattr        0       2
Run Code Online (Sandbox Code Playgroud)

返回错误信息:

setfattr: /apachelogs/data/file: Operation not supported
Run Code Online (Sandbox Code Playgroud)

谁能给我一些关于我可能做错的事情的建议?我的 google-fu 只是告诉我,当有人没有在第一个变量上添加 user 前缀时,通常会出现问题。

干杯。

files xattr

6
推荐指数
1
解决办法
2万
查看次数

启动时在终端中自动运行安装 cli 脚本

我创建了一个自定义 Arch 发行版 iso,Archiso并编写了一个安装脚本,提示用户输入安装选项。至此,安装过程为:

  1. 启动 arch iso
  2. 使用以下命令执行安装脚本:

    $ ./install.sh

  3. 提示时输入

您的典型用户友好安装程序会直接引导至安装程序并开始运行。我想通过./install.sh自动运行而不是由用户执行来做到这一点,从而消除了第 2 步。

如果我理解正确的话,arch iso 通过调用/sbin/agetty. 我想我要么需要修改或替换该服务以使其成为调用我的脚本的东西,但我不确定如何去做,或者这是否接近正确的方法。

在发行版 Live CD 上引导到安装程序脚本的正确方法是什么?

startup arch-linux livecd shell-script

5
推荐指数
1
解决办法
1001
查看次数