文章目录
一、Linux目录结构
树形目录结构
FHS(Filesystem Hierarchy Standard,目录层次标准)定义了两层规范:
-
第一层是“/”目录下的各个目录应该放什么数据文件。例如,/etc目录下放置系统的配置文件,而/bin 和/sbin 放置程序及系统命令。
-
第二层是针对/usr 和/var 这两个目录的子目录来定义,例如:/var/log下放置系统日志文件等。
CentOS系统中的目录和文件数据被组织为一个树形目录结构,所有的分区,目录,文件等都具有一个相同的位置起点—根目录。CentOS系统定位文件或目录位置时,使用斜杠“/”进行分隔(区别于Windows系统中的反斜杠“")。
整个树形目录结构中,使用独立的一个”/“表示根目录,根目录是CentOS文件系统的起点,其所在的分区称为根目录。根目录下,CentOS系统将默认建立一些特殊的子目录,分别具有不同的用途。
根目录
- 所有分区、目录、文件等的位置起点
- 整个树形目录结构中,使用独立的一个“/”表示
常见的子目录
- /root 管理的家目录(宿主目录)
- /home 普通用户的家目录
- /bin 所有用户的命令文件目录。bin是binary的缩写,这一目录存放了所有用户都可以执行的且经常使用的命令。如cp,ls等。
- /sbin 管理员命令文件目录。存放系统中最基本的管理命令,一般管理员用户才有权限执行。
- /boot 启动分区(grub启动菜单,压缩内核等。)此目录是系统内核存放的目录,同时也是系统启动时所需文件的存放目录。
- /usr 启动程序目录。存放其他的用户应用程序,通常还被划分成很多子目录,用于存放不同类型的应用程序。
- /etc 配置文件目录。此目录保存有关系统设置与管理的文件。
- /var 可变长文件(日志)。存放系统中经常需要变化的一些文件,如系统日志文件,用户邮箱目录等。
- /dev 设备文件目录(磁盘,光驱等)。此目录保存了接口设备文件。
- /tmp 临时文件
- /proc 硬件信息(CPU,内存)
- /lib 服务管理文(systemctl)/lib/systemd/sysem/
二、查看及检索文件
init命令功能(Linux操作系统补充命令)
init 0 关机
init 1 单用户模式字符界面(系统维护时使用,破解密码可用)
init 2 多用户模式无网络字符界面
init 3 多用户模式有网络字符界面
init 4 保留
init 5 多用户模式图形化界面
init 6 重启(reboot 也可重启)
2.1 查看文件内容命令
cat命令
用途:显示出文件的内容
cat [选项] 文件名…
示例:
[root@localhost ~]#cat /etc/hosts 查看主机名与IP地址的映射关系
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 查看网卡配置文件中的内容,并了解其配置信息
[root@localhost ~]# cat /etc/redhat-release 查看系统版本
[root@localhost ~]# cat /proc/version 查看内核版本
短板:无法翻页,只能看到屏幕的显示信息,只能看到最后一页内容
more命令
用途:全屏方式分页显示文件内容
more [选项] 文件名…
交互操作方法:
-
按Enter键向下逐行滚动
-
按空格键向下翻一页
-
按b回翻
-
按q键退出
短板: 到最后一页后无法回翻
less命令
用途:与more命令相同,但扩展功能更多
less [选项] 文件名…
交互操作方法:
-
Page Up 向上翻页,Page Down 向下翻页
-
按 “/” 键查找内容,“n” 下一个内容,“N” 上一个内容
-
其他功能与more命令基本类似
head命令
head 和tail是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容,可以使用“n”选项(n为具体的行数)指定需要显示多少行的内容。若不指定行数,默认只显示十行。
用途:查看文件开头的一部分(默认为10行)
head -n 文件名 (n为行数)
例如:显示目标文件“/etc/passwd的头四行”
[root@localhost ~]# head -4 /etc/passwd
tail命令
tail命令与head命令正好相反,用户查看文件末尾的内容。tail命令通常用来查看系统日志(因为较新的日志记录总是添加到文件最后),以便观察网络访问,服务调试等相关信息。配合“-f”选项使用时,还可以跟踪文件尾部内容 的动态更新,便于实时监控文件内容的变化。
用途:查看文件结尾的少部分内容(默认10行)
tail -n 文件名…
tail -f 文件名
例如:
新用户都会添加到末尾,所以查看新建用户可以直接tail -2 文件名
2.2 统计和检索文件内容
统计文件内容wc命令
用途:统计文件中的单词数量(Word Count)、行数、字节数 信息
wc [选项]… 目标文件…
常用命令选项
-
-l:统计行数
-
-w:统计单词个数
-
-c:统计字节数
使用不带任何选项的wc命令时,默认将统计指定文件的字节数,行数,单词个数(相当于同时使用-c , -l , -w 三个选项)
例如
[root@localhost ~]# wc /etc/passwd
41 79 2136 /etc/passwd
当文件的行数,单词数或字节数具有特定的意义时,使用wc命令可以巧妙的获得一些特殊信息。
例如:
Linux系统中的用户账号数据保存在/etc/passwd文件中,其中每一行记录对应一个用户,则我们可以统计出当前Linux系统中拥有的用户账号数量。
[root@localhost ~]# wc -l /etc/passwd
41 /etc/passwd
若将wc命令与管道符号一起使用,还可以对命令输出结果进行统计,例如,若要统计/etc/目录下包含多少个扩展名为“.conf"的文件,可以先通过”find /etc-name"*conf 命令找出符合条件的文件位置,由于find命令输出结果也是每行一个文件记录,因此只需结合管道符号执行“wc -l”操作即可的粗符合条件的文件数量。
[root@localhost ~]# find /etc-name"*.conf" | wc -l
检索和过滤文件内容grep命令
用途:在文件中查找并显示包含指定字符串的行
grep [选项]… 查找文件 目标文件
常用命令选项
- -i: 查找时忽略大小写
- -v: 反转查找,输出与查找条件不相符的行
- -A**:查看后几行数据
- -B**:查看前几行数据
查找条件设置
-
要查找的字符串以双引号括起来
-
“^……” 表示以……开头, “……$” 表示以……结尾
-
”^$“ 表示空行
例如:
[root@localhost ~]# grep "a" /etc/passwd 在文件中查找包含“a”字符串的行
例如:查看能登录的用户:
三、备份与恢复文档
压缩命令gzip、bzip2命令
用途:制作压缩文件、解开压缩文件
gzip [-9] 文件名… 压缩文件
bzip2 [-9] 文件名… 压缩文件
gzip -d .gz格式的压缩文件
bzip2 -d .bz2格式的压缩文件
常用命令选项
- -9 表示高压缩比 文件小 ( 压缩后源文件直接归到压缩包里)
- -d 解压缩 ( 解压缩后压缩包直接没了,转成文件)
gzip和bzip2缺点:
压缩和解压缩后,源文件都会消失
gunzip命令
gunzip 等价于 gzip -d
gunzip mkfile.gz
或
gzip -d mkfile.gz
bunzip2 命令
bzip2 和 bunzip2 命令的用法与gzip、gunzip命令基本相同
归档命令tar命令
用途:制作归档文件、释放归档文件
tar [选项] 归档及压缩文件名 需要归档的源文件或目录 制作归档及压缩包
tar [选项] 归档文件名 [-C 目标目录] 解压并释放(恢复)归档压缩包文件
常用命令选项:
-c 创建压缩包
-x 解压
-v 显示详细过程
-f 表示执行
-p 保留原有权限
-t 查看压缩包内容
-C 解压到的路径 就是姐要到哪里去
-z gzip格式
-j bzip2格式
如果需要对制作的归档文件进行压缩,可以通过“-z” 或 “-j”选项自动调用压缩工具(分别对应gzip,bzip2命令程序)进行压缩。
例如:用tar命令压缩文件(将1.txt文件用tar压缩)
[root@localhost opt]# tar czvf 222.tar.gz 1.txt
例如:用tar命令解压文件(将222.tar.gz解压到/opt/中)
[root@localhost opt]# tar xzvf 222.tar.gz -C /opt/
四、VI文本编辑器
文本编辑器vi命令
文本编辑器的作用
- 创建或修改文本文件
- 维护Linux系统中的各种配置文件
Linux中最常见的文本编辑器
- vi:类UNIX操作系统的默认文本编辑器
- vim:vim是vi文本编辑器(一般简称为vi编辑器)的增强版本
! vim :编辑上一次编辑的文件
有bug :上一次只能是绝对路径
vi编辑的工作模式
三种工作模式
- 命令模式:启动vi编辑器后默认进入命令模式。在该模式中主要完成如光标移动,字符串查找,以及删除,复制,粘贴文件内容等相关操作。
- 输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新内容。处于输入模式时,vi编辑器的最后一行会出现“–INSERT–”的状态提示信息。
- 末行模式:该模式中可以设置vi编辑环境,保存文件,退出编辑器,以及对文件内容进行查找,替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符。
- 模式切换都需要经过命令模式作为中转
命令模式的基本操作
不同模式之间的切换
光标移动
操作类型 | 操作键 | 功能 |
---|---|---|
方向移动 | ↑ ,↓,←,→ | 上,下,左,右 |
翻页 | Page Down 或Ctrl + F | 向下翻动一整夜内容 |
翻页 | Page Up 或 Ctrl + B | 向上翻动一整夜内容 |
行内快速跳转 | Home 键 或 “^“. 数字”0” | 跳转时行首 |
行内快速跳转 | End键 或 “$“ | 跳转到行尾 |
行间快速跳转 | 1G 或 gg | 跳转到文件的首行 |
行间快速跳转 | G | 跳转到文件的末尾行 |
行间快速跳转 | #G | 跳转到文件中的第#行 |
行号显示 | :set nu | 在编辑器中显示行号 |
行号显示 | :set nonu或setno! | 取消编辑器中的行号显示 |
翻页 | M | 跳转到当前屏幕的中央 |
复制、粘贴、删除(实用)
操作类型 | 操作键 | 功能 |
---|---|---|
删除 | x 或 Del | 删除光标处的单个字符 |
删除 | dd | 删除当前光标所在行 |
删除 | #dd | 删除从光标所在行开始的#行内容 |
删除 | d^ | 删除当前光标之前到行首的所有字符 |
删除 | d$ | 删除当前光标处到行尾的所有字符 |
复制 | yy | 复制当前行整行的内容到剪切板 |
复制 | #yy | 复制从光标所在行开始的#行内容 |
粘贴 | p(小写的) | 将缓冲区中的内容粘贴到光标位置处之后 |
粘贴 | P(大写的) | 粘贴到光标位置处之前 |
例如
- dd:是剪切,不用p粘贴时就是删除
- 上下行对调:dd→p
- 连续dd,再p粘贴,则粘贴的是最后一次dd 的内容
- 3dd 光标所在行是第一行,删3行
- 3yy 光标所在行是第一行,复制3行
- dw 删除一个单词
- shift+r 替换
文件内容查找
操作键 | 功能 |
---|---|
/word | 从上而下在文件中查找字符串“word” |
?word | 从下而上在文件中查找字符串“word” |
n | 定位下一个匹配的被查找字符串 |
N | 定位上一个匹配的被查找字符串 |
撤销编辑及保存退出
操作键 | 功能 |
---|---|
u | 按一次取消最近的操作,重复u键,恢复多步操作 |
U | 用于取消对当前行所做的所有编辑(等同于 q! ) |
ZZ | 保存当前的文件内容并退出vi编辑器(等同于 wq ) |
末行模式的基本操作
保存文件及退出vi编辑器
功能 | 命令 | 备注 |
---|---|---|
保存文件 | :w | 保存修改的内容 |
保存文件 | :w /root/newfile | 另存为其他文件 |
退出vi | :w /root/newfile | 另存为其他文件 |
退出vi | :q | 未修改退出 |
保存文件退出 vi | :wq | 保存修改的内容并退出 |
打开新文件或读入其他文件内容
命令 | 功能 |
---|---|
:e ~/install.log | 打开新的文件进行编辑 |
:r /etc/filesystens | 在在当前文件中读入其他文件内容 |
文件内容替换
命令 | 功能 |
---|---|
:s /old/new | 将当前行中查找到的第一个字符“old”串替换为“new” |
:s /old/new/g | 将当前行中查找到的左右字符串“old”替换为“new” |
:#,# s/old/new/g | 在行号“#,#”范围内替换所有的字符串“old”为“new” |
:s /old/new/c | 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |
:% s/old/new/g | 在整个文件范围内替换所有的字符串“old”为“new” |
总结
- 使用cat、more 、less、head、tail命令可以查看文件
- 使用wc、grep命令可以统计、检索文件内容
- 使用gzip/gunzip、bzip2/bunzip2命令可以制作及释放压缩文件,使用tar命令可以制作或释放归档文件,结合“-z”“-j”选项还能够自动调用压缩工具