关于后端:常用的linux命令

2次阅读

共计 3293 个字符,预计需要花费 9 分钟才能阅读完成。

罕用的 linux 命令

1. 命令逻辑

在 liunx 中简直所有命令以及软件运行的逻辑,都是

命令或者软件名结尾 + 具体运行参数 + 文件名

命令逻辑(格局):

命令 + 参数 + 文件

options parameter filename
例子 1:tar -zxvf data.tar.gz
例子 2:bowtie -v 0 -x 参考基因组 -1 reads1 -2 reads2 -S 输入文件

在例 2 中,bowtie 为命令;
-v,-x,-1,-2,- S 都为参数;参考基因组,输入文件,reads1/ 2 为文件 

2. 命令快捷键


pwd:   print working directory 显示工作目录
    
cd:    change directory 切换目录
    
ls:    list information about the files 显示当前目录文件信息
    
. :    当前目录    

..:    下级目录
    
~:家目录
    
/ :    根目录或者目录分隔符
    
Tab:补全
    
Ctrl C : 终止工作 #遇到刷屏的时侯,很有用
    
Ctrl U : 剪切光标地位到行首的字符
    
Corl K : 剪切光标地位到行尾的字符
    
Ctrl L : 清屏
    
Ctrl E : 回到行尾
    
Ctrl A : 行首
    
Ctrl W : 剪切一个单词
    
Ctrl Y:粘贴
    
Ctrl Z : 暂停工作

3. CD 命令(切换文件夹)

cd   ## 切换到下层目录 相对路径
    
cd ../..  ## 切换到上下层目录 相对路径

cd /    ## 切换到根目录

cd /bin ## 切换到根目录下的 bin,绝对路径

cd ~   ## 回到用户家目录
cd      ## 同上
cd -   ## 返回上一次的工作目录 

4.ls 显示当前目录文件信息

-a ## 列出全副文件,包含暗藏文件
-l ## 列出目录详细信息
-h ## 将目录容量转换为人类易读形式 human
-s ## 以文件大小排序 size
-t ## 以工夫排序 time
-R ## 递归目录列出文件
-d ## 显示目录自身,而非目录下文件、我罕用:ls  -ltAh
每次输很麻烦,能够将这个命令写入到.bashrc 文件中,当前每次输出 lr 就能够了,如下图。vim ~/.bashrc
    alias lr='ls -ltAh --color' 

### 5. 建设文件夹或者文件

 创立文件夹:mkdir  make a directory
mkdir fileName

创立文件:touch 摸出一个文件,空格间断创立多个文件夹
touch 2 3 4 5  
> 规范重定向符容许咱们创立一个 0KB 的空文件。vim fileName 

6. 文件命名规定和形式

 规定:不要用 /,所有的字符都非法。空格符、制表符、特殊字符 @  $ & ( ) - 等,最好不要用。形式:连字符距离
 my_first_type
 
 蛇形命名
 myFirstName
 
个别用连字符距离更好一点,防止出错 

### 7. 文件挪动删除复制命名


- 挪动  mv filename  门路
- 重命名 mv file file2 
- 复制 cp filename 门路
- 删除 rm 文件名
- 批量删除 rm -rf * 共有文件名局部
         - [-f]  ## force 强制删除
         - [-i]  ## 在删除前揭示
         - [-r]  ## 删除文件夹 

例如 rm -rf *fastq 
删除所有以 fastq 结尾的文件。

8. 创立软链接

- 相当于创立快捷方式
- ln link 链接
   - 软链接(罕用)- 硬链接(默认)- 常见参数:不加参数为硬链接 加 -s 软链接
- ln -s 门路   (绝对路径)
- ln -s 指标文件  指标门路

9. 文件夹和文件治理

- tar : tape archive 压缩或者解压文件
   - -c  ##   创立新的压缩文件
   - -x  ##   解压缩
   - -f  ##   输入后果到文件或设施
   - -v ##   在解决文件时显示进度
   - -j  ##   输入 bzip2
   - -z ##   输入给 gzip
 -  解压(罕用)- tar -zxvf  压缩包名 
   - tar -zxvf *tar.gz (批量解压)
  
  - 压缩(罕用)- tar -zcvf  压缩后的名称 待压缩文件名
        

10. 文件查看

- cat     
  -A ## 列出所有内容
  -n ## 打印出行号 
  -b ## 参数仅打印出非空白行号    
 cat >file   [> 重定向]  看到的输入的一个文件里
 cat >>file 不笼罩原文件内容,增加内容到文件里
 
- zcat 查看压缩文件 
- tac 逆向查看 

- head 看头十行   -n ## 参数看多少行
- |  管道符 ## 前一个命令后果 输入到 上面命令
- tail  -n 100 ## 看后 100 行, 默认 10 行

