1. 改变工作目录位置 cd(change directory)
cd /dir-name1/dir-name2 改变目录位置,至指定的绝对路径;
cd .. 返回上级目录
cd ../user 改变目录位置,至上一级目录下的user目录
2. 显示目录文件 ls(list)
ls:显示当前目录下文件;
ll:显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称;
ll -h:显示文件大小。
ls -l显示的详细信息中:
drwxr-xr-x 10个字符,第一个表示文件类型。剩下的9个分成3组,表示文件权限。
前三个表示此文件的属主对文件的权限
中间三个表示此文件属主所在的组对文件的权限
最后三个表示其他用户对文件的权限
rwx怎么解析:r代表可读,w代表可写,x代表可执行
rwx:可读,可写,可执行;r-x: 可读,不可写,可执行;r--: 可读,不可写,不可执行。
3. 新建目录 mkdir(make directory)
mkdir dir1 新建一个名字为dir1的目录
4. 删除目录/文件 rm(remove directory)
rm dir1 删除空目录dir1;
rm -r dir1 删除目录dir1及其下所有文件及子目录
rm -rf dir1 不管是否空目录,统统删除,而且不给出提示,使用时要小心。
rm file 删除名字为file的文件
5. 复制文件 cp(copy)
cp file1 dir1 将file1复制到目录dir1
6. 查看文件
(1)less:less file 查看file (按q键退出),enter或xiang'xia'jian'tou;
(2)cat:一次性显示文件所有内容,文件过大慎用;
(3)head:head file 默认显示前十行; head -5 file 显示前5行;
(4)tail:tail file 默认显示后十行;tail -5 file 显示后5行。
7. 移动或更改目录 mv(move)
mv file1 file2 将文件file1,更名为file2
mv file1 dir1 将文件file1,移到目录dir1
mv dir1 dir2 将目录dir1,更名为dir2
8. 编辑文件vi/vim
打开一个新文件 file,写入文件内容并退出
(1)打开文件:vim file
(2)单击 i,从一般模式进入编辑模式,左下角显示 “-- INSERT --”
(3)输入文件内容
(4)单击 Esc 退出编辑模式
(5)退出文件:w只保存不退出;wq保存并退出文件;q! 不保存并强制退出文件;wq!强制保存并退出文件。
vi的高级使用
* 查找:在命令模式下,输入/xxx,就可以查找到xxx
* 快速切换行:在命令模式下,输入:num,就可以快速切换到num行
* 设置显示行号:在命令模式下,输入:set nu,就可以显示行号
设置永久显示行号,需要修改vi的配置文件。打开vi的配置文件~/.vimrc,在其中输入set nu即可。
* 行删除:命令模式下,先将光标移动到要删除的行,然后输入dd;如果要删除连续多行,譬如要删除连续的3行,使用3dd。
* 行复制粘贴:复制:命令模式下,nyy;粘贴:命令模式下,p
细节,复制时要把光标放在多行的第一行,粘贴时实际粘贴到当前光标所在行的下一行。
9. 文本搜索 grep(globally search a regular expression and print):搜索文本并把匹配的行打印出来。
grep “ABC” file 把 file 文件中含有ABC的行打印出来
grep –v “ABC” file 反向选择,把file文件中不含有ABC的行打印出来
10. 以列为单位切取序列 cut
cut -d ‘_’ -f 2 file > file1 #以_为分割,截取file文件第二列到file1文件。
11. 文本替换 sed
搜索目标字符并替换成指定字符:sed ‘s/目标字符/指定字符/g’ file
删除文件指定内容:
(1) sed (-i) '10d' filename #删除第10行
-i((in-place editing):该选项启用在位编辑。默认情况下,sed 只显示输出,使用 -i 选项,它修改实际文件,但是不在显示其中显示;
(2) sed '/apple/d' filename #删除含有apple的行
注意:shell 脚本运行时,只有双引号才能成功运行sed命令;如果源字符串
或替换后字符串
中包含 /
,会执行出错,sed分隔符需使用“|”。
12. 对文本进行排序 sort
默认是按第一列排序,按“文字”类型(ASCⅡ)来排序
-t 分隔符 :指定排序时使用的分隔符;
-k : 指定需要排序的列;
-n : 按照数值大小进行排序;
sort -t ":" –k 2 -n file1 #“:” 为分隔,第二列的数据来排序,按数值大小排序
13. 过滤重复项 uniq
uniq file1 *-i : 忽略大小写字符的不同
-c | 统计行出现的次数 |
-d | 只显示重复的行并且去重 |
-u | 只显示唯一的行 |
-i | 忽略字母大小写 |
14. 管道符 |
cut –f 1 test.txt |sort |uniq #先截取第一列,按文本排序,然后去除重复项
15. awk进行行的筛选
awk ‘$1 == 5’ file 输出第一列是5的行
awk ‘$2==“gene”’ file 输出第2列是gene的行
16. 命令top——查看cpu、内存
17. 命令pwd——查看当前路径 pwd(print work directory,打印工作目录)
18. 命令tar——打包、解包rar
tar -cvf archive.tar file1 file2 directory #将文件1和2压缩archive.tar到文件
tar -xvf archive.tar #解压缩文件
-c
: 创建新的归档文件-v
: 显示详细输出,列出被添加到归档中的文件-f
: 指定归档文件的名称-x
: 解压归档文件
19. 命令gunzip
gunzip example.txt.gz
20. 命令man——查看某个命令的帮助
man ls 显示ls命令的帮助内容
ls --help #help命令查看ls
21. 命令free/df——查看内存和swap分区使用情况
df -h #查看剩余内存
22. wget
wget -p [绝对路径] [链接] #下载软件到指定位置
解压缩命令+文件名
加到环境变量才可使用:echo “$PATH= “$PATH >> ~./bashrc,sorce ~./bashrc
其他常见操作:
ls -l /path/to/directory | wc -l #查看目录下文件数量
find -type d -empty -exec rm -rf {} \ #删除当前目录下所有空文件夹
bash runQD.sh & #后台提交任务
jobs -l #查看当前账户运行任务
kill -9 [任务号] #终止并删除当前任务
ctrl + C:结束当前运行
ps -aux|grep "STAR" #查看任务进程
less -S GRCH37.gtf | column -t | less -S #列对齐查看gtf文件