vi编辑器
vim/vi是Unix / Linux上最常⽤的⽂本编辑器⽽且功能⾮常强⼤

1、插入命令
[root@bigdata ~]# touch a.txt -- 创建一个空的a.txt
[root@bigdata ~]# vi a.txt --使用vi编辑器编辑a.txt
输入 i 直接进入insert 模式!!!
在insert 模式下,可以进行文本文件的编写,编写完毕后,点击 Esc,退出insert 模式
保存操作:shift + : 输入 wq 保存退出。
剩余其他的可以进入insert 模式的命令还有如下:

剩余其他的可以进入insert 模式的命令还有如下:
2、定位命令

3、保存并退出

提醒: :q! 和 :wq! 是最重要的命令。
4、编辑工具的使用
比如市面上常见的编辑工具有:notepad++,EditPlus,VS Code 等。
因为在工作过程中,经常修改一些服务器上的配置文件,如果使用vi编辑器的话,效率比较低,可以使用windows上的图形化的编辑器远程连接Linux服务器,从而更好的编辑Linux中的文档。
将notepad++解压到一个专门的文件夹下,比如D:/tools 文件夹.
notepad++ 是绿色版的。绿色版:一个软件解压就可以使用的,就称之为绿色版。






Linux常见命令
1、查看命令
有四个命令都是查看命令:cat \ more \ less\ tail \ head
cat
显⽰⽂件内容,直接显⽰全部内容
缺点是:如果文件太长了,一下子看不完它也展示全部,一般cat命令用于查看内容不是特别多的文件。
[root@bigdata home]# cat a.txt
你好 呀
hello
编辑器编辑
-- 添加 -n 选项可以查看的时候显示行号
[root@bigdata home]# cat -n a.txt
1 你好 呀
2 hello
3 编辑器编辑
cat -n /etc/services 查看大的文件,不合适more
作⽤:分⻚显⽰⽂件内容
语法:more [⽂件名]
空格或f 显⽰下⼀⻚
enter键 显⽰下⼀⾏
q或Q 退出
小技巧:如果一个文件的名字比较长,可以书写一部分,摁住tab键,可以自动补全。
误区: service servvvvv
more /etc/ser 摁住tab键是无法补全的,因为无法锁定到唯一的一个文件名
[root@bigdata home]# less /etc/services
[root@bigdata home]# more /etc/services
两者之间的区别:
more 带有进度条
less 没有进度条,但是可以直接跳转到某一行
都是可以分页的,摁住q键退出head
作⽤:查看⽂件前⼏⾏(默认10⾏)
语法:head [⽂件名]
-n 指定⾏数
eg:[root@qianfeng01 ~]#
默认显示前10行,也可以指定显示多少行 -20 和 -n 20 作用是一样的
head -20 /etc/services
head –n 20 /etc/servicestail
查看⽂件的后⼏⾏
默认显示后10行数据
tail /etc/services
也可以指定行数
tail -5 /etc/services
杀手锏:
tail -f 可以滚动查看某个文件,这个文件一般是不断变化的。一般用于查看服务器的日志。
比如:tomcat服务器启动的时候,如果你想知道服务器启动过程中是否有异常。2、查找命令
1) find 在磁盘上查找文件的
查找⽂件或⽬录
-name : 按照名字查找 使用最多的
说明: 按名字查找,精准查找
[root@bigdata ~]# find /etc -name "init"
/etc/sysconfig/init
/etc/selinux/targeted/active/modules/100/init
以上是精确查找,也可以模糊查找
find查找字符匹配:
*: 匹配所有
?: 匹配单个字符
[root@bigdata ~]# find /etc -name "init???"
/etc/inittab
[root@bigdata ~]# find /etc -name "init*"
/etc/inittab
/etc/sysconfig/network-scripts/init.ipv6-global
/etc/sysconfig/init
/etc/selinux/targeted/contexts/initrc_context
/etc/selinux/targeted/active/modules/100/init
/etc/init.d
/etc/rc.d/init.d
-- 在当前路径下,查找以g结尾的文件
[root@bigdata ~]# find -name "*g"
./.pydistutils.cfg
-size : 按照⼤⼩查找
以block为单位,⼀个block是512B, 1K=2block +⼤于 -⼩于 不写是等于
B = byte 1Kb = 1024 Byte 1M = 1024KB
-- 查找/etc 小于100M的文件
find /etc -size -204800
204800 block = 102400KB = 100M
-type : 按照类型查找
f ⼆进制⽂件 l 软连接⽂件 d ⽬录 c 字符⽂件
f 二进制文件 可以运行的脚本
l 软连接 就是 快捷键
d 目录其实就是文件夹
c 不是普通的文件
find /dev -type c2) grep 查找文件中的内容的(重要的)
grep、sed、awk 是 shell脚本的三剑客
grep
作⽤:在⽂件中搜寻字符串匹配的⾏并输出
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配⾏的次数(是以⾏为单位,不是以出现次数为单位)
-i :忽略⼤⼩写,所以⼤⼩写视为相同
-n :显⽰匹配⾏及⾏号
-v :反向选择,显⽰不包含匹配⽂本的所有⾏。
举例:
-- 查找/etc/services 文件中,包含 ftp 这个字符串的所有的匹配结果
[root@bigdata dev]# grep ftp /etc/services
ftp-data 20/tcp
ftp-data 20/udp
# 21 is registered to ftp, but also used by fsp
ftp 21/tcp
ftp 21/udp fsp fspd
tftp 69/tcp
tftp 69/udp
sftp 115/tcp
sftp 115/udp
tftp-mcast 1758/tcp
tftp-mcast 1758/udp
.....
-- 查找结果,并显示结果和所在的行号
[root@bigdata dev]# grep -n ftp /etc/services
41:ftp-data 20/tcp
42:ftp-data 20/udp
-- 反向查找字符 查找 /etc/inittab 文件中,不含有# 的数据
^表示一个正则表达式的开始符号
[root@bigdata dev]# grep -v ^# /etc/inittab
[root@bigdata dev]# grep -c "init" /etc/inittab
1
总结:哪些最有用? 就是查找关键字。
以下内容最为重要: grep 经常和 管道符一起使用 |
[root@bigdata ~]# ls
! aaa abc a.txt laoyan.txt
[root@bigdata ~]# ls | grep abc
abc
解释:ls 可以输出一些结果,grep 从上一个结果中查找某个字符串
| 管道符的左边是输出,管道符的右边是输入 左边的输出就是右边的输入
一般用于查找某个进行是否启动,比如:
ps -ef | grep ksmd
ps -ef | grep java
查找到了,就说明启动了,查找不到就说明没有启动,如果启动了有可能想直接杀死该进程。3)which
显⽰系统命令所在⽬录
[root@bigdata ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@bigdata ~]# which laoyan
/usr/bin/which: no laoyan in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
补充:一个命令,是否存在,系统是从如下几个文件夹中查找的
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/root/bin
在linux中,分隔符是: ,在windows中,分隔符是;
4)whereis
作⽤:搜索命令所在⽬录 配置⽂件所在⽬录 及帮助⽂档路径
whereis passwd
which passwd
两者之间没啥区别作⽤:搜索命令所在⽬录 配置⽂件所在⽬录 及帮助⽂档路径
whereis passwd
which passwd
两者之间没啥区别
3、磁盘的操作命令
1) df --查看磁盘空间的
-- 查看磁盘空间使用情况
-- -h 是以易读的方式展示
[root@bigdata bin]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 40G 2.0G 36G 6% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 440K 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 783M 0 783M 0% /run/user/02) du --查看文件以及文件夹大小的
⽤于查看⽂件或⽬录的⼤⼩(磁盘使⽤空间)
[root@bigdata bin]# du -h /home
4.0K /home/aaa/bbb/ccc
8.0K /home/aaa/bbb
12K /home/aaa
20K /home
du 后面跟上 要查看的文件夹的名称,会将该文件夹下所有的空间全部展开,计算一遍。
df 查看整个磁盘上的使用情况的。
-- 也可以查看某个具体的文件的大小
[root@bigdata home]# du -h a.txt
4.0K a.txt3) free
free 查看内存使用情况
[root@bigdata home]# free -h
total used free shared buff/cache available
Mem: 7.6G 162M 7.0G 440K 446M 7.2G
Swap: 0B 0B 0B4、压缩与解压(重点)
1)gzip
作⽤:压缩(解压)⽂件,压缩⽂件后缀为.gz
gzip 只能压缩⽂件,不能压缩⽬录;不保留原⽂件
语法:gzip ⽂件
-d 将压缩⽂件解压(decompress)
解压使⽤gzip –d或者 gunzip
-- 压缩a.txt ,压缩后原文件消失
[root@bigdata home]# gzip a.txt
[root@bigdata home]# ls
aaa a.txt.gz b.txt
-- 压缩文件夹,异常,因为不允许
[root@bigdata home]# gzip aaa
gzip: aaa is a directory -- ignored
-- 解压gzip 压缩包,解压后压缩包消失
[root@bigdata home]# gzip -d a.txt.gz
[root@bigdata home]# ls
aaa a.txt b.txt
-- gunzip 也可以解压
[root@bigdata home]# gunzip a.txt.gz2)bzip2
bzip2 这个软件默认没有安装,需要先安装一下
yum install -y bzip2
-- 压缩 a.txt
[root@bigdata home]# bzip2 a.txt
-- 压缩后的软件后缀名是bz2,原文件消失
[root@bigdata home]# ls
aaa a.txt.bz2 b.txt
-- 解压操作
[root@bigdata home]# bzip2 -d a.txt.bz2
[root@bigdata home]# ls
aaa a.txt b.txt3)zip
先安装这两个命令 zip unzip
yum install -y zip
yum install -y unzip
语法:
作⽤: 压缩(解压)⽂件,压缩⽂件后缀为.zip,保留源⽂件
语法: zip 选项 [压缩后⽂件名称] [⽂件或⽬录]
-r 压缩⽬录
操作:
-- 将/etc/services 文件压缩为 aaa.zip文件
注意:zip命令必须指定压缩文件的名字
[root@bigdata home]# zip aaa.zip /etc/services
adding: etc/services (deflated 80%)
[root@bigdata home]# ls
aaa aaa.zip a.txt b.txt
-- 解压aaa.zip 如果没有指定路径,默认解压到当前路径下
[root@bigdata home]# unzip aaa.zip
Archive: aaa.zip
inflating: etc/services
[root@bigdata home]# ls
aaa aaa.zip a.txt b.txt etc
-- 如果想解压到指定的目录下,需要添加 -d 参数
[root@bigdata home]# unzip aaa.zip -d /root
Archive: aaa.zip
inflating: /root/etc/services
[root@bigdata home]# ls /root
! aaa abc a.txt etc laoyan.txt
-- 解压后压缩包不会消失的
[root@bigdata home]# ls
aaa aaa.zip a.txt b.txt etc
-r 压缩⽬录
[root@bigdata home]# zip -r abc.zip aaa
adding: aaa/ (stored 0%)
adding: aaa/bbb/ (stored 0%)
adding: aaa/bbb/ccc/ (stored 0%)
[root@bigdata home]# ls
aaa aaa.zip abc.zip a.txt b.txt etc4) tar (重要)
压缩与解压命令
语法:tar [-zcf] 压缩后⽂件名 ⽂件或⽬录
-c 建⽴⼀个压缩⽂件的参数指令(create),后缀是.tar
-x 解开⼀个压缩⽂件的参数指令(extract)
-z 以gzip命令压缩/解压缩(底层经常使用这个软件的命令)
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显⽰⽂件(verbose) view的意思
-f file 指定⽂件名,必选项
组合就是:
tar -zcvf 是压缩一个文件的
tar -zxvf 是解压一个文件的
其中的v 就是显示进度条的,如果不想要可以不写。
-- 压缩a.txt b.txt 文件到 laoyan.tar.gz 中
为什么是tar.gz 原因是两个软件同时起作用造成的 tar 和 gzip
[root@bigdata home]# tar -zcvf laoyan.tar.gz a.txt b.txt
a.txt
b.txt
[root@bigdata home]# ls
aaa aaa.zip abc.zip a.txt b.txt etc laoyan.tar.gz
-- 删除掉一些文件,是想证明解压成功了
[root@bigdata home]# rm -rf a.txt b.txt
[root@bigdata home]# ls
aaa aaa.zip abc.zip etc laoyan.tar.gz
-- 在当前路径下解压文件
[root@bigdata home]# tar -zxvf laoyan.tar.gz
a.txt
b.txt
[root@bigdata home]# ls
aaa aaa.zip abc.zip a.txt b.txt etc laoyan.tar.gz
-- 将文件解压到指定文件夹下,使用 -C
[root@bigdata home]# tar -zxvf laoyan.tar.gz -C /home
a.txt
b.txt
文章详细介绍了Linux系统中vi编辑器的使用,包括如何进入插入模式、保存与退出文件,以及vi的其他功能。此外,还讨论了Linux的常用命令,如查看文件内容的cat、more、less和head,查找命令find和grep,以及磁盘空间检查的df和du命令。内容涵盖了Linux系统管理和日常操作的基础知识。


372

被折叠的 条评论
为什么被折叠?



