常用的shell命令和使用技巧
最近一直在使用Linux,积累了一些经验和使用技巧。废话不说,拿来和大家分享一下。
1 查看文件的行数
wc -l filepath
2 文件排序
sort -k1 -k2 -t " " -n -r filepath
上面的命令为按照第一列,第二列进行数字倒序排列文件记录,分隔符为\t。
特别注意:当含有中文排序时,需要特殊指定LC_ALL=C进行排序。命令为 LC_ALL=C sort -k1 -k2 -t " " -n -r filepath
3 查看当前进程
ps ux
4 查看进程占用资源情况
top ctrl+c退出
5 查看硬盘和内存
df -h / free
6 shell程序中的参数
$#参数个数
$1 第一个参数, $2第二个参数
size=1
${!size}代表第一个参数,也就是当使用变量来代替数字时,需要用${!varible}的格式。
可以使用``将一段脚本包含起来,这样可以将整个脚本的返回值保存。
比如 result=`ls` ,执行后result就保存有ls的返回结果了。
7 使用nohup sh run.sh &提交任务
这样可以在网络中断的情况下,不影响程序的运行,否则程序会因为网络中断而出错。
8 程序的输出
一般程序会使用>重定向输出,比如cat a.txt > b
但是有些程序可能会有输出与错误输出,如何制定呢?
sh -x run.sh 1> out 2> err即可。 注意 1,2和>之间不能有空格,要连续输入。
9 管道的使用
如果有一系列简单操作,可以使用管道。比如
cat input | sort | uniq > b
这样就将input进行去重后结果输出到b中,比较方便。
暂时就想到这些常用的,很多大家也非常熟悉,就不展开细说了。
欢迎拍砖~~