Linux期末复习-ch5

文章目录

5.1文本内容显示

cat:显示文本文件

显示文本文件的内容,也可以把几个文件内容附加到另一个文件中。如果没有指定文件,或者文件为“-”,那么就从标准输入读取。
命令语法:

cat [选项] [文件]

【例5.1】 显示/etc/inittab文件的内容。

[root@rhel ~]# cat /etc/inittab

【例5.2】 把textfile1文件的内容加上行号后输入到textfile2文件中。

[root@rhel ~]# cat -n textfile1 > textfile2

【例5.3】 使用cat命令创建mm.txt。

[root@rhel ~]#cat >mm.txt<<EOF
>Hello
>Linux
>EOF //在此输入字符EOF,会自动回到shell提示符界面

more:分页显示文本文件

分页显示文本文件的内容。类似于cat命令,不过是以分页方式显示文件内容,方便使用者逐页阅读,其最基本的按键就是按空格键就显示下一页内容,按[b]键返回显示上一页内容。
命令语法:

more [选项] [文件名]

【例5.4】 分页显示/etc/services文件的内容。

[root@rhel ~]# more /etc/services

【例5.5】 逐页显示testfile文件内容,如有连续两行以上空白行则以一行空白行显示。

[root@rhel ~]# more -s testfile

【例5.6】 从第20行开始显示testfile文件的内容。

[root@rhel ~]# more +20 testfile

【例5.7】 一次两行显示/etc/passwd文件内容。

[root@rhel ~]# more -2 /etc/passwd

less:回卷显示文本文件

回卷显示文本文件的内容。less命令的作用与more十分相似,都可以用来浏览文本文件的内容,不同的是less命令允许使用者往回卷动。
命令语法:

less [选项] [文件名]

【例5.8】 回卷显示/etc/services文件的内容。

[root@rhel ~]# less /etc/services

head:显示指定文件前若干行

显示指定文件的前若干行文件内容。如果没有给出具体行数值,默认缺省设置为10行。如果没有指定文件,head就从标准输入读取。
命令语法:

head[选项][文件]

【例5.9】 查看/etc/passwd文件的前100个字节数据内容。

[root@rhel ~]# head –c 100 /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/nol

【例5.10】 查看/etc/passwd文件的前3行数据内容。

[root@rhel ~]# head -3 /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

tail:查看文件末尾数据

查看文件的末尾数据,默认显示指定文件的最后10 行到标准输出。如果指定了多个文件,tail会在每段输出的开始添加相应文件名作为头。如果不指定文件或文件为“-”,则从标准输入读取数据。

命令语法:

tail [选项] [文件名]

【例5.11】查看/etc/passwd文件末尾3行数据内容。

[root@rhel ~]# tail -3 /etc/passwd
news:x:9:13:News server user:/etc/news:/bin/bash
distcache:x:94:94:Distcache:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin

【例5.12】 查看文件/etc/passwd末尾100字节的数据内容。

[root@rhel ~]# tail -c 100 /etc/passwd
er:/etc/news:/bin/bash
distcache:x:94:94:Distcache:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin

5.2文本内容处理

sort:对文件中的数据进行排序

对文件中的数据进行排序,并将结果显示在标准输出上。
命令语法:

sort [选项] [文件]

【例5.13】 将文件textfile1数据排序,并显示在屏幕上。

[root@rhel ~]# sort textfile1
a
b
c

【例5.14】 读取textfile1文件内容,以倒序排序该文件并显示在屏幕上。

[root@rhel ~]# sort -r textfile1
c
b
a

uniq:将重复行从输出文件中删除

将文件内的重复行数据从输出文件中删除,只留下每条记录的惟一样本。
命令语法:

uniq [选项] [文件]

【例5.15】 查看文件file3中重复的数据内容。

[root@rhel ~]# cat file3
aaa
aaa
bbb
[root@rhel ~]# uniq -d file3
aaa //file3文件中重复行数据的内容为aaa

【例5.16】 查看文件file3中不重复的数据内容。

[root@rhel ~]# uniq -u file3
bbb //file3文件中不重复行数据的内容为bbb

cut:从文件每行中显示出选定的字节、字符或字段

从文件的每行中输出选定的字节、字符或字段(域)。只能使用-b、-c或-f选项中的一个。每一个列表都是专门为一个类别作出的,或者可以用逗号隔开要同时显示的不同类别。输入顺序将作为读取顺序,每个仅能输入一次。
命令语法:

cut [选项] [ 文件 ]

【例5.17】 显示文件/etc/passwd中的用户登录名和用户名全称字段,这是第1个和第5个字段,由冒号隔开。

[root@rhel ~]# cut -f 1,5 -d: /etc/passwd
root:root
bin:bin
daemon:daemon
adm:adm
lp:lp

comm:逐行比较两个已排过序的文件

比较两个已排过序的文件,并将其结果显示出来。
命令语法:

comm [选项] [文件1] [文件2]
选项 选项含义
-1 不输出文件1特有的行
-2 不输出文件2特有的行
-3 不输出两个文件共有的行

