美文网首页
Linux笔记

Linux笔记

作者: Forest_Lee | 来源:发表于2019-04-05 21:44 被阅读0次
# ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
ps -ef|grep userid #显示有关userid的进程
# help查看帮助文档
help shopt #查看shopt的帮助文档
help -s shopt#简单显示
#vim 删除整行命令
dd

### 文件目录操作
# mkdir -p建立多层|多个目录
mkdir -p test1 test2 test3 #多个
mkdir -p test1/test2/test3/ #多层
#cd cd命令用来切换工作目录至dirname
cd / #进入根目录
cd    #进入用户主目录;
cd ~  #进入用户主目录;
cd -  #返回进入此目录之前所在的目录;
cd ..  #返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../..  #返回上两级目录;
cd !$  #把上个命令的参数作为cd参数使用。
# ls 目录展示
ls -l #显示长的完整信息
ls -a #显示隐藏文件(all)
ls -tr #按修改时间反向排序
ls -lh #查看文本大小,以人可读的方式
ls *gz # *是通配符 常用ls *gz|
ls -l -tr #可以合用
# touch创建文本
touch new.txt
touch del{1..10}.txt # 创建10个文本
# rm 文件|目录删除
rm -i #删除前询问 y enter
rm -r #递归删除 将指定目录下的所有文件与子目录一并处理 很危险
rm -f #强制删除
rm ./link1 #软链失效:删除软链
rm file1 file2 #删除文本
rm *.sam #批量删除
rm -r test/ #删除路径
# cp 文本/目录复制 cp [参数] 源文件 目标文件 ;需要两个路径 若不带路径,默认./  ;cp默认会覆盖同名文本;到另一个文件夹的前提是目标文件夹路径存在
cp -i #覆盖前询问
cp -r #复制目录及目录内的所有项目
cp -f #强制覆盖
cp readme.txt ncbi
cp -r public/sra/ hhh#把public下的sra目录复制到hhh目录下
# less 查看文本 eg: less [参数] 目标文件;最常用来查看文本,特别是大文本 不能编辑/改变原文本,只能重定向
less -S #单行显示
less -N #行号加入编号
less -N nex.txt 
# vim 编辑文本 ;不能来操作大文本;文本不存在时保存成新文本;不能用来编辑目录
vim nex.txt #编辑nex.txt
i #insert状态
:wq #先按ESC 写入,退出
:q! #不保存退出
# cat 输出/入文本 eg: cat [参数] 文本
cat -n #按行数编号
cat -A #等价于vET 显示不可打印字符,行尾显示“$”;
cat dddd.txt -n 
zcat sample1.fq.gz# 显示压缩包 指定要显示其中文件内容的压缩包
# head 从头展示文件行数 eg: head [参数] 文本
head -n num #展示文本前num行
head -n 3 ~/.bashrc
head -n 5 SRR_Acc_List.txt
# tail从尾展示文件行数
tail -n num #展示文本后num行
cat ~/.bashrc|tail -n 3
tail -n 3 dddd.txt
cat dddd.txt |tail -n 3
# more 查看文本 ;回车键逐行往下翻(无法再往上翻);空格键直接翻下一页;q退出
more his_20190317.txt
# tree 树形展示
tree -d ;只显示目录
tree -L num ;显示num层目录
tree -d
tree -L 2
# mv 文件/目录 移动|更名 eg: mv [参数] 目录1 目录2
#移动:mv 目录1/ 目录2
#更名:mv 目录1 目录2 ;mv 文本1 文本2
mv SRR_Acc_List.txt /ncbi
cd
mv SRR_Acc_List.txt /trainee/vip15/ncbi/
ls
cd ncbi/
mv SRR_Acc_List.txt lll.txt
# > 重定向 ;重定向意味着清空文件,重新输入
cat ~/.bashrc > ~/.bashrcbk
cat lll.txt >k.txt 把lll.txt内容赋值给k.txt(原有k.txt内容删除)
# >> 追加
echo alias ll="ls -l" >> ~/.bashrcbk
echo lll.txt >>oo.txt 在oo.txt后面输入(追加)“lll.txt”
# | 管道符
less ~/.profile | grep '#'
# history 查看历史命令
history |tail -n 10 #例子:查看后十行记录
history |tail -n 5|less -S #查看后五行记录并传给less
history > history1.txt #重定向history内容保存起来
history|tail -n 5 >> history1.txt #追加后五行到之前文本里
# ln 建立链接 eg: ln [参数] [目录1/文本1] [目录2/文本2]
ln -s ~qmcui/.bashrc ~/ #建立软链接
ln -s ~  qmcui/.bashrc ~/.bashrc_bk #建立软连接并更名
# wget -c ftp下载
wget -c link
#which CMD 查看命令路径
which CMD
#ps -ef |grep userID 查看任务
ps -ef |grep userID
#top -c 查看任务是否在内存中运行
top -c
#kill PID 杀掉任务
kill PID

### 压缩解压命令
# gzip压缩文本 gunzip解压文本 ;压缩成功会默认删掉源文件
gzip nex.txt # 压缩nex.txt文件
gunzip nex.txt.gz;ls -tr #解压nex.txt.gz文件
gzip -c nex.txt > nex.txt.gz #保留源文件,并新生成压缩文件
# tar 最常用的打包命令
tar -cvf new.tar *.txt # 打包
tar -xvf old.tar # 拆tar包
tar -zcvf new.tar.gz ./# 打包和gzip压缩
tar -zxvf old.tar.gz # 解压打包
tar -jcvf new.tar.bz2 *.jpg # 打包和bzip2压缩
tar -jxvf old.tar.bz2 # bunzip2解压打包
tar -cvf new.tar *.txt;ls
tar -xvf new.tar;ls
tar -zcvf new.tar.gz *.txt;ls
#解压例子:
tar -xZf all.tar.Z # **
unzip all.zi# **
bunzip2 all.bz2
uncompress all.Z

