常见子目录 | 作用 |
---|---|
/root | 管理员的宿主 (家)目录 |
/home/xxx | 除 root 用户之外的普通用 户的家目录 |
/bin | 存放二进制文件,所有用户可执行的命令。实际是个软链接,链接到/usr/bin |
/sbin | 存放二进制文件,只有管理员可执行的管理命令。软链接到/usr/sbin |
/boot | 系统内核、启动文件目录 |
/dev | 存放设备文件(光驱、硬盘等) |
/etc | 存放系统程序和大部分应用程序 (rpm、yum安装)的配置文件 |
/var | 存放可以变化的文件,包括各种日志文件 |
/lib | 存放系统程序的动态连接共享库文件(类似于windows里的DLL文件)。软链接到/usr/lib |
/usr | 存放系统用户工具和程序 |
/media | 可拆卸的媒介挂载点,例如U盘、光驱等 |
/mnt | 用于临时挂载储存设备的目录 |
/opt | 第三方应用程序安装所存放的目录 |
/tmp | 存放系统的临时文件 |
/proc | 存放映射系统信息的文件 |
/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息, 甚至可以通过更改其中某些文件来改变内核的运行状态
常用选项
-A: 显示隐藏符
-n∶对所有输出的行数编号
-b∶对于空白行不编号
-s∶将所有的连续的多个空行替换为一个空行
-A: 显示隐藏符
[root@localhost data]# vim 1
[root@localhost data]# cat -A 1
bhdcbcjdc$
bhjcvx $
$
$
iusgvjbsh$
$
-n∶对所有输出的行数编号
[root@localhost data]# cat -n 1
1 bhdcbcjdc
2 bhjcvx
3
4
5 iusgvjbsh
6
-b∶对于空白行不编号
[root@localhost data]# cat -b 1
1 bhdcbcjdc
2 bhjcvx
3
4
5 iusgvjbsh
-s∶将所有的连续的多个空行替换为一个空行
[root@localhost data]# cat -n 11
1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost data]# cat -s 11
标准输入:你输入的指令
标准输出:电脑反馈给你的信息
错误输出:电脑的一些报错信息
一个是覆盖:>
两个是追加:>>
[root@localhost data]# vim a
[root@localhost data]# vim b
[root@localhost data]# vim b
[root@localhost data]# cat a
aaaaaaaaaaaaaaaaaaa
[root@localhost data]# cat b
bbbbbbbbbbbbbbbbbb
[root@localhost data]# cat a b
aaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbb
[root@localhost data]# cat a b > c
[root@localhost data]# cat c
aaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbb
[root@localhost data]# vim A
[root@localhost data]# vim B
[root@localhost data]# cat A
zhangsan
lisi
[root@localhost data]# cat B
123
456
[root@localhost data]# paste A B
zhangsan 123
lisi 456
交互操作方法
按Enter键向下逐行滚动
按空格键向下翻一页
按b键向上翻一屏
按q键退出
下翻到最后一页后会自动退出
结合管道操作(例如∶ Is -R/etc|more)无法向上翻页
|:管道符号,作用是将左边执行的命令交付给右边再执行一次
交互操作方法
Page Up 向上翻页,Page Down 向下翻页
按"/"键查找内容,"n"下一个内容,"N"上一个内容
通过个和l方向键可以实现上下逐行滚动
其他功能与 more 命令基本类似
下翻到最后一页后不会自动退出
结合管道操作使用时可以向上翻页
[root@localhost data]# vim test
[root@localhost data]# head -n 2 test (查看test文件的前2行)
1
2
[root@localhost data]# seq 10
1
2
3
4
5
6
7
8
9
10
[root@localhost data]# seq 10|head -n -3
1
2
3
4
5
6
7
? tail 文件名 = tail -f 文件名 :实时追踪查看
[root@localhost data]# vim test
[root@localhost data]# tail -n 5 test (查看test文件的后5行)
7
8
9
10
[root@localhost data]# seq 10
1
2
3
4
5
6
7
8
9
10
[root@localhost data]# seq 10|tail -n +3
3
4
5
6
7
8
9
10
常用命令选项
-l:统计行数
-w:统计单词个数
-c:统计字节数
注:不带任何选项的wc命令,默认同时使用-lwc三个选项(换行符系统默认也是一个字符)
正则表达式:匹配文件的字符串(grep后面跟正则表达式)
通配符:匹配文件的名字(ls / find -name后面跟通配符)
常用命令选项
-i∶ 查找时不区分大小写
-v∶ 输出与查找条件不相符的行(反向查询,反向匹配)
-c∶ 只输出匹配到的总行数(不是匹配到的次数)
-n∶ 显示匹配行及行号
-o∶ 精确匹配,即"仅匹配"之意。
-f: 对比两个文件的相同行
-e∶ 实现可多个查找条件的匹配,逻辑or关系
-E∶ 支持使用扩展正则表达式,相当于使用egrep命令(i要放在e前面)
-A n∶ 显示匹配后和它后面的n行。
-B n∶ 显示匹配行和它前面的n行。
-C n∶ 匹配行和它前后各n行。
[root@localhost data]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.11 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::53e9:a034:7de9:f2b9 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:42:0c:18 txqueuelen 1000 (Ethernet)
RX packets 17685 bytes 1232746 (1.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4544 bytes 447044 (436.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost data]# ifconfig ens33|grep netmask
inet 192.168.10.11 netmask 255.255.255.0 broadcast 192.168.10.255
只看ifconfig ens33 的第二行 找出
[root@localhost data]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
过滤/etc/passwd 文件中含有 root 关键字的行
查找条件设置
要查找的字符串以双引号括起来
“^......”表示以......开头,
“.......$”表示以.......结尾
“^$”表示空行
1、找出两个文件中相同的部分
(将a文件作为条件去匹配b文件,得出a文件和b文件相同的部分)
grep -f a文件 b文件
2、在某一文件夹中,快速找到所有含有root字符的文件
grep -r 表达式(文件夹)(如:grep -r root /etc/)
3、以 root 开头:grep "^root" passwd
4、以 root 结尾:grep "root$" passwd
5、空行:grep "^$" passwd
6、非空行:grep -v "^$" passwd
[root@localhost data]# grep "^root" passwd
[root@localhost data]# grep "root$" passwd
[root@localhost data]# grep "^$" passwd
[root@localhost data]# grep -v "^$" passwd
1
2
3
4
5
6
7
8
9
10
tar归档,对选项的顺序有要求(加 - 时,f一定要在最后一位。如:tar -zcvf ;tar fzcv)
-f 代表使用tar归档,只要出现tar一定要出现f
建立归档:tar fzcv 自定义文件名 tar.gz
解压:tar xf 自定义文件名 .tar.gz -C /mnt/将自定义文件解压到mnt文件
-c∶ 创建.tar 格式的包文件
-x∶ 解开.tar 格式的包文件
-C∶ 解压时指定释放的目标文件夹
-f∶ 表示使用归档文件(必须携带,归档文件)
-P∶ 打包时保留文件及目录的权限
-P∶ 打包时保留文件及目录的绝对路径
-t∶ 列表查看包内的文件(不解开压缩包,查看压缩包中的内容)
-v∶ 输出详细信息(Verbose)(显示压缩解压缩过程)
-j∶ 调用 bzip2 程序进行压缩或解压
-z∶ 调用 gzip 程序进行压缩或解压
tar fzcv 压缩包的名字(*.tar.gz):需要压缩的文件
常用选项
##行间跳转
数字 G:跳到数字行
gg:首行
G:末行
##行内跳转
0 或 ^:跳转至行首
end 或 $:跳转至行尾
w:一个单词一个单词跳转
##撤销
u:撤销一次
U:撤销全部
Ctrl+r:取消撤销
##复制
y:复制
yy:复制一行
10 yy:复制10行
##粘贴
p:贴在光标下面
P:贴在光标上面
##删除
d:删除,剪切
dd:删除一切
10 dd:删除10行
dw:删除一个单词
x:删除一个字符
d i {:删除括号里面的内容
##替换
r:只替换光标所在的一个字符
R:切换成REPLACE模式,按ESC键回到命令模式
命令模式----------->输入模式 i o
输入模式----------->命令模式 esc
常用选项
i:当前光标处插入
o:下一行插入
查找替换:先查找文件中的内容,然后换掉它
格式:范围 s/文章中的旧的内容/替换的内容/修饰符
不写范围:光标当前行
范围
%代表全文;
#代表#一行(#代表数字);
$代表最后一行2,5代表2到5行;
$-1代表倒数第二行;
修饰符
i:忽略大小写
g:全部替换,默认情况下,每一行只替换第一次出现
c:全局替换,每次替换前询问
常用选项
快捷键 | 功能效果 |
---|---|
:q | 退出不保存 |
:q! | 强制退出不保存 |
:w | 保存 |
:w 新文件名 | 另存为新文件: |
:wq :zz :x | 保存并退出 |
:r 其他文件名 | 在当前文件中读入其他文件内容 |
!命令 | 执行命令 |
:e 其他文件名(如果已修改需要加e!) | 打开新文件进行编辑 |
:r!命令 | 读入命令 |
: [替换范围] s /旧的内容/新的内容[/g] | |
: s /old/new | 替换当前行中的第一个old改为new |
: s /old/new/g | 替换当前行中的所有old改为new |
:#,# s /old/new/g | #到#行所有old改为new |
:%s /old/new/g | %代表全文 全文替换所有old改为new |
# d | 删除#第#行 |
#,# d | 删除#到#行 |
#,# y | 复制#到#行 |
:set nu 或:set nonu | 加行号 不显示行号 |
:set cul (:set nocul ) | 光标所在行有下划线(取消) |
no hl | 取消高亮 |
:set ai | 对齐 回车后和上一行对齐 |
:set all 可以看所有的一些帮助 | 可以看所有的一些帮助 |
set key=password (大X) | 加密码 |
set key=空白 | 取消密码 |
set tabstop=4 (set ts=4) | tab 一次为四个空格 |
.!命令 (who,date ) | 将date命令插入当前行注意会覆盖当前行 |
给所有的开头加上#:% s/^/#/
将所有行开头的#去掉:% s/^#//
注意点:配置文件只有开头的#才是注释
命令模式----------->末行模式::(英文冒号)
末行模式----------->命令模式:esc
命令模式----------->输入模式 i o
输入模式----------->命令模式 esc