生信中常用的Linux文件操纵命令

生物信息学数据分析方面使用的最多的操作系统就是Linux,许多开源生物信息软件都是都是基于命令行的,并且是只有Linux的版本。尽管有不同的 GUI(图形用户界面)可用于生物信息学分析,但它们使用起来并不比在Linux上轻松。 因此,学习Linux命令是生物信息学数据分析的必备技能。这篇文章将介绍日常生物信息学数据分析所需的基本 Linux 命令。

当我们打开 Linux 终端时,通常应该会看到带有’$’标识 的shell 提示符(命令行界面)。Shell是一个程序,它从用户那里获取命令输入并将其传递给操作系统进行处理,并在屏幕上打印输出。

查看当前目录下的文件

您可以使用 ls (list) 命令列出当前路径中的文件。如果不为 ls 提供参数,它只会列出文件和目录的名称。

ls

file1.txt  file2.txt

#如果添加 -l 选项,可以看到一个长列表格式,包括权限、所有者、日期、磁盘大小和时间
ls -l

total 0
-rw-rw-r-- 1 ubuntu ubuntu 0 Jun  4 11:10 file1.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Jun  4 11:10 file2.txt

#如果添加 -lrt 选项,则按按升序时间排序(最后修改时间为最后)的长列表格式,
#包括权限、所有者、日期、磁盘大小和时间
ls -lrt

total 0
-rw-rw-r-- 1 ubuntu ubuntu 0 Jun  4 11:10 file1.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Jun  4 11:10 file2.txt

查看当前所在的路径

可以使用 pwd 命令获取当前工作目录的绝对路径,这也是生物信息学数据分析过程使用比较多的命令。

pwd

/home/ubuntu/test

#变量 $PWD 包含当前工作目录的路径,可以使用 echo 命令打印
echo $PWD

/home/ubuntu/test

切换目录

使用 cd命令切换到另一个目录。这是生物信息学分析中使用最广泛的命令,用于浏览目录结构。我们可以在当前路径中给出目录名称,也可以在另一个路径中给出目录的绝对(或相对)路径。如果您只键入 cd 而没有任何目录名称,则当前目录将更改为主目录。

#切换回主目录(/home/ubuntu)
cd

#切换至上级目录
cd ..

#切换至根目录
cd /

创建和删除目录

mkdir 和 rmdir(或 rm)命令可分别用于创建和删除目录。

#创建名为一个temp的目录
mkdir temp

#在另一个目录下创建一个目录
mkdir -p parent/temp

#删除目录
rmdir temp

#删除目录及其内的文件
rmdir -rf temp

*注意谨慎使用 rm -r 或 rm -rf 命令,因为它们会递归地删除所有文件和子目录。一旦删除文件夹和文件,将无法恢复已删除的数据。

创建和编辑文件

使用 vim、touch、cat 和echo命令来创建文件。

#vim创建文件
vim file.txt

#touch创建一个空文件
touch file.txt

#cat创建文件
cat > file.txt

#echo写入文件
echo "This is a test file" > file.txt

查看文件内容

在 Linux 中,您可以使用多个命令或文本编辑器来读取完整或部分文件。最流行的用于读取文件的 Linux 命令包括 less、more、cat、head 和 tail。

#less和more是浏览大文件的首选
less file.txt
more file.txt

#cat一次性显示文件的内容到终端
cat file.txt

#head默认查看前十行
head file.txt

#tail默认查看后十行
tail file.txt

合并文件

使用 cat 命令合并和追加两个或多个文件,这里分别使用重定向运算符 > 和 >> 来合并和追加文件。

#合并file1.txt和file2.txt的内容
cat file1.txt file2.txt > merged_file.txt

#追加file3.txt的内容到merged_file.txt
cat file3.txt >> merged_file.txt

复制、重命名和删除文件

cp 命令将一个文件复制到另一个文件, mv 命令重命名文件,rm删除文件。

#创建file1.txt的副本file2.txt
cp file1.txt file2.txt

#重命名file1.txt为file2.txt
mv file1.txt file2.txt

#删除file1.txt
rm file1.txt

压缩和提取文件

大多数生物信息学工具和文件都被压缩为 .tar.gz 或.zip、.gz 、.bz2等其他压缩格式。在生物信息学分析中,我们经常压缩和解压缩数据文件。

tar 命令对于将文件和目录压缩到存档(.tar、.tar.gz、.tar.bz2 等)以及从 tar 存档中提取文件很有用。

# 从.tar 存档中提取文件
tar -xvf archive.tar

# 列出.tar存档中的文件(不提取)
tar -tf archive.tar

# 从 .tar.gz 存档中提取文件
tar -xvf archive.tar.gz

# 从 .tar.bz2 文件中提取文件
tar -xvf archive.tar.bz2

# 创建 tar 存档
tar -cvf archive.tar dir
tar -czvf archive.tar.gz dir
tar -cjvf archive.tar.bz2 dir

# 提取 .gz 压缩文件
gunzip file.gz

# 创建 .gz 压缩文件
gzip file.fastq

# 提取 .bzip2 压缩文件
bunzip2 file.bz2

# 创建 .bzip2 压缩文件
bzip2 file.fastq

# 提取 .zip 存档
unzip archive.zip

# 创建 .zip存档
zip archive.zip file.txt

#创建 .zip存档(对文件夹)
zip -r archive.zip dir

标准输出 (STDOUT) 和标准错误 (STDERR)(>、>2 和 &>)

标准输出 (STDOUT) 和标准错误 (STDERR) 是 Linux 命令的两个输出流,它们直接在屏幕上打印输出和错误消息。我们还可以使用重定向运算符 (>) 将标准输出(>1 或 >)和错误 (2>) 重定向到文件。 &> 可用于将标准输出和错误重定向到文件。

# 在屏幕上打印标准输出
cat file.txt

# 使用重定向运算符(> 或 >1)将标准输出打印到文件
cat file.txt > file2.txt

# 使用重定向运算符(> 和 >2)将标准输出和标准错误打印到文件(file3.txt不存在)
cat file2.txt file3.txt > stdout.txt >2 stderr.txt

# 使用重定向运算符 (&>) 将标准输出和标准错误打印到同一个文件
cat file2.txt file3.txt &> out.txt

搜索可执行文件的路径

在Linux 中,which命令可用于定位可执行文件(已安装的命令或工具)的绝对路径。例如,如果我们想知道 fastqc 命令的绝对路径,你可以使用 which fastqc。 which 命令也可用于检查特定工具是否已安装并在系统路径中可用。

如果你喜欢这篇文章,还请点赞支持一下,欢迎你关注vx公众号“生物信息技术”。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值