实验室Linux常规命令合集——长期更新

查看使用帮助

man ls        # 许多Linux自带命令可以通过man查看使用帮助
ls --help    
ls -h # 有些程序可以通过-h, --help查看使用帮助

显示目录内容

ls                      # 显示目录内容
ls -l                   # 以列表显示形式显示目录内容,通常在~/.bashrc文件中增加一行:alias ll='ls -l' ,以后就可以直接使用别名ll了,更方便
ll -h                   # 以人类可读的方式显示文件大小
ll -t                   # 以文件的修改时间排序,最新修改的在最前面
ll -tr                  # 以文件的修改时间排序,最新修改的在最后面
watch -n n -dc ls -l    # 追踪目录内容的变化,每n秒刷新一次

pwd - 显示当前目录

pwd                 # 显示当前目录的绝对路径
ls `pwd`/file       # 显示文件的绝对路径

切换目录

cd dir    # 切换到目录dir
cd        # 切换到用户的HOME目录
cd ~      # 同cd,~表示HOME目录
cd ..     # 切换到上一级目录;一个点.表示当前目录,两个点..表示上一级目录
cd -      # 切换到进入当前目录之前所在的目录

创建目录

mkdir dir           # 创建dir目录
mkdir -p dir1/dir2  # 递归创建目录,如dir1不存在,会先创建dir1

按行合并文件

cat file              # 合并一个或多个文件至标准输出,当只有一个文件时,相当于显示所有文件内容
cat file1 file2       # 合并file1和file2的内容,并在屏幕上输出
cat R1.fq.gz R2.fq.gz # 可以合并gzip压缩文件,如测序数据原始reads的合并

按列合并文件

paste -d ' ' file1 file2    # 按列对列的方式一行一行合并文件。默认列中间加TAB键, -d参数可以改变列之间的分隔符

分割文件

split -d -l 10000 file chunk_   # 按行数分割文件,每个文件最多10000行,分割成的文件名为chunk_01, chunk_02。。。
split -d -b 100m file chunk_    # 按大小分割文件,每个文件最多100m,分割成的文件名为chunk_01, chunk_02。。。

剪切文件

cut -f 1 file                   # 剪切文件的第1列
cut -f 1,2                      # 剪切文件的第1,2列
cut -f 3-                       # 剪切第3列及之后的所有列
cut -d ' ' -f 1 file            # 剪切第1列,但以空格作为列与列之间的分隔符。默认以TAB作为分隔符
grep '^>' test.fa | cut -c 2-   # 得到fasta文件中的序列名称(去掉了>符号)

显示文件内容

less file       # 分屏显示文件内容,按空格键显示下一页,按下/后可以搜索内容
less -SN file   # 显示文件的行号,并且截断太长的行 head file       # 默认显示文件前10行
head -n 20 file # 显示文件前20行tail file       # 默认显示文件后10行
tail -n 20 file # 显示文件后20行
tail -n +2 file # 跳过第1行,显示从第2行开始的所有行,可用于跳过文件的标题行
tail -f file    # 当文件的内容还在增加时,实时显示末尾增加的内容,常用于查看日志文件的更新情况

统计文件内容

wc -l file      # 统计文件行数

创建文件

touch file                  # 创建一个空文件
touch {file1,file2,file3}   # 同时创建3个文件

文件、目录的复制,移动删除

scp file1 file2     # 将file1复制一份,命名为file2,复制目录要加-r参数:scp -r
mv file1 dir1/      # 将file1移动到dir1/目录下
mv file1 file2      # 重命名:即将file1移动成为file2
rm file             # 删除文件,删除目录要加-r参数:rm -r
rm -f file          # 文件若不存在,删除时会报错,加-f参数就不会报错

文件打包压缩

# 平时tar基本上就能完成打包、压缩、解压的任务了
tar czvf file.tar.gz files  # 打包并压缩
tar xvf file.tar.gz         # 解包,解压缩gzip file                   # 压缩
gunzip file.gz              # 解压

改变文件目录的权限

chmod +x file   # 增加[本人]可执行权限
chmod -x file   # 取消[本人]可执行权限
chmod a+x file  # 增加[所有人]可执行权限
chmod a-x file  # 取消[所有人]可执行权限
chmod 777 file    #给予文件运行权限

移动文件权限

chown <112> file      # 将文件的所有权给112
chown -R <112> dirname    # 将目录以及目录内的文件的所有权给112

排列

sort file				# 默认按字典序对文件进行排序
sort -k2,2 -k3,3 file	# 先按第2列排序,第2列相同,再按第3列排序
sort -k2,2n file		# 按第2列排序,且第2列是数字,升序
sort -k2,2nr file		# 按第2列排序,且第2列是数字,降序
sort -u file			# 先排序文件,然后去除相邻的重复行,只保留一条记录
sort file | uniq		# 去除相信的重复行,只保留一条记录,相当于: sort -u file

# 利用sort, uniq取两个文件的交、并、补集
sort a b | uniq			# 并集
sort a b | uniq -d > c	# 交集
sort a c | uniq -u 		# 补集

从网址下载文件

wget <http>	# 下载文件到当前目录,文件名保持不变

ssh远程连接

ssh username@host					 # ssh 远程连接至服务器
scp username@host:/path/to/file .	 # 将远程服务器上的文件传输到当前目录,文件名保持不变,复制目录加参数-r
scp file username@host:/path/to/dir/ # 将本地文件复制到远程服务器,文件名保持不变,复制目录加参数-r
rsync -azvP dir1 dir2					# 将dir1的内容同步至dir2
rsync -azvP --delete dir1 dir2			# 同步dir2与dir1,dir1中删除的文件,dir2中也要跟着删除
rsync -azvP --exclude 'file' dir1 dir2  # 同步dir2与dir2,且将file排除在外
df -h		# 查看磁盘使用情况,-h表示以人类可读的方式显示容量大小
du -sh		# 查看当前目录使用了多少磁盘空间
du -sh *	# 查看当前目录下各文件或文件夹使用的磁盘空间
free -h		# 查看内存使用情况
top -c		# 查看CPU,内存的使用情况
htop		# top的完美替代品,Linux系统不自带,需要安装, ubuntu系统:apt install htop
ps aut		# 查看后台任务运行情况,第2列是任务的PID号
kill -9 PID # 删除编号为PID的任务
nohup ./run.sh &> run.sh.o &	# 远程SSH登录服务器,在后台运行任务,断开远程连接后任务仍然在后台跑
./run.sh	# 假如任务是直接这样开始跑的
ctrl + z	# 按ctrl + z,将任务放到后台
jobs		# 输入jobs命令,回车,可以看到任务是暂停的: [1]+  Stopped(SIGTSTP)        bash run.sh
bg			# 让后台暂停的任务开始运行
jobs		# 再次运行jobs,可以看到任务已经跑起来了:   [1]+  Running                 bash run.sh &
disown -r 	# 从当前shell中移除运行中的作业,至此,可以关掉终端回家了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值