生信人必备的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系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
|
22天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
34 11
|
2月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
143 8
|
2月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
209 20
|
2月前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
129 7
|
2月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
101 14
Linux 10 个“who”命令示例
|
3月前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
3月前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
62 9
|
3月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
297 3
|
3月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
57 1