cat 查看文件

  1. cat 文件名
  2. 例:cat /var/log/messages

cat 命令比较适合查看内容比较少的文件,如果文件较大则会直接从第一行一直显示到最后一行。

cat -n 查看文件并显示行号

  1. cat -n 文件名
  2. 例:cat -n /var/log/messages

查看/etc/group文件的内容,并显示行号

  1. cat -n /etc/group

image.png

head 查看文件的头部

默认查看文件的前10行

  1. head /etc/group

head -n 查看文件的前n行

  1. head -n /etc/group

head -5 文件名 查看前5行
head -100 文件名 查看前100行

tail 查看文件的尾部

默认查看文件的后10行

  1. tail /etc/group

tail -n 查看文件的后n行

  1. tail -n /etc/group

tail -5 文件名 查看后5行
tail -100 文件名 查看后100行

tail -f 实时查看文件

如果一个文件的内容是不断增加内容的,可以用这个命令实时查看

  • (退出实时查看 Ctrl + c) ```basic tail -f /var/log/messages

tail -nf /var/log/messages #实时查看后n行 tail -20f /var/log/messages #实时查看后20行 tail -100f /var/log/messages #实时查看后100行

  1. <a name="WITxK"></a>
  2. # 思考
  3. 查看文件的前5行,并显示行号<br />head -5 cat -n
  4. <a name="hZJyB"></a>
  5. # | 管道符命令
  6. 使用 | 可以讲两个命令连接在一起使用
  7. ```basic
  8. head -5 /etc/group | cat -n

查看/etc/group文件的5-10行
1.查看文件的前10行 (1-10)
2.从前10行内容里面 查看后6行 (5-10)

  1. 1. head -10 /etc/group
  2. 2. tail -6
  3. 3. head -10 /etc/group | tail -5
  • 前一个命令的输出的内容,作为下一个命令的输入

练习

1.查看/etc/group文件的前20行
2.查看/etc/group文件的后15行
3.查看/etc/group文件的前5行并显示行号
4.查看/etc/group文件的后8行并显示行号
6.查看/etc/group文件的5-15行
终极题:查看/etc/group文件的2-28行,并显示行号
image.png

wc 统计文件

  • wc 文件名
  • wc -l 文件名 单独查看行数
    1. wc /var/log/messages
    image.png

more 分页查看文件

  • more 文件名
  • 回车键 翻一行
  • 空格键 翻一页

退出的时候,可以按一下 q, 或者Ctrl + c

  1. more /var/log/messages

image.png
image.png

less 分页查看文件

  • less 文件名
  • ↑键 向上翻页
  • ↓键 向下翻页
  • 在底部有个 : 号,输入 /“要搜索的内容” 即会把你要搜索的内容选中
  • 在底部 : 号后面输入 q 即可退出less模式 ```basic less /var/log/messages #less模式显示文件

在less模式里面输入 /1234 #选中1234

  1. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/22358770/1636696546976-ede7df51-4ebe-4179-933c-20e5d7e12b44.png#clientId=u45718cb3-47af-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=81&id=u6fae1311&margin=%5Bobject%20Object%5D&name=image.png&originHeight=161&originWidth=931&originalType=binary&ratio=1&rotation=0&showTitle=false&size=24020&status=done&style=none&taskId=uc757a062-e51e-4dbe-a0d4-01c5ef613e1&title=&width=465.5)
  2. <a name="OuyRJ"></a>
  3. # less与more的区别
  4. less 可以上下翻页, more 只可以向下翻页<br />less 可以在底部搜索文件见中的内容
  5. <a name="rjfq3"></a>
  6. # vi 编辑文件
  7. - vi 文件名
  8. ```basic
  9. vi 文件1 #编辑文件1
  1. #如果文件不存在就会创建文件,如果存在就会直接修改此文件

vi的模式

  • 命令模式
  • 编辑模式
  • 末行模式

  • 命令模式下 a 或 i 进入编辑模式

  • 末行模式下 q 退出(没有进行修改的时候可以用此命令)
  • 末行模式下 wq 保存退出
  • 末行模式下 q! 不保存强制退出
  1. vi 文件名 进入命令模式
  2. 按 a 或 i 进入编辑模式
  3. 按esc键退出编辑模式,进入命令模式,按 :号 进入末行模式
  4. 在:号后面输入 wq 保存退出,或 q!不保存退出

开始编辑a.txt文件
image.png
1.进入命令模式
image.png
2.输入 i 或 a 进入编辑模式
image.png
3.按esc键退出编辑模式,返回命令模式,再输入:号进入末行模式
image.png
image.png
4.在:号后面输入 wq 保存退出,或 q! 不保存退出

练习

1.编辑一个fm.txt的文件
2.在里面输入今天学习的命令
3.保存退出
4.编辑fm.txt的文件
5.把里面的内容都删除
6.不保存退出
7.查看fm.txt文件

vi 常用命令

显示行号(末行模式)

:set nu 显示行号
:set nonu 取消行号

image.png

移动光标(命令模式)

