管道符
| 拼接命令
|
可以将两个命令连接到一起
head -10 messages | tail -6
- 先找到前10行的内容
- 从这10行内容中找到这10行内容的后六行
hello.txt
[root@VM-0-14-centos tmp]# cat hello.txt
01
02
03
04
05
06
07
08
09
10
查看 hello.txt 文件中 第6行-第8行内容
[root@VM-0-14-centos tmp]# head -8 hello.txt | tail -3
06
07
08
>重定向
将命令行打印出来的结果 保存到指定的新文件中。
如果要保存的文件已经存在,会将原来的内容覆盖掉。
>> 追加文件
追加文件不会覆盖原来的数据,会从文件后面继续添加内容
cat -n 显示行号
cat -n /var/log/messages
相对路径和绝对路径
绝对路径
绝对路径 是从根目录 /
一层一层有层级关系一直到具体的文件路径,比如下面路径都是绝对路径
/var/log/messages
/tmp
/root/
/home/xiaoming/01/02
相对路径
相对路径主要当前所在路径的参考查找路径的一种方式。
比如 分别再/tmp 目录下创建路径
/tmp/fanmao1/01/02
/tmp/fanmao2/01/02
当我在 /tmp 目录下的时候
fanmao1 目录相对我现在在的路径:所在的目录下,进入fanmao1目录
cd fanmao1
当我在fanmao1 目录下的时候, 如果我现在要进入到fanmao2 目录下
- 先返回到 tmp 目录下
- 再进入 fanmao2 目录下
相对路径中
../
表示返回上一级./
表示当前目录 (使用相对路径时,默认为当前目录 可以加./
, 也可以不加)
在 /tmp 目录下 创建文件夹
/tmp/fanmao1/01/02
/tmp/fanmao2/01/02
cd /tmp
mkdir -p fanmao1/01/02
mkdir -p fanmao2/01/02
当前所在目录
- 使用相对路径 进入到 fanmao1 目录下
- 现在我在 fanmao1 目录下,如果使用相对路径的方式,进入 /tmp 目录下
/tmp/fanmao1/01/02
/tmp/fanmao2/01/02
练习
- 进入到 /tmp/fanmao1/01/02 目录下
- 使用相对路径切换到 /tmp/fanmao1/01 目录
- 使用相对路径切换到 /tmp/fanmao1 目录
- 使用相对路径切换到 /tmp目录
- 使用相对路径切换到 /tmp/fanmao2 目录
- 请问你现在在什么地方?
假设你现在在 /tmp/fanmao1/01/02 目录下, 使用相对路径的方式进入到 /tmp/fanmao2 目录下
vi 命令详解
使用 vi [filename]进入一般命令模式
[root@VM-0-14-centos fanmao]# vi welcome.txt
按下 i 进入编辑模式
在一般命令模式下,只要按下 i,o,a等字符就可以进入编辑模式了,在编辑模式下,你可以看到左下角状态栏中会出现【INSERT】的字样,表示编辑模式。
按下【ESC】回到一般命令模式
进入命令模式,文件保存并退出vi环境
一般命令模式下支持的功能键
:set nu | 显示行号 |
---|---|
:set nonu | 取消行号 |
移动光标 | |
---|---|
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行) |
查找与替换 | |
---|---|
/word | 向光标之下查找word的单词 |
?word | 向光标之上查找word的单词 |
:n1,n2s/word1/word2/c | n1,n2为具体的数字,表示在第n1行到n2行查找word1,并将查找到的word1替换为word2,替换之前会提示用户是否确认 |
:n1,n2s/word1/word2/g | n1,n2为具体的数字,表示在第n1行到n2行查找word1,并将查找到的word1替换为word2 |
:1,$s/word1/word2/g | 从第1行到最后一行,找word1,替换为word2 |
文件保存 | |
---|---|
:q! | 退出不保存 |
:wq | 保存并退出 |
:w [filename] | 文件另存为 |
练习
- 清空 /tmp 目录,并在 /tmp 目录下创建 fanmao 目录
- 进入/tmp/fanmao目录
- 将/etc/man_db.conf 文件复制到当前/tmp/fanmao目录下
- 使用vi命令打开 当前目录下的man_db.conf文件
- 在vi中设置一下行号
- 移动到43行,向右移动59个字符,请问你看到的小括号内的是哪个文字?
- 移动到第一行,并且向下查找一下【gzip】这个字符串,请问它在第几行?
- 接下来,我要将29行到41行之间的【小写man】改为【大写的MAN】,并且一个一个确定是否需要修改,如何执行命令?如果在确定的过程中一直按【y】,结果会在最后一行出现改变了几个man?
- 修改完成之后,突然反悔了,要全部恢复,有哪些方法?
- 将这个文件另存为man.test.config文件
1. rm -rf /tmp/*
mkdir /tmp/fanmao
2. cd /tmp/fanmao
3. [root@VM-0-14-centos fanmao]# pwd
/tmp/fanmao
[root@VM-0-14-centos fanmao]# cp /etc/man_db.conf ./
[root@VM-0-14-centos fanmao]# ls
man_db.conf
4. vi man_db.conf
5. :set nu
6. 43G
59 空格
7. gg /gzip
8. :29,41s/man/MAN/c
9. :q! 或者 :29,41s/MAN/man/g
10. :w man.test.config
除了vi 命令可以编辑文本之外,还有一个vim(vi的升级版)命令也可以修改文件。使用方式一样,vim更加强大。
文件解压缩
在Linux中常见的文件压缩格式为 .tar.gz
将文件压缩之后便于文件的传输
tar 文件归档
在 /tmp 目录下 创建多个文件
touch 01.txt 02.txt 03.txt
将01.txt, 02.txt, 03.txt 文件归档到 00.tar 文件中
- -cf 表示创建归档文件
- 00.tar 创建归档文件名
- *.txt 所有的以 .txt 结尾文件
将当前目录下所有txt 文件 归档到 00.tar文件中。
- 删除 01.txt 02.txt 03.txt
- 将01.tar 归档文件中释放出来
文件压缩
tar -zcvf fanmao.tar.gz 01.txt 02.txt 03.txt
将 01.txt 02.txt 03.txt 压缩到 fanmao.tar.gz 文件
- -zcvf 表示压缩文件
- fanmao.tar.gz 表示压缩包的名字
- 01.txt 02.txt 03.txt 表示要压缩的文件
解压tar.gz 文件
- -zxvf 表示解压
- fanmao.tar.gz 被解压的文件
- 进入 /tmp 目录下
- 将
/etc/man_db.conf
/var/log/messages
这两个文件压缩为 taofei.tar.gz - 解压 taofei.tar.gz
文件的上传和下载
可以Windows上的文件上传到服务器上,也可以从服务器将服务器上的文件下载到Windows上。
文件下载- sz
将 /tmp/taofei.tar.gz 下载到Windows桌面上。
sz /tmp/taofei.tar.gz
上传文件 - rz
可以将Windows上的文件上传至服务器上。
在Windows 桌面上创建 一个 hello.txt 并在hello.txt 中输入文本
你好!
好的。
将hello.txt 文件压缩为hello.zip
将hello.zip 上传到服务器上
rz
在服务器上解压 hello.zip 文件
unzip hello.zip
作业
- 清空 /tmp 目录
- 将 /var/log/messages 文件中的第503-548行内容提取出来保存到 /tmp/msg.log 文件
- 将/etc/man_db.conf 文件中所有内容追加到 /tmp/msg.log 文件
- 统计 /tmp/msg.log 文件中共有多少行 多少个单词
- 使用 vim 打开 msg.log 文件
- 将文件中的 所有的man 修改为 woman
- 文件另存为 msg.back.log
- 将 /tmp目录下的 msg.log 文件,msg.back.log 文件压缩为 msg.tar.gz
- 查看 msg.tar.gz 的文件大小
- 将 msg.tar.gz 文件下载到Windows 桌面上。
课外扩展
ls 一些其他的用法
https://www.bilibili.com/video/BV1i54y1V7KC?p=3
vi命令
https://www.bilibili.com/video/BV1i54y1V7KC?p=1
Linux搭建MySQL数据库
https://www.bilibili.com/video/BV1i54y1V7KC?p=4
Centos 搭建禅道
https://www.bilibili.com/video/BV1s54y1H7wf/