zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Linux 文件与目录操作

2023-04-18 14:53:02 时间

背景

文件操作是计算机的核心操作,不同系统之间都类似,主要包括文件创建,复制,粘贴,剪切,重命名,删除,修改,运行,解压缩,打包等。

文件

文件夹

创建

touch

mkdir

复制粘贴

cp

cp -r(R)

剪切粘贴

mv

mv

重命名

mv

mv

删除

rm

rm -r

查看

less/more/cat/head/tail

ls

压缩/解压缩

g(un)zip/b(un)zip

-

打包

tar

tar

连接

ln -s

ln -s

查看大小

stat

du

磁盘空间

df

df

文件编辑

vi

-

1 文件(目录)基本操作

命令:touch

touch 可以创建一个空文件

命令:mkdir

Make directory创建文件夹

-p 递归创建目录,若父目录不存在则依次创建

-m 自定义创建目录的权限

-v 显示创建目录的详细信息

mkdir dir1 创建文件夹
rmdir dir2 删除空文件夹
mv dir1 dir2 移动或者重命名文件夹
cp exam.fna dir2 拷贝文件至文件夹

命令:cp

cp: Copy file拷贝并粘贴文件

-b 覆盖前做备份

-f 如存在不询问而强制覆盖

-i 如存在则询问是否覆盖

-u 较新才覆盖

-t 将多个源文件移动到统一目录下,目录参数在前,文件参数在后

cp test1.txt test2.txt 拷贝文件

命令:mv

mv: Move file移动文件,相当于 windows 下的剪切粘贴,如果剪切粘贴到同一目录下,则为重命令。

-b 覆盖前做备份

-f 如存在不询问而强制覆盖

-i 如存在则询问是否覆盖

-u 较新才覆盖

-t 将多个源文件移动到统一目录下,目录参数在前,文件参数在后

mv test1.txt test2.txt 移动或者重命名文件

命令:rm

rm: Remove file 删除文件

-r 删除文件夹

-f 删除不提示

-i 删除提示

-v 详细显示进行步骤

注意!命令行模式下删除文件不可恢复。

rm -rf *.fna #删除目录下所有以.fna 结尾的文件

命令:ln

ln: Link files 创建连接文件,包括软连接和硬链接,一般软连接比较常用,相当于 windows 下的快捷方式。

-s 建立软连接

-v 显示详细的处理过程

ln -s /share/Example ./ #为/share/Example 目录在当前目录下创建一个快捷方式

2 查看文件

命令:less / more

less 和 more 都是文件查看工具,但是 less 功能更多一些,在 windows 系统下打开一个 10G的文件比较困难,但是在 Linux 下非常方便,less 可以打开非常大的文件,压缩格式也可以直接打开。

-m 显示类似于 more 命令的百分比

-N 显示行号

-S 格式化显示

命令:head / tail

这两个命令比较简单,只是取一个文件的头部和尾部多少行,默认 10 行,可以加-n 进行设置,利用管道可以取文件中间行。

head -40 a.txt | tail -n 20#取文件第 21~40 行

命令:cat

concatenate 连接

cat的一个作用是查看文件,一般是比较小的文件,行数小于一个屏幕,最多不要超过两个屏幕,否则会刷屏;

cat的另一个作用是合并多个文件,一般配合重定向合并为一个新文件或者将一个文件内容追加到另一个文件结尾。

cat a1.index.sh
bwa index -p Homo_sapiens_assembly38 -a bwtsw Homo_sapiens_assembly38.fasta
合并文件
cat a1.txt a2.txt >all.txt

3 数据流方向

Linux 有三种数据流的方向,标准输入(<),标准输出(屏幕),错误输出(错误日志),管道(|)和重定(>或>>)向用于重新控制输出方向。

标准输入:将输入传输给软件,软件进行处理

标准输出:软件将结果屏幕输出

错误输出:当程序出问题,将提示信息屏幕输出

重定向:将屏幕的结果写入到文件中,

>>:为追加写入

1 >:标准输出结果重定向

2 >:错误输出结果重定向

管道:将标准输出结果传递给下一个程序,作为下一个程序的输入

4 打包压缩

命令:g(un)zip/ b(un)zip2

gzip 和 bzip2 是文件压缩工具,默认直接对源文件进行处理,压缩比率在 2/3 左右,都可以进行设置。加上 un,为 unpack 的意思,表示解压缩。

gzip a.txt
gunzip a.txt.gz

命令:tar

Tape archive (磁带档案)

tar 是一个比较复杂的命令,tar 主要用于打包,由于 tar 能调用 gzip 或者 bzip2 进行压缩,而打包和压缩经常如 windows 系统一样合并为一个过程,新手经常将二者混淆,

-c 建立打包档案,可搭配 -v 来查看过程中被打包的档名(filename)

-t 察看打包档案的内容含有哪些档名,重点在察看『档名』就是了;

-x 解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开

辅选项:

-j 透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2

-z 透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz

-v 在压缩/解压缩的过程中,将正在处理的文件名显示出来!

-f filename -f 后面要立刻接要被处理的档名!

对于初学者,记住 c 是 creat,创建,x 是解包,z 对应 gzip,j 对应 bzip2 即可,所以常用的命令如下:

gz 文件操作

tar -zcvf filename.tar.gz A B C    #打包压缩为 gz 结尾文件
tar -zxvf filename.tar.gz            # 解压缩.tar.gz 结尾文件

bz2 文件操作

tar -jcvf filename.tar.bz2 A B C #打包压缩为 bz2 结尾文件
tar -jxvf filename.tar.bz2 # 解压缩.tar.bz2 结尾文件

5 其他操作

命令:df

disk free,df 用于查看磁盘消耗,显示磁盘可用空间数目信息及空间结点信息。一般加一个-h 选项,然后接要查看的磁盘,默认所有磁盘。

-a 显示全部文件系统

-h 文件大小友好地显示

-l 只显示本地文件系统

-i 显示 inode 信息

-T 显示文件系统类型

df -h

命令:du

Disk usage,du 用于查看目录所占磁盘大小,一般也加-h 选项

-h 方便阅读的方式

-s 只显示总和的大小

du -sh ngs/