h或者左箭头(⬅) 光标向左移动一个光标
j或者下箭头(⬇) 光标向下移动一个光标
k或者向上箭头(⬆) 光标向上移动一个光标
l或者右箭头(➡) 光标向右移动一个光标
n空格 n表示数字,比如20,按下数字之后按space空格键,表示向右移动20个字符
0或者功能键【Home】 移动到这一行的最前面字符处
$或者功能键【End】 移动到这一行的最后面字符处
G 移动到这个文件的最后一行
nG n为数字,移动到这个文件的第n行,例如20G移动到这个文件的第20行
gg 移动到第1行
n 回车 n为数字,向后移动n行。比如现在光标在 第20行处,输入20 并按下回车。 定位第40行(往后移动了20行)
u 撤回

练习

1.vi messages文件,显示行号
2.跳转第1000行
3.跳转到最后一行
3.跳转到第一行
4.向后移动100行
5.进入编辑模式,在里面删除一些内容,返回命令模式,撤回刚刚的操作

查找替换(末行模式)

/word 向光标之下查找word的单词
?word 向光标之上查找word的单词
:n1,n2s/word1/word2/c n1,n2为具体的数字,表示在第n1行到n2行查找word1,并将查找到的word1替换为word2,替换之前会提示用户是否确认
:n1,n2s/word1/word2/g
如果需要确认,加c
n1,n2为具体的数字,表示在第n1行到n2行查找word1,并将查找到的word1替换为word2
:1,$s/word1/word2/g 从第1行:后一行,找word1,替换为word2

练习

1.把messages文件中100行到1000行中的 VM-0 替换为fanmao,不需要确认
2.把messages文件中20行到26行中的kernel替换为熊猫,需要确认
3.把messages文件中第1行到最后一行的15全部替换为66666666

  1. :100,1000s/VM-O/fanmao/g
  2. :20,26s/kernel/熊猫/c
  3. :1,$s/15/66666666/g

文件保存(末行模式)

:q 退出
:q! 退出不保存
:wq 保存并退出
:w 文件1 文件另存为 文件1

文件压缩与解压缩

常见的压缩文件格式有 .zip 格式, .tar.gz 格式.

zip格式

  • zip -r 压缩包名 文件1 文件2 文件3 压缩
  • unzip 压缩包名 解压缩
  • unzip -d 路径 压缩包名 解压到指定路径

    练习

    1.创建三个文件a1,a2,a3
    2.把三个文件压缩成一个fanmao压缩包
    3.创建一个b的目录
    4.把fanmao压缩包解压到b目录里面
  1. touch a1 a2 a3
  2. zip -r fanmao a1 a2 a3
  3. mkdir b
  4. unzip -d b fanmao

tar格式(打包,归档)

  • tar -cvf 压缩包名 文件1 文件2 文件3 压缩
  • tar -xvf 压缩包名 解压
  • tar -xvf 压缩包名 -C 路径 解压到指定路径

    练习

    1.把当前目录里面的所有文件压缩为fm1.tar
    2.创建一个c目录,把fm1.tar 移动到 c目录里面
    3.解压fm1.tar
    1. tar -cvf fm1.tar *
    2. mkdir c
    3. mv fm1.tar c
    4. cd c
    5. tar -xvf fm1.tar

tar.gz格式

  • tar -zcvf 压缩包名 文件1 文件2 文件3 压缩
  • tar -zxvf 压缩包名 解压
  • tar -zxvf 压缩包名 -C 路径 解压到指定路径

    参数

  • z 代表是tar.gz格式

  • c 代表的是压缩
  • x 代表的是解压缩
  • v 显示压缩或解压的过程
  • f 是指定文件(一定不能省略)

作业

把今天学习的内容整理成自己的笔记(纸质)!!!!!!

进入到/tmp目录下
删除/tmp目录下的所有文件
复制/var/log/messages文件到/tmp目录下
查看/tmp目录下的文件
统计messages有多少行内容,多少个单词,多少字节
查看messages文件的20-200行,并显示行号
在/tmp目录下创建一个文件 fm.log
在fm.log里面输入两天学习的命令,保存并退出
查看fm.log的前5行
查看fm.log的后5行
查看fm.log的6-10行
将 /etc/man_db.conf /var/log/messages 这两个文件压缩为 fm.tar.gz
解压 fm.tar.gz 文件到 /root 目录下。
请问 /root 目录下有什么?

Vi 高级使用
vi messages文件,显示行号
跳转第1000行
跳转到最后一行
跳转到第一行
向后移动100行
进入编辑模式,在里面删除一些内容,返回命令模式,撤回刚刚的操作
清空 /tmp 目录,并在 /tmp 目录下创建 fanmao 目录
进入/tmp/fanmao目录
将/etc/man_db.conf 文件复制到当前/tmp/fanmao目录下
使用vi命令打开 当前目录下的man_db.conf文件
在vi中设置一下显示行号
移动到43行,向右移动59个字符,请问你看到的小括号内的是哪个文字?
移动到第一行,并且向下查找一下【gzip】这个字符串,请问它在第几行?
接下来,我要将29行到41行之间的【小写man】改为【大写的MAN】,并且一个一个确定是否需要修改,如何执行命令?
修改完成之后,突然反悔了,要反悔,怎么办?
将这个文件另存为man.test.config文件