目录
一、查看文件内容
1.cat
2.more
3.less
4.head
5.tail
6.wc
7.grep
8.gzip/bzip2
9. tar
10.vim编辑器
一、查看文件内容
1.cat
[root@localhost ~]# cat [选项] 文件名 //查看文件内容
//查看passwd内容
[root@localhost ~]#cat /etc/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
[root@localhost ~]# cat -n 文件名 //查看文件内容并显示行号
[root@localhost ~]#cat -n /etc/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
[root@localhost ~]# cat -A 文件名 //查看文件内容并显示隐藏字符
^I tab制表符 $ 回车换行 空格
三个符号 在一些脚本不能混用
[root@localhost ~]#cat -A 1.txt
e dsasdadcscd$
sd^I $
$
adw^I $
$
dwa d^I$
$
$
$
da qw^I sdf$
adswd $
[root@localhost ~]# cat -b 文件名 //查看文件内容,空行不标序号
[root@localhost ~]#cat -b 1.txt
1 e dsasdadcscd
2 sd
3 adw
4 dwa d
5 da qw sdf
6 adswd
2.more
[root@localhost ~]# more 文件名 //查看文件内容
空格:向下一页 回车:向下一行 b:向上 q:退出
[root@localhost ~]#more /var/log/messages
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.0: PCI bridge to [bus 0b]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.0: bridge window [io 0x5000-0x5f
ff]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.0: bridge window [mem 0xfd300000-
0xfd3fffff]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.0: bridge window [mem 0xe7900000-
0xe79fffff 64bit pref]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.1: PCI bridge to [bus 0c]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.1: bridge window [io 0x9000-0x9f
ff]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.1: bridge window [mem 0xfcf00000-
0xfcffffff]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.1: bridge window [mem 0xe7500000-
0xe75fffff 64bit pref]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.2: PCI bridge to [bus 0d]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.2: bridge window [io 0xd000-0xdf
ff]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.2: bridge window [mem 0xfcb00000-
0xfcbfffff]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.2: bridge window [mem 0xe7100000-
0xe71fffff 64bit pref]
Jul 24 20:28:55 localhost kernel: pci 0000:00:16.3: PCI bridge to [bus 0e]
--More--(14%)
3.less
[root@localhost ~]# less 文件名 //查看文件内容
空格:向下一页 回车:向下一行 q:退出 /:查找内容
[root@localhost ~]#less /var/log/messages
em] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.serv
g Fingerprint Authentication Daemon...
em] Successfully activated service 'net.reactivated.Fprint'
Fingerprint Authentication Daemon.
_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
07]: <info> [1658651698.4210] agent-manager: req[0x564ae5fbf030, :1.66/org.gnome.Sh
em] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.
g Hostname Service...
em] Successfully activated service 'org.freedesktop.hostname1'
Hostname Service.
Session 25 of user root.
_actor_iter_next: assertion 'ri->age == ri->root->priv->age' failed
_actor_get_parent: assertion 'CLUTTER_IS_ACTOR (self)' failed
em] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.serv
g Fingerprint Authentication Daemon...
em] Successfully activated service 'net.reactivated.Fprint'
Fingerprint Authentication Daemon.
_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
07]: <info> [1658652188.3290] agent-manager: req[0x564ae5fbf030, :1.66/org.gnome.Sh
em] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.
g Hostname Service...
em] Successfully activated service 'org.freedesktop.hostname1'
:
4.head
[root@localhost ~]# head 文件名 //查看文件开头10行内容
[root@localhost ~]#head /var/log/messages
Jul 24 03:37:01 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-55.el7" x-pid="1227" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Jul 24 03:40:02 localhost systemd: Started Session 18 of user root.
Jul 24 03:41:11 localhost journal: clutter_actor_iter_next: assertion 'ri->age == ri->root->priv->age' failed
Jul 24 03:41:11 localhost journal: clutter_actor_get_parent: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul 24 03:50:01 localhost systemd: Started Session 19 of user root.
Jul 24 03:50:10 localhost dbus[745]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service'
Jul 24 03:50:10 localhost systemd: Starting Fingerprint Authentication Daemon...
Jul 24 03:50:10 localhost dbus[745]: [system] Successfully activated service 'net.reactivated.Fprint'
Jul 24 03:50:10 localhost systemd: Started Fingerprint Authentication Daemon.
Jul 24 03:50:15 localhost NetworkManager[907]: <info> [1658649015.9298] agent-manager: req[0x564ae5fbf300, :1.66/org.gnome.Shell.NetworkAgent/0]: agent registered
[root@localhost ~]# head -n x 文件名 //查看文件开头x行内容
//查看开头2行
[root@localhost ~]#head -n 2 /var/log/messages
Jul 24 03:37:01 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-55.el7" x-pid="1227" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Jul 24 03:40:02 localhost systemd: Started Session 18 of user root.
5.tail
[root@localhost ~]# head 文件名 //查看文件末尾10行内容
[root@localhost ~]#tail /var/log/messages
Jul 25 04:56:25 localhost dbus[740]: [system] Successfully activated service 'net.reactivated.Fprint'
Jul 25 04:56:25 localhost systemd: Started Fingerprint Authentication Daemon.
Jul 25 04:56:27 localhost NetworkManager[870]: <info> [1658739387.6727] agent-manager: req[0x7fcb40002bc0, :1.65/org.gnome.Shell.NetworkAgent/0]: agent registered
Jul 25 04:56:27 localhost dbus[740]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service'
Jul 25 04:56:27 localhost systemd: Starting Hostname Service...
Jul 25 04:56:27 localhost dbus[740]: [system] Successfully activated service 'org.freedesktop.hostname1'
Jul 25 04:56:27 localhost systemd: Started Hostname Service.
Jul 25 05:00:01 localhost systemd: Started Session 50 of user root.
Jul 25 05:01:01 localhost systemd: Started Session 51 of user root.
Jul 25 05:10:01 localhost systemd: Started Session 52 of user root.
[root@localhost ~]# tail -n y 文件名 //查看文件末尾y行内容
//查看末尾2行
[root@localhost ~]#tail -n 2 /var/log/messages
Jul 25 05:01:01 localhost systemd: Started Session 51 of user root.
Jul 25 05:10:01 localhost systemd: Started Session 52 of user root.
[root@localhost ~]# tail -f 文件名 //实时动态跟踪,默认每秒刷新文件末尾10行
6.wc
[root@localhost ~]# wc [选项] 文件名 //统计文件中信息
-l //显示行
-w //单词数(不准确 空格 tab 回车 都占字节数)
-c //字节数
[root@localhost ~]# cp /etc/passwd /data/
[root@localhost ~]# cd /data
//不加选项显示文件信息
[root@localhost data]# wc passwd
44 90 2298 passwd
行数 单词数 字节数 文件名
// -l 显示行数
[root@localhost data]# wc -l passwd
44 passwd
// -w 显示单词数
[root@localhost data]# wc -w passwd
90 passwd
// -c 显示字节数
[root@localhost data]# wc -c passwd
2298 passwd
7.grep
[root@localhost ~]# grep [选项] 匹配条件 [文件名]... //根据匹配条件显示文件内容所在行
(配合正则表达式)
- i //查找时忽略条件的大小写
-v //反向查找(除过滤条件内容)
-n //显示行号
-r //递归过滤文件夹中的所有文件
-o //只显示满足过滤条件的内容
//忽略匹配条件大小写显示
[root@localhost data]# grep -i root passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
//显示除匹配条件以外内容
[root@localhost data]# grep -v root passwd
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
//显示匹配结果与行号
[root@localhost data]# grep -n root passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
//递归匹配目录下所有文件
[root@localhost data]# grep -r ro /etc
/etc/fstab:/dev/mapper/centos-root / xfs defaults 0 0
/etc/fonts/conf.d/README: 00 through 09 Font directories
/etc/fonts/conf.d/README: 10 through 19 system rendering defaults (AA, etc)
/etc/fonts/conf.d/README: 20 through 29 font rendering options
/etc/fonts/conf.d/README: 30 through 39 family substitution
/etc/fonts/conf.d/README: 40 through 49 generic identification, map family->generic
/etc/fonts/conf.d/README: 50 through 59 alternate config file loading
/etc/fonts/conf.d/README: 60 through 69 generic aliases, map generic->family
/etc/fonts/conf.d/README: 70 through 79 select font (adjust which fonts are available)
//只显示满足匹配条件的内容而非所在行
[root@localhost data]# grep -o root passwd
root
root
root
root
8.gzip/bzip2
[root@localhost data]# gzip [压缩等级1-9] 文件名 //压缩文件 后缀.gz
[root@localhost data]# bzip2 [压缩等级1-9] 文件名 //压缩文件 后缀.bz2
-k //保留原文件压缩(bzip2更强大)
[root@localhost data]# ls
1 23ads 48.txt passwd qwdww
//gzip压缩文件1,变成了1.gz
[root@localhost data]# gzip -9 1
[root@localhost data]# ls
1.gz 23ads 48.txt passwd qwdww
//bzip2压缩文件qwdww,变成了qwdww.bz2
[root@localhost data]# bzip2 -9 qwdww
[root@localhost data]# ls
1.gz 23ads 48.txt passwd qwdww.bz2
//bzip2压缩文件23ads,-k保留了原文件
[root@localhost data]# bzip2 -3 -k 23ads
[root@localhost data]# ls
1.gz 23ads 23ads.bz2 48.txt passwd qwdww.bz2
[root@localhost data]# gzip -d m.bz2 //gzip解压文件
[root@localhost data]# bzip2 -d m.bz2 //bzip2解压文件
//解压文件
[root@localhost data]# bzip2 -d qwdww.bz2
[root@localhost data]# gzip -d 1.gz
[root@localhost data]# ls
1 23ads 23ads.bz2 48.txt passwd qwdww
9. tar
[root@localhost data]# tar [选项]... 归档文件名 源文件或目录 [-C目标目录] //将文件归档
-f //表示使用归档(必须加) -C 指定解压目录(默认当前)
-c // 建立归档文件
-x // 解开归档文件
-p //保留源文件权限
-v //显示归档过程 , 解归档过程
-z //代表使用 gzip 压缩
-j //代表使用 bzip2 压缩
-t //不解开归档文件 只查看归档文件中的内容
注: 1.此命令选项可不加 - 如果加, -f 默认在选项最后。
2.归档文件名默认后缀 .tar,使用压缩再加上.gz 或 .bz2。
//新建归档num.tar
[root@localhost data]# tar cf num.tar 1.txt 2.txt
[root@localhost data]# ls
1 1.txt 23ads 23ads.bz2 2.txt 48.txt num.tar passwd qwdww
//新建gzip压缩归档pd.tar.gz并显示过程
[root@localhost data]# tar zvcf pd.tar.gz passwd 23ads
passwd
23ads
[root@localhost data]# ls
1 1.txt 23ads 23ads.bz2 2.txt 48.txt num.tar passwd pd.tar.gz qwdww
//解压pd.tar.gz到/mnt下并显示过程
[root@localhost data]# tar zvxf pd.tar.gz -C /mnt
passwd
23ads
[root@localhost data]# ls /mnt
23ads passwd
//不解压查看归档文件内的文件
[root@localhost data]# tar tf nb.tar.bz2
qwdww
10.vim编辑器
[root@localhost ~]# vim 文件名 //进入文件并编辑
!vim //打开上一次的文件
vim +数字 文件名 //进入文件直接到指定数字行
vim编辑器的三种模式
- 命令模式:默认模式,可以实现移动光标,剪切/粘贴文本
- 输入模式:用于修改文本
- 末行模式:保存,退出等搜索替代
(1)命令模式
操作 | 实现功能 |
移动光标 | |
上 下 左 右 (i h j k) | 光标向上下左右移动 |
行间跳转 | |
end键 或 $ | 跳到本行末尾 |
^ 或 0 | 跳到本行开头 |
gg 或 1G | 跳到第一行 |
G | 跳到最后一行 |
10G | 跳到第10行 |
复制 | |
yy | 复制光标所在行 |
10yy | 向下复制10行 |
yw | 复制一个单词 |
粘贴 | |
p | 粘贴到光标下一行 |
P | 粘贴到光标上一行 |
剪切 | |
dd | 剪切整行 |
10dd | 剪切10行 |
删除 | |
x 或 delet键 | 删除一个字符 |
dw | 删除一个单词 |
撤销 | |
u | 撤销一次 |
U | 撤销全部 |
查找内容 | |
/ 内容 | 高亮显示你查找的内容(n 向上 N 向下) |
(2)输入模式
快捷键 | 功能描述 |
i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
I | 行首插入命令 |
o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
a | 在当前光标所在位置之后插入随后输入的文本 |
A | 行尾插入命令 |
ESC键 | 退出输入模式 |
(3)末行模式
常用命令:
命令 | 执行效果 |
set nu | 显示行号 |
set nonu | 关闭行号 |
set key=设置的密码 | 给文件设置密码 |
set key= | 解除密码 |
w | 保存 |
q | 退出 |
! | 强制 |
w /路径 | 把文件另存到指定路径下 |
查找替换:
格式:范围 s/要查找的内容/替换为的内容/修饰符
- 范围:不写 —— 默认光标当前行
一个数字 —— 代表对应数字行
number1,number2 ——逗号隔开,代表从某行到某行
% ——代表全文
. ——代表当前行
$ ——代表最后一行
- 要查找的内容:明确的查找内容或使用基本正则表达式模式
- 替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容
- 修饰符:i 忽略大小写
g 全局替换,默认情况下,每一行只替换第一次出现的
- 分割符:/ 可替换为其它字符,如:# @