Linux基础
/ 根目录
~ 家目录
..上级目录
- 后退目录
./ 或 . 当前目录
>或>> 重定向 注意:重定向意味着清空文件,重新输入。
vim的使用:按下i编辑,完事后按下ESC再敲:wq即可。
命令 参数 执行对象
PATH="$PATH:/home/bin" 变量赋值举例,注意用:来分割
/dev/null 表示空设备文件
0 表示stdin标准输入
1 表示stdout标准输出
2 表示stderr标准错误
\t 即tab
\n 换行符
mkdir [参数] 目录名 例如mkdir -p test1/test2/test3 例如mkdir -p test1 test2 test3
cd 目录切换
ls参数:
-l : 显示长的完整信息 -a : 显示隐藏文件(all)
-tr : 按修改时间反向排序 -h : 查看文本大小,以人可读的方式
drwxrwxrwx d目录l链接-普通文件 r可读w可写x可执行 第一组rwx表自己的权限 第二组是同组的权限 第三组是其他人的权限
创建文本。例如,touch new.txt 例如,touch folder{1..10}.txt
删除。例如,rm *.sam(批量删除) -i删除前询问 -r递归删除 -f强制删除
复制cp ~qmcui/.bashrc ./
复制 + 更名cp ~qmcui/.bashrc ~/.bashrc_qmcui
复制文件夹,把文件夹复制过来到指定目录cp ~qmcui/project ~/
复制文件夹 cp -r ~qmcui/project ~/project2/
复制参数
-i:覆盖前询问
-r:复制目录及目录内的所有项目
-f:强制覆盖
less 最常用来查看文本,查看大文本时必用,不能编辑/改变原文本,只能重定向。参数:-S单行显示 -N行号加入编号
vim编辑文本。不用来操作大文本,文本不存在时可保存成新文本。
cat输出/入文本 -n按行数编号 -A show-all 等价于 -vET
例如,查看小文本全部内容:cat 文本
输入文本:cat > newfile
head -n 3 展示文本前3行 tail -n 3展示文本后3行
tree树形展示 -d只显示目录 -L num 显示num层目录
mv文件/目录 移动或更名 格式为mv [参数] [目录1] [目录2]
移动:mv 目录1/ 目录2 更名:mv 目录1 目录2 mv 文本1 文本2
history查看历史命令 例如,查看后十行记录history |tail -n 10
查看后十行记录并传给less history |tail -n 5|less -S
重定向history内容保存起来history > history1.txt
追加后五行到之前文本里history|tail -n 5 >> history1.txt
ln建立链接 格式为ln [参数] [目录1/文本1(源)] [目录2/文本2]
例如,ln -s ~qmcui/.bashrc ~/
建立软链并更名ln -s ~qmcui/.bashrc ~/.bashrc_bk
注:-s 是代号(symbolic)的意思
下载wget -c link
注:-c是支持断点续传
查看命令的路径which CMD
查看任务是否在内存中运行 top -c
查看任务 ps -ef |grep userID
杀掉任务 kill PID
压缩/解压
gzip gunzip 对.gz结尾的
tar -cvf tar -xvf .tar或.tar.gz或.tgz结尾的
bzip2 bunzip2 或.bz2或.tar.bz2结尾的
压缩文本gzip ~qmcui/.bashrc
解压文本gunzip ~qmcui/.bashrc.gz
压缩文本保留原文本gzip ~qmcui/.bashrc > .bashrc.gz
注:压缩成功会默认删掉源文件
最常用的打包命令tar
格式为tar [参数] [文本(打包之后的)] [文本(源)]
常见例子:
tar -cvf new.tar *.txt 注:v为显示过程,f无意义但必须
tar -xvf old.tar
tar -zcvf new.tar.gz ./
tar -jcvf new.tar.bz2 *.jpg
tar -jcvf new.tar.bz2
压缩例子不记忆,一般使用gzip压缩,tar打包。
cut文件切割。-d自定义分隔符 ,默认为制表符。-f:分割符分割文本后,指定显示第几列。
例子,echo $PATH |cut -d ":" -f 1
paste按列操作文本,-d指定分隔符。-s将每个文件合并成行而不是按列粘贴。
例子:
zcat sample1.fa.gz | paste - - - - |less -S
paste fq1 fq2 > fqconfig.txt
paste -d ":" usr usr
paste -s usr usr
find寻找
例子:
寻找gz结尾文件 find ~/ -name "*gz"
寻找500M以上文件find ~/ -size +500M
tr转换或删除文件中的字符。-s缩减连续重复的字符成指定的单个字符 -d删除
例子:
cat testfile |tr a-z A-Z # 小写变大写
echo $PATH | tr -s ":" "\n" |less -S # 替换:为换行
cat file | tr -s "\n" > new_file # 删除空行
cat file | tr -d "\r" > new_file
cat file | tr -s "\r" "\n" > new_file
注:\n是换行,英文是New line。\r是回车,英文是Carriage return
sort排序 。-t指定分隔符 -k指定区域 -n按数值大小排序 -r反序
例子:
1. cut -f 1,3,4,5 Homo_sapiens.GRCh38_MT.79.gtf | grep -v '#!' > tmp
2. sort -r -n -k 3 tmp
uniq去重。 -c显示每行连续出现的次数,-d仅显示连续重复出现的行,
-u仅显示没有连续出现的行
例子,cut -f 2 Homo_sapiens.GRCh38_MT.79.gtf |sort|uniq -c
注: sort | uniq 组合使用。
wc行数/字符/文本大小计数。-l:计算行数
例如,wc -l ~/.bashrc
cat ~/.bashrc|wc
bc数学运算
sed
grep
awk
网友评论