Articles of shell

如何检查文件是否只包含在Linux shell中的零?

如何在Linux中使用shell命令检查大文件是否只包含零字节( '\0' )? 我可以写一个小程序,但这似乎是一个矫枉过正。

在shell脚本中获取规范时区名称

有没有从Linux shell脚本获取规范时区名称的方法? 例如,如果我configuration的时区是PDT,那么我想获得“America / Los_Angeles”。 我知道我可以从符号连接/ etc / localtime得到,如果它被configuration,但因为它可能没有configuration在所有的服务器我不能依靠那个。 另一方面,我可以使用命令date +%Z得到短时区名称,但是我仍然需要规范名称。 有没有办法获得当前时区的规范名称,或者转换使用date +%Z命令获取的时区,即使没有设置符号链接/ etc / localtime?

如何检查sed命令是否replace了一些string?

这个命令用旧的stringreplace旧的string(如果存在的话)。 sed "s/$OLD/$NEW/g" "$source_filename" > $dest_filename 我如何检查replace是否发生? (或者发生了多less次?)

列出目录1中但不是目录2中的文件,反之亦然?

嘿,我开始bash shell脚本,我试图做一个脚本分配,当你进入两个目录,它会检查它们是否存在,并根据错误信息显示,如果两个目录存在,它会列出之间的差异当前目录。 $ cd dir-1 $ myshellscript . dir-2 (comparing . aka dir-1 against dir-2) 输出: Files that are in . but not in dir-2 -rw——- 1 ddddd users 1 2011-03-1 01:26 123123123 Files that are in dir-2 but not in . -rw——- 1 ddddd users 1 2011-03-1 01:26 zzzzzzzzzzzz 我到目前为止似乎没有检测到目录是否存在,也没有列出差异: dir-1=$1 dir-2=$2 if [ […]

符号链接中的环境variables

我们可以在符号链接中使用$ HOME或其他环境variables吗? 我知道使用相对path../../.config但有时是很多../ :)像~/.config东西会更舒适,或使用$ HOME。 编辑: habbie回答psmears的评论是答案,对不起,我的问题是不完整的。 虽然(如其他答案所示),当创build符号链接时(与任何shell命令一样),您可以使用环境variables,但在符号链接本身中实际上不能包含环境variables(或“〜”)引用

在Linux中重新启动文件更改过程

有一个简单的解决scheme(使用常见的shell utils,通过由大多数分布提供的util,或一些简单的python / …脚本)来重新启动一个进程时,一些文件的变化? 只要简单地称呼一下,就好像watch -cmd "./the_process -arg" deps/* 。 更新:一个简单的shell脚本和build议的inotify-tools(nice!)一起适合我的需求(适用于不带参数的命令): #!/bin/sh while true; do $@ & PID=$! inotifywait $1 kill $PID done

在bash中打开默认的文本编辑器?

我正在写一个shell脚本,遇到了一个问题。 有没有办法使用用户指定的文本编辑器打开文件?

shell脚本工作正常,没有shebang线? 为什么?

我正在写一个简单的shell脚本,发现我的shell脚本不需要shebang行 #!/bin/sh 如果我给予我的脚本执行权限并执行使用./myscript.sh 。 它运行良好。 我正在使用bash shell, /bin/sh实际上是指向bash 。 lrwxrwxrwx 1 root root /bin/sh -> bash 我知道shebang行用于告诉shell哪个解释器用于脚本的其余部分。 如果我错过了perl中的shebang行,给予执行权限并运行./myscript.pl ,它不起作用。 这里究竟发生了什么? 如果我用./ ,什么时候真的需要?

需要ps的pri标准格式说明符的解释 – 可能在文档中的错误

ps手册页上的pri注释: “pri优先级的过程。更高的数字意味着更低的优先级” 在这里考虑PID 26073 $ renice +15 26073 26073: old priority 5, new priority 15 # I am making this process more nice $ ps -t 1 -o pid,ppid,%cpu,stat,cmd,bsdstart,time,pri PID PPID %CPU STAT CMD START TIME PRI 9115 18136 0.0 Ss bash 17:10 00:00:01 19 26073 9115 12.0 RN+ p4 sync 19:06 00:02:56 4 STAT […]

linux历史命令

如果我键入历史命令,我只能查看1000行。 我想查看更多。 这将是很好如果我可以查看所有命令之间键入某些date或几个月。 这可能吗? 如果是的话,该怎么做?