书名:Linux常用命令自学手册
ISBN:978-7-115-62625-7
本书由人民邮电出版社发行数字版。版权所有,侵权必究。
您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
著 刘 遄
责任编辑 傅道坤
人民邮电出版社出版发行 北京市丰台区成寿寺路11号
邮编 100164 电子邮件 315@ptpress.com.cn
网址 http://www.ptpress.com.cn
读者服务热线:(010)81055410
反盗版热线:(010)81055315
本书根据www.linuxcool.com上的命令使用频率和读者反馈,精心挑选了200条最常用的Linux命令进行简要介绍,旨在帮助读者每天学习一条命令,持之以恒,稳扎稳打精通Linux系统的使用。本书中的命令涵盖了Linux中的文件管理、文档编辑、系统管理、磁盘管理、文件传输、网络通信、设备管理、压缩备份等诸多内容,同时还涵盖了一些杂项命令,并提供了一些扩展知识。
本书内容简洁、准确、实用,旨在成为读者的案头工具书,成为读者学习Linux系统的好帮手。本书可供Linux系统管理人员、Linux初学人员、Linux爱好者学习使用。
本书的准备工作最早可以追溯到2016年。当年在编写《Linux就该这么学》的过程中,我深深感受到了Linux命令的强大魅力——Linux的高效、便捷是远非图形化界面操作所能比拟的。但是苦于Linux中的命令数量众多,如果把每条命令的详细介绍都纳入《Linux就该这么学》,恐怕图书的篇幅和厚度能劝退好多人。于是,我注册了一个全新的网站linuxcool.com(取自谐音名“Linux库”),将日常用到的Linux命令收集、整理到该网站上。
到2018年时,随着《Linux就该这么学》的读者数量突破十万,社群用户量破百万,大家对该书配套资料的呼声也越来越高。我深刻认识到编写一本全面、实用、高品质的Linux命令手册的重要性。说干就干!我立即发动整个团队开展了相关的工作,整理、完善了1500条左右的Linux命令。
在2021年,由于众所周知的原因,我开始居家办公,因此有了更充裕的时间。在接下来的两年里,我和整个团队再一次对Linux命令进行了更为细致的汇总和整理,最终收集的Linux命令超过3000条,几乎覆盖了所有主流的Linux系统。
在2023年初,我们依据www.linuxcool.com网站的访问量及大量读者的反馈,精心挑选了200条常用的命令,最终形成本书,旨在帮助读者每天学好一条命令,稳扎稳打,持之以恒,最终精通Linux命令的使用。我们还针对这些命令词条,进行了多次精细化的修改、校对工作,确保了它们的准确性。我们所做的一切都是希望本书能够成为您案头必备的Linux工具书,成为您学习Linux系统的好帮手。
在此,也向团队中的成员由衷地表示感谢!他们是逄增宝、张宏宇、张振宇、王浩、郭建鹏、倪家兴、姜显赫、张雄、吴向平、冯瑞涛、王华超、吴康宁、杨斌斌、何云艳、王艳敏、向金平、姜传广、薛鹏旭、王婷。在我们共同的努力之下,Linux系统的自学门槛又一次得以降低。这是我们的骄傲!
最后,再叮嘱一句,由于各位读者使用的Linux系统不尽相同,它们可能存在诸多特性差异,由此会导致实际使用的命令参数与图书中的不一致,请各位读者务必以实际为准。
道阻且长,行则将至,加油!
本书提供如下资源:
● 额外165条Linux命令资源;
● 异步社区7天VIP会员。
要获得以上资源,您可以扫描下方二维码,根据指引领取。
作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。
当您发现错误时,请登录异步社区(https://www.epubit.com/),按书名搜索,进入本书页面,点击“发表勘误”,输入勘误信息,点击“提交勘误”按钮即可(见下图)。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。
我们的联系邮箱是fudaokun@ptpress.com.cn。
如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。
如果您有兴趣出版图书、录制教学视频,或者参与图书技术审校等工作,可以发邮件给我们。
如果您所在的学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。
如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。
“异步社区”(www.epubit.com)是由人民邮电出版社创办的IT专业图书社区,于2015年8月上线运营,致力于优质内容的出版和分享,为读者提供高品质的学习内容,为作译者提供专业的出版服务,实现作者与读者在线交流互动,以及传统出版与数字出版的融合发展。
“异步图书”是异步社区策划出版的精品IT图书的品牌,依托于人民邮电出版社在计算机图书领域30余年的发展与积淀。异步图书面向IT行业以及各行业使用IT技术的用户。
ls命令来自英文单词list的缩写,中文译为“列出”,其功能是显示目录中的文件及其属性信息,是最常使用的Linux命令之一。
默认不添加任何参数的情况下,ls命令会列出当前工作目录中的文件信息,常与cd或pwd命令搭配使用,十分方便。带上参数后,我们可以做更多的事情。作为最基础、最频繁使用的命令,有必要仔细了解其常用功能。
-a |
显示所有文件及目录 |
-r |
依据首字母将文件以相反次序显示 |
|
-A |
不显示当前目录和父目录 |
-R |
递归显示所有子文件 |
|
-d |
显示目录自身的属性信息 |
-S |
依据内容大小将文件排序显示 |
|
-i |
显示文件的inode属性信息 |
-t |
依据最后修改时间将文件排序显示 |
|
-l |
显示文件的详细属性信息 |
-X |
依据扩展名将文件排序显示 |
|
-m |
以逗号为间隔符,水平显示文件信息 |
-color |
以彩色显示信息 |
显示当前目录中的文件名(默认不含隐藏文件):
[root@linuxcool ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
显示当前目录中的文件名(含隐藏文件):
[root@linuxcool ~]# ls -a
. .bashrc Documents Music Videos
.. .cache Downloads Pictures .viminfo
anaconda-ks.cfg .config .esd_auth .pki
.bash_history .cshrc .ICEauthority Public
.bash_logout .dbus initial-setup-ks.cfg .tcshrc
.bash_profile Desktop .local Templates
以详细信息模式输出文件名及其属性信息:
[root@linuxcool ~]# ls -l
total 8
-rw-------. 1 root root 1430 Dec 14 08:05 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Desktop
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Documents
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Downloads
-rw-r--r--. 1 root root 1585 Dec 14 08:34 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Music
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Pictures
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Public
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Templates
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Videos
显示指定目录中的文件列表:
[root@linuxcool ~]# ls /etc
adjtime hosts pulse
aliases hosts.allow qemu-ga
alsa hosts.deny qemu-kvm
alternatives hp radvd.conf
anacrontab idmapd.conf ras
asound.conf init.d rc0.d
at.deny inittab rc1.d
………………省略部分输出信息………………
显示当前目录中的文件名及inode属性信息:
[root@linuxcool ~]# ls -i
35290115 anaconda-ks.cfg 35290137 initial-setup-ks.cfg 35290164 Templates
1137391 Desktop 17840039 Music 51609597 Videos
1137392 Documents 35290165 Pictures
17840038 Downloads 51609596 Public
结合通配符一起使用,显示指定目录中所有以sd开头的文件列表:
[root@linuxcool ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2
依据文件内容大小进行排序,显示指定目录中文件名及其属性详情信息:
[root@linuxcool ~]# ls -Sl /etc
total 1348
-rw-r--r--. 1 root root 692241 Sep 10 2023 services
-rw-r--r--. 1 root root 66482 Dec 14 08:34 ld.so.cache
-rw-r--r--. 1 root root 60352 May 11 2023 mime.types
-rw-r--r--. 1 root dnsmasq 26843 Aug 12 2023 dnsmasq.conf
-rw-r--r--. 1 root root 25696 Dec 12 2023 brltty.conf
-rw-r--r--. 1 root root 9450 Aug 12 2023 nanorc
-rw-r--r--. 1 root root 7265 Dec 14 08:03 kdump.conf
-rw-------. 1 tss tss 7046 Aug 13 2023 tcsd.conf
………………省略部分输出信息………………
cp命令来自英文单词copy的缩写,中文译为“复制”,其功能是复制文件或目录。cp命令能够将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记添加则会直接报错;-f参数则用于当目标文件已存在时会直接覆盖而不再询问。这两个参数尤为常用。
-a |
功能等价于pdr参数组合 |
-l |
对源文件建立硬链接,而非复制文件 |
|
-b |
覆盖目标文件前先进行备份 |
-p |
保留源文件或目录的所有属性信息 |
|
-d |
复制链接文件时,将目标文件也建立为链接文件 |
-r |
递归复制所有子文件 |
|
-f |
若目标文件已存在,则会直接覆盖 |
-s |
对源文件建立软链接,而非复制文件 |
|
-i |
若目标文件已存在,则会询问是否覆盖 |
-v |
显示执行过程详细信息 |
复制指定的源文件,并定义新文件的名称:
[root@linuxcool ~]# cp File1.cfg File2.cfg
复制指定的源目录,并定义新目录的名称:
[root@linuxcool ~]# cp -r Dir1 Dir2
复制文件时,保留其原始权限及用户归属信息:
[root@linuxcool ~]# cp -a File1.cfg File2.cfg
将指定文件复制到/etc目录中,并覆盖已有文件,不进行询问:
[root@linuxcool ~]# cp -f File1.cfg /etc
将多个文件一同复制到/etc目录中,如已有目标文件名称则默认询问是否覆盖:
[root@linuxcool ~]# cp File1.cfg File2.cfg /etc
cp: overwrite '/etc/File1.cfg'? y
grep命令来自英文词组global search regular expression and print out the line的缩写,意思是用于全面搜索的正则表达式,并将结果输出。人们通常会将grep命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,命令模式十分灵活。
与之容易混淆的是egrep命令和fgrep命令。如果把grep命令当作标准搜索命令,那么egrep则是扩展搜索命令,等价于grep -E命令,支持扩展的正则表达式。而fgrep则是快速搜索命令,等价于grep -F命令,不支持正则表达式,直接按照字符串内容进行匹配。
-b |
显示匹配行距文件头部的偏移量 |
-o |
显示匹配词距文件头部的偏移量 |
|
-c |
只显示匹配的行数 |
-q |
静默执行模式 |
|
-E |
支持扩展正则表达式 |
-r |
递归搜索模式 |
|
-F |
匹配固定字符串的内容 |
-s |
不显示没有匹配文本的错误信息 |
|
-h |
搜索多文件时不显示文件名 |
-v |
显示不包含匹配文本的所有行 |
|
-i |
忽略关键词大小写 |
-w |
精准匹配整词 |
|
-l |
只显示符合匹配条件的文件名 |
-x |
精准匹配整行 |
|
-n |
显示所有匹配行及其行号 |
搜索指定文件中包含某个关键词的内容行:
[root@linuxcool ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
搜索指定文件中以某个关键词开头的内容行:
[root@linuxcool ~]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash
搜索多个文件中包含某个关键词的内容行:
[root@linuxcool ~]# grep linuxprobe /etc/passwd /etc/shadow
/etc/passwd:linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash
/etc/shadow:linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::
搜索多个文件中包含某个关键词的内容,不显示文件名称:
[root@linuxcool ~]# grep -h linuxprobe /etc/passwd /etc/shadow
linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash
linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::
显示指定文件中包含某个关键词的行数量:
[root@linuxcool ~]# grep -c root /etc/passwd /etc/shadow
/etc/passwd:2
/etc/shadow:1
搜索指定文件中包含某个关键词位置的行号及内容行:
[root@linuxcool ~]# grep -n network anaconda-ks.cfg
17:network --bootproto=static --device=ens160 --ip=192.168.10.10 --netmask=255.255.255.0 --onboot=off --ipv6=auto --activate
18:network --hostname=www.linuxcool.com
搜索指定文件中不包含某个关键词的内容行:
[root@linuxcool ~]# grep -v nologin /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash
搜索当前工作目录中包含某个关键词内容的文件,未找到则提示:
[root@linuxcool ~]# grep -l root *
anaconda-ks.cfg
grep: Desktop: Is a directory
grep: Documents: Is a directory
grep: Downloads: Is a directory
initial-setup-ks.cfg
grep: Music: Is a directory
grep: Pictures: Is a directory
grep: Public: Is a directory
grep: Templates: Is a directory
grep: Videos: Is a directory
搜索当前工作目录中包含某个关键词内容的文件,未找到也不提示:
[root@linuxcool ~]# grep -sl root *
anaconda-ks.cfg
initial-setup-ks.cfg
sed命令来自英文词组stream editor的缩写,其功能是利用语法/脚本对文本文件进行批量的编辑操作。sed命令最初由贝尔实验室开发,后被众多Linux系统集成,能够通过正则表达式对文件进行批量编辑,让重复性的工作不再浪费时间。
-e |
使用指定脚本处理输入的文本文件 |
-n |
仅显示脚本处理后的结果 |
|
-f |
使用指定脚本文件处理输入的文本文件 |
-r |
支持扩展正则表达式 |
|
-h |
显示帮助信息 |
-V |
显示版本信息 |
|
-i |
直接修改文件内容,而不输出到终端 |
查找指定文件中带有某个关键词的行:
[root@linuxcool ~]# cat -n File.cfg | sed -n '/root/p'
20 rootpw --iscrypted $6$c2VGkv/8C3IEwtRt$iPEjNXml6v5KEmcM9okIT.Op9/LEpFejqR. kmQWAVX7fla3roq.3MMVKDahnv0l/pONz2WMNecy17WJ8Ib0iO1
40 pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
将指定文件中某个关键词替换成大写形式:
[root@linuxcool ~]# sed 's/root/ROOT/g' File.cfg
………………省略输出信息………………
读取指定文件,删除所有带有某个关键词的行:
[root@linuxcool ~]# sed '/root/d' File.cfg
………………省略输出信息………………
读取指定文件,在第4行后插入一行新内容:
[root@linuxcool ~]# sed -e 4a\NewLine File.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
NewLine
………………省略部分输出信息………………
读取指定文件,在第4行后插入多行新内容:
[root@linuxcool ~]# cat File.cfg | sed -e '4a NewLine1 \
> NewLine2 \
> NewLine3 '
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
NewLine1
NewLine2
NewLine3
clearpart --none --initlabel
# Use graphical install
graphical
………………省略部分输出信息………………
读取指定文件,删除第2~5行的内容:
[root@linuxcool ~]# cat -n /etc/passwd | sed '2,5d'
1 root:x:0:0:root:/root:/bin/bash
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
………………省略部分输出信息………………
读取指定文件,替换第2~5行的内容:
[root@linuxcool ~]# sed '2,5c NewSentence' File.cfg
#version=RHEL8
NewSentence
# Use graphical install
graphical
repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
# Use CDROM installation media
cdrom
………………省略部分输出信息………………
读取指定文件的第3~7行:
[root@linuxcool ~]# sed -n '3,7p' File.cfg
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
# Use graphical install
graphical
awk命令来自三位创始人Alfred Aho、Peter Weinberger、Brian Kernighan的姓氏缩写,其功能是对文本和数据进行处理。使用awk命令可以让用户自定义函数或正则表达式,对文本内容进行高效管理,awk与sed、grep并称为Linux系统中的“文本三剑客”。
-c |
使用兼容模式 |
-h |
显示帮助信息 |
|
-C |
显示版权信息 |
-m |
对指定值进行限制 |
|
-e |
指定源码文件 |
-n |
识别输入数据中的八进制和十六进制数 |
|
-f |
从脚本中读取awk命令 |
-O |
启用程序优化 |
|
-F |
设置输入时的字段分隔符 |
-v |
定义一个变量并赋值 |
|
-v |
自定义变量信息 |
-V |
显示版本信息 |
ARGC |
命令行参数个数 |
NF |
浏览记录域的个数 |
|
ARGV |
命令行参数排列 |
NR |
已读的记录数 |
|
ENVIRON |
支持在队列中使用系统环境变量 |
OFS |
输出域分隔符 |
|
FILENAME |
awk浏览的文件名 |
ORS |
输出记录分隔符 |
|
FNR |
浏览文件的记录数 |
RS |
控制记录分隔符 |
|
FS |
设置输入域分隔符 |
仅显示指定文件中第1、2列的内容(默认以空格为间隔符):
[root@linuxcool ~]# awk '{print $1,$2}' File.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition
clearpart --none
………………省略部分输出信息………………
以冒号为间隔符,仅显示指定文件中第1列的内容:
[root@linuxcool ~]# awk -F : '{print $1}' /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
………………省略部分输出信息………………
以冒号为间隔符,显示系统中所有UID号码大于500的用户信息(第3列):
[root@linuxcool ~]# awk -F : '$3>=500' /etc/passwd
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin
………………省略部分输出信息………………
仅显示指定文件中含有指定关键词root的内容:
[root@linuxcool ~]# awk '/root/{print}' File.cfg
rootpw --iscrypted $6$n9sZuTcY8Yzk4l.Q$LsuMNAROewyx.LomDtPpL9iJIOD3tsRThnzsAGE0hZX LMtdVCHVQ3pxzm3El8K2kuhcYLXJnhz.xUDGiE27s/1
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
以冒号为间隔符,仅显示指定文件中最后一个字段的内容:
[root@linuxcool ~]# awk -F : '{print $NF}'
/etc/passwd
/bin/bash
/sbin/nologin /sbin/nologin
/sbin/nologin
/sbin/nologin
/bin/sync
………………省略部分输出信息………………
mkdir命令来自英文词组make directories的缩写,其功能是创建目录文件。该命令的使用简单,但需要注意,若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。若目录不存在,但具有嵌套的依赖关系时,例如/Dir1/Dir2/Dir3/Dir4/Dir5,要想一次性创建则需要加入-p参数,进行递归操作。
-m |
创建目录的同时设置权限 |
-v |
显示执行过程详细信息 |
|
-p |
递归创建多级目录 |
-z |
设置目录安全上下文 |
建立一个目录文件:
[root@linuxcool ~]# mkdir Dir1
创建一个目录文件并设置700权限,不让除所有主以外的任何人读、写、执行它:
[root@linuxcool ~]# mkdir -m 700 Dir2
一次性创建多个目录文件:
[root@linuxcool ~]# mkdir Dir3 Dir4 Dir5
在系统根目录中,一次性创建多个有嵌套关系的目录文件:
[root@linuxcool ~]# mkdir -p /Dir1/Dir2/Dir3/Dir4/Dir5
cat命令来自英文词组concatenate files and print的缩写,其功能是在终端设备上显示文件内容。在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head等,每个命令都有各自的特点。cat命令适合查看内容较少的纯文本文件。 对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,用户往往看不清所显示的具体内容,只好按Ctrl+C组合键中断命令执行,所以对于大文件,干脆用more命令显示吧。
-A |
等价于-vET参数组合 |
-t |
等价于-vT参数组合 |
|
-b |
显示行数(空行不编号) |
-T |
将TAB字符显示为^I符号 |
|
-e |
等价于-vE参数组合 |
-v |
使用^和M-引用,LFD和TAB除外 |
|
-E |
每行结束处显示$符号 |
--help |
显示帮助信息 |
|
-n |
显示行数(空行也编号) |
--version |
显示版本信息 |
|
-s |
显示行数(多个空行算一个编号) |
查看指定文件的内容:
[root@linuxcool ~]# cat anaconda-ks.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
………………省略部分输出信息………………
查看指定文件的内容并显示行号:
[root@linuxcool ~]# cat -n anaconda-ks.cfg
1 #version=RHEL8
2 ignoredisk --only-use=sda
3 autopart --type=lvm
4 # Partition clearing information
5 clearpart --none --initlabel
6 # Use graphical install
………省略部分输出信息………
搭配空设备文件和输出重定向操作符,清空指定文件的内容:
[root@linuxcool ~]# cat /dev/null > anaconda-ks.cfg
[root@linuxcool ~]# cat anaconda-ks.cfg
[root@linuxcool ~]#
持续写入文件内容,直到碰到EOF终止符后结束并保存:
[root@linuxcool ~]# cat > anaconda-ks.cfg << EOF
> Hello,World
> Linux!~
> EOF
[root@linuxcool ~]# cat anaconda-ks.cfg
Hello,World
Linux!~
搭配输出重定向操作符,将光盘设备制作成镜像文件:
[root@linuxcool ~]# cat /dev/cdrom > rhel.iso
[root@linuxcool ~]# ls rhel.iso -lh
-rw-r--r--. 1 root root 6.7G May 2 00:43 rhel.iso
[root@linuxcool ~]# file rhel.iso
rhel.iso: DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 23128, 19888 sectors
more命令的功能是分页显示文本文件的内容。如果文本文件中的内容较多较长,使用cat命令读取后则很难看清,这时使用more命令进行分页查看就比较合适了,该命令可以把文本内容一页一页地显示在终端界面上,用户每按一次Enter键即向下一行,每按一次空格键即向下一页,直至看完为止。
-c |
不滚屏,先显示内容再清除旧内容 |
-s |
将多个空行压缩成一行显示 |
|
-d |
显示提醒信息,关闭响铃功能 |
-u |
禁止下划线 |
|
-f |
统计实际的行数,而非自动换行的行数 |
-数字 |
设置每屏显示的最大行数 |
|
-l |
将“^L”当作普通字符处理,而不暂停输出信息 |
+数字 |
设置从指定的行开始显示内容 |
|
-p |
先清除屏幕再显示文本文件的剩余内容 |
+/关键词 |
从指定关键词开始显示文件内容 |
分页显示指定的文本文件内容:
[root@linuxcool ~]# more File.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
# Use graphical install graphical
# Use CDROM installation media
cdrom
………………省略部分输出信息………………
先进行清屏操作,随后以每次10行内容的格式显示指定的文本文件内容:
[root@linuxcool ~]# more -c -10 File.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
# Use graphical install
graphical repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
# Use CDROM installation media
cdrom
--More--(20%)
分页显示指定的文本文件内容,若遇到连续两行及以上空白行的情况,则以一行空白行显示:
[root@linuxcool ~]# more -s File.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
# Use graphical install graphical
# Use CDROM installation media
cdrom
………………省略输出信息………………
从第10行开始,分页显示指定的文本文件内容:
[root@linuxcool ~]# more +10 File.cfg
cdrom
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# Network information
network --bootproto=static --device=ens160 --ip=192.168.10.10 --netmask=255.255.255.0 --onboot=off --ipv6=auto --activate
network --hostname=linuxcool.com
# Root password
………………省略部分输出信息………………
less命令的功能是分页显示文件内容。Less命令分页显示的功能与more命令很相像,但more命令只能从前向后浏览文件内容,而less命令不仅能从前向后浏览(按PageDown键),还可以从后向前浏览(按PageUp键),更加灵活。
-b |
设置缓冲区大小 |
-Q |
不使用警告音 |
|
-e |
当文件显示结束后自动退出 |
-r |
显示原始字符 |
|
-f |
强制打开文件 |
-s |
将连续多个空行视为一行 |
|
-g |
仅标识最后搜索的关键词 |
-S |
在每行显示较多的内容,而不换行 |
|
-i |
忽略搜索时的大小写 |
-V |
显示版本信息 |
|
-K |
收到中断字符时,立即退出 |
-x |
将Tab字符显示为指定个数的空格字符 |
|
-m |
显示阅读进度百分比 |
-y |
设置向前滚动的最大行数 |
|
-N |
显示文件内容时带行号 |
--help |
显示帮助信息 |
|
-o |
将要输出的内容写入指定文件 |
分页查看指定文件的内容:
[root@linuxcool ~]# less File.cfg
分页查看指定文件的内容及行号:
[root@linuxcool ~]# less -N File.cfg
分页显示指定命令的输出结果:
[root@linuxcool ~]# history | less