文章目录
- 1. 查看文件信息:ls
- 2. 查看或者合并文件内容:cat
- 3. 分屏显示:more
- 4. 输出重定向命令: >和>>
- 5. 管道:|
- 6. 显示当前路径:pwd
- 7. 查看目录结构:tree
- 8. 查看命令位置:which
- 9. 清屏:clear
- 10. 自动补全:tab键
- 11. 历史命令:history
- 12. 输出字符串或提取Shell变量的值:echo
- 13. 查看帮助文档:help和man
- 14. 切换工作目录: cd
- 15. 创建文件: touch
- 16. 创建目录:mkdir
- 17. 删除目录:rmdir
- 18. 删除文件:rm
- 19. 建立链接文件:ln
- 20.
- 21. 查找文件:find
- 22. 拷贝文件:cp
- 23. 移动或重命名文件:mv
- 24. 归档管理:tar
- 25. 文件压缩解压:gzip
- 26. 文件压缩解压:bzip2
- 27. 文件压缩解压:zip、unzip
- 28. 查看文件尾部内容:tail
- 29. 分页显示工具:less
- 30. 统计文件的字节数、字数、行数:wc
Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。
1. 查看文件信息:ls
ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令
ls常用参数:
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合-l以人性化的方式显示文件大小
1-1. ls常用用法
(1) 直接使用ls
HGF@HGF-PC:~/Desktop$ ls
2.txt linux
(2) 使用-a
HGF@HGF-PC:~/Desktop$ ls -a
. .. 2.txt .d linux
注意:Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“. .”代表上一级目录,以“.”开头的文件为隐藏文件,需要用-a参数才能显示
(3) 使用-l
HGF@HGF-PC:~/Desktop$ ls -l
总用量 4
-rw-rw-r-- 1 HGF HGF 0 7月 2 17:48 2.txt
drwxrwxr-x 3 HGF HGF 4096 7月 2 17:20 linux
(4) 配套使用-l和-h
HGF@HGF-PC:~/Desktop$ ls -lh
总用量 4.0K
-rw-rw-r-- 1 HGF HGF 0 7月 2 17:48 2.txt
drwxrwxr-x 3 HGF HGF 4.0K 7月 2 17:20 linux
(5) 使用-a,-l和-h
HGF@HGF-PC:~/Desktop$ ls -alh
总用量 16K
drwxr-xr-x 3 HGF HGF 4.0K 7月 2 17:51 .
drwxr-xr-x 33 HGF HGF 4.0K 7月 2 19:18 ..
-rw-rw-r-- 1 HGF HGF 0 7月 2 17:48 2.txt
-rw-r--r-- 1 HGF HGF 25 7月 2 17:51 .d
drwxrwxr-x 3 HGF HGF 4.0K 7月 2 17:20 linux
1-2. 使用通配符
在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符
通配符 | 含义 |
---|---|
* | 代表文件名中所有字符 |
? | 代表文件名中任意一个字符 |
[] | "[“和”]“将字符组括起来,表示可以匹配字符组中的任意一个,”-"用于表示字符范围 |
\ | 要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用 |
现有如下一个目录
HGF@HGF-PC:~/Desktop$ ls
2.txt 3.txt a.py b.py good.py hello.py h.py linux
查找以h开头的文件
HGF@HGF-PC:~/Desktop$ ls h*
hello.py h.py
查找以txt结尾的文件
HGF@HGF-PC:~/Desktop$ ls *txt
2.txt 3.txt
查找后缀为.py的文件,文件名只有一个字符的文件
HGF@HGF-PC:~/Desktop$ ls ?.py
a.py b.py h.py
找到从a到g范围内的的任意一个字符开头的文件
HGF@HGF-PC:~/Desktop$ ls [a-g]*
a.py b.py good.py
注意:
- ls a-f 查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用
- ls \*a 查找文件名为*a的文件
2. 查看或者合并文件内容:cat
(1) 查看文件内容
HGF@HGF-PC:~/Desktop$ cat good.py
good
HGF@HGF-PC:~/Desktop$ cat hello.py
hello
(2) 合并文件内容
HGF@HGF-PC:~/Desktop$ cat hello.py good.py > nice.py
HGF@HGF-PC:~/Desktop$ cat nice.py
hello
good
HGF@HGF-PC:~/Desktop$ ls
2.txt 3.txt a.py b.py good.py hello.py h.py linux nice.py
3. 分屏显示:more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助
HGF@HGF-PC:~/Desktop$ more 1.txt
4. 输出重定向命令: >和>>
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中
>输出重定向会覆盖原来的内容
HGF@HGF-PC:~/Desktop$ ls
2.txt 3.txt a.py b.py good.py hello.py h.py linux nice.py
HGF@HGF-PC:~/Desktop$ cat nice.py > test.txt
HGF@HGF-PC:~/Desktop$ ls
2.txt 3.txt a.py b.py good.py hello.py h.py linux nice.py test.txt
HGF@HGF-PC:~/Desktop$ cat test.txt
hello
good
注意: test.txt 如果不存在则创建,存在则覆盖其内容
>>输出重定向则会追加到文件的尾部
HGF@HGF-PC:~/Desktop$ cat nice.py >> test.txt
HGF@HGF-PC:~/Desktop$ cat test.txt
hello
good
hello
good
注意:写在>或者>>左边不发生变化,写在右边的会发生变化
5. 管道:|
管道:一个命令的输出可以通过管道做为另一个命令的输入
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)
HGF@HGF-PC:~/Desktop$ cat 1.txt | more
通过管道我们可以写两个命令,前面的命令的输出是后面命令输入的内容,最后显示后面命令的输出
6. 显示当前路径:pwd
使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数
HGF@HGF-PC:~/Desktop$ pwd
/home/HGF/Desktop
7. 查看目录结构:tree
tree命令用于以树状图列出目录的内容
HGF@HGF-PC:~/Desktop$ tree
.
├── 1.txt
├── a
│ └── b
│ └── c
└── class
4 directories, 1 file
8. 查看命令位置:which
HGF@HGF-PC:~/Desktop$ which ls
/bin/ls
9. 清屏:clear
clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )
HGF@HGF-PC:~/Desktop$ clear
注意:这个清除屏幕并不是删除之前的内容,而是让我们的屏幕向上滚动一页
10. 自动补全:tab键
在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令
11. 历史命令:history
当系统执行过一些命令后,可按上下键翻看以前的命令,也可以使用history命令,将最近执行过的命令列举出来
HGF@HGF-PC:~$ history
251 cat 1.py
252 1.py
253 python
254 cls
255 clear
256 ls
257 cd Desktop/
查看历史执行记录后3条
HGF@HGF-PC:~$ history 3
1249 his
1250 history
1251 history 3
12. 输出字符串或提取Shell变量的值:echo
echo命令用于在终端设备上输出字符串或变量提取后的值
例1:输出一段字符串
HGF@HGF-PC:~/Desktop$ echo "LinuxCool.com"
LinuxCool.com
例2:输出变量提取后的值
HGF@HGF-PC:~/Desktop$ echo $PATH
/home/rock/software/redis-4.0.9/src:/home/rock/anaconda3/bin:/home/HGF/bin:/home/HGF/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
例3:对内容进行转义,不让$符号的提取变量值功能生效
HGF@HGF-PC:~/Desktop$ echo \$PATH
$PATH
例4:结合输出重定向符,将字符串信息导入文件中
HGF@HGF-PC:~/Desktop$ cat 1.txt
HGF@HGF-PC:~/Desktop$ echo "hello word" > 1.txt
HGF@HGF-PC:~/Desktop$ cat 1.txt
hello word
13. 查看帮助文档:help和man
13-1. help
一般是linux命令自带的帮助信息
HGF@HGF-PC:~$ ls --help
13-2. man(有问题找男人,manual)
man是linux提供的一个手册,包含了绝大部分的命令、函数使用说明,该手册分成很多章节(section),使用man时可以指定不同的章节来浏览
例如:
HGF@HGF-PC:~$ man ls
man设置了如下的功能键:
功能键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | Backward,回滚一屏 |
f | Forward,前滚一屏 |
q | 退出man命令 |
h | 列出所有功能键 |
/word | 搜索word字符串 |
14. 切换工作目录: cd
在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录
注意:
- Linux所有的目录和文件名大小写敏感
- cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录
- 如果路径是从根路径开始的,则路径的前面需要加上 “ / ”,如 “ /mnt ”,通常进入某个目录里的文件夹,前面不用加 “ / ”
例1:
HGF@HGF-PC:~/Desktop$ cd
HGF@HGF-PC:~$
或者
HGF@HGF-PC:~/Desktop$ cd ~
HGF@HGF-PC:~$
两者都是切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录(家目录)
例2:切换到当前目录
HGF@HGF-PC:~/Desktop$ cd .
HGF@HGF-PC:~/Desktop$
例3:切换到上级目录
HGF@HGF-PC:~/Desktop/a$ cd ..
HGF@HGF-PC:~/Desktop$
例4:可进入上次所在的目录
HGF@HGF-PC:~$ cd Desktop/a
HGF@HGF-PC:~/Desktop/a$ cd -
/home/HGF
HGF@HGF-PC:~$
15. 创建文件: touch
HGF@HGF-PC:~/Desktop$ ls
HGF@HGF-PC:~/Desktop$ touch 1.txt
HGF@HGF-PC:~/Desktop$ ls
1.txt
16. 创建目录:mkdir
通过mkdir命令可以创建一个新的目录
HGF@HGF-PC:~/Desktop$ ls
1.txt
HGF@HGF-PC:~/Desktop$ mkdir class
HGF@HGF-PC:~/Desktop$ ls
1.txt class
使用参数-p可递归创建目录
HGF@HGF-PC:~/Desktop$ ls
HGF@HGF-PC:~/Desktop$ mkdir -p a/b
HGF@HGF-PC:~/Desktop$ tree
.
└── a
└── b
2 directories, 0 files
注意:新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限
17. 删除目录:rmdir
可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败
HGF@HGF-PC:~/Desktop$ tree
.
└── b
1 directory, 0 files
HGF@HGF-PC:~/Desktop$ rmdir b
HGF@HGF-PC:~/Desktop$ ls
18. 删除文件:rm
可通过rm删除文件或目录
常用参数及含义如下表所示:
参数 | 含义 |
---|---|
-i | 以进行交互式方式执行 |
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除目录时必须加此参数 |
注意:使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件
例1:
HGF@HGF-PC:~/Desktop$ ls
1.txt 2.txt
HGF@HGF-PC:~/Desktop$ rm -i *
rm:是否删除普通空文件 '1.txt'? y
rm:是否删除普通空文件 '2.txt'? n
HGF@HGF-PC:~/Desktop$ ls
2.txt
例2:
HGF@HGF-PC:~/Desktop$ tree
.
└── a
└── b
2 directories, 0 files
HGF@HGF-PC:~/Desktop$ rm -r a
HGF@HGF-PC:~/Desktop$ ls
19. 建立链接文件:ln
Linux链接文件类似于Windows下的快捷方式,链接文件分为软链接和硬链接
软链接:软链接不占用磁盘空间,源文件删除则软链接失效
硬链接:硬链接只能链接普通文件,不能链接目录
使用格式:
#硬链接
ln 源文件 链接文件
#软链接
ln -s 源文件 链接文件
20.
21. 查找文件:find
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件
常用用法:
命令 | 含义 |
---|---|
find ./ -name test.txt | 查找当前目录下所有名为test.txt的文件 |
find ./ -name ‘*.sh’ | 查找当前目录下所有后缀为.sh的文件 |
find ./ -name “[A-Z]*” | 查找当前目录下所有以大写字母开头的文件 |
find /tmp -size 2M | 查找在/tmp 目录下等于2M的文件 |
find /tmp -size +2M | 查找在/tmp 目录下大于2M的文件 |
find /tmp -size -2M | 查找在/tmp 目录下小于2M的文件 |
find ./ -size +4k -size -5M | 查找当前目录下大于4k,小于5M的文件 |
find ./ -perm 0777 | 查找当前目录下权限为 777 的文件或目录 |
注意:
- 使用find进行查找的时候,查找指定目录以及子目录下所有符合条件的文件
- 查找特定的文件的时候,无需使用单引号或者双引号将文件扩起来,但是若使用正则的时候,我们需要将正则的字符串使用单引号或者双引号给扩起来
22. 拷贝文件:cp
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令
常用选项说明:
选项 | 含义 |
---|---|
-a | 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。 |
-f | 已经存在的目标文件而不提示 |
-i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。 |
-v | 显示拷贝进度 |
现有如下文件:
HGF@HGF-PC:~/Desktop/test$ tree
.
├── 1.txt
├── 2.txt
└── a
1 directory, 2 files
HGF@HGF-PC:~/Desktop/test$ cat 1.txt
/home/HGF/Desktop/test/1.txt
HGF@HGF-PC:~/Desktop/test$ cat 2.txt
例1:复制普通文件
HGF@HGF-PC:~/Desktop/test$ cp 1.txt 3.txt
HGF@HGF-PC:~/Desktop/test$ cat 3.txt
/home/HGF/Desktop/test/1.txt
HGF@HGF-PC:~/Desktop/test$ tree
.
├── 1.txt
├── 2.txt
├── 3.txt
└── a
1 directory, 3 files
例2:使用-i参数交互式复制,确认是否覆盖目标文件
HGF@HGF-PC:~/Desktop/test$ cp -i 1.txt 2.txt
cp:是否覆盖'2.txt'? n
HGF@HGF-PC:~/Desktop/test$ tree
.
├── 1.txt
├── 2.txt
└── a
1 directory, 2 files
HGF@HGF-PC:~/Desktop/test$ cat 2.txt
例3:使用-r参数复制目录
HGF@HGF-PC:~/Desktop/test$ cp -r a b
HGF@HGF-PC:~/Desktop/test$ tree
.
├── 1.txt
├── 2.txt
├── a
└── b
2 directories, 2 files
23. 移动或重命名文件:mv
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名
常用选项说明:
选项 | 含义 |
---|---|
-f | 禁止交互式操作,如有覆盖也不会给出提示 |
-i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件 |
-v | 显示移动进度 |
现有一些文件如下情况:
HGF@HGF-PC:~/Desktop$ tree
.
├── 3.txt
├── c
└── test
├── 1.txt
└── b
└── 2.txt
3 directories, 3 files
HGF@HGF-PC:~/Desktop$ cat test/1.txt
/home/HGF/Desktop/test/1.txt
HGF@HGF-PC:~/Desktop$ cat test/b/2.txt
/home/HGF/Desktop/test/b/2.txt
HGF@HGF-PC:~/Desktop$ cat 3.txt
/home/HGF/Desktop/3.txt
(1) 目标文件不存在
当源文件是文件时:
HGF@HGF-PC:~/Desktop$ mv test/1.txt d
HGF@HGF-PC:~/Desktop$ tree
.
├── 3.txt
├── c
├── d
└── test
└── b
└── 2.txt
3 directories, 3 files
HGF@HGF-PC:~/Desktop$ cat d
/home/HGF/Desktop/test/1.txt
当源文件是目录时:
HGF@HGF-PC:~/Desktop$ mv test/b 4.txt
HGF@HGF-PC:~/Desktop$ tree
.
├── 3.txt
├── 4.txt
│ └── 2.txt
├── c
└── test
└── 1.txt
3 directories, 3 files
HGF@HGF-PC:~/Desktop$ cat 4.txt/2.txt
/home/HGF/Desktop/test/b/2.txt
(2) 目标文件存在
若源文件与目标文件都是文件时:
HGF@HGF-PC:~/Desktop$ mv test/1.txt 3.txt
HGF@HGF-PC:~/Desktop$ tree
.
├── 3.txt
├── c
└── test
└── b
└── 2.txt
3 directories, 2 files
HGF@HGF-PC:~/Desktop$ cat 3.txt
/home/HGF/Desktop/test/1.txt
若源文件是文件,目标文件时目录时:
HGF@HGF-PC:~/Desktop$ mv test/1.txt c
HGF@HGF-PC:~/Desktop$ tree
.
├── 3.txt
├── c
│ └── 1.txt
└── test
└── b
└── 2.txt
3 directories, 3 files
HGF@HGF-PC:~/Desktop$ cat c/1.txt
/home/HGF/Desktop/test/1.txt
若源文件与目标文件都是目录时:
HGF@HGF-PC:~/Desktop$ mv test/b c
HGF@HGF-PC:~/Desktop$ tree
.
├── 3.txt
├── c
│ └── b
│ └── 2.txt
└── test
└── 1.txt
3 directories, 3 files
若源文件是目录,目标文件是文件时:
HGF@HGF-PC:~/Desktop$ mv test/b 3.txt
mv: 无法以目录'test/b' 来覆盖非目录'3.txt'
HGF@HGF-PC:~/Desktop$ tree
.
├── 3.txt
├── c
└── test
├── 1.txt
└── b
└── 2.txt
3 directories, 3 files
总结:
- 若目标文件不存在,则对源文件进行重命名
- 若目标文件是目录时,则将源文件移动到目标目录下
- 若目标文件为文件且源文件为文件时,则将目标文件覆盖并将源文件重命名
- 若目标文件为文件且源文件为目录时,则报错
24. 归档管理:tar
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据
tar命令使用如下:
tar [参数] 打包文件名 文件
常用参数:
参数 | 含义 |
---|---|
-c | 生成档案文件,创建打包文件 |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 |
-t | 列出档案中包含的文件 |
-x | 解开档案文件 |
例如:
(1)使用tar将所有txt文件打包
HGF@HGF-PC:~/Desktop/test$ ls
1.txt 2.txt a
HGF@HGF-PC:~/Desktop/test$ tar -cvf txt.tar *txt
1.txt
2.txt
HGF@HGF-PC:~/Desktop/test$ ls
1.txt 2.txt a txt.tar
(2)将打包好的txt.tar文件解包到a目录中
HGF@HGF-PC:~/Desktop/test$ tar -xvf txt.tar -C a
1.txt
2.txt
HGF@HGF-PC:~/Desktop/test$ cd a
HGF@HGF-PC:~/Desktop/test/a$ ls
1.txt 2.txt
注意:
- 除了f需要放在参数的最后,其它参数的顺序任意
- tar命令很特殊,其参数前面可以使用“-”,也可以不使用
25. 文件压缩解压:gzip
gzip使用格式如下:
gzip [选项] 被压缩文件
常用选项:
选项 | 含义 |
---|---|
-d | 解压 |
-r | 压缩所有子目录 |
tar与gzip命令结合使用课实现文件打包、压缩, tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用.tar.gz
tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项-z可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程
例如:
(1)打包压缩所有txt文件
HGF@HGF-PC:~/Desktop/test$ ls
1.txt 2.txt a
HGF@HGF-PC:~/Desktop/test$ tar -zcvf test.tar.gz *txt
1.txt
2.txt
HGF@HGF-PC:~/Desktop/test$ ls
1.txt 2.txt a test.tar.gz
(2)解压到桌面
HGF@HGF-PC:~/Desktop/test$ cd ..
HGF@HGF-PC:~/Desktop$ tar -zxvf ./test/test.tar.gz
1.txt
2.txt
HGF@HGF-PC:~/Desktop$ ls
1.txt 2.txt test
或者
HGF@HGF-PC:~/Desktop/test$ ls ..
test
HGF@HGF-PC:~/Desktop/test$ tar -zxvf test.tar.gz -C ~/Desktop
1.txt
2.txt
HGF@HGF-PC:~/Desktop/test$ ls ..
1.txt 2.txt test
26. 文件压缩解压:bzip2
tar与bzip2命令结合使用实现文件打包、压缩,用法和gzip一样
在tar命令中增加一个选项-j可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程,压缩文件扩展名一般用.tar.gz2
用法如下:
#压缩用法
tar -jcvf 压缩包包名 文件
#解压用法
tar -jxvf 压缩包包名
27. 文件压缩解压:zip、unzip
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip
常用语法如下:
#压缩文件
zip [-r] 目标文件(没有扩展名) 源文件
#解压文件
unzip -d 解压后目录文件 压缩文件
zip命令用法如下:
HGF@HGF-PC:~/Desktop/test$ ls
1.txt 2.txt a
HGF@HGF-PC:~/Desktop/test$ zip txt *txt
adding: 1.txt (stored 0%)
adding: 2.txt (stored 0%)
HGF@HGF-PC:~/Desktop/test$ ls
1.txt 2.txt a txt.zip
使用unzip命令将已经压缩好的txt.zip文件解压到目录a中:
HGF@HGF-PC:~/Desktop/test$ unzip -d ./a txt.zip
Archive: txt.zip
extracting: ./a/1.txt
extracting: ./a/2.txt
HGF@HGF-PC:~/Desktop/test$ cd a
HGF@HGF-PC:~/Desktop/test/a$ tree
.
├── 1.txt
└── 2.txt
0 directories, 2 files
28. 查看文件尾部内容:tail
tail用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入
常用参数:
参数 | 含义 |
---|---|
-n<N>或- -line=<N> | 输出文件的尾部N(N位数字)行内容 |
-c<N>或- -bytes=<N> | 输出文件尾部的N(N为整数)个字节内容 |
-f | 常用于查阅正在改变的日志文件,会把文件里的最尾部的内容显示在屏幕上,并且不断刷新 |
例1:显示文件的最后10行
HGF@HGF-PC:~/Desktop/test$ tail 1.txt
5 Sometime too hot the eye of heaven shines,
6 And often is his gold complexion dimm'd;
7 And every fair from fair sometime declines,
8 By chance, or nature's changing course, untrimm'd;
9 But thy eternal summer shall not fade,
10 Nor lose possession of that fair thou ow'st;
11 Nor shall death brag thou wander'st in his shade,
12 When in eternal lines to time thou grow'st;
13 So long as men can breathe, or eyes can see,
14 So long lives this, and this gives life to thee.
例2:显示文件的最后3行
HGF@HGF-PC:~/Desktop/test$ tail -n 3 1.txt
12 When in eternal lines to time thou grow'st;
13 So long as men can breathe, or eyes can see,
14 So long lives this, and this gives life to thee.
例3:显示文件的最后10个字符
HGF@HGF-PC:~/Desktop/test$ tail -c 10 1.txt
to thee.
例4:显示文件的第13行至文件末尾
HGF@HGF-PC:~/Desktop/test$ tail -n +13 1.txt
13 So long as men can breathe, or eyes can see,
14 So long lives this, and this gives life to thee.
29. 分页显示工具:less
浏览文字档案的内容,用less命令显示文件时,PageUp键向上翻页,PageDown键向下翻页,要退出less程序,应按Q键
命令内部操作:
- b 向后翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
注意:less的作用与more十分相似,不同点为less命令允许用户向前或向后浏览文件,而more命令只能向前浏览
30. 统计文件的字节数、字数、行数:wc
wc命令统计指定文件中的字节数、字数、行数,并将统计结果显示输出。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。wc同时也给出所指定文件的总统计数
常用参数:
参数 | 含义 |
---|---|
-w | 统计字数,或–words:只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串 |
-c | 统计字节数,或–bytes或–chars:只显示Bytes数 |
-l | 统计行数,或–lines:只显示列数 |
-m | 统计字符数 |
-L | 打印最长行的长度 |
例1:统计字数
HGF@HGF-PC:~/Desktop/test$ wc -w 1.txt
95 1.txt
例2:统计字节数
HGF@HGF-PC:~/Desktop/test$ wc -c 1.txt
514 1.txt
例3:统计最长行的长度
HGF@HGF-PC:~/Desktop/test$ wc -L 1.txt
46 1.txt