如果没有指定任何参数,comm命令读取这两个文件,然后输出三列:第1列输出file1中特有的行;第2列输出file2中特有的行;第3列输出两个文件*有的行。

【例5.18】 比较文件file1和file2文件内容。

[root@rhel ~]# cat file1
a
aa
[root@rhel ~]# cat file2
a
bb
//查看文件file1和file2的文件内容
[root@rhel ~]# comm file1 file2
a
aa
bb

【例5.19】 比较文件file1和file2,只显示文件file1和file2中相同行的数据内容。

[root@rhel ~]# comm -12 file1 file2
a
//file1和file2文件中相同行的数据内容是a

diff:逐行比较两个文本文件,列出其不同之处

逐行比较两个文本文件,列出其不同之处。它比comm命令能完成更复杂的检查,它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。
命令语法:

diff [选项] [文件1] [文件2]

【例5.20】 比较file1和file2文件,列出其不同之处。

[root@rhel ~]# cat file1
a
aa
[root@rhel ~]# cat file2
a
bb
//查看文件file1和file2的文件内容
[root@rhel ~]# diff file1 file2
2c2
< aa
---
> bb
//可以看到file1和file2文件的不同处是第二行的aa和bb

5.3文件和命令查找

grep:查找文件中符合条件的字符串查找文件内符合条件的字符串。
命令语法:

grep [选项] [查找模式] [文件名]

【例5.21】 在文件kkk中搜索匹配字符“test file”。

[root@rhel ~]# grep 'test file' kkk

【例5.22】 显示所有以d开头的文件中包含“test”的行数据内容。

[root@rhel ~]# grep 'test' d*

【例5.23】 在/root/aa文件中找出以b开头的行内容。

[root@rhel ~]#grep ^b /root/aa

【例5.24】在/root/aa文件中找出不是以b开头的行内容。

[root@rhel ~]# grep -v ^b /root/aa

【例5.25】在/root/kkk文件中找出以le结尾的行内容。

[root@rhel ~]# grep le$ /root/kkk

【例5.26】 查找sshd进程信息。

[root@rhel ~]# ps –ef|grep sshd

find:列出文件系统内符合条件的文件

将文件系统内符合条件的文件列出来,可以指定文件的名称、类别、时间、大小以及权限等不同信息的组合,只有完全相符的文件才会被列出来。
命令语法:

find [路径] [选项]

【例5.27】 查找/boot目录下的启动菜单配置文件grub.cfg。

[root@rhel ~]# find /boot -name grub.cfg

【例5.28】 查找/目录下所有以“.conf”为扩展名的文件。

[root@rhel ~]# find / -name '*.conf‘

【例5.29】 列出当前目录及其子目录下所有最近20天内更改过的文件。

[root@rhel ~]# find . -ctime -20

locate:在数据库中查找文件

使用locate命令可以通过数据库(/var/lib/mlocate/mlocate.db文件)来查找文件,这个数据库每天由cron程序来建立。当创建好这个数据库后,就可以方便地搜寻所需文件了,它比find命令的搜索速度还要快。

命令语法:

locate [选项][范本样式]

【例5.34】 查找httpd.conf文件。

[root@rhel ~]# locate httpd.conf

【例5.35】 显示找到几个httpd.conf文件 。

[root@rhel ~]# locate -c httpd.conf

5.4系统信息显示

uname:显示计算机及操作系统相关信息

显示计算机以及操作系统的相关信息,比如计算机硬件架构、内核发行号、操作系统名称、计算机主机名等。

命令语法:

uname [选项]

【例5.36】 显示操作系统的内核发行号。

[root@rhel ~]# uname -r
3.10.0-327.el7.x86_64

【例5.37】 显示计算机硬件架构名称。

[root@rhel ~]# uname -m
X86_64

【例5.38】 显示操作系统的全部信息。

[root@rhel ~]# uname -a
Linux rhel 3.10.0-327.el7.x86_64
#1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64
x86_64 GNU/Linux

hostname:显示或修改计算机主机名

显示或修改计算机的主机名。

命令语法:

hostname [选项] [主机名|-F <文件>] 设置主机名
hostname [选项] 显示格式化主机名

【例5.39】 显示当前计算机主机名。

[root@rhel ~]# hostname
rhel
//当前计算机主机名为rhel

【例5.40】 修改计算机主机名为LINUX。

[root@rhel ~]# hostname LINUX
[root@rhel ~]# hostname
LINUX
//当前计算机主机名已经更改为LINUX了

free:查看内存信息

显示系统的物理内存和swap的使用情况。

命令语法:

free [选项]

【例5.41】 查看系统的物理内存和交换分区使用情况。

[root@rhel ~]# free

【例5.42】 以MB为单位查看系统的物理内存和交换分区使用情况。

[root@rhel ~]# free -m

【例5.43】 显示系统的物理内存加上交换分区总的容量。

[root@rhel ~]# free -t

du:显示目录或文件的磁盘占用量

显示目录或文件的磁盘占用量。逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况。如果没有给出文件或目录名称,那么就对当前目录进行统计。

