Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的,它是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
一、文件管理
cat:用于连接文件并打印到标准输出设备上。
chattr:用于改变文件属性,文件属性有8中模式:
- a:让文件或目录仅供附加用途。
- b:不更新文件或目录的最后存取时间。
- c:将文件或目录压缩后存放。
- d:将文件或目录排除在倾倒操作之外。
- i:不得任意更动文件或目录。
- s:保密性删除文件或目录。
- S:即时更新文件或目录。
- u:预防意外删除。
chgrp:用于变更文件或目录的所属群组。
- 在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。
chmod:用于控制文件如何被他人所调用。
- Linux/Unix的文件调用权限分为三级:
文件拥有者
、群组
、其他
。
- Linux/Unix的文件调用权限分为三级:
chown:用于将指定文件的拥有者改为指定的用户或组。
- Linux/Unix是多人多工操作系统,所有的文件皆有拥有者。
- 用户可以是用户名或者用户ID,组可以是组名或者组ID。
cksum:用于检查文件的CRC是否正确,确保文件从一个系统传输到另一个系统的过程中不被损坏。
- CRC是一种排错检查方式,该校验法的标准由CCITT所指定,至少可检测到
99.998%
的已知错误。 - 指定文件交由指令
cksum
进行校验后,该指令会返回校验结果供用户核对文件是否正确无误。 - 若不指定任何文件名称或是所给予的文件名为
-
,则指令cksum
会从标准输入设备中读取数据。
- CRC是一种排错检查方式,该校验法的标准由CCITT所指定,至少可检测到
cmp:用于比较两个文件是否有差异。
- 当相互比较的两个文件完全一样时,则该指令不会显示任何信息。
- 若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。
- 若不指定任何文件名称或是所给予的文件名为
-
,则cmp指令会从标准输入设备读取数据。
diff:用于比较文件的差异。
- 以逐行的方式比较文本文件的异同处。
- 如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
diffstat:用于根据diff的比较结果,显示统计数字。
- 读取diff的输出结果,然后统计各文件的插入,删除,修改等差异计量。
file:用于辨识文件类型。
find:用于在指定目录下查找文件。
- 任何位于参数之前的字符串都将被视为欲查找的目录名。
- 如果使用该命令时不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。
indent:用于调整C原始代码文件的格式。
- indent可辨识C的原始代码文件并加以格式化以方便程序员阅读。
cut:用于显示每行从开头算起
num1
到num2
的文字。cut -b 2,3 123.txt
ln:为某一个文件在另外一个位置建立一个同步的链接。
- 不占用磁盘空间。
more:类似cat,输出内容以一页一页的形式显示。
less:与more类似,但它可以随意浏览文件。
- more仅能向前移动,却不能向后移动。
- less在查看之前不会加载整个文件。
locate:用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
- 一般情况我们只需要输入
locate your_file_name
即可查找指定文件。
- 一般情况我们只需要输入
slocate:命令查找文件或目录。
- slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。
updatedb:用来创建或更新 slocate/locate 命令所必需的数据库文件。
- updatedb 命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入 slocate/locate 数据库文件中。
- slocate 本身具有一个数据库,里面存放了系统中文件与目录的相关信息。
which:用于查找文件。
- 在环境变量$PATH设置的目录里查找符合条件的文件。
whereis:用于查找文件。
- 只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
lsattr:用于显示文件属性。
mc:用于提供一个菜单式的文件管理程序。
mktemp:用于建立暂存文件。
- 建立的一个暂存文件,供shell script使用。
tmpwatch:用于删除暂存文件。
- 可以设置文件超期时间,单位以小时计算。
mv:用于为文件或目录改名、或将文件或目录移入其它位置。
od:用于输出文件内容。
- 读取并将内容以八进制字码呈现出来。
paste:用于合并文件的列。
- 把每个文件以列对列的方式,一列列地加以合并。
patch:用于修补文件。
- patch指令让用户利用设置修补文件的方式,修改,更新原始文件。
- 倘若一次仅修改一个文件,可直接在指令列中下达指令依序执行。
- 如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。
rm:用于删除一个文件或者目录。
split:用于将一个文件分割成数个。
- 将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。
tee:用于读取标准输入的数据,并将其内容输出成文件。
touch:用于修改文件或者目录的时间属性,包括存取时间和更改时间。
- 若文件不存在,系统会建立一个新的文件。
umask:指定在建立文件时预设的权限掩码。
- 权限掩码是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
rhmask:用于对文件进行加密和解密操作。
cp:用于复制文件或目录。
rcp:用于复制远程文件或目录。
- 如果同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。
scp:用于 Linux 之间复制文件和目录。
- 为
secure copy
的缩写,scp
是linux
系统下基于ssh
登陆进行安全的远程文件拷贝命令。 scp
是加密的,rcp
是不加密的,scp
是rcp
的加强版。
- 为
awk:一种处理文本文件的语言,是一个强大的文本分析工具。
read:用于从标准输入读取数值。
- read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。
mattrib:用于变更或显示
MS-DOS
文件的属性。- mtools工具指令,模拟
MS-DOS
的attrib指令,可变更MS-DOS
文件的属性。
- mtools工具指令,模拟
mdir:用于显示
MS-DOS
目录。mdel:用于删除
MS-DOS
格式的档案。- 在删除只读之前会有提示信息产生。
mmove:用于在
MS-DOS
文件系统中,移动文件或目录,或更改名称。mread:用于将
MS-DOS
文件复制到Linux/Unix的目录中。mren:用于更改
MS-DOS
文件或目录的名称,或是移动文件或目录。mtools:令用于显示mtools支持的指令。
mtoolstest:用于测试并显示mtools的相关设置。
mcopy:用于复制
MS-DOS
格式文件到Linux中,或是由Linux
中复制MS-DOS
文件到磁片上。mshowfat:用于显示MS-DOS文件在FAT中的记录。
二、文档编辑
col:用于过滤控制字符。
colrm:用于滤掉指定的行。
- 从标准输入设备读取书记,转而输出到标准输出设备。
- 如果不加任何参数,则该指令不会过滤任何一行。
comm:用于比较两个已排过序的文件。
- 一列列地比较两个已排序文件的差异,并将其结果显示出来。
- 如果没有指定任何参数,则会把结果分成3列显示:
- 第1列仅是在第1个文件中出现过的列
- 第2列是仅在第2个文件中出现过的列
- 第3列则是在第1与第2个文件里都出现过的列
- 若给予的文件名称为
-
,则comm
指令会从标准输入设备读取数据。
csplit:用于分割文件。
- 将文件依照指定的范本样式予以切割后,分别保存成名称为
xx00,xx01,xx02...
的文件。 - 若给予的文件名称为
-
,则csplit
指令会从标准输入设备读取数据。
- 将文件依照指定的范本样式予以切割后,分别保存成名称为
ed:用于文本编辑。
- ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。
- ed命令并不是一个常用的命令,一般使用比较多的是vi 指令。
- 但ed文本编辑器对于编辑大文件或对于在shell脚本程序中进行文本编辑很有用。
sed:用于利用脚本来处理文本文件。
- sed 可依照脚本的指令来处理、编辑文本文件。
- sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
grep:用于查找文件里符合条件的字符串。
- 如果发现某文件的内容符合所指定的范本样式,预设
grep
指令会把含有范本样式的那一列显示出来。 - 若不指定任何文件名称,或是所给予的文件名为
-
,则grep
指令会从标准输入设备读取数据。
- 如果发现某文件的内容符合所指定的范本样式,预设
fgrep:用于查找文件里符合条件的字符串,相当于执行grep指令加上参数”-F”。
egrep:用于在文件内查找指定的字符串,与
grep -E
相似。- egrep是用extended regular expression语法来解读的,而grep则用basic regular expression 语法解读。
- egrep比grep表达式更规范
rgrep:用于递归查找文件里符合条件的字符串。
- rgrep指令的功能和grep指令类似,可查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设rgrep指令会把含有范本样式的那一列显示出来。
ex:用于在Ex模式下启动vim文本编辑器。
- ex执行效果如同
vi -E
,使用语法及参数可参照vi指令,如要从Ex模式回到普通模式,则在vim中输入:vi
或:visual
指令即可。
- ex执行效果如同
fmt:用于编排文本文件。
- 从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。
- 若指定的文件名为
-
,则fmt指令会从标准输入设备读取数据。
fold:用于限制文件列宽。
- 从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出设备。
- 若不指定任何文件名称,或是所给予的文件名为
-
,则fold指令会从标准输入设备读取数据。
ispell:用于拼写检查程序。
- ispell预设会使用/usr/lib/ispell/english.hash字典文件来检查文本文件。
- 若在检查的文件中找到字典没有的词汇,ispell会建议使用的词汇,或是让你将新的词汇加入个人字典。
spell:用于建立拼写检查程序。
- spell可从标准输入设备读取字符串,结束后显示拼错的词汇。
jed:用于编辑文本文件。
- Jed是以Slang所写成的程序,适合用来编辑程序原始代码。
joe:用于编辑文本文件。
- Joe是一个功能强大的全屏幕文本编辑程序,操作的复杂度要比Pico高一点,但是功能较为齐全。
- Joe一次可开启多个文件,每个文件各放在一个编辑区内,并可在文件之间执行剪贴的动作。
join:用于将两个文件中,指定栏位内容相同的行连接起来。
- 找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。
look:用于查询单词。
- look指令用于英文单字的查询,只需给予它欲查询的字首字符串,它会显示所有开头字符串符合该条件的单字。
mtype:mtype为mtools工具指令,模拟MS-DOS的type指令,可显示MS-DOS文件的内容。
pico:用于编辑文字文件。
- pico是个简单易用、以显示导向为主的文字编辑程序,它伴随着处理电子邮件和新闻组的程序pine而来。
sort:用于将文本文件内容加以排序。
- sort可针对文本文件的内容,以行为单位来排序。
uniq:用于检查及删除文本文件中重复出现的行列,一般与
sort
命令结合使用。- 检查文本文件中重复出现的行列。
tr:用于转换或删除文件中的字符。
- tr指令从标准输入设备读取数据,经过字符串转译后将结果输出到标准输出设备。
expr:一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。
wc:用于计算字数。
- 利用wc指令可以计算文件的Byte数、字数、或是列数。
- 若不指定文件名称或是所给予的文件名为
-
,则wc指令会从标准输入设备读取数据。
let:BASH中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上
$
来表示变量。- 如果表达式中包含了空格或其他特殊字符,则必须引起来。
三、文件传输
lprm:用于将一个工作由打印机贮列中移除。
- 尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将常未送到打印机的工作取消。
- 由于每一个打印机都有一个独立的贮列,可以用
-P
这个命令设定想要作用的印列机。 - 如果没有设定的话,会使用系统预设的打印机。
- 这个命令会检查使用者是否有足够的权限删除指定的档案,一般而言只有档案的拥有者或是系统管理员才有这个权限。
lpr:用于将一个或多个文件放入打印队列等待打印。
- lpr可以用来将料资送给本地或是远端的主机来处理。
lpq:用于查看一个打印队列的状态,该程序可以查看打印机队列状态及其所包含的打印任务。
lpd:一个常驻的打印机管理程序,它会根据
/etc/printcap
的内容来管理本地或远端的打印机。/etc/printcap
中定义的每一个打印机必须在/var/lpd
中有一个相对应的目录,目录中以cf
开头的档案表示一个等待送到适当装置的印表工作,这个档案通常是由lpr
所产生。lpr
和lpd
组成了一个可以离线工作的系统,当使用lpr
时,打印机不需要能立即可用,甚至不用存在。lpd
会自动监视打印机的状况,当打印机上线后便立即将档案送交处理,这个得所有的应用程序不必等待打印机完成前一工作。
bye:用于中断FTP连线并结束程序。
- 在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行。
ftp:用于设置文件系统相关功能。
- ftp是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。
tftp:用于传输文件。
- ftp让用户得以下载存放于远端主机的文件,也能将文件上传到远端主机放置。
- tftp是简单的文字模式ftp程序,它所使用的指令和ftp类似。
ncftp:用于传输文件。
- ftp让用户得以下载存放于服务器主机的文件,也能将文件上传到远端主机放置。
- ncftp是文字模式ftp程序的佼佼者,它具备多样特色,包括显示传输速率/下载进度/自动续传/标住书签,可通过防火墙和代理服务器等。
- 当不指定用户名时,ncftp 命令会自动尝试使用匿名账户anonymous去连接远程FTP服务器,不需要用户输入账号和密码。
uuto:用于将文件传送到远端的UUCP主机。
- uuto为script文件,它实际上会执行uucp,用来将文件传送到远端UUCP主机,并在完成工作后以邮件通知远端主机上的用户。
uupick:用于处理传送进来的文件。
- 当其他主机通过UUCP将文件传送进来时,可利用uupick指令取出这些文件。
uucp:用于在Unix系统之间传送文件。
- uucp为Unix系统之间,通过序列线来连线的协议。
- uucp使用UUCP协议,主要的功能为传送文件。
uucico:命令UUCP文件传输服务程序。
- uucico是用来处理uucp或uux送到队列的文件传输工具。
- uucico有两种工作模式:主动模式和附属模式。
- 当在主动模式下时,uucico会调用远端主机。
- 在附属模式下时,uucico则接受远端主机的调用。
ftpshut:用于在指定的时间关闭FTP服务器。
- 本指令提供系统管理者在设置的时间关闭FTP服务器,且能在关闭之前发出警告信息通知用户。
- 关闭时间若设置后为”none”,则会马上关闭服务器。
- 如果采用”+30”的方式来设置表示服务器在30分钟之后关闭。
- 依次类推,假设使用”1130”的格式则代表服务器会在每日的11时30分关闭,时间格式为24小时制。
- FTP服务器关闭后,在
/etc
目录下会产生一个名称为shutmsg的文件,把它删除后即可再度启动FTP服务器的功能。
ftpwho:用于显示目前所有以FTP登入的用户信息。
- 执行这项指令可得知目前用FTP登入系统的用户有那些人,以及他们正在进行的操作。
ftpcount:用于显示目前以FTP登入的用户人数。
- 执行这项指令可得知目前用FTP登入系统的人数以及FTP登入人数的上限。
四、磁盘管理
cd:用于切换当前工作目录至指定目录。
- 指定目录可为绝对路径或相对路径。
- 若目录名称省略,则切换至使用者的
home
目录。 ~
也表示为home目录,.
表示目前所在的目录,..
表示目前目录位置的上一层目录。
df:用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
dirs:用于显示目录记录(目录堆叠中的记录)。
du:用于显示目录或文件的大小。
- ncdu
edquota:用于编辑用户或群组的磁盘配额。
- edquota默认会使用vi来编辑使用者或群组的磁盘配额设置。
eject:用于退出抽取式设备。
- 若设备已挂入,则eject会先将该设备卸除再退出。
mkdir:用于创建指定目录。
mlabel:用于设定磁盘的标签(Label)。
- 如果磁盘上设定过标签,mlabel会将他显示给使用者。
- 如果没有指定新标签并且没有指定c或s选项,mlabel会提示使用者输入新的标签。
- 如果直接按下Enter,就会将原本的标签删除。
mmd:用于在MS-DOS文件系统中建立目录。
mrd:用于删除MS-DOS文件系统中的目录。
mcd:mtools工具指令,可在MS-DOS文件系统中切换工作目录。
- 若不加任何参数,则显示目前所在的磁盘与工作目录。
mdeltree:用于删除
MS-DOS
格式档案及目录。- mdeltree 会将所指定的目录与目录之下的所有档案与目录都删除掉。
- 如果所指定的档案或目录不存在,则会传回错误讯息。
mdu:用于显示MS-DOS目录所占用的磁盘空间。
mmount:用于挂入MS-DOS文件系统。
mzip:Zip/Jaz磁盘驱动器控制指令。
- mtools工具指令,可设置Zip或Jaz磁盘驱动区的保护模式以及执行退出磁盘的动作。
pwd:用于显示工作目录。
- 执行pwd指令可获取当前工作目录的绝对路径名称。
quota:用于显示磁盘已使用的空间与限制。
- 执行quota指令,可查询磁盘空间的限制,并得知已使用多少空间。
mount:用于挂载Linux系统外的文件。
rmdir:用于删除空的目录。
rmt:用于通过进程间通信远程控制磁带机。
- 通过rmt指令,用户可通过IPC连线,远端操控磁带机的倾倒和还原操作。
stat:用于显示inode内容。
- 以文字的格式来显示inode的内容。
tree:用于以树状图列出目录的内容。
- tree会列出指定目录下的所有文件,包括子目录里的文件。
umount:用于卸除文件系统。
ls:用于显示指定工作目录下之内容(文件和子目录)。
quotacheck:用于检查磁盘的使用空间与限制。
- quotacheck会扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制。
quotaoff:关闭磁盘空间限制。
- quotaoff可关闭用户和群组的磁盘空间限制。
lndir:用于连接目录内容。
- lndir可一次性的把源目录底下的文件和子目录统统建立起相互对应的符号连接。
repquota:用于检查磁盘空间限制的状态。
- 可报告磁盘空间限制的状况,清楚得知每位用户或每个群组已使用多少空间。
quotaon:用于开启磁盘空间限制。
- 开启用户和群组的才磅秒年空间限制,各分区的文件系统根目录必须有quota.user和quota.group配置文件。
五、磁盘维护
badblocks:用于检查磁盘装置中损坏的区块。
- 执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。
cfdisk:用于磁盘分区。
- 十分类似DOS的fdisk,具有互动式操作界面而非传统fdisk的问答式界面,可以轻易地利用方向键来操控分区操作。
dd:用于读取、转换并输出数据。
- 从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
e2fsck:用于检查使用 Linux ext2 档案系统的 partition 是否正常工作。
ext2ed:ext2文件系统编辑程序。
- ext2ed可直接处理硬盘分区上的数据,该指令只有
Red Hat Linux
提供。
- ext2ed可直接处理硬盘分区上的数据,该指令只有
fsck:用于检查与修复Linux档案系统,可以同时检查一个或多个Linux档案系统。
fsck.minix:用于检查文件系统并尝试修复错误。
- 当minix文件系统发生错误时,可用fsck.minix指令尝试加以参考。
fsconf:用于设置文件系统相关功能。
- fsconf是Red Hat Linux发行版专门用来调整Linux各项设置的程序。
fdformat:用于对指定的软碟机装置进行低阶格式化。
hdparm:用于显示与设定硬盘的参数。
- hdparm可检测显示与设定IDE或SCSI硬盘的参数。
mformat:用于对MS-DOS文件系统的磁盘进行格式化。
mpartition:用于建立或删除MS-DOS的分区。
mbadblocks:用于检查MS-DOS文件系统的磁盘是否有损坏的磁区。
mkbootdisk:用于建立目前系统的启动盘。
mkdosfs:用于建立DOS文件系统,也可用mkfs.msdos。
- device指你想要建立DOS档案系统的装置代号,像是/dev/hda1等等。
- block_coun则是你希望配置的区块数。
- 如果block_count没有指定则系统会自动替你计算符合该装置大小的区块数。
mke2fs:用于建立ext2文件系统,也可用mkfs.ext2。
mkinitrd:用于建立要载入ramdisk的映像文件。
mkisofs:用于建立ISO 9660映像文件。
- 将指定的目录与文件做成
ISO 9660
格式的映像文件,以供刻录光盘。
- 将指定的目录与文件做成
mkswap:用于设置交换区(swap area)。
swapon:用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。
symlinks:用于维护符号连接的工具程序。
sync:用于数据同步,sync命令是在关闭Linux系统时使用的。
mkfs.minix:用于建立Minix文件系统。
fsck.ext2:用于检查文件系统并尝试修复错误。
fdisk:用于创建和维护分区表。
- 兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。
losetup:用于设置循环设备。
mkfs:用于在特定的分区上建立 linux 文件系统
sfdisk:硬盘分区工具程序,可显示分区的设置信息,并检查分区是否正常。
swapoff:用于关闭系统交换区(swap area)。
六、网络通讯
apachectl:用于控制Apache HTTP服务器的程序。
- apachectl是slackware内附Apache HTTP服务器的script文件,可供管理员控制服务器,但在其他Linux的Apache HTTP服务器不一定有这个文件。
arpwatch:用于监听网络上ARP的记录。
- ARP(Address Resolution Protocol)是用来解析IP与网络装置硬件地址的协议。
- arpwatch可监听区域网络中的ARP数据包并记录,同时将监听到的变化通过E-mail来报告。
dip:用于IP拨号连接。
- dip可控制调制解调器,以拨号IP的方式建立对外的双向连接。
getty:用于设置终端机模式,连线速率和管制线路。
- getty指令是UNIX之类操作系统启动时所必须的3个步骤之一。
mingetty:精简版的getty,mingetty适用于本机上的登入程序。
uux:用于在远端的UUCP主机上执行指令。
- uux可在远端的UUCP主机上执行指令或是执行本机上的指令,但在执行时会使用远端电脑的文件。
telnet:用于远端登入。
执行telnet指令开启终端机阶段作业,并登入远端主机。
如连接redis
- telnet ip port
1
2
3Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.- 连接成功后就可进行各种命令操作了
uulog:用于显示UUCP记录文件。
uustat:用于显示UUCP目前的状况。
- 执行uucp与uux指令后,会先将工作送到队列,再由uucico来执行工作。
- uustat可显示,删除或启动队列中等待执行的工作。
ppp-off:用于关闭ppp连线。
- 这是Slackware发行版内附的程序,让用户切断PPP的网络连线。
netconfig:用于设置网络环境。
- 这是Slackware发行版内附程序,它具有互动式的问答界面,让用户轻易完成网络环境的设置。
nc:用于设置路由器。
- 执行本指令可设置路由器的相关参数。
httpd:Apache HTTP服务器程序,直接执行程序可启动服务器的服务。
ifconfig:用于显示或设置网络设备。
- ifconfig可设置网络设备的状态,或是显示目前的设置。
minicom:用于调制解调器通信程序。
- 一个相当受欢迎的PPP拨号连线程序。
mesg:用于设置终端机的写入权限。
- 将mesg设置y时,其他用户可利用write指令将信息直接显示在您的屏幕上。
dnsconf:用于设置DNS服务器组态。
- dnsconf实际上为linuxconf的符号连接,提供图形截面的操作方式,供管理员管理DNS服务器。
wall:将讯息传给每一个mesg设定为yes的上线使用者。
- 当使用终端机介面做为标准传入时,讯息结束时需加上EOF(通常用 Ctrl+D)。
netstat:用于显示网络状态。
- 利用netstat指令可让你得知整个Linux系统的网络情况。
ping:用于检测主机。
- 执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题就会回应该信息,因而得知该主机运作正常。
pppstats:用于显示PPP连线状态。
- 利用pppstats(point to point protocol status)指令可让你得知PPP连接网络的相关信息。
samba:用于Samba服务器控制。
- samba为script文件,可启动,停止Samba服务器或回报目前的状态。
setserial:用于设置或显示串口的相关信息。
talk:用于与其他使用者对谈。
traceroute:用于显示数据包到主机间的路径。
- 追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
tty:用于显示终端机连接标准输入设备的文件名称。
newaliases:命令会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。
uuname:用于显示全部的UUCP远端主机。
netconf:用于设置各项网络功能。
write:用于传讯息给其他使用者。
statserial:用于显示串口状态。
efax:用于收发传真。
pppsetup:用于设置PPP连线。
tcpdump:用于倾倒网络传输数据。
- 列出经过指定网络界面的数据包文件头。
ytalk:用于与其他用户交谈。
- 如果想和其他主机的用户交谈,在用户名称后加上其主机名称或IP地址即可。
cu:用于连接另一个系统主机。
- cu(call up)指令可连接另一台主机,并采用类似拨号终端机的接口工作,也可执行简易的文件传输作业。
smbd:用于Samba服务器程序。
testparm:用于测试Samba的设置是否正确无误。
smbclient:用于存取SMB/CIFS服务器的用户端程序。
shapecfg:用于管制网络设备的流量。
七、系统管理
adduser:用于新增使用者帐号或更新预设的使用者资料。
- adduser与useradd指令为同一指令(经由符号连结 symbolic link)。
chfn:提供使用者更改个人资讯,用于
finger and mail username
。useradd:用于建立用户帐号。
useradd
可用来建立用户帐号。- 帐号建好之后,再用
passwd
设定帐号的密码。 - 可用
userdel
删除帐号。 - 使用
useradd
指令所建立的帐号,实际上是保存在/etc/passwd
文本文件中。
date:可以用来显示或设定系统的日期与时间。
- 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记。
exit:用于退出目前的shell。
- 执行exit可使shell以指定的状态值退出。
- 若不设置状态值参数,则shell以预设值退出。
- 状态值0代表执行成功,其他值代表执行失败。
- exit也可用在script,离开正在执行的script,回到shell。
finger:可以让使用者查询一些其他使用者的资料。
fwhios:于查找并显示用户信息。
- 本指令的功能有点类似finger指令,它会去查找并显示指定帐号的用户相关信息。
- 不同之处在于fwhois指令是到Network Solutions的WHOIS数据库去查找,该帐号名称必须有在上面注册才能寻获,且名称没有大小写的差别。
sleep:用于将目前动作延迟一段时间。
suspend:用于暂停执行shell。
- suspend为shell内建指令,可暂停目前正在执行的shell。
- 若要恢复,则必须使用SIGCONT信息。
groupdel:用于删除群组。
- 倘若该群组中仍包括某些用户,则必须先删除这些用户后才能删除群组。
groupmod:用于更改群组识别码或名称。
halt:若系统的
runlevel
为0
或6
,则关闭系统,否则以shutdown
指令(加上-h
参数)来取代。kill:用于删除执行中的程序或工作。
- kill可将指定的信息送至程序。
- 预设的信息为SIGTERM(15),可将指定程序终止。
- 若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。
- 程序或工作的编号可利用ps指令或jobs指令查看。
last:用于显示用户最近登录信息。
lastb:用于列出登入系统失败的用户相关信息。
- 单独执行lastb指令,它会读取位于
/var/log
目录下名称为btmp
的文件,并把该文件内容记录的登入失败的用户名单全部显示出来。
- 单独执行lastb指令,它会读取位于
login:用于登入系统。
logname:用于显示用户名称。
logout:用于退出系统。
ps:用于显示当前进程(process)的状态。
nice:以更改过的优先序来执行程序,如果未指定程序则会印出目前的排程优先序。
- 内定的
adjustment
为10
,范围为-20
(最高优先序)到19
(最低优先序)。
- 内定的
procinfo:用于显示系统状态。
- procinfo(process information)指令从/proc目录里读取相关数据,将数据妥善整理过后输出到标准输出设备。
top:用于实时显示 process 的动态。
- htop
pstree:将所有行程以树状图显示,树状图将会以 pid(如果有指定)或是以init这个基本行程为根(root),如果有指定使用者id,则树状图会只显示该使用者所拥有的行程。
reboot:用于用来重新启动计算机。
- 若系统的
runlevel
为0
或6
则重新开机,否则以shutdown
指令(加上-r
参数)来取代。
- 若系统的
rlogin:用于远端登入。
- 执行rlogin指令开启终端机阶段操作,并登入远端主机。
rsh:用于远端登入的Shell。
sliplogin:用于将SLIP接口加入标准输入。
screen:用于多重视窗管理程序。
shutdown:可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序。
- shutdown也可以用来重开机。
rwho:用于查看系统用户。
- rwho指令的效果类似who指令,但它会显示局域网里所有主机的用户。
- 主机必须提供rwhod常驻服务的功能,方可使用rwho指令。
sudo:以系统管理者的身份执行指令。
- 在
/etc/sudoers
中有出现的使用者均可使用此命令。
- 在
gitps:用于报告程序状况。
- gitps(gnu interactive tools process status)是用来报告并管理程序执行的指令,基本上它就是通过ps指令来报告,管理程序,也能通过gitps指令随时中断,删除不必要的程序。因为gitps指令会去执行ps指令,所以其参数和ps指令相当类似。
swatch:用于系统监控程序。
- swatch可用来监控系统记录文件,并在发现特定的事件时,执行指定的动作。
tload:用于显示系统负载状况。
- tload指令使用ASCII字符简单地以文字模式显示系统负载状态。
- 假设不给予终端机编号,则会在执行tload指令的终端机显示负载情形。
logrotate:用于管理记录文件。
- 它提供自动替换,压缩,删除和邮寄记录文件,每个记录文件都可被设置成每日,每周或每月处理,也能在文件太大时立即处理。
- 必须自行编辑,指定配置文件,预设的配置文件存放在/etc目录下,文件名称为logrotate.conf。
uname:用于显示系统信息。
- uname可显示电脑以及操作系统的相关信息。
chsh:用于更改使用者 shell 设定。
userconf:用于用户帐号设置程序。
- userconf实际上为linuxconf的符号连接,提供图形界面的操作方式,供管理员建立与管理各类帐号。
- 若不加任何参数,即进入图形界面。
userdel:用于删除用户帐号。
- userdel可删除用户帐号与相关的文件。
- 若不加参数,则仅删除用户帐号,而不删除相关文件。
usermod:用于修改用户帐号。
- usermod可用来修改用户帐号的各项设定。
vlock:用于锁住虚拟终端。
- 执行vlock(virtual console lock)指令可锁住虚拟终端,避免他人使用。
who:用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
whoami:用于显示自身用户名称。
- 显示自身的用户名称,本指令相当于执行
id -un
指令。
- 显示自身的用户名称,本指令相当于执行
whois:用于查找并显示用户信息。
- whois指令会去查找并显示指定帐号的用户相关信息,因为它是到Network Solutions的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。
newgrp:用于登入另一个群组。
renice:用于重新指定一个或多个行程(Process)的优先序(一个或多个将根据参数而定)。
- 每一个行程(Process)都有一个唯一的(unique)id。
su:用于变更为其他使用者的身份,除
root
外需要键入该使用者的密码。skill:用于送个讯号给正在执行的程序,预设的讯息为
TERM
(中断),较常使用的讯息为HUP、INT、KILL、STOP、CONT和0。w:用于显示目前登入系统的用户信息。
id:用于显示用户的ID,以及所属群组的ID。
- id会显示用户以及所属群组的实际与有效ID。
- 若两个ID相同,则仅显示实际ID。
- 若仅指定用户名称,则显示目前用户的ID。
groupadd:用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。
free:用于显示内存状态。
- free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
八、系统设置
reset:用于设定终端机的状态,和
tset
等效。clear:用于清除屏幕。
alias:用于设置指令的别名。
- 用户可利用alias自定义指令的别名。
- 若仅输入alias,则可列出目前所有的别名设置。
- alias的效力仅及于该次登入的操作。
- 若要每次登入是即自动设好别名,可在.profile或.cshrc中设定指令的别名。
dircolors:用于设置 ls 指令在显示目录或文件时所用的色彩。
aumix:用于设置音效装置。
bind:用于显示或设置键盘按键与其相关的功能。
chroot:用于改变根目录。
- 把根目录换成指定的目的目录。
clock:用于调整 RTC 时间。
- RTC是电脑内建的硬件时间,执行这项指令可以显示现在时刻,调整硬件时钟的时间,将系统时间设成与硬件时钟之时间一致,或是把系统时间回存到硬件时钟。
crontab:用来定期执行程序的命令。
- 当安装完成操作系统之后,默认便会启动此任务调度命令。
- crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
declare:用于声明 shell 变量。
- declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性(rix即为变量的属性),在第二种语法中可用来显示shell函数。
- 若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同)。
depmod:用于分析可载入模块的相依性。
- depmod(depend module)可检测模块的相依性,供modprobe在安装模块时使用。
dmesg:用于显示开机信息。
- kernel会将开机信息存储在ring buffer中。
- 您若是开机时来不及查看信息,可利用dmesg来查看。
- 开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
enable:用于启动或关闭 shell 内建指令。
- 若要执行的文件名称与shell内建指令相同,可用
enable -n
来关闭shell内建指令。 - 若不加
-n
参数,enable可重新启动关闭的指令。
- 若要执行的文件名称与shell内建指令相同,可用
eval:用于重新运算求出参数的内容。
- eval可读取一连串的参数,然后再依参数本身的特性来执行。
export:用于设置或显示环境变量。
- 在shell中执行程序时,shell会提供一组环境变量。
- export可新增,修改或删除环境变量,供后续执行的程序使用。
- export的效力仅限于该次登陆操作。
pwunconv:用于关闭用户的投影密码。
- 执行pwunconv指令可以关闭用户投影密码,它会把密码从shadow文件内,重回存到passwd文件里。
grpconv:用于开启群组的投影密码。
- Linux系统里的用户和群组密码,分别存放在/etc目录下的passwd和group文件中。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为”x”字符。投影密码的功能可随时开启或关闭,您只需执行grpconv指令就能开启群组投影密码。
rpm:用于管理套件。
- rpm(redhat package manager)原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎,逐渐受到其他发行版的采用。
- RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
insmod:用于载入模块。
- Linux有许多功能是通过模块的方式,在需要时才载入kernel。如此可使kernel较为精简,进而提高效率,以及保有较大的弹性。
- 这类可载入的模块,通常是设备驱动程序。
kbdconfig:用于设置键盘类型。
- kbdconfig(Red Hat Linux才有的指令)是一个用来设置键盘的程序,提供图形化的操作界面。
- kbdconfig实际上是修改/etc/sysconfig/keyboard的键盘配置文件。
lilo:用于安装核心载入,开机管理程序。
- lilo(linux loader)是个Linux系统核心载入程序,同时具备管理开机的功能。
- 单独执行lilo指令,它会读取/etc/目录下的lilo.conf配置文件,然后根据其内容安装lilo。
liloconfig:用于设置核心载入,开机管理程序。
- liloconfig是Slackware发行版专门用来调整lilo设置的程序。
- 它通过互动式操作界面,让用户能够利用键盘上的方向键等,轻易地操控lilo的安装,设置作业,而无须下达各种参数或撰写配置文件。
lsmod:用于显示已载入系统的模块。
minfo:用于显示MS-DOS文件系统的各项参数。
set:用于设置shell。
- set指令能设置所使用shell的执行方式,可依照不同的需求来做设置。
modprobe:用于自动处理可载入模块。
- modprobe可载入指定的个别模块,或是载入一组相依的模块。
- modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。
ntsysv:用于设置系统的各种服务。
mouseconfig:用于设置鼠标相关参数。
- mouseconfig为鼠标设置程序,可自动设置相关参数,或者用户也可以利用所提供互动模式自行设置鼠标。
- mouseconfig是Red Hat Linux才有的命令。
passwd:用于更改使用者的密码。
pwconv:用于开启用户的投影密码。
- Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中,这两个文件位于/etc目录下。
- 因系统运作所需,任何人都得以读取它们,造成安全上的破绽。
- 投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为”x”字符,有效的强化了系统的安全性。
rdate:用于显示其他主机的日期与时间。
- 执行rdate指令,向其他主机询问系统时间并显示出来。
resize:用于设置终端机视窗的大小。
rmmod:用于删除模块。
grpunconv:用于关闭群组的投影密码。
- 执行grpunconv指令可关闭群组投影密码,它会把密码从gshadow文件内,回存到group文件里。
modinfo:用于显示kernel模块的信息。
time:用于量测特定指令执行时所需消耗的时间及系统资源等资讯。
- 例如 CPU 时间、记忆体、输入输出等等。需要特别注意的是,部分资讯在 Linux 上显示不出来。这是因为在 Linux 上部分资源的分配函式与 time 指令所预设的方式并不相同,以致于 time 指令无法取得这些资料。
setup:用于设置公用程序,是一个启动图形设置系统的命令。
sndconfig:用于设置声卡。
- sndconfig为声卡设置程序,支持PnP设置,可自动检测并设置PnP声卡。
setenv:用于查询或显示环境变量。
setconsole:用于设置系统终端。
timeconfig:用于设置时区。
ulimit:用于控制shell程序的资源。
unset:用于删除变量或函数。
chkconfig:用于检查,设置系统的各种服务。
apmd:用于进阶电源管理服务程序。
- apmd负责BIOS进阶电源管理(APM)相关的记录,警告与管理工作。
hwclock:用于显示与设定硬件时钟。
- 在Linux中有硬件时钟与系统时钟等两种时钟。
- 硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。
- 系统时钟则是指kernel中的时钟。
- 当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。
- 所有Linux相关指令与函数都是读取系统时钟的设定。
mkkickstart:用于建立安装的组态文件。
- mkkickstart可根据目前系统的设置来建立组态文件,供其他电脑在安装时使用。组态文件的内容包括使用语言,网络环境,系统磁盘状态,以及X Windows的设置等信息。
fbset:用于设置景框缓冲区。
- fbset指令可用于设置景框缓冲区的大小,还能调整画面之分辨率,位置,高低宽窄,色彩 深度,并可决定是否启动先卡之各项硬件特性。
unalias:用于删除别名。
SVGATextMode:用于加强文字模式的显示画面。
- SVGATextMode可用来设置文字模式下的显示画面,包括分辨率,字体和更新频率等。
gpasswd:Linux下工作组文件/etc/group和/etc/gshadow管理工具,用于将一个用户添加到组或者从组中删除。
九、备份压缩
ar:用于建立或修改备存文件,或是从备存文件中抽取文件。
bunzip2:
bzip2:是.bz2文件的解压缩程序。
- bunzip2可解压缩.bz2格式的压缩文件。
- bunzip2实际上是bzip2的符号连接,执行
bunzip2
与bzip2 -d
的效果相同。
bzip2recover:用来修复损坏的.bz2文件。
- bzip2是以区块的方式来压缩文件,每个区块视为独立的单位。因此当某一区块损坏时,便可利用bzip2recover,试着将文件中的区块隔开来,以便解压缩正常的区块。
- 通常只适用在压缩文件很大的情况。
gunzip:用于解压文件。
- gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为”.gz”。
- gunzip是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。
unarj:用于解压缩.arj文件。
compress;一个相当古老的 unix 档案压缩指令,压缩后的档案会加上一个
.Z
延伸档名以区别未压缩的档案,压缩后的档案可以以uncompress
解压。- 若要将数个档案压成一个压缩档,必须先将档案
tar
起来再压缩。
- 若要将数个档案压成一个压缩档,必须先将档案
cpio:用于备份文件。
- cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio或tra备份档内的文件。
dump:用于备份文件系统。
- 可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
uuencode:用于将uuencode编码后的档案还原。
gzexe:用于压缩执行文件。
gzip:令用于压缩文件。
- gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出”.gz”的扩展名。
lha:用于压缩或解压缩文件。
- 文件经它压缩后,会另外产生具有”.lzh”扩展名的压缩文件。
restore:用来还原由dump操作所备份下来的文件或整个文件系统(一个分区)。
tar:用于备份文件。
- tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
uudecode:将
uuencode
编码后的档案还原,uudecode
只会将begin
与end
标记之间的编码资料还原,程序会跳过标记以外的资料。unzip:用于解压缩zip文件
zip:用于压缩文件。
- 文件经它压缩后会另外产生具有”.zip”扩展名的压缩文件。
zipinfo:用于列出压缩文件信息。
- 执行zipinfo指令可得知zip压缩文件的详细信息。
十、设备管理
setleds:用来设定键盘上方三个
LED
的状态。- 在Linux中,每一个虚拟主控台都有独立的设定。
loadkeys:可以根据一个键盘定义表改变linux键盘驱动程序转译键盘输入过程。
rdev:用来查询/设置内核映像文件的根设备,RAM 磁盘大小或视频模式。
dumpkeys:用于显示键盘映射表,输出的内容可以被loadkeys命令识别,改变映射关系。
MAKEDEV:用于新增
/dev/
的装置档案。- 多数分区已经将所有的档案都产生,故一般而言不太会需要用到这个命令。
十一、其他
bc:任意精度计算器语言,通常在linux下当计算器用。
tail:用于查看文件的内容,有一个常用的参数
-f
用于查阅正在改变的日志文件。xargs:命令传递参数的一个过滤器,也是组合多个命令的一个工具,它可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。