幽谷奇峰 | 燕雀鸣幽谷,鸿鹄掠奇峰

Linux命令拾遗


输出指定的数字序列

1
2
3
4
5
6
7
8
# 直接使用 for 循环,以换行符分隔
$ END=5;for ((i=0;i<$END;i++)); do echo $i; done

# 使用 seq 命令,用 -s 参数指定分隔符
$ END=5;seq -s' ' 1 $END

# 使用 eval 命令,以空格分隔
$ END=5;eval echo {1..$END}

打印换行

1
2
3
4
5
# 使用 -e 参数
$ echo -e "a\nb"

# 使用字符串展开,注意必须是单引号
$ echo $'a\nb'

脚本里如何获取脚本所在目录

获取脚本自身所在目录:

1
$ dirname $0

进程管理相关命令

ps-查看当前正在运行的进程,示例:$ ps kill {PID}-通过 PID 来停止任意进程,示例:$ kill 1012 killall {Process-name}-通过名称来停止任意进程,示例:$ killall httpd ps -ag-获取所有正在运行进程的信息,示例:$ ps -ag kill 0-停止所有的进程(你的 shell 除外),示例:$ kill 0 linux-command &-后台执行进程,示例:$ ls / -R | wc -l & ps aux-显示进程的所有者,示例:$ ps aux ps ax | grep process-U-want-to see-查看某个特定的进程,示例:$ ps ax | grep httpd top-查看当前正运行的进程、内存及 CPU 占用率,示例: $ top

递归批量进行dos2unix转换

转换当前目录及子目录下的所有文件

1
2
$ find -type f | xargs dos2unix
$ find ./ -type f -exec dos2unix {} \;

转换当前目录及子目录下的所有后缀为sh的文件

1
2
$ find -name "*.sh" | xargs dos2unix
$ find ./ -name '*.sh' -exec dos2unix {} \;

man 使用技巧两则

使用书签

man 其实是调用 less 来显示手册页的。因此,在阅读内容比较长的页面时,可以使用书签来标记需要重复阅读的重要内容。

标记的方法为:先按 m 键,然后在 mark: 后输入标记字母,如 a。需要说明的是,标记符是区分大小写的,也就是说 a 与 A 是两个不同的标记符。 当你需要返回先前设置的书签时,可以按 ' 键(单引号)。此时会显示 goto mark:,输入你设置的标记符即可。

测试命令

在阅读 man 手册页时想要对命令的用法进行尝试的话,那么可以使用 !。这让你不必打开新的终端,也不用离开 man 手册的阅读页面。在按下 ! 之后,你就可以自由输入所要测试的命令了。完成后,按回车键将返回到 man 手册的阅读页面。

实用的Linux命令

查看目录的磁盘占用情况 du -h --max-depth=1 | sort -n -r pgrep:比如,你可以使用 pgrep -u root 来代替 ps -ef | egrep '^root ' | awk '{print $2}',以便抓取属于 root 的 PID。 pstree:我觉得这个命令很酷,它可以直接列出进程树,或者换句话说是按照树状结构来列出进程。 bc:这个命令在我的系统中没有找到,可能需要安装。这是用来执行计算的一个命令,如使用它来开平方根。 split:这是一个很有用的命令,它可以将一个大文件分割成几个小的部分。比如:split -b 2m largefile LF_ 会将 largefile 分割成带有 LF 文件名前缀且大小为 2 MB 的小文件。 nl:能够显示行号的命令。在阅读脚本或代码时,这个命令应该非常有用。如:nl wireless.h | head。 mkfifo:作者说这是他最喜欢的命令。该命令使得其他命令能够通过一个命名的管道进行通信。嗯,听起来有点空洞。举例说明,先创建一个管道并写入内容: mkfifo ive-been-piped ls -al split/** | head > ive-been-piped

然后就可以读取了:head ive-been-piped。 ldd:其作用是输出指定文件依赖的动态链接库。比如,通过 ldd /usr/java/jre1.5.0_11/bin/java 可以了解哪些线程库链接到了 java 依赖(动态链接)了哪些库。(感谢 NetSnail 的指正。) col:可以将 man 手册页保存为无格式的文本文件。如: PAGER=cat man less | col -b > less.txt xmlwf:能够检测 XML 文档是否良好。比如: curl -s 'http://bashcurescancer.com' > bcc.html xmlwf bcc.html perl -i -pe 's@
@
@g' bcc.html xmlwf bcc.html bcc.html:104:2: mismatched tag lsof:列出打开的文件。如:通过 lsof | grep TCP 可以找到打开的端口。


本作品由 Yysfire 创作,采用知识共享许可协议进行许可。转载时请在显著位置标明本文永久链接:
http://yysfire.github.io/linux/linux-command-note.html


相关文章


最后修改
2014-07-01 17:57
发表时间
2012-12-01 11:20
本文标签
Command 2 Linux 18
关注我

侧栏导航