命令语法:

du [选项] [文件|目录]

【例5.44】 显示文件/etc/inittab的磁盘占用量。

[root@rhel ~]# du /etc/inittab

【例5.45】 显示/root目录磁盘占用量。

[root@rhel ~]# du –s /root

【例5.46】 以MB为单位显示/root目录磁盘占用量。

[root@rhel ~]# du –sh /root

5.5 日期和时间

cal:显示日历信息

显示计算机系统的日历。

命令语法:

cal [选项] [[[日] 月] 年]

【例5.47】 显示本月的月历。

[root@rhel ~]# cal

【例5.48】 显示公元2001年年历。

[root@rhel ~]# cal 2001

【例5.49】 显示公元2007年9月的月历。

[root@rhel ~]# cal 9 2007

【例5.50】 以星期一为每周的第一天的方式显示本月的日历。

[root@rhel ~]# cal -m

【例5.46】 以1月1日起的天数显示今年的年历。

[root@rhel ~]# cal -jy

date:显示和设置系统日期和时间

显示和设置计算机系统的日期和时间。只有超级用户才有权限使用date命令设置日期和时间,而一般用户只能使用date命令显示日期和时间。

命令语法:

date [选项] [显示时间格式](以+开头,后面接格式)

【例5.52】 显示当前计算机上的日期和时间。

[root@rhel ~]# date

【例5.53】 设置计算机日期和时间为2028年2月2日19点14分。

[root@rhel ~]# date 0202191428

【例5.54】 按照指定的格式显示计算机日期和时间。

[root@rhel ~]# date +'%r%a%d%h%y'

【例5.55】 设置计算机时间为上午9点16分。

[root@rhel ~]# date -s 09:16:00

【例5.56】 设置计算机时间为2024年4月14日。

[root@rhel ~]# date -s 240414

hwclock:查看和设置硬件时钟

查看和设置硬件时钟(RTC),可以显示现在时钟,调整硬件时钟,将系统时间设置成与硬件时钟一致,或是把系统时间回存到硬件时钟。

命令语法:

hwclock [选项]

【例5.57】 查看硬件时间。

[root@rhel ~]# hwclock

【例5.51】 以系统时间更新硬件时间。

[root@rhel ~]# hwclock -w

【例5.52】以硬件时间更新系统时间。

[root@rhel ~]# hwclock -s

5.6信息交流

echo:在显示器上显示文字

在计算机显示器上显示一段文字,一般起到一个提示的作用。字符串可以加引号,也可以不加引号。用echo命令输出加引号的字符串时,将字符串按原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分隔。

命令语法:

echo [选项] [字符串]

【例5.60】 将一段信息写到标准输出。

[root@rhel ~]# echo Hello Linux
Hello Linux

【例5.61】 将文本“Hello Linux”添加到新文件notes中。

[root@rhel ~]# echo Hello Linux > notes
[root@rhel ~]# cat notes
Hello Linux
//查看文件notes,可以看到文件中的内容为hello Linux

【例5.62】 显示$HOME变量的值。

[root@rhel ~]# echo $HOME
/root

mesg:允许或拒绝写消息

控制系统中的其它用户是否能够用 write 命令或 talk 命令向您发送消息。不带选项的
情况下,mesg 命令显示当前主机消息许可设置。

命令语法:

mesg [选项]

【例5.63】 显示当前的消息许可设置。

[root@rhel ~]# mesg
is y //允许本地网络上的所有主机发送消息到自己的主机

【例5.64】 只允许root用户发送消息到自己的主机。

[root@rhel ~]# mesg n
[root@rhel ~]# mesg
is n

wall:对全部已登录用户发送信息

对全部已登录的用户发送信息。

命令语法:

wall [消息]

【例5.66】 向所有用户发出“下班以后请关闭计算机。”的信息。

[root@rhel ~]# wall '下班以后请关闭计算机'
[root@rhel ~]#
Broadcast message from root@rhel (pts/1) (Sun Jun 3
05:38:14 2012):
下班以后请关闭计算机

write:向用户发送消息

向用户发送消息。

命令语法:

write [用户] [终端名称]

【例5.67】 在tty2终端上向tty3终端上的root用户发送信息。

[root@rhel ~]# write root tty3
hello //在tty2终端上输入要发送的信息,输入完毕,希望退出发送状态时,按组合键[Ctrl+c]即可
[root@rhel ~]#
Message from root@rhel on tty2 at 05:39 ...
hello
EOF //在终端tty3上,用户root会接收到以上信息,要结束时,按[Ctrl+c]组合键即可

5.7其他命令

clear:清除计算机屏幕信息

清除屏幕上的信息,该命令类似于Windows系统命令行中的cls命令。

命令语法:

clear

【例5.68】 清除计算机屏幕上显示的信息。

[root@rhel ~]# clear

uptime:显示系统已经运行的时间

显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

命令语法:

uptime [选项]

【例5.69】 显示系统运行时间。

[root@rhel ~]# uptime
上一篇:domain adaptation


下一篇:Linux文件目录类指令