1. Linux(centos7)根目录
根目录下的所有文件
[root@localhost /]#ls ##查看当前文件夹
boot etc lib media opt root sbin sys usr bin
dev home lib64 mnt proc run srv tmp var
| 目录 | 说明 |
|---|---|
| bin | 存放Linux系统中常用的系统命令任何用户权限都可以执行 |
| dev | 常用的硬盘、光驱、鼠标等硬件设备 |
| home | 普通用户的家目录也称主目录 |
| lib、lib64 | 存放各种链接库文件 |
| mnt | 临时挂载存储设备(一般为空文件) |
| proc | 基于内存的虚拟文件系统,用于存储系统内核和进程的相关信息。 |
| run | 用于存放进程产生的临时文件,系统重启后会消失 |
| tmp | 用来存放系统或程序产生的临时文件,可供所有用户执行写入操作 |
| var | 存放系统运行过程中经常变化的文件 |
| boot | 存放Linux系统启动所必需的文件,Kernel被存放再这个目录中 |
| etc | 存放Linux系统和各种程序配置文件,Linux中的很多操作和配置都是通过修改配置文件实现的。 |
| media | 用于系统自动挂载可移动存储设备。 |
| root | 超级用户root的家目录 |
| sbin | 存放Linux系统基本的管理命令,只有管理员权限才可以执行。 |
| usr | 软件的默认安装位置,类似于Windows中的Program Files目录 |
一些重要的目录:
/usr/share/ 帮助文档、说明文档
/var/log/ 日志
/var/run/ 运行中程序
/var/tmp 临时文件
2. cat 查看文件内容
| 选项 | 说明 |
|---|---|
| -n | 显示行号 |
| -A | 显示隐藏字符 |
| -b | 空行不标序号 |
| -s | 压缩空行将多个空行压缩成一个空行 |
[root@localhost data]#cat passwd ##查看passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@localhost data]#cat -n passwd ##查看passwd并显示出行数
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
cat 可以一次看多个文件,谁在前面是先显示。
Cat 的缺陷: 只能显示一个屏幕的内容
文档中隐藏的符号
^I tab (制表符)
空格
$ 换行
三个符号 在一些脚本不能混用
3. more
文件格式: more 文件名
功能简述: more命令,功能类似cat,cat命令是整个文件的内容从上到下显示在屏幕上。
| 按键 | 说明 |
|---|---|
| 空格 | 向下一页 |
| 回车 | 向下一行 |
| b | 向上 |
| q | 退出 |
4. less
命令格式: less 文件名
功能简述: 比more多了个查找功能
| 按键 | 说明 |
|---|---|
| 空格 | 向下一页 |
| 回车 | 向下一行 |
| / | 查找内容 |
| n | 向下查找 |
| N | 向上查找 |
5. head、tail
5.1 head
| 选项 | 说明 |
|---|---|
| n | 指定显示行数 |
| v | 输出显示文件的文件名 |
| c | 指定字节显示 |
| q | 隐藏文件名 |
head默认只能查看文档前十行
[root@localhost data]#head passwd ##head查看文档
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
head指定行数
[root@localhost data]#head -n 2 passwd ##查看passwd文件的前两行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
5.2 till
| 选项 | 说明 |
|---|---|
| n | 指定显示行数 |
| f | 实时动态跟踪默认没秒刷新后10行 |
[root@localhost data]#tail -n 2 passwd ##查看文档后两行
can:x:1000:1000:can:/home/can:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
6.管道符
管道符功能: 通过管道符可以把很多命令组合起来,提高工作效率。简言之管道符的作用就是:把前一个命令原本要输出到屏幕的标准正常数据当作后一个命令的标准输入。
管道符用|表示
命令格式为:命令A|命令B|命令C...
例
[root@localhost ~]#ifconfig ens33|head -n 2 ##查看 ifconfig ens33传给head查看后两行
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.200.100 netmask 255.255.255.0 broadcast 192.168.200.255
[root@localhost ~]#ifconfig ens33|head -n 2|tail -n 1
inet 192.168.200.100 netmask 255.255.255.0 broadcast 192.168.200.255
7. wc
功能: 统计文件中的信息
wc 不加选项
[root@localhost data]#wc passwd
21 29 939 passwd
行数 单词数 字节数
| 选项 | 说明 |
|---|---|
| l | 显示行 |
| w | 单词数(不是真正的单词) |
| c | 字节数 |
空格 tab 回车 都占字节数
8.grep
功能: 过滤你想要的文本信息
通配符核正则的区别
-
通配符:匹配文件名字
-
正则表达式: 匹配文本中的内容
用法: grep [选项]... PATTERN [FILE]... PATTERN:正则表达式(明确的条件)选项选项 i 查找时忽略条件的大小写 v 反向查找 n 显示行号 r 递归过滤文件夹中的所有文件 o 只匹配你要的东西
基础用法:
[root@localhost data]#grep root passwd ##查找passwd文件里的root
命令 内容 执行的文件
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
正则表达式:
^ 以什么开头(放最前)
$ 以什么什么结尾(放最后)
^$ 空白行
[root@localhost data]#grep -n 'bash$' passwd ##显示以bash结尾的行并显示行序
1:root:x:0:0:root:/root:/bin/bash
20:can:x:1000:1000:can:/home/can:/bin/bash
[root@localhost data]#grep -n '^#' fstab ##显示以#开头的的行并显示行序
2:#
3:# /etc/fstab
4:# Created by anaconda on Thu Jul 7 20:13:37 2022
5:#
6:# Accessible filesystems, by reference, are maintained under '/dev/disk'
7:# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
8:#
[root@localhost data]#grep -n '^$' fstab ##显示空白行
1:
[root@localhost data]#grep -nv '^$' fstab ##显示不是空白行的行内容
2:#
3:# /etc/fstab
4:# Created by anaconda on Thu Jul 7 20:13:37 2022
5:#
6:# Accessible filesystems, by reference, are maintained under '/dev/disk'
7:# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
8:#
9:/dev/mapper/centos-root / xfs defaults 0 0
10:UUID=9bcfc286-cf26-4220-9e51-f0c012f8bc4c /boot xfs defaults 0 0
11:/dev/mapper/centos-home /home xfs defaults 0 0
12:/dev/mapper/centos-swap swap swap defaults 0 0
9. 压缩、解压缩
9.1 gzip
| 选项 | 说明 |
|---|---|
| -9 | 压缩选项 |
| -d | 解压缩 |
压缩
[root@localhost data]#gzip passwd ##使用gzip压缩passwd文件
[root@localhost data]#ls ##查看当前目录
fstab passwd.gz
解压缩
[root@localhost data]#gzip -d passwd.gz ##解压缩
[root@localhost data]#ls ##查看当前目录
fstab passwd
9.2 bzip2
| 选项 | 说明 |
|---|---|
| -9 | 压缩选项 |
| -d | 解压缩 |
| -k | 保留源文件 |
压缩
root@localhost data]#bzip2 passwd ####使用bzip压缩passwd文件
[root@localhost data]#ls ####查看当前目录
fstab passwd.bz2
解压缩
[root@localhost data]#bzip2 -d passwd.bz2 ##解压
[root@localhost data]#ls ##查看当前目录
fstab passwd
-k 保留源文件 压缩比gzip 要好一点
9.3 tar(归档)
选项有顺序要求:如果你加了-,f一定要在最后
| 选项 | 说明 |
|---|---|
| f | 代表使用归档 |
| c | 建立归档文件 |
| x | 解开归档文件 |
| p | 保留源文件权限 |
| v | 显示归档过程,解归档过程 |
| C | 指定解压目录 |
| z | 代表使用 gzip 压缩 |
| j | 代表使用 bzip2 压缩 |
| t | 不解开归档文件 只查看归档文件中的内容 |
制作归档:压缩包的名字在前,压缩的文件在后
[root@localhost data]#tar -zcvf a.tar.gz passwd ##压缩passwd,压缩名是a.tar.gz
passwd
[root@localhost data]#ls
a.tar.gz fstab passwd
z 使用 gzip 压缩
c建立tar归档
v显示过程
f使用tar
解压
[root@localhost data]#tar -zxvf a.tar.gz -C /opt
passwd
[root@localhost data]#ls /opt/
hgfs passwd
z使用gzip 压缩
x 代表解压
v显示过程
f使用tar
all.tar.gz压缩包的名称
-C代表解压到指定的目录/opt
10. vim(文本编辑器)
vi:一定自带
vim:vi升级版,需要安装,最小化安装时不带vim,需要自行下载
下载命令:yum -y install vim
10.1 vim 基本用法
使用格式:vim 文件
A.!vim 打开上一次的文件
B.vim +# 文件名 #代表行号
vim: vim 怎么退出?
Esc-->英文:-->q退出
wq 保存退出
q! 强制退出
10.2 vim三种模式
1.命令模式:
含义: 一开始进入的模式
常用的vim按键
| 按键 | 功能 |
|---|---|
| 上下左右 | 移动光标 |
| end、$ | 一行间开头直接到末尾 |
| ^、0 | 一行间末尾直接到开头 |
| GG | 直接跳最后一行 |
| gg | 直接跳第一行 |
| #G | 直接跳转到第#行 |
| yy( #yy) | 复制整行(复制#行(#代表数字)) |
| yw | 复制一个单词 |
| p | 粘贴到光标所在位置的下一行 |
| 大P | 光标所在位置的的上一行 |
| dd(#dd) | 剪切整行(剪切#行) |
| x、del | 删除单个字母 |
| d^ | 删除光标处到开头 |
| d$ | 删除光标处到末尾 |
| dw | 删除一个单词 |
| u | 撤销一次 |
| 大U | 撤销全部 |
| r | 可以替换一个字符(不能加字符只能替换) |
| 大R | 替换模式 |
| ZZ | 保存退出 |
| /[内容] | 查找内容 |
| n | 向下 |
| N | 向上 |
2.输入模式
功能: 对文本进行编辑
命令跳转到输入模式:
| 按键 | 功能 |
|---|---|
| i 、nsert | 在光标所在处输入 |
| I | 在当前光标所在行的行首输入 |
| a 、append | 在光标所在处后面输入 |
| A | 在当前光标所在行的行尾输入 |
| o | 在当前光标所在行的下方打开一个新行 |
| O | 在当前光标所在行的上方打开一个新行 |
比较常用的按键:i和o
3. 末行模式
命令格式 :s/需要被替换的内容/新的替换内容/
显示所有的命令选项: set all
显示行号: set nu
关闭行号: set nonu
显示下划线: set cul
关闭下划线: set nocul .
显示隐藏字符: set list
加密:set key=你设置的密码
接触密码:set key= (什么都不要输入,直接回车)
自动缩进:set ai
另存为: w加上路径 w /opt/aaa
把另一个文件加入到当前文件编辑: r或e 文件路径 r /etc/shadow
读取命令结果,写入当前文件中: .!命令 .!date
取消高亮 nohl
末行模式下查找替换
通式
范围 :s /旧的字符/新的字符/修饰符
- 不写 默认光标当前行
- #,# 某一行到某一行 #代表数字 2,20 2到20行
- % 代表全文
- s 命令查找 search
分隔符: / # @
旧的字符: 你要找的或者你要替换的内容 (可以使用 * ^)
新的字符: 你要替换旧字符的字符 (不可以使用 *)
修饰符:
i 不区分大小写
g 整行中所有命中的关键字都替换(如果不g 只替换整行中命中的第一个)
在配置文件当中#号开头的行为注释不生效
:s /root/can 将当前行中查找到的第一个字符"root” 串替换为 "can"
替换前:
替换后:
:s /root/can/g 将当前行中查找到的所有字符串"root" 替换为"can"
替换前
替换后
:#,# s/root/can/g 在行号“#,#” 范围内替换所有的字符串"root” 为"can"
替换前
替换后
:% s/root/can/g 在整个文件范围内替换所有的字符串"old" 为"new"
替换前
替换后
:s /root/can/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认
替换前
替换后