生信人必备的Linux命令(2/完结)

简介: 生信人必备的Linux命令(2/完结)

1. 管道

在执行命令的时候,管道|符可以将上一个命令的输出作为下一个命令的输入

echo "abc" | wc  # 将echo的输出作为wc的输入
ls -l | less     # 将ls -l 的结果作为less的输入(可以一页一页的显示目录信息)

2. 重定向

将输出>放到文件,或则从文件读取<

echo "abc" > a.txt      # 将abc输出到a.txt文件
cat from.txt > to.txt   # 将文件from.txt文件里面的内容输出到to.txt

3. 文本处理

3.1. grep

文本搜索,是“global search regular expression and print out the line”的简称,搜索结果会将目标行输出,

最常使用的是从文件里面进行搜索。

grep abc /opt/test.txt        # 搜索/opt/test.txt文件中含有abc的行
grep abc -r /opt              # 搜索/opt目录下所有文件,并输出含有abc的行
grep abc -rn /opt             # 输出的时候带上行号
cat test.txt | grep abc       # 从test.txt文件里面搜索abc字符串
cat test.txt | grep -i abc    # 忽略大小写
cat test.txt | grep -E [0-9]+ # 使用正则表达式进行搜索
cat test.txt | grep -n abc    # 结果结果带有行号
cat test.txt | grep -c abc    # 输出搜索的结果数量,只输出一个数字
cat test.txt | grep -v abc    # 输出不含abc的行

3.2. sed

用来编辑文件,编辑后的结果直接输出到终端上,sed在自己编写指令时,需要-e来指定指令,sed中编辑相关的命令,每个编辑的命令都需要来指定行数

  • a  添加
  • d  删除
  • c  替换
  • i  插入
cat test.txt | sed -e 4a\abcd    # 在test.txt第四行后面加一行,内容是abcd
cat test.txt | sed -e 1,4a\abcd  # 在test.txt第1-4行每一行后面都加一行,内容是abcd
cat test.txt | sed -e 1d         # 删除第一行
cat test.txt | sed -e 1,4i\abc   # 在1-4行每一行行前插入一行
cat test.txt | sed -e 1.4c\abc   # 1.4行的内容替换为abc,这里是将四行的内容换成了一行内容

3.3. uniq

将内容去重,单位是行

# test.txt
1
2
2
cat test.txt | uniq 
# 1
# 2

3.4. split

将一个文件按照给定的规则进行分割,可以按照大小,比如一个10MB的文件拆分成10个1MB的文件;也可以按照行数来进行分割,比如5行一个文件

split -6 test.txt output       # 按照行数,每6行拆成一个文件
split -c 1024 test.txt output  # 按照大小,每1024个字节分成一个文件,尽量保持每一行的完整

3.5. wc

统计

wc -w test.txt  # 统计字数
wc -l test.txt  # 统计行数
wc -c test.txt  # 统计字节数

3.6. awk

awk是一种编程语言,但是我更推荐你去学一学python,本文不在讨论。

4. 查找

4.1. find

根据给定的规则来查找文件名和目录

find /opt -name "*.c"    # 查找/opt目录下所有.c为后缀的文件和目录
find /opt -iname "*test" # 查找/opt目录下所有含有test字符串的的文件和目录,并且忽略大小写
find /opt -size "+1M"    # 查找/opt目录下所有大小大于1MB的文件和目录
find /opt -size "-1M"    # 查找/opt目录下所有大小小于1MB的文件和目录
find /opt -ctime "+7"    # 查找/opt目录下7天前更改过的文件

size中的+/-:

  • +   大于
  • -   小于

ctime中的+/-

  • +n   n天前
  • -n   n天内

5. 写在最后

这两篇文章介绍了只一部分命令的使用,下面这些命令你可能还会需要,这里需要你自行去了解这些内容。

  • 使用apt/yum去安装软件
  • 软连接和硬链接ln
  • 检查网络ping/ipconfig
  • man说明书的使用

最后,学会使用Linux命令最好的方法是亲自去多敲一敲。祝你好运!

相关文章
|
8天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
83 5
|
8天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
35 4
|
5天前
|
运维 监控 网络协议
|
6天前
|
监控 Linux Shell
|
8天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
22 3
Linux | Rsync 命令:16 个实际示例(下)
|
12天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
65 2
Linux系统之lsof命令的基本使用
|
13天前
|
Linux
Linux 系统五种帮助命令的使用
Linux 系统五种帮助命令的使用
34 14
|
6天前
|
Linux 开发工具 Perl
Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
【10月更文挑战第20天】Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
20 4
|
10天前
|
运维 网络协议 Linux
linux系统命令 losf详解
**lsof命令**(List Open Files)是Linux系统中一个非常实用的工具,用于列出当前系统上所有打开的文件以及与之关联的进程。以下是对lsof命令的详细介绍: ### 一、基本功能 lsof命令可以显示系统中被进程打开的文件,这些文件可以是普通文件、目录、网络套接字、设备文件等。通过lsof命令,用户可以方便地查看哪些文件被哪些进程打开,以及这些文件的状态信息。 ### 二、基本语法 lsof命令的基本语法为:`lsof [选项] [文件]`。其中,选项用于指定lsof命令的行为,文件则是可选的,用于指定要查询的文件。 ### 三、常用选项 * `-a` 或 `-
|
10天前
|
Linux Perl
Linux awk命令使用技巧
【10月更文挑战第16天】Linux awk命令使用技巧
15 4