Linux学习笔记(四):常用命令之文件管理命令

时间:2024-03-20 13:11:58

1、ls:查看文件信息

ls 是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于 DOS 下的 dir 命令。

Linux 文件或者目录名称最长可以有256个字符,“.” 代表当前目录,“..” 代表上一级目录,以 “.” 开头的文件为隐藏文件,需要用 -a 参数才能显示。

ls 常用参数:

1)、不带参数:

Linux学习笔记(四):常用命令之文件管理命令

2)、-a:显示指定目录下所有子目录与文件,包括隐藏文件

Linux学习笔记(四):常用命令之文件管理命令

3)、-l:以列表方式显示文件的详细信息(不包括隐藏文件)

Linux学习笔记(四):常用命令之文件管理命令

4)、-h:配合 -l 以人性化的方式显示文件大小

Linux学习笔记(四):常用命令之文件管理命令

5)、-all:以列表方式显示文件的详细信息(包括隐藏文件)

Linux学习笔记(四):常用命令之文件管理命令

注意:ls -all 命令可以简写成 ll 命令:

Linux学习笔记(四):常用命令之文件管理命令

Linux学习笔记(四):常用命令之文件管理命令

与 DOS 下的文件操作类似,在 Linux 系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符:

通配符

含义

*

文件代表文件名中所有字符

ls te*

查找以 te 开头的文件

ls *html

查找结尾为 html 的文件

代表文件名中任意一个字符

ls ?.c

只找第一个字符任意,后缀为 .c 的文件

ls a.?

只找只有3个字符,前2字符为a.,最后一个字符任意的文件

[]

[”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。

[abc]

匹配 a、b、c 中的任意一个

[a-f]

匹配从a到f范围内的的任意一个字符

ls [a-f]*

找到从a到f范围内的的任意一个字符开头的文件

ls a-f

查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用

\

如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。

ls \*a

查找文件名为*a的文件

2、> 和 >>:输出重定向命令

Linux 允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

Linux学习笔记(四):常用命令之文件管理命令

上面的命令:ll > a.txt 表示将 ll 命令的结果保存到 a.txt 文件中;如果 a.txt 文件不存在,则创建;如果已经存在,则先清空文件的内容,然后再保存。

下面的命令:ll >> a.txt 也表示将 ls 命令的结果保存到 a.txt 文件中;如果 a.txt 文件不存在,则创建;如果已经存在,则在文件的末尾追加数据。

Linux学习笔记(四):常用命令之文件管理命令

3、cat:查看文件内容

Linux学习笔记(四):常用命令之文件管理命令

4、more:查看文件内容时分屏显示

使用 cat 命令查看文件内容时,如果文件内容过长,无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用 more 命令,每次只显示一页,按下空格键可以显示下一页,按下 q 键退出显示,按下 h 键可以获取帮助。

Linux学习笔记(四):常用命令之文件管理命令

5、|:管道命令

管道(|):一个命令的输出可以通过管道做为另一个命令的输入。

Linux学习笔记(四):常用命令之文件管理命令

6、cd:切换工作目录

在使用 Linux 的时候,经常需要更换工作目录。cd 命令可以帮助用户切换工作目录。

Linux 所有的目录和文件名大小写敏感

cd 后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。

1)、cd 命令后面不带任何参数:默认切换到当前用户的主目录

Linux学习笔记(四):常用命令之文件管理命令

2)、cd 目录名:切换到指定的目录下

Linux学习笔记(四):常用命令之文件管理命令

3)、cd 绝对路径:切换到从根目录开始的绝对路径下

Linux学习笔记(四):常用命令之文件管理命令

4)、cd ..:切换到上级目录

Linux学习笔记(四):常用命令之文件管理命令

5)、cd -:进入上一次进入的目录

Linux学习笔记(四):常用命令之文件管理命令

7、pwd:显示当前目录(绝对路径)

Linux学习笔记(四):常用命令之文件管理命令

8、mkdir:创建目录

通过 mkdir 命令可以创建一个新的目录。参数 -p 可递归创建目录。

需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。

1)、创建单层目录

Linux学习笔记(四):常用命令之文件管理命令

2)、创建递归目录

Linux学习笔记(四):常用命令之文件管理命令

9、rmdir:删除目录

可使用 rmdir 命令删除一个目录,必须离开目录,并且目录必须为空目录,不然提示删除失败。

Linux学习笔记(四):常用命令之文件管理命令

10、rm:删除文件或目录

使用 rm 命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在 rm 后使用 -i 参数以逐个确认要删除的文件。

