Linux 命令速查 | awk | sed | vi | cut | tar
学生信,Linux是最最基本的技能,要尽量将自己的工作平台转移到Linux,编程写脚本,这样会极大的提升工作效率,找工作时也不会太怂。Linux所有的任务都是通过命令来完成的,具有高度的统一性。Linux命令多,不可能都会,根据具体需求掌握部分即可。
awk文本处理利器,可以结合for进行批量处理。
for bed in `ls *.bed` do echo $bed cat $bed | awk '{sum+=$4} END {print ARGV[1], " ", sum/NR}' done
sed,文本处理替换,可以查看指定行文本。
索引
目录文件管理:pwd/tree/ls/cd/touch/mv/rm/unlink/cp/mkdir/rmdir/
文本操作:less/cat/more/head/tail/ – vi/nano/sed/emacs/ – cut/paste/join/sort/uniq/diff/cmp/nl
文件分隔合并:grep/split/printf/wc/uniq/paste/sort/join
查找:find/grep/wc – which/whereis/locate/
传输:wget/ssh/scp/curl/ftp/lftp/mysql/
系统:top/ps/kill/df/free/qsub/qdel/qstat
权限:chmod/chown/chgrp/file/stat
打包压缩解压:tar/gzip/bzip2
其他:ln/ssh/alias/date/cal/sleep/clear/who/whatis/man/echo/history/nohup/xargs
awk
重定向
管道
多种方法连接Linux(Xshell、putty、VNC)和Windows
shell脚本
PATH环境变量设置
软件安装
软件版本管理,编程环境管理,模块管理
vi配置
几乎所有的程序和脚本都是在vi下编写的,因此配置好vi将会大大的提高编程效率,也可以看出一个程序员的专业性。
首先就是要显示行号,便于调试时错误定位,临时的在vi下输入:nu;或将set nu写入本地vi配置文件;root用户可以修改/etc/vim/配置
vi ~/.vimrc > set nu
我选择了github上热门的配置:The Ultimate vimrc
vi常用命令
awk
qstat -u zxli | awk '{if($10=="Q") print $1}' | xargs qdel
awk '{arr[$1]}END{for(key in arr){print key}}' > $read_names
sort和uniq
sort -u和uniq都可以去重,但应用的情况不同,其实sort -u等价于sort | uniq。
uniq只能对连续的重复归一,sort -u就是排序后归一去重。