### 进阶命令一
# cut 文件切割命令eg: cut [参数] 文本/管道符内容参数:
cut -d:自定义分隔符 ,默认为制表符\t
cut -f:分割符分割文本后,指定输出第几列
who | cut -d " " -f 1 #分割who文本后,输出第一列
echo $PATH |cut -d ":" -f 1
cut ss.txt -d "0" -f 1 > lll.txt #用“0”分割ss.txt文本后,输出第一列到lll.txt文本
cut -d "0" -f 1 complement ss.txt >lll.txt# 向lll.txt输出除第一列之外的ss.txt分割文本
cut ss.txt -d "0" -f 2-4 > lll.txt #输出第2到4列
echo $PATH |cut -d ":" -f 1 #显示以“:”分割的第一列的环境变量
echo $PATH #显示环境变量
#/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
PATH=$PATH:/home/tito/bin #添加/home/tito/bin到PATH环境变量
echo $PATH
#/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tito/bin
# paste 按列操作文本 用于将多个文件按照列队列进行合并 eg: paste [参数] 文本/管道符内容
paste -d #指定分隔符
paste -s #将每个文件合并成行而不是按列粘贴
zcat SRR1039510_1.fastq.gz  | paste - - - - |less -S #按列查看解压SRR1039510_1.fastq.gz之后的内容
paste nex.txt readme.txt > dddd.txt
paste -d ":" nex.txt readme.txt
paste -s nex.txt readme.txt
# sort 排序
sort -t #指定分隔符
sort -k #指定区域
sort -n #按照数值大小进行排序
sort -r #相反的顺序排序
cut -f 1,3,4,5 
Homo_sapiens.GRCh38_MT.79.gtf | grep  -v '#!' > tmp
sort -r -n -k 3 tmp
# uniq 去除文件中的重复行 sort|uniq 组合使用
uniq -c #显示每行连续出现的次数
uniq -d #仅显示重复出现的行
uniq -u #仅显示没有连续出现的行
cut -f 2 Homo_sapiens.GRCh38_MT.79.gtf | sort|uniq -c
# find 寻找 eg: find [参数] 目录/文本
find -name "*.gz" #寻找.gz结尾的文件
find -size +500M #寻找大于500M的文件
find -size -1M #寻找小于1M的文件
# tr 转换或删除文件中的字符 eg:  tr [参数] 文本
tr -s #缩减连续重复的字符成指定的单个字符
tr -d #删除
cat testfile |tr a-z A-Z # 小写变大写
echo $PATH | tr ":" "\n" |less -S   # 替换\t为换行cat file | tr -s "\n" > new_file  # 删除空行
sed -i '1d' k.txt  #删除第一行
sed -i 'nd' filename #删除第n行
sed -i '$d' filename #删除最后一行
# wc 行数/字符/文本大小计数 eg: wc [参数] 文本/管道符内容
wc -l #计算行数
wc k.txt # 19  19 208   k.txt有19行 19个字符 208chars|bytes
# bc 数学运算
bc #进入数学运算
scale=5 #保留小数点后5位
quit #退出
# jobs 显示Linux中的任务列表及任务状态,包括后台运行的任务。
find -name password &
jobs -l #[1]+  6717 Done                    find -name password
        #输出信息的第一列表示任务编号,第二列表示任务所对应的进程号,第三列表示任务的运行状态,第四列表示启动任务的命令。
jobs -l:显示进程号;
jobs -p:仅任务对应的显示进程号;
jobs -n:显示任务状态的变化;
jobs -r:仅输出运行状态(running)的任务;
jobs -s:仅输出停止状态(stoped)的任务。
# bg 将作业放到后台运行,使前台可以执行其他任务。
bg 1   #后台执行任务号为1的任务 如果系统中只有一个挂起的任务时,即使不为该命令设置参数"1",也可以实现这个功能。
find / -name password &     #后台执行任务 任务后面加&,与bg效果相同
# fg 命令用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。
fg 1
# nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。
nohup command > myout.file 2>&1 &
# pwd命令以绝对路径的方式显示用户当前工作目录。
pwd #/trainee/vip15
# df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。
# du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。
# top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。
# free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
# netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
# ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。
# scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读read only system时,用scp可以帮你把文件移出来。
# diff命令在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。
# chown命令改变某个文件或目录的所有者和所属的组
# chgrp命令用来改变文件或目录所属的用户组。
# groups命令在标准输入输出上输出指定用户所在组的组成员
# echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。
echo -e #激活转义字符
shift g #显示最后一行


### conda 
# 安装R包 
conda search biocondutor -deseq2
conda install bioconductor-deseq2 #conda会自动安装最新版本的deseq2以及对应版本的R,以及各种依赖的其他R包。

参考来源:生信技能树

友情链接:

课程分享
生信技能树全球公益巡讲
https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
B站公益74小时生信工程师教学视频合辑
https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
招学徒:
https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw

欢迎关注公众号:青岛生信菜鸟团

相关文章

网友评论

      本文标题:Linux笔记

      本文链接:https://www.haomeiwen.com/subject/nfokiqtx.html