- more 主页查看 空格翻页,回车换行。- less  
   - -N 显示行号
   - -S 单行显示
   - zless 查看压缩文件 [[#^ua4qw9]]
   - q 退出
   - 空格翻页
   - enter 下一行
   - 上下左右查看文本内容
 罕用 less -ns  单行查看并且显示行号

11. 文本查看 操作 统计

- wc 统计文本 words count
   - -l 统计行数
   - -w 统计字符串数
   - -c 统计字节数
   - cat fileName | wc -l


- cut ##### 文本切割
   - -d ## 指定分隔符 默认 \t (制表符)
   - -f ## 输入哪几列(字段 fields) 5,1-3
   - less -NS 文件名 | cut -f  数字(第几列)- less -S 文件 | cut -d 'F' 1
  cat NPB_bwa_clean.out | cut -f 98,698 > NPB_bwa_clean_600line.bam

- sort ##### 排序 
   - -n 依照数值从小到大排序
   - -V  依照字符串中含有的数值进行排序
   - -r 逆向排序
   - -k 指定区域
   - -t 指定分隔符

- uniq :#### 去除反复行(只能去除相连的反复)- -c 统计每个字符串间断呈现的行数
    - cat file1 | cut -f 3 | sort | uniq -c
    
- paste ##### 文本合并(合并到文件的左边)- -d 指定分隔符
    - -s 按行合并  
    - cat 文件 1 文件 2 > 文件 3 用于文件拼接 

12. 文件字符编辑

- tr #### 字符替换
  - -d 删除指定字符
  - -s 缩减间断反复字符
  - cat 文件名 | cut -f 4 | head | tr '''\t'(把空格替换成 tab 键)- grep 文本搜寻工具,能够应用正则表达式匹配模式搜寻文本,并把匹配行打印进去
  - -w word 准确查找某个关键词
  - -c 统计匹配胜利的行的数量
  - -v 反向抉择,即输入没有没有匹配的行
  - -n 显示匹配胜利的行所在的行号
  - -r 从目录中查找 pattern
  - -e 指定多个匹配模式
  - -f 从指定文件中读取要匹配的 pattern
  - -i 疏忽大小写

正则表达式 是对字符串操作的一种逻辑公式,就是用当时定义好的一些特定字符,及这些特定字符的组合,组成一个”规定字符串”,这个“规定字符串”用来表白对字符串的一种过滤逻辑。- ^  行首
  - $ 行尾
  - .  换行符之外的任意单个字符
  -?匹配之前项 0 次或者一次
  - + 匹配 1 次或者屡次
  - * 匹配 0 次或者屡次
  - {n} 匹配 n 次
  - {n,}匹配至多 n 次
  - {m,n}至多 m, 最多 n
  - [] 匹配任意一个
  - [^] 排除字符
  - | 或者

- cat fileName | grep '^A'
- cat fileName | grep ')$'


流编辑器 个别用来对文本进行增删改查(间接显示屏幕上)- sed - 选项‘脚本’文件名
 - -n 禁止显示所有输出内容,只显示通过 sed 解决的行
 - -e 间接在命令模式下进行 sed 的动作编辑,接要执行的 1 或多个命令
 - -i 间接批改读取的文件内容,不输入 
 - script 脚本
   - 2 取第二行
   - 2,4 取第二行到第四行
   - 2,$ 取第二行到最初一行
   - 2~3 从第二行开始,每隔三行取一行
   - 2,+4 取第二行到 2 + 4 行
   - /pattern/ 匹配上 pattern 的行
   - [!] 示意否定
   - a: append 在指定行 ** 后 ** 增加一行内容为 a 前面接的字串
   - i: insert 在指定行 ** 前 ** 减少一行 , 内容为 i 前面接的子串
   - -d: delete 删除某一行或者某几行,也可指定删除匹配上的行
   - c: change 扭转指定行的内容
   - s 替换 应用格局为’s/pattern(要替换的字符)/new(字符)[flags]'
   把 pattern 替换成 new,默认只替换一个,能够指定 flag 替换多少
   - y 转换 实现字符一对一转换 格局‘y/inchars/outchars/'
   - p: print 把匹配或者批改的行打印进去,通常与 - n 联用

- sed 提取某一行
sed -n '1,10p' > a.txt

- 统计特定字符串呈现的次数

grep -o targetStr 文件名 | wc -l
  
grep -o targetStr_1\|targetStr_2\|targetStr_3…… 文件名 | wc -l

awk -v RS="@#$j" '{print gsub(/N/,"&")}' 文件名 

本文由 mdnice 多平台公布

正文完
 0