Linux命令—文件、磁盘管理

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

注意:

  1. ls a-f 查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用
  2. 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键一次滚动手册页的一行
bBackward,回滚一屏
fForward,前滚一屏
q退出man命令
h列出所有功能键
/word搜索word字符串
14. 切换工作目录: cd

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

注意:

  1. Linux所有的目录和文件名大小写敏感
  2. cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录
  3. 如果路径是从根路径开始的,则路径的前面需要加上 “ / ”,如 “ /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 的文件或目录

注意:

  1. 使用find进行查找的时候,查找指定目录以及子目录下所有符合条件的文件
  2. 查找特定的文件的时候,无需使用单引号或者双引号将文件扩起来,但是若使用正则的时候,我们需要将正则的字符串使用单引号或者双引号给扩起来
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

总结:

  1. 若目标文件不存在,则对源文件进行重命名
  2. 若目标文件是目录时,则将源文件移动到目标目录下
  3. 若目标文件为文件且源文件为文件时,则将目标文件覆盖并将源文件重命名
  4. 若目标文件为文件且源文件为目录时,则报错
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

注意:

  1. 除了f需要放在参数的最后,其它参数的顺序任意
  2. 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键

命令内部操作:

  1. b 向后翻一页
  2. d 向后翻半页
  3. h 显示帮助界面
  4. Q 退出less 命令
  5. u 向前滚动半页
  6. y 向前滚动一行
  7. 空格键 滚动一页
  8. 回车键 滚动一行

注意: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值