Linux文件内容基本常用命令

目录

一、查看文件内容

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 全局替换,默认情况下,每一行只替换第一次出现的

        - 分割符:/ 可替换为其它字符,如:# @

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值