1)、rm 文件名:直接删除文件(带参数 -f ,或者不带参数,效果一样)

Linux学习笔记(四):常用命令之文件管理命令

2)、rm 文件名 -i:删除文件时提示是否删除;y(或者 yes) 表示删除;n(或者 no) 表示不删除

Linux学习笔记(四):常用命令之文件管理命令

3)、rm 目录名 -r:删除目录(递归删除,包括目录下的子目录或者文件)

Linux学习笔记(四):常用命令之文件管理命令

11、ln:创建链接文件

链接文件分为软链接和硬链接。

1)、软链接:相当于快捷方式,软链接不占用磁盘空间,源文件删除则软链接失效,软链接的文件类型用 字母l 表示;

创建软链接命令:ln -s 源文件 链接文件

Linux学习笔记(四):常用命令之文件管理命令

2)、硬链接:相当于拷贝或者复制,硬链接文件和源文件一样大小,是一个新的普通文件,删除源文件对硬链接文件没有任何影响;

创建硬链接命令:ln 源文件 链接文件

Linux学习笔记(四):常用命令之文件管理命令

12、grep:文本搜索

Linux 系统中 grep 命令是一种强大的文本搜索工具,grep 允许对文本文件进行模式查找。如果找到匹配模式, grep 打印包含模式的所有行。

grep 一般格式为:grep [-选项] ‘搜索内容串’ 文件名

在 grep 命令中输入字符串参数时,最好使用单引号或双引号括起来。例如:grep ‘a’ 1.txt。

常用选项说明:

1)、grep "搜索内容串" 文件名:对文件进行模式查找,找到则输出包含模式的所有行;

Linux学习笔记(四):常用命令之文件管理命令

"搜索内容串" 不用引号也可以:

Linux学习笔记(四):常用命令之文件管理命令

2)、grep -v "搜索内容串" 文件名:搜索不包括“搜索内容串”的所有行(相当于求反)

Linux学习笔记(四):常用命令之文件管理命令

3)、grep -n "搜索内容串" 文件名:显示匹配行及行号

Linux学习笔记(四):常用命令之文件管理命令

4)、grep -i "搜索内容串" 文件名:忽略大小写

Linux学习笔记(四):常用命令之文件管理命令

grep 搜索的内容串可以是正则表达式,grep 常用正则表达式如下:

参数

含义

^a

行首,搜寻以 m 开头的行

grep -n '^a' 1.txt

ke$

行尾,搜寻以 ke 结束的行

grep -n 'ke$' 1.txt

[Ss]igna[Ll]

匹配 [] 里中一系列字符中的一个

搜寻匹配单词signal、signaL、Signal、SignaL的行

grep -n '[Ss]igna[Ll]' 1.txt

. (点)

匹配一个非换行符的字符

匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae

grep -n 'e.e' 1.txt

13、find:查找文件

find 命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

find 命令常用方法:

1)、find -name a.txt:查找当前目录下名为 a.txt 的文件(和 find ./ -name a.txt 作用一样

Linux学习笔记(四):常用命令之文件管理命令

2)、find -name '*.txt':查找当前目录下所有后缀为 .txt 的文件

Linux学习笔记(四):常用命令之文件管理命令

3)、find -name '[a-z]*':查找当前目录下所有以小写字母开头的文件

Linux学习笔记(四):常用命令之文件管理命令

4)、find /tmp -size 1M:查找在 /tmp 目录下大小等于 1M 的文件

Linux学习笔记(四):常用命令之文件管理命令

5)、find /bin -size +1M:查找在 /bin 目录下大小大于 1M 的文件

Linux学习笔记(四):常用命令之文件管理命令

6)、find /tmp -size -1M:查找在 /tmp 目录下大小小于 1M 的文件

Linux学习笔记(四):常用命令之文件管理命令

7)、find -size +2k -size -2M:查找当前目录下大于 2k,小于 2M 的文件

Linux学习笔记(四):常用命令之文件管理命令

8)、find -perm 0777:查找当前目录下权限为 777 的文件或目录

Linux学习笔记(四):常用命令之文件管理命令

14、wc:统计文件大小

文件内容如下:

Linux学习笔记(四):常用命令之文件管理命令

1)、wc -l 文件名:统计行数

Linux学习笔记(四):常用命令之文件管理命令

2)、wc -w 文件名:统计单词数

Linux学习笔记(四):常用命令之文件管理命令

3)、wc -c 文件名:统计字节数

Linux学习笔记(四):常用命令之文件管理命令

4)、wc 文件名:相当于前面三个的集合

Linux学习笔记(四):常用命令之文件管理命令

15、cp:拷贝文件

cp 命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于 DOS 下的 copy 命令。

1)、cp a.txt 1.txt:将 a.txt 文件中的内容拷贝到 1.txt 文件中;如果 1.txt 文件不存在,则创建;如果已经存在,则覆盖;

Linux学习笔记(四):常用命令之文件管理命令

2)、cp aa bb -a:参数 -a 用于复制目录;如果 bb 目录不存在,则创建 bb 目录,并将 aa 目录中的所有内容递归的复制到 bb 目录中;如果 bb 目录已存在,则会将 aa 目录复制到 bb 目录中,作为 bb 目录的子目录存在;

Linux学习笔记(四):常用命令之文件管理命令

3)、cp a.txt 1.txt -i:拷贝文件的时候,如果目标文件已经存在,提示是否覆盖

Linux学习笔记(四):常用命令之文件管理命令

4)、cp a.txt 1.txt -v:显示拷贝的源文件和目标文件

Linux学习笔记(四):常用命令之文件管理命令

Linux学习笔记(四):常用命令之文件管理命令

16、mv:移动文件

和 cp 命令用法相似,区别是 cp 命令拷贝的时候,源文件还存在;而 mv 命令移动的时候,源文件不存在了。

17、 file:获取文件类型

Linux 系统文件类型不是根据文件扩展名分类的,通过 file 命令可以确认文件具体类型。

Linux学习笔记(四):常用命令之文件管理命令

18、tar:归档管理

tar 命令用于将多个文件归档为一个文件(相当于打包,但不会压缩,打包之后的文件比之前的文件还大),也可以把一个归档文件解开生成多个文件。

tar 命令常用参数:

参数

含义

-c

生成档案文件,创建打包文件

-v

列出归档解档的详细过程,显示进度,显示源文件

-f

指定档案文件名称,f后面一定是 .tar文件,所以必须放选项最后

-t

列出档案中包含的文件

-x

解开档案文件

注意:参数 f 必须放在参数的最后,后面紧跟着 .tar 文件;其它参数的顺序任意。

1)、归档文件:

Linux学习笔记(四):常用命令之文件管理命令

2)、查看归档文件的内容:

Linux学习笔记(四):常用命令之文件管理命令

3)、解开归档文件:

Linux学习笔记(四):常用命令之文件管理命令

19、gzip:文件压缩和解压

gzip 命令压缩文件的后缀名为 .gz;

gzip 命令常用选项:

选项

含义

-d

解压

-r

压缩所有子目录

1)、gzip -r a.c:将 a.c 文件压缩,压缩之后源文件消失,压缩文件的名字是源文件名称后面加 .gz;

Linux学习笔记(四):常用命令之文件管理命令

2)、gzip -d a.c.gz:解压文件;解压之后压缩文件消失;

Linux学习笔记(四):常用命令之文件管理命令

3)、gzip -r test.tar:压缩归档文件:

Linux学习笔记(四):常用命令之文件管理命令

4)、解压文件

Linux学习笔记(四):常用命令之文件管理命令

tar 与 gzip 命令结合使用可以实现文件打包、压缩;tar 这个命令并没有压缩的功能,它只是一个打包的命令,但是在 tar 命令中增加一个选项(-z)可以调用 gzip 实现了一个压缩的功能,实行一个先打包后压缩的过程:

5)、tar -zcvf test.tar.gz a.c a.txt c.txt:先归档打开;再压缩;

Linux学习笔记(四):常用命令之文件管理命令

6)、tar -zxvf test.tar.gz:先解压,再解开归档文件;

Linux学习笔记(四):常用命令之文件管理命令

20、bzip2:文件压缩和解压

tar 与 bzip2 命令结合使用实现文件打包、压缩(用法和 gzip 一样)。

tar 只负责打包文件,但不压缩,用 bzip2 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.bz2。

在 tar 命令中增加一个选项(-j)可以调用 bzip2 实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -jcvf 压缩包包名 文件...(tar -jcvf bk.tar.bz2 *.c)

解压用法:tar -jxvf 压缩包包名 (tar -jxvf bk.tar.bz2)

21、zip、unzip:文件压缩和解压

通过 zip 命令压缩文件的目标文件不需要指定扩展名,默认扩展名为 zip。

压缩文件:zip  [-r] 目标文件(没有扩展名) 源文件

Linux学习笔记(四):常用命令之文件管理命令

解压文件:unzip -d 解压后目录文件 压缩文件

Linux学习笔记(四):常用命令之文件管理命令