前言
quyotastats
显示Linux系统当前的磁盘配额运行状态信息.
repquota
以报表的格式输出指定分区,或者文件系统的磁盘配额信息.
-a: 列出在/etc/fstab文件里,有加入quota设置的分区的使用状况,包括用户和群组;
-g: 列出所有群组的磁盘空间限制;
-u: 列出所有用户的磁盘空间限制;
-v: 显示该用户或群组的所有空间限制.
显示所有文件系统的磁盘使用情况:
repquota -a
convertquota
将老的磁盘额数据文件 ("quota.user" 和 "quota.group") 转换为新格式的文件 ("quota.user"和"quota.group).
-u: 仅转换用户磁盘配额数据文件;
-g: 仅准换组磁盘配额数据文件;
-f: 将老大磁盘配额文件转换为新的格式;
-c: 将新的文件格式从大字节序换为小字节序.
convertquota -u /data //转换文件系统"/data"上的用户磁盘配额文件
swapoff
关闭指定的交换分区 (包括交换文件和交换分区).
swapoff实际上为swapon的符号链接,可用来关闭系统的交换区.
swapon
激活Linux系统中交换分区, Linux系统的内存管理必须使用交换区来建立虚拟内存.
swapon /dev/sda3: 激活新建的交换分区
sync
强制被改变的内容立刻写入磁盘,更新超块信息.
在Linux/Unix系统中,在文件或数据处理过程中一般限放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率.
sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中.
用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写入磁盘.
只有在update或bdflush无法执行或用户需要非正常关机时, 才需手动执行sync命令.
如果不去手动的输入sync命令来真正的去写磁盘,
linux系统也会周期性的去sync数据.
chroot
在指定的根目录下运行指令.
chroot, 即changerootdirectory (更改root目录).
在linux系统中, 系统默认的目录结构都是以/,即是以根(root)开始的.
而在使用chroot之后,系统的目录结构将以指定的位置作为/位置.
根用户才可以使用此命令.
getent
getent命令可以用来查看系统的数据库中的相关记录.
getent hosts
getent passwd mysql
getent passwd (等同于cat /etc/passwd)
getent shadow (等同于cat /etc/shadow)
last
显示用户最近登陆的信息.单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来.-a: 把从何处登入系统的主机名称或ip地址,显示在最后一行;-d: 将IP地址转换成主机名称;-f<记录文件>: 指定记录文件.-n<显示列数>或<显示列数>: 设置列出名单的显示列数;-R: 不显示登入系统的主机名称或IP地址;-x: 显示系统关机,重新开机,以及执行等级的改变等信息.
lastb
显示用户错误的登陆列表,此指令可以发现系统的登陆异常.单独执行lastb命令,它会读取位于/var/log目录下,名称为btmp的文件,并把该文件内容记录的登入失败的用户名单,全部显示出来.首次运行lastb命令若报目录不存在的错误,需要touch /var/log/btmp建立一个目录.使用ssh的登陆失败不会记录在btmp文件中.参考命令lastb |head
lastlog
显示系统中所有用户最近一次登陆信息.lastlog文件在每次有用户登录时被查询.可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容.它根据UID排序显示登录名,端口号(tty) 和上次登录时间.如果一个用户从未登录过,lastlog显示**Neverlogged**.注意需要以root身份运行该命令.-b<天数>: 显示指定天数前的登录信息;-h: 显示召集令的帮助信息;-t<天数>: 显示指定天数以来的登录信息;-u<用户名>: 显示指定用户的最近登录信息.
logrotate
对系统日志进行轮转,压缩和删除,也可以将日志发送到指定邮箱.使用logrotate指令,可让你轻松管理系统所产生的记录文件.每个记录文件都可被设置成每日, 每周或每月处理,也能在文件大大时立即处理.您必须自行编辑, 指定配置文件,预设的配置文件存放在/etc/logrotate.conf文件中.-d或--debug: 详细显示指令执行过程,便于排错或了解程序执行的情况;-f或--force: 强行启动记录文件维护操作,纵使logrotate指令认为没有需要亦然;-s<状态文件>或--state=<状态文件>: 使用指定的状态文件;-usage: 显示指令基本用法.
logsave
运行给定的命令,并将命令的输出信息保存到指定的日志文件中.-a: 追加信息到指定的日志文件中.
logwatch
一个可定制和可插入式的日志监视系统,它通过遍历给定时间范围内的系统日志文件而产生日志报告.logwatch默认每天执行一次,可以从/etc/cron.daily里看到.logwatch --detail High --Service All --range All --point基本就可以显示出所有日志的情况了;logwatch --service sshd --detail High 只看sshd的日志情况.
openssl
一个强大的安全套接字层密码库, 囊括主要的密码算法,常用的密钥和证书封装管理功能及SSL协议, 并提供丰富的应用程序供测试或其它目的使用.在OpenSSL被爆出现严重安全漏洞后,发现多数通过SSL协议加密的网站使用名未OpenSSL的开源软件包.由于这是互联网应用最广泛的安全传输方法,被网银,在线支付,电商网站,门户网站,电子邮件等重要网站广泛使用,所以该漏洞影响范围广大.OpenSSL有两种运行模式: 交互模式和批处理模式. 用SHA1算法计算文件file.txt的哈希值,输出到stdout: openssl dgst -sha1 file.txt
sudo=================
以其它身份来执行命令, 预设的身份为root.在/etc/sudoers中设置了可执行sudo指令的用户.若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员.用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限必须重新输入密码.配置sudo必须通过编辑/etc/suders文件,而且只有超级用户才可以修改它,还必须使用visudo编辑.之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能够进行有限的语法检查.所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法.sudo reboot (重启系统,在无ROOT权限的情况下)
ctrlaltdel
设置组合键 "Ctrl+Alt+Del" 的功能为Hard或者Soft,默认为Soft.Hard: 当按下 "Ctrl+Alt+Del" 时,立即执行重新启动操作系统, 而不是先调用sync系统调用和其它的关机标准操作.Soft: 当按下 "Ctrl+Alt+Del" 时, 首先向init进程发送SIGINT(interrupt) 信号.由init进程处理关机操作.
halt============
关闭正在运行的Linux操作系统,它的使用权限是超级用户.-d: 关闭系统但不在wtmp中留下记录;-f: 不论目前的runlevel为何,不调用shutdown即强制关闭系统;-i: 在halt之前,关闭全部的网络界面;-n: halt前,不用先执行sync;-p: halt之后,执行poweroff,即关闭系统后关闭电源;-w: 仅在wtmp中记录,而不实际结束系统.halt就是调用shutdown -h.halt执行时,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核.halt命令会先监测系统的runlevel,若系统的运行级别为0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代.
poweroff============
关闭计算机操作系统并且切断电源.如果确认系统中已经没有用户存在且所有数据都已经保存,需要立即关闭系统,可以使用poweroff命令.-n: 关闭操作系统时不执行sync操作;-w: 不真正关闭操作系统,仅在日志文件"/var/log/wtmp"中;-d: 关闭操作系统时,不将操作写入日志文件"/var/log/wtmp"中添加相应的记录;-f: 强制关闭操作系统;-i: 关闭操作系统之前关闭所有的网络接口;-h: 关闭操作系统之前将系统中所有的硬件设置为备用模式.
reboot==================
重新启动正在运行的Linux操作系统.-d: 重新开机时不把数据写入记录文件/var/tmp/wtmp.本参数具有 "-n" 参数效果;-f: 强制重新开机,不调用shutdown指令的功能;-i: 在重开机之前,先关闭所有网络界面;-n: 重开机之前不检查是否有未结束的程序;-w: 仅作测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件.sudo reboot (在无ROOT权限的情况下重启系统)
shutdown=============
关机命令.shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作.-c: 当执行 "shutdown -h 11:50" 指令时,只要按+键就可以中断关机的指令;-f: 重新启动时不执行fsck;-F: 重新启动时执行fsck;-h: 将系统关机;-k: 只是送出信息给所有用户,但不会实际关机;-n: 不调用init程序进行关机,而由shutdown自己进行;-r: shutdown之后重新启动;-t<秒数>: 送出警告信息何删除信息之间要延迟多少秒.指定现在立即关机: shutdown -h now,指定再过10分钟后自动关机: shutdown -h +10 指定现在立即重启: shutdown -r now指定5分钟后关机,同时送出警告信息给登入用户: shutdown +5 "System will shutdown after 5 minutes" shutdown -h 3:40: 说明3:40开始关机.
change
修改账号何密码的有效期限.可以编辑/etc/login.defs来设定几个参数,以后设置口令默认就按照参数设定为准.-m: 密码可更改的最小天数.为零时代表任何时候都可以更改密码.-M: 密码保持有效的最大天数.-w: 用户密码到期前,提前收到警告信息的天数.-E: 账号到期的日期.过了这天, 此账号将不可用.-d: 上一次更改的日期.-i: 停滞时期.如果一个密码已经过期这些天.那么此账号将不可用.-l: 列出当前的设置.由非特权用户来确定他们的密码或账号何时过期.
chpasswd
批量更新用户口令的工具,是把一个文件内容重新定向添加到/etc/shadow中.-e: 输入的密码是加密后的密文;-m: 当被支持的密码未被加密时,使用MD5加密代替DES加密.先创建用户密码对应文件,格式为 username:passwd, 如abc:abc123, 必须以这种格式来书写,并且不能有空行,保存成文本文件user.txt,然后执行chpasswd命令:chpasswd < user.txt以上是运用chpasswd 命令来批量修改密码.是linux系统管理中的捷径.
chsh
更换登录系统时使用shell.若不指定任何参数与用户名称,则chsh会以应答的方式进行设置.Linux下有多种Shell,一般缺省的是Bash,如果想更换Shell类型可以使用chsh命令.先输入账户密码,然后输入新Shell类型,如果操作正确系统会显示 "Shell change".查看当前正在使用的shell: echo $SHELL (SHELL一定要是大写) 把shell修改为/bin/bash: chsh -s /bin/bash 把我的shell改成zsh: chsh -s /bin/zsh 查看系统安装了哪些shell的两种方法: chsh -l 或者 cat /etc/shells
finger==============
查找并显示用户信息.包括本地与远端主机的用户皆可,账号名称不分大小写.单独执行finger会显示本地主机现在所有的用户的登录信息,包括账号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址何电话.不指定finger的选项如果提供操作者的话,缺省设为-l输出风格,否则为-s风格,注意在两种格式中,如果信息不足,都有一些域可能丢失,如果没有指定参数finger会为当前登录的每个用户打印一个条目.如果要查询远程机上的用户信息,需要在用户名后面接@主机名,采用用户名@主机名的格式, 不过要查询的网络主机需要运行finger守护进程的支持.-l: 列出该用户的账号名称, 真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件何方案文件内容;-m: 排除查找用户的真实姓名;-s: 列出该用户的账号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话;-p: 列出该用户的账号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容.
chfn
改变finger命令显示的信息.这些信息都存放在/etc目录里的passwd文件里.若不指定任何选项,则chfn命令会进入问答式界面.-f<真实姓名>或--full-name<真实姓名>: 设置真实姓名;-h<家中电话>或--home-phone<家中电话>:设置家中的电话号码;-o<办公地址>或--office<办公地址>: 设置办公室的地址;-p<办公电话>或 --office-phone<办公电话>: 设置办公室的电话号码.改变账号真实姓名: chfn -f jack
gpasswd
Linux下工作组文件/etc/group和/etc/gshadow管理工具.添加用户到某一个组 可以使用usermod -G group_name user_name这个命令可以添加一个用户到指定的组,但是以前添加的组就会清空掉.添加一个用户到一个组,同时保留以前添加的组: gpasswd -a user_name group_name
groupadd
创建一个新的工作组,新工作组的信息将被添加到系统文件中.-g: 指定新建工作组的id;-r: 创建系统工作组, 系统工作组的组ID小于500;-K: 覆盖配置文件 "/etc/login.defs";-o: 允许添加组ID号不唯一的工作组.建立一个新组,并设置组ID加入系统: groupadd -g 344 linuxde 此时在/etc/passwd文件中产生一个组ID (GID)是344的项目.
groupdel
删除指定的工作组,本命令要修改的系统文件包括/etc/group和/etc/gshadow.若该群组中仍然包括某些用户,则必须先删除这些用户名,方能删除群组.groupadd damon //创建damon工作组groupdel damon //删除这个工作组
groupmod
更改群组识别码或名称.需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作.-g<群组识别码>: 设置欲使用的群组识别码;-o: 重复使用群组识别码;-n<新群组名称>: 设置欲使用的群组名称.
groups
在标准输入输出设备上输出指定用户所在组的组成员,每个用户属于/etc/passwd中指定的一个组和在/etc/group中指定的其它组.显示linux用户所属的组: groups linux
grpck
验证组文件的完整性,在验证之前,需要先锁定(lock)组文件/etc/group和/etc/shadow.grpck命令检查数据是否正确存放,每条记录是否都包含足够的信息,是否有一个唯一的组名,是否包含正确的用户,是否正确设置了组的管理员等.grpck检查发现错误以后,在命令行提示用户是否删除错误的记录.如果用户没有明确回答删除记录,grpck终止运行.-r: 只读模式;-s: 排序组id.对组账号和影子文件进行验证;grpck //必须以管理员身份运行grpck /etc/group /etc/gshadow //后面两句一样,如果没有输出信息,则标示没有错误.
grpconv
开启群组的投影密码.Linux系统里的用户和群组密码,分别存放在/etc/目录下的passwd和group文件中.因系统运作所需,任何人都得以读取它们,造成安全上的破绽.投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符.投影密码的功能可随时开启或关闭,您只需执行grpconv指令就能开启群组投影密码.
grpunconv
关闭群组的投影密码.它会把密码从gshadow文件内,回存到group文件里.
id
可以显示真实有效的用户ID(UID)和组ID(GID).UID是对一个用户的单一身份标识.组ID(GID)则对应多个UID.id命令已经默认预装在大多数Linux系统中.要使用它,只需要在你的控制台输入id.不带选项输入id会显示如下.结果会使用活跃用户.当我们想知道某个用户的UID和GID时id命令是非常有用的.一些程序可能需要UID/GID来运行.id使我们更加容易地找出用户的UID以GID而不必在/etc/group文件中搜寻.如往常一样,你可以在控制台输入man id进入id的手册页来获取更多的详情.-g或--group显示用户所属群组的ID.-G或--groups显示用户所属附加群组的ID.-n或--name 显示用户,所属群组或附加群组的名称.-r或--real 显示实际ID.-u或--user 显示用户ID.
fwhios
用于查找并显示用户信息.本指令的功能有点类似finger指令,它会去查找并显示指定账号的用户相关信息.不同之处在于fwhois指令是到Network Solutions的WHOIS数据库去查找,该账号名称必须有在上面注册才能寻获,且名称没有大小写的差别.
newgrp
用于登入另一个群组.newgrp指令类似login指令,当它是以相同的账号,另一个群组名称,再次登入系统.欲使用newgrp指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组.单一用户要同时隶属于多个群组,需利用交替用户的设置.若不指定群组名称,则newgrp指令会登入该用户名称的预设群组.
login
给出登录界面,可用于重新登陆或者切换用户身份,也可通过它的功能随时更换登入身份.在Slackware发行版中,您可在命令后面附加欲登入的用户名称,它会直接询问密码,等待用户输入.当/etc/nologin文件存在时,系统只许root账号登入系统,其它用户一律不准登入.-p: 告诉login指令不销毁环境变量;-h: 指定远程服务器的主机名.Linux是一个真正的多用户操作系统,可以同时接受多个用户登陆,还允许一个用户进行多次登陆.这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登陆.每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换.虚拟控制台的却换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6.例如,用户登陆后,按一下"Alt+F2"键,用户就可以看到上面出现的"login:"提示符,说明用户看到了第二个虚拟控制台.然后只需按"Alt+F1"键,就可以回到第一个虚拟控制台.一个新安装的Linux系统允许用户使用"Alt+F1"到"Alt+F6"键来访问前六个虚拟控制台.虚拟控制台最有用的是,当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作,关闭这个程序.
logname
显示用户名称,对应/usr/bin/logname.当进行多个并行登录时,容易丢失对登录名或(特别是) 您当前正在使用的登录名的跟踪.可以使用whoami和logname命令显示此信息.
logout
用于退出当前登录的Shell,logout指令让用户退出系统,其功能和login指令相互对应.
newusers
批处理的方式一次创建多个用户.实用newusers命令批量添加用户,newusers后面直接跟一个文件,文件格式和/etc/passwd的格式相同:用户名1:X:UID:GID:用户说明:用户的家目录:所用SHELL
rwho
用于查看系统用户.rwho指令效果类似who指令,但它会显示局域网里所有主机的用户.主机必须提供rwhod常驻服务的功能,方可使用rwho指令.rwho命令主要用于查看局域网中所有安装了rwho的机器的启动时间和登录用户,这个命令的原理就是由rwho和rwhod守护进程每三分钟广播一次状态信息,所以引发的一个安全问题就是, 只要这台机器装了rwho那么就可以知道局域网中所有的安装了rwho机器的用户登录信息.
nologin
可以实现礼貌地拒绝用户登录系统,同时给出信息.如果尝试以这类用户登录,就在log里面添加记录,然后在终端输出This account is currently not available信息,就是这样.一般设置这样的账号是给启动服务的账号所用的,这只是让服务启动起来,但是不能登录系统.禁止个别用户登录,比如禁止lynn用户登录: passwd -l lynn 禁止所有用户登录: touch /etc/nologin, 除了root以外的用户不能登录了.
passwd==============
设置用户的认证信息,包括用户密码,密码过期时间等.系统管理者则能用它管理系统用户的密码.只有管理者可以指定名称,一般用户只能变更自己的密码.如果是普通用户执行passwd只能修改自己的密码.如果新建用户后,要为新用户创建免密,则用passwd用户名,注意要以root用户的权限来创建.注意:当我们清除一个用户的密码时,登录时就无需密码,这一点要加以注意.-d: 删除密码,仅有系统管理者才能使用;-f: 强制执行;-k: 设置只有在密码过期失效后,方能更新;-l: 锁住密码;-s: 列出密码的相关信息,仅有系统管理者才能使用;-u: 解开已经上锁的账号.注意: 一般地,root的默认密码就是用户的免密.如果需要更改ROOT密码(以centos7为例), 可在开机时按e进入编辑模式,然后在"LANG=zh_cn.UTF-8"同行后面加上"init=/bin/sh", 再按CTRL+X即可进入单用户模式,输入passwd命令更改密码即可(一般要求8位以上).
pwck
验证系统认证文件/etc/passwd和/etc/shadow的内容和格式的完整性.-q: 仅报告错误信息;-s: 以用户id排序文件 "/etc/passwd" 和 "/etc/shadow";-r: 只读方式运行指令.
pwconv
开启用户的投影密码.Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中,这两个文件位于/etc/目录下.因系统运作所需,任何人都得以读取它们,造成安全上的破绽.投影密码将文件内的免密改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符,有效的强化了系统的安全性.
pwunconv
与pwconv功能相反,用来关闭用户的投影密码.它会把密码从shadow文件内,重回存到passwd文件里>
su===============
切换当前用户身份到其它用户身份,变更时须输入索要变更的用户账号与密码.-c<指令>或--command=<指令>: 执行完指定的指令后,即恢复原来的身份;-f或--fast: 适用于csh与tsch,使shell不用去读取启动文件;-l或----login: 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname. 此外,也会变更PATH变量;-m,-p或--preserve-environment: 变更身份时,不要变更环境变量; -s或--shell=: 指定要执行的shell. 变更账号为root并在执行ls指令后退出变回原使用者: su -c ls root 变更账号为root并传入-f选项给新执行的shell: su root -f 变更账号为test并改变工作目录至test的家目录: su -test
useradd========
Linux中创建的新的系统哟呼.useradd可用来建立用户账号.账号建好之后,再用passwd设定账号的密码,而可用userdel删除账号.使用useradd指令所建立的账号,实际上是保存在/etc/passwd文本文件中.在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户账号资料,然后再交由真正建立账号的useradd命令建立新用户,如此可方便管理员建立用户账号.在RedHatLinux中,adduser命令则是useradd命令的符号连接,两者实际上是同一个指令.建立一个新用户账户,并设置ID: useradd caojh -u 544 需要说明的是,设定ID值时尽量要大于500, 以免冲突.因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bn,mail这样的系统账号.建立一个新用户账户testuser1,并设置UID为544,主目录为/usr/testuser1,属于users组: useradd -u 544 -d /usr/testuser1 -g users -m testuser1 adduser tmp; passwd tmp; 两个命令一起创建一个用户tmp
adduser
用于新增使用者账号或更新预设的使用者资料.adduser 与 useradd 指令为同一指令 (经由符号连结symbolic link).
userdel=========
删除给定的用户,以及与用户相关的文件. 若不加选项,则仅删除用户账号,而不删除相关文件.-f: 强制删除用户, 即使用户当前已经登录;-r: 删除用户的同时,删除与用户相关的所有文件.userdel -r linuxde //删除用户linuxde,其下目录及文件一并删除
usermod
修改用户的基本信息.usermod命令不允许你改变正在线上的使用者账号名称.当usermod命令用来改变userid,必须确认这名user没在电脑上执行任何程序.你需手动更改使用者的crontab档.也需要手动更改使用者的at工作档.采用NISserver须在server上更动相关的NIS设定.将newuser2添加到组staff中: usermod -G staff newuser2修改newuser的用户名为newuser1: usermod -l newuser1 newuser 锁定账号newuser1: usermod -L newuser1解除对newuser1的锁定: usermod -U newuser1 删除用户: userdel -r 用户名
users==========
显示当前登录系统的所有用户的用户列表.每个显示的用户名对一你个一个登录会话.如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数.
userconf
用于用户账号设置程序.DEBIAN中未找到此命令.userconf实际上为linuxconf的符号连接,提供图形界面的操作方式,供管理员建立与管理各类账号.若不加任何参数,即进入图形界面.
who===========
显示目前登录系统的用户信息.执行who命令可得知目前有那些用户登入系统,单独执行who命令会列出登入账号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器.-H或--heading:显示各栏位的标题信息列;-i或-u或--idle: 显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已经超过24小时没有任何动作,则标示出"old"字符串;-m: 此参数的效果和指定"am i"字符串相同;-q 或--count: 只显示登入系统的账号名称和总人数;-s: 此参数将忽视不予处理,仅负责解决who指令其它版本的兼容性问题;-w或-T或-mesg或--message或--writable: 显示用户的信息状态栏.
whoami============
显示当前有效的用户名称, 相当于执行id -un命令 (两个命令执行结果一摸一样).
lslogins
在Linux系统中显示已知的用户信息(linux版本).
logins
在Linux系统中显示已知的用户信息 (BSD版本).
auditd
系统审计
alias===============
设置指令的别名 (类似于自定义命令).我们可以使用该命令可以将一些长的命令进行简化.使用alias时,用户必须使用单引号"将原来的命令引起来,防止特殊字符导致错误.alias命令的作用只局限于该次登入的操作.若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中.-p: 显示已经设置的命令别名.命令别名设置: 定义命令别名,格式为"命令别名='实际命令'".例如: alias l='ls -lsh'将重新定义ls命令,现在只需输入l就可以列目录了. 直接输入alias 命令会列出当前系统中所有已经定义的命令别名. 要删除一个别名,可以使用unalias命令,如unalias l. alias 'vi=vim' alias用于命令合成: alias ll='ls -al'或者alias ll='ls --color=auto -l -time-style="+%Y/%m/%d %H:%M:%S"' (按中文日期显示ls -l命令的结果) alias nano="nano -w": 可以让nano编辑器避免自动将过长内容拆分成多行(造成某些文件出现问题)
unalias
取消命令别名,是为shell内建命令.如果需要取消任意一个命令别名,则使用该命令别名作为指令的参数选项即可.如果使用-a选项,则表示取消所有已经存在的命令别名.unalias cc #取消已经设置的命令别名cc
apropos
在一些特定的包含系统命令的简短描述的数据库文件里查找关键字,然后把结果送到标准输出.返回0表示成功, 1表示用法,语法或配置文件错误,2表示操作错误,16表示没有找到匹配的内容.如果你不知道完成某个特定任务所需要命令的名称,可以使用一个关键字通过Linuxapropos实用程序来搜索它.该实用程序可以搜索关键字并且显示所有包含匹配项的man页面的简短描述.另外,使用man实用程序和-k(关键字)选项,可以得到和用Linuxapropos实用程序相同的结果(实际上是相同的命令).查找手册页名字和描述中包含emacs和vi的手册页: apropos -a emacs vi
bg=============
将作业放到后台运行,使前台可以执行其它任务.该命令的运行效果与在指令后面添加符号&的效果是相同的,都是讲其放到系统后台执行.在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到jobs,bg,和fs三个命令以及两个快捷键来完成.使用bg命令将任务号为1的任务放到后台继续执行,输入如下命令:bg1 #后台执行任务号为1的任务 如果系统中只有一个挂起的任务时,即使不为该命令设置参数"1",页可以实现这个功能.注意: 实际上,使用bg命令与在指令后面添加符号"&"的效果是一样的.例如,使用&将find / -name password放到后台执行,输入如下命令: find / -name password & #后台执行任务. 可用fg将后台命令调到前台执行.
fg============
用于将后台作业 (在后台运行的或者在后台挂起的作业) 放到前台终端运行.与bg命令一样, 若后台任务中只有一个,则使用该命令时,可以省略任务号.在 Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到jobs,bg,和fs三个命令已经两个快捷键来完成.使用fg命令将任务号为1的任务从后台执行转换到前台执行,输入如下命令: fg1;执行上面的命令后,命令行窗口将显示如下信息: find / -name password. 可用bg将前台命令调到后台执行.
bind
显示和设置命令行的键盘序列绑定功能.通过这一命令,可以提高命令行中操作效率.您可以利用bind命令了解有哪些按键组合与其功能,也可以自行指定要用哪些按键组合.-d: 显示按键配置的内容;-f<按键配置文件>: 载入指定的按键配置文件;-l: 列出所有的功能;-m<按键配置>: 指定按键配置;-q<功能>: 显示指定功能的按键;-v: 列出目前的按键配置与其功能.bind -x "\C-l":ls -l' #直接按CTRL+L就列出目录 其中keyseq可以使用showkey -a命令来获取(showkey -a用于显示按下键的ASCII码 (以10进制,8进制,16进制值显示)).
showkey
用于把按下的键的扫描码,键盘码和ASCII码打印到标准输出.在调试键盘驱动时, 你可能需要确认底层是否通了,是否获取到相应的键值?此时可以使用linux的showkey命令来帮忙.注意: 使用showkey必须切换到真正的控制台下,然后必须退出图形界面,此时可以按CTRL+ALT+Fn (n为1-6)切换至控制台,而按CTRL+ALT+F7可切换回图形界面. 打印按下键的扫描码: showkey -s 打印按下键的键盘码: showkey -k
builtin
执行指定的shell内部命令, 并返回内部命令的返回值.builtin命令在使用时, 将不能够再使用Linux中的外部命令.档系统中定义了与shell内部命令相同的函数时,使用builtin显示地执行shell内部命令,从而忽视定义的shell函数.
command
调用指定的指令并执行, 命令执行时不查询shell函数.command命令只能够执行shell内部的命令.使用command命令调用执行echo Linux,输入如下命令: command echo Linux, 上面的命令执行后, 将调用执行命令echo Linux,其执行结果如下: Linux.
declare
声明和显示已经存在的shell变量.当不提供变量名参数时显示所有shell变量.declare命令若不带任何参数选项,则会显示所有shell变量及其值.declare的功能与typeset命令的功能是相同的.+/-: "-"可用来指定变量的属性,"+"则是取消变量所设的属性;-f: 仅显示函数;r: 将变量设置为只读;x: 指定的变量会成为环境变量,可供Shell以外的程序来使用;i: [设置值] 可以是数值, 字符串或运算式.首先使用declare命令定义shell变量"test",并且将其值设置为"man.linuxde.net", 输入如下命令: declare test='man.linuxde.net',上面的命令执行后, 再使用echo命令将该shell变量值输出,输入如下命令: echo $test,上面的指令执行后,其输出的结果如下: man.linuxde.net
dris
显示和清空目录堆栈中的内容.+n: 显示从左边算起第n笔的目录;-n: 显示从右边算起第n笔的目录;-l: 显示目录完整的记录.
echo
在shell中打印shell变量的值, 或者直接输出指定的字符串.linux的echo命令, 在shell编程中极为常用,在终端下打印变量value的时候也是最常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用.可以用echo命令打印带有色彩的文字 (设置文字色, 背景色, 但二者的颜色码不同), 实现文字闪动, 高亮度(加粗),下划线,反显,清隐效果.文字色颜色码: 重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37; 背景色颜色码: 重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47. echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"echo -e "\033[37;31;7mMySQL Server Stop...\033[39;49;0m"echo -e "\e[1;42mGreen Background\e[0m"echo -e "\e[1;31mThis is red text\e[0m"查看linux下当前使用语言命令: echo $LANG如果想把一个字符串中的一些字符删除 (替换为空), 可以如此: echo "2006-11-21 22:16:30" | sed 's/-//g' | sed 's/ //g' |sed 's/://g' ,得到的结果就是: 20061121221630.
enable
临时关闭或者激活指定的shell内部命令.若要执行的文件名称与shell内建命令相同,可用enable -n来关闭shell内建命令.若不加-n选项, enable可重新启动关闭的命令.linuxshell命令执行时, shell总是先在自己的shellbuiltin中查找该命令,如果找到则执行该命令;如果找不到该命令,则会从环境变量$PATH指定的路径中依次去查找待执行的命令.因为了解了这一点,所以看起来好像没有办法编写用户自己的命令来替代shellbuiltin命令.幸运的是,有了enable命令我们就能做到了.-n: 关闭指定的内部命令;-a: 显示所有激活的内部命令;-f: 从指定文件中读取内部命令.
env=================
查看系统中的环境变量,以及在定义的环境中执行指令.默认直接显示当前的环境变量.如果使用env命令在新环境中执行指令时,会因为没有定义环境变量"PAT"而提示错误信息"no such file or directory".此时,用户可以重新定义一个新的"PATH"或者使用绝对路径.-i: 开始一个新的空的环境;-u<变量名>: 从当前环境中删除指定的变量.利用环境变量解决终端显示乱码问题 (临时解决, 重启后失效): 在终端中执行如下命令: LANG=en,LANGUAGE=en,LC_ALL=en,LC_CTYPE=en,LC_TIME=en
exec=================
调用并执行指令的命令.exec命令通常用在shell脚本程序中,可以调用其它的命令.如果在当前终端中使用命令,则当指定的命令执行完毕后会立即退出终端.首先使用echo命令将文本"Linux C++" 进行输出,输入如下命令: echo Linux C++, 执行上面的指令后,输出如下信息: Linux C++, 然后再使用exec命令调用echo命令输出同样的信息,并且对输出的信息进行对比,输入指令如下所示: exec -c echo Linux C++执行以上命令后,其输出信息如下: Linux C++,通过比较两者执行后的结果来看,所实现的功能是相同的,即使用exec命令调用echo命令成功.
exit
退出shell,并返回给定值.在shell脚本中可以终止当前脚本执行.执行exit可使shell以指定的状态值退出.若不设置状态值参数,则shell以预设值退出.状态值0代表执行成功,其它值代表执行失败.在脚本中,进入脚本所在目录,否则退出: cd $(dirname $0) || exit 1在脚本中,退出时删除临时文件: trap "rm -f tmpfile; echo Bye." EXIT
export
将shell变量输出为环境变量, 或者将shell函数输出为环境变量.\一个变量创建时, 它不会自动地为在它之后创建的shell进程所知.而命令export可以向后面的shell传递变量的值.当一个shell脚本调用并执行时, 它不会自动得到原为脚本 (调用者) 里定义的变量的访问权, 除非这些变量已经被显示地设置为可用.export 命令可以用于传递一个或多个变量的值到任何后继脚本.-f: 代表[变量名称]中为函数名称;-n: 删除指定的变量.变量实际上并未删除, 只是不会输出到后继指令的执行环境中;-p: 列出所有的shell赋予程序的环境变量.一般来说, 配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.
grub=================
多重引导程序grub的命令行shell工具.--batch: 打开批处理模式;--boot-drive=<驱动器>: 指定stage2的引导驱动器;--config-file<配置文件>: 指定stage2的配置文件;--device-map=<文件>: 指定设备的映射文件;--help: 显示帮助信息;--install-partition=<分区>: 指定stage2安装分区;--no-config-file: 不使用配置文件;--no-pager: 不使用内部分页器;--preset-menu: 使用预设菜单;--probe-second-floppy: 检测第二个软盘驱动器;--read-only: 只读模式.
fc
自动调用vi编辑器修改已有历史命令, 当保存时立即执行修改后的命令, 也可以用来显示历史命令.fc保存文件后, 会自动执行所编辑过的命令.-l: 显示历史命令;-n: 显示历史命令时, 不显示编号;-r: 反序显示历史命令.使用该指令显示最近使用的10条历史命令, 输入如下命令: fc -l -10 第一列信息是历史命令的编号,第二列信息是历史命令的具体格式. 若用户需要编辑第1040条历史命令时, 则输入如下命令: fc 1040;命令执行成功后, 将自动调用vi编辑器编辑指定的命令,编辑完成后保存,会自动执行修改后的命令.当用户在vi编辑器中修改指令并保存后, 被修改的命令会被自动调用并执行.
help
用于显示shell内部命令的帮助信息.help命令只能显示shell内部的命令帮助信息.而对于外部命令的帮助信息只能使用man或者info命令查看.-s: 输出短格式的帮助信息.仅包括命令格式.help shopt #获取shopt命令的帮助信息
history
命令回溯功能,与.bash_history文件相关.用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件.该命令单独使用时, 仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令.例如,要执行第2个历史命令,则输入!2.历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取.在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制.-c: 清空当前历史命令;-a: 将历史命令缓冲区中命令写入历史命令文件中;-r: 将历史命令文件中的命令读入当前历史命令缓冲区;-w: 将当前历史命令缓冲区命令写入历史命令文件中.history 10 查看最近执行的10条命令.希望执行之前历史记录中的命令, 但又不想重新输入,该怎么办?使用符号!即可, 可以使用符号!执行指定序号的历史命令.例如, 要执行第2个历史命令,则输入!2.
script
制作一份记录输出到终端的记录 (make typescript of terminal session, 文本文件), 该记录可以保存并在以后再打印出来.记录在终端的一切.语法: script[选项][文件] script my.terminal.sessio 输入命令: ls; date; sudo service foo stop, 要退出 (结束script会话), 输入exit或者logout或者按下control-D. 要浏览输入: more my.terminal.session, less my.terminal.session或者 cat my.terminal.session.
jobs===========
显示Linux中的任务列表及任务状态, 包括后台运行的任务.该命令可以显示任务号及其对应的进程号.其中,任务号是以普通用户的角度进行的, 而进程号则是从系统管理员的角度来看的.一个任务可以对应于一个或者多个进程号.在Linux系统中执行某些操作时候, 有时需要将当前任务暂停调至后台, 或有时须将后台暂停的任务重启开启并调至前台, 这一序列的操作将会使用到jobs,bg,和fg三个命令以及两个快捷键来完成.-l: 显示进程号;-p: 仅任务对应的显示进程号;-n: 显示任务状态的变化;-r: 仅输出运行状态(running)的任务;-s: 仅输出停止状态(stopped)的任务.使用jobs命令显示当前系统的任务列表, 输入如下命令: jobs -l; 上面的命令执行后, 将显示出当前系统下的任务列表信息, 具体如下所示: [1] +1903运行中 find / -name password & 注意: 要得到以上输出信息,必须在执行jobs命令之前执行 find / -name password & 否则,执行jobs命令不会显示任何信息.其中,输出信息的第一列表示任务编号, 第二列表示任务所对应的进程号, 第三列表示任务的运行状态,第四列表示启动任务的命令.利用jobs查看到后台的任务和编号后,再用fg number命令将任务调到前台来执行.
let
bash中用于计算的工具, 提供常用运算符还提供了方幂**运算符.在变量的计算中不需要加上$来表示变量,如果表达式的值是非0,那么返回的状态值是0;否则,返回的状态值是1.自加操作let no++;自减操作let no--;简写形式let no+=10,let no-=20,分别等同于let no=no+10, let no=no-20
read
从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合.该命令可以依次读取多个变量的值,变量和输入的值都需要使用空格隔开.-p: 指定读取值时的提示符;-t: 指定读取值时等待的时间(秒).使用read命令从键盘读取变量值, 并且将值赋给指定的变量: read v1 v3; 执行上面的指令以后, 要求键入两个数据: Linux C+;完成之后,可以使用echo命令将指定的变量值输出查看: echo $v1 $v3;执行输出变量值的命令以后, 将显示用户所输入的数据值: Linux c+.注意: 使用echo命令输出变量值时, 必须在变量名前面添加符号$.否则,echo将直接输出变量名.
readonly
定义只读shell变量和shell函数.readonly命令的选项-p可以输出显示系统中所有定义的只读变量.当用户试图修改只读变量的值时, 会被提示该变量为只读变量.-f: 定义只读函数;-a: 定义只读数组变量;-p: 显示系统中全部只读变量列表.
seq
产生从某个数到另外一个数之间的所有整数.-w选项指定输出数字同宽: seq -w 98 101
set
显示系统中已经存在的shell变量, 以及设置shell变量的新变量值.使用set 更改shell特性时, 符号"+"和"-"的作用分别是打开和关闭指定的模式.set命令不能够定义新的shell变量.如果要定义新的变量,可以使用declare命令以变量名=值的格式进行定义即可.使用declare命令定义一个新的环境变量"mylove",并且将其值设置为"Visual C++": declare mylove='Visual C++';再使用set命令将新定义的变量输出为环境变量: set -a mylove;执行该命令后, 将会新添加对应的环境变量.用户可以使用env命令和grep命令分别显示和搜索环境变量"mylove": env | grep mylove; 此时,该命令执行后,将输出查询到的环境变量值.
unset
删除已经定义的shell变量 (包括环境变量) 和shell函数.unset命令不能够删除具有只读属性的shell变量和环境变量.-f: 仅删除函数;-v: 仅删除变量.使用unset命令将前面所创建的环境变量mylove及其对应的值进行删除,输入如下命令: unset -v mylove;执行以上命令后,系统将删除指定的环境变量.用户可以使用env命令和grep命令对其进行查询.已经删除的环境变量再次使用指令查询时,将出现查询不到指定环境变量的输出信息.
shopt
显示和设置shell中的行为选项, 通过这些选项以增强shell易用性.shopt命令若不带任何参数选项, 则可以显示所有可以设置的shell操作选项.-s: 激活指定的shell行为选项;-u: 关闭指定的shell行为选项.shopt -s cdspell #开启cd拼写检查
tput
将通过terminfo数据库对您的终端会话进行初始化和操作.通过使用tput, 您可以更改几项终端功能, 如移动或更改光标,更改文本属性,以及清除终端屏幕的特定区域.UNIX系统上的terminfo,数据库用于定义终端和打印机的属性及功能,包括各设备 (例如, 终端和打印机) 的行数和列数以及要发送至设备的文本的属性.UNIX中的几个常用程序都依赖terminfo数据库提供这些属性以及许多其它内容, 其中包括vi和emacs编辑器以及curses和man程序.与UNIX中的大多数命令一样,tput命令既可以用在shell命令中也可以用在shell脚本中.为让您更好地理解tput,本文首先从命令行讲起,然后紧接着讲述shell脚本示例.
trap
指定在接收到信号后将要采取的动作, 常见的用途是在脚本程序被中断时完成清理工作. 当shell接收到sigspec指定的信号时, arg参数(命令)将会被读取,并被执行.例如: trap "exit 1" HUP INT PIPE QUIT TERM表示当shell收到HUP INT PIPE QUIT TERM这几个命令时, 当前执行的程序会读取参数 "exit 1",并将它作为命令执行. 当你改变了默认在收到信号后应采取的动作,你可以改变它回来的陷阱,如果你只是省略第一个参数; $trap 1 2 复位应采取的动作收到信息1或2返回默认.
type
显示指定命令的类型, 判断给出的指令是内部指令还是外部指令.命令类型: alias : 别名; keyword: 关键字,Shell保留字; function: 函数,Shell函数; builtin: 内建命令,Shell内建命令; file: 文件,磁盘文件,外部命令; unfound: 没有找到. -t: 输出"file", "alias" 或者"builtin",分别表示给定的指令为"外部指令","命令别名" 或者 "内部指令"; -p: 如果给出的指令为外部指令, 则显示其绝对路径; -a: 在环境变量"PATH"指定的路径中,显示给定指令的信息,包括命令别名. type date,返回: date是/bin/datetype -a grep, 返回: grep是/bin/greptype if,返回: if是shell关键字
ulimit
限制系统用户对shell资源的访问.如果不懂什么意思,下面一段内容可以帮助你理解: 假设有这样一种情况, 当一台Linux主机上同时登陆了10个人, 在系统资源无限制的情况下, 这10个用户同时打开了500个文档, 而假设每个文档的大小有10M,这时系统的内存资源就会受到巨大的挑战. 而实际应用的环境要比这种假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量,分配堆栈的大小,CPU时间,虚拟内存大小等等都有非常严格的要求. 资源的合理限制和分配,不仅仅是保证系统可用性的必要条件,也与系统上软件运行的性能有着密不可分的联系. 这时,ulimit可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式. -a: 显示目前资源限制的设定;-c: 设定core文件的最大值, 单位为区块;-d<数据节区大小>: 程序数据节区的最大值, 单位为KB;-f<文件大小>: shell所能建立的最大文件, 单位为区块;-H: 设定资源的硬性限制, 也就是管理员所设下的限制;-m<内存大小>: 指定可使用内存的上限,单位为KB;-n<文件数目>: 指定同一时间最多可开启的文件数;-p<缓冲区大小>: 指定管道缓冲区的大小,单位512字节;-s<堆叠大小>: 指定堆叠的上限,单位为KB;-S: 设定资源的弹性限制;-t: 指定CPU使用时间的上限,单位为秒;-u<程序数目>: 用户最多可开启的程序数目;-v<虚拟内存大小>: 指定可使用的虚拟内存上限,单位为KB.
wait
等待指令指令, 直到其执行完毕后返回终端.该芝琳常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务.该指令等待作业时, 在作业标识号前必须添加备份号"%".使用命令wait等待作业号为1的作业完成后再返回,输入如下命令: wait %1;执行上面的指令后,将输出指定作业号的指令,如下所示: find / -name password.
badblocks
查找磁盘中损坏的区块.硬盘是一个损耗设备, 当使用一段时间后可能会出现坏道等物理故障.电脑硬盘出现坏道后, 如果不及时更换或进行技术处理, 坏道就会越来越多,并会造成频繁死机和数据丢失.最好的处理方式是更换磁盘,但在临时的情况下,应及时屏蔽坏道部分的扇区, 不要触动它们.badblocks就是一个很好的检查环境位置的工具.-b<区块大小>: 指定磁盘的区块大小,单位为字节;-o<输出文件>: 将检查的结果写入指定的输出文件;-s: 在检查时显示进度;-v: 执行时显示详细的信息;-w: 在检查时,执行写入测试.以4096的一个block,每一个block检查16次,将结果输出到"hda-badblocks-list" 文件里: badblocks -b 4096 -c 16 /dev/hda1 -o hda-badblocks-list.
blkid
在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询,可以查看ROOT分共是否被加密.blkid主要用来对系统的块设备 (包括交换分区) 所使用的文件系统类型,LABEL,UUID等信息进行查询.要使用这个命令必须安装e2fsprogs软件包.列出当前系统中素有已挂载文件系统的类型: sudo blkid显示指定设备UUID: sudo blkid -s UUID /dev/sda5显示所有设备UUID: sudo blkid -s UUID显示指定设备LABEL: sudo blkid -s LABEL /dev/sda5显示所有设备LABEL: sudo blkid -s LABEL显示所有设备文件系统: sudo blkid -s TYPE显示所有设备: sudo blkid -o device以列表方式查看详细信息: sudo blkid -o list
blockdev
调用"ioxtls" 函数以实现对设备的控制.-V: 打印版本号并退出;-q: 安静模式;-v: 详细信息模式;--setro: 只读;--setrw: 只写;--getro: 打印只读状态."1" 表示只读, "0" 表示非只读;--getss: 打印扇区大小.通常为521;--flushbufs: 刷新缓冲区;--rereadpt: 重新读取分区表.设置设备为只读: blockdev --setro /dev/hda4读取设备是否为只读: blockdev --getro /dev/hda4设置设别为可读写: blockdev --serrw /dev/hda4
lsblk
列出所有可用块设备的信息, 而且还能显示他们之间的依赖关系, 但是它不会列出RAM盘的信息.块设备有硬盘,闪存盘,cd-ROM等等.lsblk命令包含在util-linux-ng包中,现在该=包改名为util-linux.这个包带了几个其它工具, 如dmesg.要安装lsblk, 请下载util-linux包.,Fedora用户可以通过命令sudo yum install util-linux-ng来安装该包.-a, -all 显示所有设备.-b, --bytes 以bytes方式显示块设备大小.-d,--nodeps 不显示slaves或holders.-D,--discard print discard capabilities.-e,--exclude 排除设备 (default: RAM disks).-f,--fs 显示文件系统信息.-h,--help 显示帮助信息.-i,--ascii use ascii characters only.-m,--perms 显示权限信息.-l,--list 使用列表格式显示.-n,--noheadings 不显示标题.-o,--output 输出列.-P,--pairs 使用key="value"格式显示.-r,--raw 使用原始格式显示.-t,--topology 显示拓扑结构信息.
df
显示磁盘分区上的可使用的磁盘空间.默认显示单位为KB.可以利用该命令来获取硬盘被占用了多少空间, 目前还剩下多数空间等信息.-a或--all: 包含全部的文件系统;--block-size=<区块大小>: 以指定的区块大小来显示区块数目;-h或--human-readable: 以可读性较高的方式来显示信息;-H或--si: 与-h参数相同, 但在计算时是以1000Bytes为换算单位而非1024Bytes;-i或--inodes: 显示indoe的信息;-k或--kilobytes: 指定区块大小为1024字节;-l或--local: 仅显示本地端的文件系统;-m或--megabytes: 指定区块大小为1048576字节;--no-sync: 在取得磁盘使用信息前,不要执行sync指令,此为预设值;-P或--portability: 使用POSIX的输出格式;--sync: 在取得磁盘使用信息前, 先执行sync指令;-t<文件系统类型>或--type=<文件系统类型>: 仅显示指定文件系统类型的磁盘信息;-T或--print-type: 显示文件系统的类型;-x<文件系统类型>或--exclude-type=<文件系统类型>: 不要显示指定文件系统的磁盘信息.注意: 如果要用比df更强大的磁盘信息工具,可以安装di.
du===============
查看使用空间的, 但与df命令不同的是,du命令是对文件和目录磁盘使用的空间的查看.-a或-all 显示目录中个别文件的大小.-b或-bytes显示目录或文件大小时,以byte为单位.-c或--total 除了显示个别目录或文件的大小外, 同时也显示所有目录或文件的总和.-k或--kilobytes 以KB(1024bytes)为单位输出.-m或--megabytes 以MB为单位输出.-s或--summarize 仅显示总计,只列出最后加总的值.-h或--human-readable 以K,M,G为单位, 提高信息的可读性.-x或--one-file-xystem 以一开始处理时的文件系统为准, 若遇上其它不同的文件系统目录则略过.-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小.-S或--separate-dirs 显示个别目录的大小时, 并不含其子目录的大小.-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件.--exclude=<目录或文件> 略过指定的目录或文件.-D或--deference-args 显示指定符号链接的源文件大小.-H或--si 与-h参数相同, 但是K,M,G是以1000为换算单位.-l或--count-links 重复计算硬件链接的文件.du -sh /etc: 查看etc文件夹的大小du -sk readme.txt: 查看文件的大小 (以KB为单位)du -h -d 1 :
fdsik
磁盘管理工具, 可以观察硬盘实体使用情况,也可对磁盘分区,为Linux系统添加交换分区. 它采用传统的问答式界面, 而非类似DOSfdisk的cfdisk互动式操作界面, 因此在使用上较为不便, 但功能却丝毫不打折扣.-b<分区大小> : 指定每个分区的大小;-l: 列出指定的外围设备的分区表状况;-s<分区编号>: 将指定的分区大小输出到标准输出上, 单位为区块;-u: 搭配"-l"参数列表, 会用分区数目取代柱面数目, 来表示每个分区的起始地址.Fdisk 可以对磁盘进行添加,删除,转换等等.要对一整块磁盘进行操作, 先要执行命令: fdisk /dev/sda, 然后再用各种功能命令进行操作: n为新建分区,p为建立主分区,w为保存分区结果并退出. fdisk -lu xxx.raw: 查看raw格式镜像中每个分区的偏移量 (以方便使用loop方式挂载该镜像)fdisk -l: 列出所有磁盘及对应的分区情况.为Linux系统添加交换分区: 系统的第一块硬盘会被命名为/dev/sda, 而其中的分区会命名为 /dev/sda1, /dev/sda2. 假设我们使用的是一块有两个主分区的硬盘,两个分区分别为/dev/sda1,/dev/sda2,而我们使用/dev/sda3来作交换分区.首先创建一个新分区fdisk /dev/sda, 按n来创建新分区.系统会询问你从哪个柱面开始, 直接按回车键使用默认值即可.然后系统询问你到哪个柱面结束,这里我们输入交换分区的大小 ( 比如1000MB).这里我们输入 +1000M.然后我们按下t然后回车, 来设置分区类型.现在我们要输入分区编号, 这里我们输入3, 然后输入磁盘分类号, 交换分区的分区类型为82 (要显示所有可用的分区类型, 按下l), 然后再按下w保存磁盘分区表.再下一步使用mkswap命令来格式化交换分区: mkswap /dev/sda3, 然后激活新建的交换分区: swapon /dev/sda3,然后我们的交换分区在重启后并不会自动挂载.要做到永久挂载, 我们需要添加内容到/etc/fstab文件中.打开/etc/fstab文件并输入下面行: /dev/sda3 swap swap default 0 0,保存并关闭文件.现在每次重启后都能使用我们的交换分区了.
fallocate
用于为文件预分配块/大小, 最简单,最快速的为Linux系统添加交换分区.交换分区在物理内存(RAM)被填满时用来保持内存中的内容.当RAM被耗尽,Linux会将内存中不活动的页移动到交换空间中,从而空出内存给系统使用.虽然如此,但交换空间不应被认为是物理内存的替代品.大多数情况下, 建议交换内存的大小为物理内存的1到2倍.页就是说如果你有8GB内存,那么交换空间大小应该介于8-16GB.若系统中没有配置交换分区, 当内存耗尽后,系统可能会杀掉正在运行中的进程/应用,从而导致系统崩溃.为Linux系统添加交换分区: 使用fallocate创建交换空间, 我们首先在/目录下创建一个名为swap_space的文件.然后分配2GB到swap_space文件: fallocate -1 2G /swap_space, 运行下面命令来验证文件大小: ls -lh /swap_space, 然后更改文件权限,让/swap_space更安全: chmod 600 /swap_space, 这样只有root可以读写该文件了. 我们再来格式化交换分区: mkswap /swap_space, 然后启用交换空间: swapon -s, 每次重启后都要重新挂载磁盘分区. 因此为了使之持久化,我们编辑/etc/fstab并输入下面行; /swap_space swap sw 0 0, 保持并退出文件. 现在我们的交换分区会一直被挂载了. 我们重启后可以在终端运行free -m来检查交换分区是否生效.
parted==============
功能强大的磁盘分区和分区大小调整工具,与fdisk不同,它支持调整分区的大小.作为一种设计用于Linux的工具, 它没有构建成处理与fdisk关联的多种分区类型,但它可以处理最常见的分区格式,包括: ext2,ext3,fat16,fat32,NTFS,ReiserFS,JFS,XFS,UFS,HFS以及Linux交换分区. -i: 交互式模式; -s: 脚本模式,不提示用户. GPT格式: parted命令可以创建全局唯一的标识符分区表GPT[1],而fdisk和cfdisk则仅限于DOS分区表. 由于现在的磁盘更大,需要更灵活地使用它们,建议使用parted来处理磁盘分区.大多数时候,磁盘分区表是作为操作系统安装过程的一部分创建的.在向现有系统添加存储设备时, 直接使用parted命令非常有用.
hdparm
提供了一个命令行的接口用于读取和设置IDE或SCSI硬盘参数.硬盘坏道修复方法: 检查: smartctl -l selftest /dev/sda; 卸载: umount /dev/sda*; 修复: badblocks /dev/sda.检测硬盘的电源管理模式: hdparm -C /dev/sda测试硬盘缓存的读取速度: hdparm -T /dev/xvda测试硬盘的读取速度: hdparm -T /dev/sda显示硬盘的柱面,磁头,扇区数: hdparm -g /dev/sda显示硬盘的相关设置: hdparm /dev/sda
lilo
安装核心载入,开机管理程序.lilo是个Linux系统核心载入程序,同时具备管理开机的功能.单独执行lilo指令,它会读取/etc/lilo.conf配置文件,然后根据其内容安装lilo.lilo已经成为所有Linux发行版的标准组成部分.作为一个较老的/最老的Linux引导加载程序,它那不断壮大的Linux社区支持使它能够随时间的推移而发展,并始终能够充当一个可用的现代引导加载程序.有一些新的功能,比如增强的用户界面,以及对能够突破原来1024-柱面限制的新BIOS功能的利用. 虽然LILO仍在不断地发展,但LILO工作原理的基本概念保持不变.-b<外围设备代号>: 指定安装lilo之处的外围设备代号;-c: 使用紧致映射模式;-C<配置文件>: 指定lilo的配置文件;-d<延迟时间>: 设置开机延迟时间;-D<识别标签>: 指定开机后预设启动的操作系统, 或系统核心识别标签;-f<几何参数文件>: 指定磁盘的几何参数配置文件;-i<开机磁区文件>: 指定欲使用的开机磁区文件,预设是/boot目录里的boot.b文件;-I<识别标签>: 显示系统核心存放之处;-l: 产生线形磁区地址;-m<映射文件>: 指定映射文件;-P: 决定要修复或忽略分区表的错误;-q: 列出映射的系统核心文件;-r<根目录>: 设置系统启动时欲挂入成为根目录的目录;-R<执行指令>: 设置下次启动系统时, 首先执行的指令;-s<备份文件>: 指定备份文件;-S<备份文件>: 强制指定备份文件;-t: 不执行指令, 仅列出实际执行会进行的动作;-u<外围设备代号>: 删除lilo;-U<外围设备代号>:此选项的效果和指定"-u"参数类似,当不检查时间戳记;-v: 显示指令执行过程.
lvcreate
创建LVM的逻辑卷.逻辑卷是创建在卷组之上的.逻辑卷对应的设备文件保存在卷组目录下,例如: 在卷组"vg1000"上创建一个逻辑卷"lvol0",则此逻辑卷对应的设备文件为"/dev/vg1000/lvob0". 使用lvcreate命令在卷组"vg1000"上创建一个200MB的逻辑卷; lvcreate -L 200M vg1000 #创建大小为200M的逻辑卷,输出信息如下: Logical volume "lvol0" created, 说明:创建成后, 新的逻辑卷"lvol0",将通过设备文件/dev/vg1000/lvol0进行访问. -L: 指定逻辑卷的大小,单位为"kKmMgGtT"字节; -l: 指定逻辑卷的大小 (LE数).
lvdisplay
显示LVM (Logical Volume Manager 逻辑卷管理) 逻辑卷空间大小,读写状态和快照信息等属性.如果省略"逻辑卷"参数,则lvdisplay命令显示所有的逻辑卷属性.否则,仅显示指定的逻辑卷属性.lvdisplay /dev/vg1000/lvol0 #显示逻辑卷属性
xfs_growfs
扩展容量: xfs_growfs /dev/mapper/centos-root
lvextend
在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问.使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的.扩展lvm卷: lvextend -l +100%FREE /dev/mapper/centos-root 使用lvextend命令为逻辑卷/dev/vg1000/lvol0 增加100M空间: lvextend -L +100M /dev/vg1000/lvol0
lvreduce
减少LVM逻辑卷占用的空间大小.使用lvreduce命令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认.-L: 指定逻辑卷的大小,单位为"kKmMgGtT" 字节;-l: 指定逻辑卷的大小 (LE数).使用lvreduce命令减少指定的逻辑卷的空间大小: lvreduce -L 50M /dev/vg1000/lvol0
lvremove
删除指定LVM逻辑卷.如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除.必须使用umount命令卸载后,逻辑卷方可被删除.lvremove /dev/vg1000/lvol0 #删除逻辑卷"lvol0"
lvresize
调整VM逻辑卷的空间大小, 可以增大空间和缩小空间.使用lvresize命令调整逻辑卷空间大小和缩小空间时需要谨慎,因为它有可能导致数据丢失.lvresize -L +200M /dev/vg1000/lvol0 #将逻辑卷空间增加200M
lvscan
扫描当前系统中存在的所有的LVM逻辑卷.使用lvscan指令可以发现系统中的所有逻辑卷,及其对应的设备文件.-b: 显示逻辑卷的主设备和次设备号.
mkbootdisk
为当前运行的系统创建能够单独使用的系统引导软盘,以便在系统出现故障时能够启动操作进行适当的修复工作.--device<设备>: 指定设备;--mkinitrdargs<参数>: 设置mkinitrd的参数;--noprompt: 不会提示用户插入磁盘;--verbose: 执行时显示详细的信息.mkbootdisk --device /dev/fd0 `uname -r`其中,`uname -r`是目前Linux系统所使用的核心版本,如果你有多个核心版本的话,你可以直接输入核心版本.例如在这个网页中所使用的核心有两个版本.一个是2.2.12-20,另一个是2.2.18,若要以2.2.18设定开机的话,可以使用: mkbootdisk --device /dev/fd0 2.2.18
mkinitrd
建立要载入randisk的映像文件,以供Linux开机时载入randisk.这个是重新封包核心的命令.例如你自己修改了一个设备的驱动,如果这个驱动要加入核心级别的话,就需要对核心进行重新封包,把新加的配置编译到核心内部去!-f: 若指定的映像问家名称与现有文件重复,则覆盖现有的文件;-v: 执行时显示详细的信息;--omit-scsi-modules: 不要载入SCSI模块;--preload=<模块名称>: 指定要载入的模块;--with=<模块名称>: 指定要载入的模块.mkinitrd -v -f myinitrd.img $(uname -r)
mkisofs
将指定的目录与文件做成ISO9600格式的映像文件,以供刻录光盘.
mknod
创建Linux中的字符设备文件和块设备文件.-Z: 设置安全的上下文;-m: 设置权限模式.(Linux的设备管理是和文件系统紧密结合的, 各种设备都以文件的形式存放在/dev目录下, 称为设备文件. 应用程序可以打开,关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样. 为了管理这些设备, 系统为设备编了号, 每个设备号又分为主设备号和次设备号. 主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备. 对于常用设备,Linux有约定熟成的编号,如硬盘的主设备号是3.)mknod /tmp/mypipe p: 建立一个管道(Linux系统上的一种特殊类型的文件, 它可以将数据从一个程序传递给另一个程序)
mkswap
在一个文件或者设备上建立交换分区.在建立完之后要使用swapon命令开始使用这个交换区.最后一个选择性参数指定了交换区的大小,但是这个参数是为了向后兼容设置的,没有使用的必要,一般都将整个文件或者设备作为交换区.-c: 建立交换区前,先检查是否损坏的区块;-f: 在SPACE电脑上建立交换区时,要加上此参数;-v0: 建立旧式交换区,此为预设值;-v1: 建立新式交换区.mkswap /dev/sda3: 使用mkswap命令来格式化交换分区
partprobe
重读分区表, 当出现删除文件后仍然占用空间时,可以用partprobe在不重启的情况下重度分区表.使用partprobe可以不用重启系统即可配合fdisk工具创建新的分区.-d: 不更新内核;-s: 显示摘要和分区.
pvcreate
将物理硬盘分区初始化为物理卷,以便LVM使用.-f: 强制创建物理卷,不需要用户确认;-u: 指定设备的UUID;-y: 所有的问题都回答"yes";-Z: 是否利用前4个扇区.pvcreate /dev/sdbpvchange -x n /dev/sdb1 #禁止分配指定物理卷上的PE
pvchange
允许管理员改变物理卷的分配许可.如果物理卷出现故障,可以使用pvchange命令禁止分配物理卷上的PE.-u: 生成新的UUID;-x: 是否允许分配PE.pvchange -x n /dev/sdb1 #禁止分配"/dev/sdb1"上的PE
pvck
检测物理卷的LVM元数据的一致性.默认情况下, 物理卷中的前4个扇区保持着LVM卷标,可以使用--labelsector选项指定其它的位置(例如: 数据恢复时).-d: 调试模式;-v: 详细信息模式;--labelsector: 指定LVE卷标所在扇区.pvck -v /dev/sdb1 #检查物理卷元数据
pvdisplay
显示物理卷的属性.pvdisplay命令显示的物理卷信息包括: 物理卷名称,所属的卷组,物理卷大小,PE大小,总PE数,可用PE数,已经分配的PE数和UUID. -s: 以短格式输出;-m: 显示PE到LE的映射.pvdisplay /dev/sdb1 #显示物理卷基本信息
pvremove
删除一个存在的物理卷.使用pvremove指令删除物理卷时, 它将LVM分区上的物理卷信息删除, 使其不再被视为一个物理卷.-d: 调试模式;-f: 强制删除;-y: 对提问回答"yes".pvremove /dev/sdb2 #删除物理卷
pvs
输出格式化的物理卷信息报表.使用pvs命令仅能得到物理卷的概要信息,如果要得到更加详细的信息可以使用pvdisplay命令.--noheadings: 不输出标题头;--nosuffix: 不输出空间大小的单位.
vgcreate
创建LVM卷组.卷组(VolumeGroup) 将多个物理卷组织成一个整体,屏蔽了底层物理卷细节.在卷组上创建逻辑卷时不用考虑具体的物理卷信息.-l: 卷组上允许创建的最大逻辑卷数;-p: 卷组中允许添加的最大物理卷数;-s: 卷组上的物理卷的PE大小.使用vgcreate命令创建卷组"vg1000",并且将物理卷/dev/sdb1和/dev/sdb2添加到卷组中: vgcreate vg1000 /dev/sdb1 /dev/sdb2
cfdisk
用于磁盘分区.cfdisk是用来磁盘分区的程序,它十分类似DOS的fdisk,具有互动式操作界面而非传统fdisk的问答式界面, 您可以轻易地利用方向键来操控分区操作.
ext2ed
ext2ed命令是ext2文件系统编辑程序.ext2ed可直接处理硬盘分区上的数据,这指令只有Red Hat Linux才提供.
fsck.minix
用于检查文件系统并尝试修复错误.当minix文件系统发生错误时,可用fsck.minix指令尝试加以参考.
fsconf
用于设置文件系统相关功能.fsconf是Red Hat Linux发行版专门用来调整Linux各项设置的程序.
fdformat
用于对指定的软碟机装置进行低阶格式化.使用这个指令对软碟格式化的时候, 最好指定像是下面的装置:/dev/fd0d360 磁碟机A: 磁片为360KB磁碟/dev/fd0h1440 磁碟机A: 磁片为1.4MB磁碟/dev/fdh1200 磁碟机B: 磁片为1.2MB磁碟如果使用像是/dev/fd0 之类的装置,如果里面的磁碟不是标准容量,格式化可能会失败.在这种情况之下,使用者可以用setfdpm指令进行指定必要参数.
mformat
用于对MS-DOS文件系统的磁盘进行格式化.在已经做过低阶格式化的磁片上建立DOS档案系统.如果在编程mtools的时候把USE-2M的参数打开, 部分与2M格式相关的参数就会发生作用.否则这些参数 (像是S,2,1,M) 不会发生作用.
mkdosfs
用于建立DOS文件系统.device指你想要建立DOS档案系统的装置代号.像是/dev/hda1等等.block_count 则是你希望配置的区块数.如果block_count没有指定则系统会自动替你计算符合该装置大小的区块数.
mkfs.ext2
与mke2fs命令 相同
mkfs.msdos
与mkdosfs命令相同
mpartition
用于建立或删除MS-DOS的分区.mpartition为mtools工具指令, 可建立或删除磁盘分区.
symlinks
用于维护符号连接的工具程序.symlinks可检查目录中的符号连接, 并显示符号连接类型.以下为symlinks可判断的符号连接类型:absolute: 符号连接使用了绝对路径.dangling: 原始文件已经不存在.lengthy: 符号连接的路径中包含了多余的"../" .messy: 符号连接的路径中包含了多余的"/" .other_fs: 原始文件位于其它文件系统中.relative: 符号连接使用了相对路径.
mbadblocks
用于检查MS-DOS文件系统的磁盘是否有损坏的磁区.mbadblocks为mtools工具指令,可用来扫描MS-DOS文件系统的磁盘驱动器, 并标示出损坏的磁区.
mshowfat
用于显示MS-DOS文件在FAT中的记录.mshowfat为mtools工具指令, 可以显示MS-DOS文件在FAT中的记录编号.
mkfs.minix
用于建立Minix文件系统.mkfs.minix可建立Minix文件系统.
fsck.ext2
用于检查文件系统并尝试修复错误.当ext2文件系统发生错误时, 可用fsck.ext2指令尝试加以修复.
losetup
用于设置循环设备.循环设备可把文件虚拟成区块设备,籍以模拟整个文件系统,让用户得以将其视为磁盘驱动器,光驱或软驱等设备,并挂入当作目录来使用.Losetup -f 查看哪个loop设备是空闲的.
sfdisk
是硬盘分区工具程序.sfdisk为磁盘分区工具程序,可显示分区的设置信息,并检查分区是否正常.
kpartx
通过kpartx方式可以挂载raw格式的镜像.这个方式只能挂载raw格式镜像,不能处理qcow2格式镜像.要处理qcow2格式镜像,要使用qemu-ndb或guestfs.
vgconvert
转换指定LVM卷组的元数据格式,通常将"LVM1"格式的卷组转换为"LVM2"格式.转换卷组元数据前必须保证卷组处于非活动状态,否则无法完成转换操作.-M: 要转换的卷组格式.vgchange -an vg1000 #设置卷组状态为非活动状态vgconvert -M2 vg1000 #转换卷组为"LVM2"格式vgchange -ay vg1000 #设置卷组状态为活动状态
vgdisplay
显示LVM卷组的信息.如果不指定"卷组"参数,则分别显示所有卷组的属性.-A: 仅显示活动卷组的属性;-s: 使用短格式输出的信息.vgdisplay vg1000 #显示卷组"vg1000"的属性
vgextend
动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量.LVM卷组中的物理卷可以在使用vgcreate命令创建俊足时添加,也可以使用vgextend命令动态的添加.-d: 调试模式;-t: 仅测试.vgextend centos /dev/sdbvgextend vg2000 /dev/sdb2 #将物理卷"/dev/sdb2"加入卷组"vg2000"
vgreduce
通过删除LVM卷组中的物理卷来减少卷组容量.不能删除LVM卷组中剩余的最后一个物理卷.-a: 如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷;--removemissing: 删除卷组中丢失的物理卷,使卷组恢复正常状态.vgreduce vg2000 /dev/sdb2 #将物理卷"/dev/sdb2"从卷组"vg2000"中删除
vgremove
用户删除LVM卷组.当要删除的卷组上已经创建了逻辑卷时, vgremove命令需要进行确认删除,防止误删除数据.-f: 强制删除.vgremove vg1000 #删除卷组"vg1000"
vgscan
查找系统中存在的LVM卷组, 并显示找到的卷组列表.vgscan命令仅显示找到的卷组的名称和LVM元数据类型,要得到卷组的详细信息需要使用vgdisplay命令.-d: 调试模式;--ignorerlockingfailure: 忽略锁定失败的错误.
lsmod
显示已经加载到内核中的模块的状态信息.Linux操作系统的核心具有模块化的特性, 因此在编译核心时,必须把全部的功能都放入核心.您可以将这些功能编译成一个个单独的模块,待需要时再分别载入.第1列: 表示模块的名称.第2列: 表示模块的大小.第3列: 表示依赖模块的个数.第4列:表示依赖模块的内容.通常在使用lsmod命令时, 都会采用类似lsmod |grep -i ext4这样的命令来查询当前系统是否加载了某些模块.判断是否加载Nvidia内核模块: lsmod | grep nvidia (等于cat /proc/modules | grep nvidia)
modprobe
智能地向内核中加载模块或者从内核中移除模块.modprobe可载入指定的个别模块,或是载入一组相依的模块.modprobe会根据depmod所产生的相依关系, 决定要载入哪些模块.若在载入过程中发现错误, 在modprobe会卸载整租的模块.-a或--all: 载入全部的模块;-c或--show-conf: 显示所有模块的设置信息;-d或--debug: 使用排错模式;-l或--list: 显示可用的模块;-r或--remove: 模块闲置不用时,即自动卸载模块;-t或--type: 指定模块类型;-v或--verbose: 执行时显示详细的信息.移除已经加载的模块: modprobe -r 模块名 (和rmmod功能相同)
rmmod
从当前运行的内核中移除指定的内核模块.执行rmmod指令,可删除不需要的模块.Linux操作系统的核心具有模块化的特性, 因此在编译核心时, 务须把全部的功能都放入核心. 你可以将这些功能编译成一个个单独的模块, 待有需要时再分别载入它们.-v: 显示指令执行的详细信息.-f: 强制移除模块,使用此选项比较危险;-w: 等待着, 直到模块能够被除时在移除模块;-s: 向系统日志(syslog) 发送错误信息.用rmmod命令主要用于卸载正在使用的Linux内核模块, 与modprobe -r命令相似,如下所示: lsmod | grep raid1, 然后rmmod raid1
bmodinfo
显示给定模块的详细信息.-a: 显示模块作者;-d: 显示模块的描述信息;-l: 显示模块的许可信息;-p: 显示模块的参数信息;-n: 显示模块对应的文字信息;-O: 用ASCII码的O字符分割字段值, 而不使用新行.显示sg模块的信息: modinfo sg
depmod
可产生模块依赖的映射文件, 在构建嵌入式系统时, 需要由这个命令来生成相应的文件, 由modprobe使用.-a或--all: 分析所有可用的模块;-d或debug: 执行排错莫OK;-e: 输出无法参照的符号;-i: 不检查符号表的版本;-m<文件>或system-map<文件>: 使用指定的符号表文件;-s或--system-log: 在系统记录中记录错误;-v或--verbose: 执行时显示详细的信息.
get_module
获取Linux内核模块的详细信息.使用lsmod命令查看内核模块: lsmod | head -5使用get_module命令查看模块详细信息: get_module ipv6
insmod
将给定的模块加载到内核中.Linux有许多功能是通过模块的方式, 在需要时才载入kernel.如此可使kernel较为精简, 进而提高效率, 以及保有较大的弹性.这类可载入的模块, 通常是设备驱动程序;-f: 不检查目前kernel版本与模块编译时的kernel版本是否一致, 强制将模块载入;-k: 将模块设置为自动卸除;-m: 输出模块的载入信息;-o<模块名称>: 指定模块的名称, 可使用模块文件的文件名;-p: 测试模块是否正确地载入kernel;-s: 将所有信息记录在系统记录文件中;-v: 执行时显示详细的信息;-x: 不要汇出模块的外部符号;-X: 汇出模块所有的外部符号,此为预设置. 加载RAID1阵列级别模块: insmod /lib/modules/2.6
dmesg
检查和控制内核的环形缓冲区.kernel会将开机信息存储在ringbuffer中.您若是开机时来不及查看信息,可利用dmesg来查看.开机信息保存在/var/log/dmesg文件里.-c: 显示信息后, 清除ring buffer中的内容;-s<缓冲区大小>: 预设置为8196, 刚好等于ring buffer的大小;-n: 设置记录信息的层级.
kernelversion
显示当前内核的主版本号.DEBIAN中无此命令, 可用cat /proc/versionuname -a 查看内核版本号.
kexec
Linux内核的一个补丁,让您可以从当前正在运行的内核直接引导到一个新内核.在上面的描述的引导序列中,kexec跳过了整个引导装载程序阶段(第一部分) 并直接跳转到我们希望引导到的内核.不再有硬件的重启, 不再有固件操作,不再设计引导装载程序. 完全避开了引导序列中最弱的一环...固件. 这一功能不见带来的最大益处在于,细阅现在可以极其快速地重新启动.kexec的好处: 要求高可用性的系统, 以及需要不断重新启动系统的内核开发人员, 都将受益于kexec.因为kexec跳过了系统重新启动过程中最耗时的部分 (也就是固件初始化硬件设备的阶段), 所以重新启动变得非常快, 可用性得到了提高.-l: 指定内核映像文件;-e: 允许当前被加载的内核;-f: 强制立即调用系统调用"kexec", 而不调用"shutdown";-t: 指定新内核的类型;-u: 卸载当前的kexec目标内核.
slabtop
以实时的方式显示内核"slab"缓冲区的细节信息. --delay=n,-d n: 每n秒更新依次显示的信息,默认是每3秒;--sort=S,-s S: 指定排序标准进行排序 (排序标准, 参照下面或者man手册);--once ,-o: 显示一次后退出.内核的模块在分配资源的时候, 为了提高效率和资源的利用率,都是通过slab来分配的.通过slab的信息, 再配合源码能粗粗了解系统的运行情况,比如说什么资源有没有不正常的多, 或者什么资源有没有遗漏.linux系统透过/proc/slabinfo 来向用户暴露slab的使用情况.
sysctl
在内核运行时动态地修改内核的运行参数, 可用的内核参数在目录/proc/sys中. 它包含一些TCP/ip堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能.用sysctl可以读取设置超过五百个系统变量.-n: 打印值时不打印关键字;-e: 忽略未知关键字错误;-N: 仅打印名称;-w: 当改变sysctl设置时使用此项;-p: 从配置文件"/etc/sysctl.conf" 加载内核参数设置;-a: 打印当前所有可用的内核参数变量和值;-A: 以表格方式打印当前所有可用的内核参数变量和值.编辑此文件: /etc/sysctl.conf,如果希望屏蔽别人ping你的主机, 则加入以下代码:# Disable ping requestsnet.ipv4.icmp_echo_ignore_all=1 编辑完后, 请执行以下命令使变动立即失效;/sbin/sysctl -p /sbin/sysctl -wnet.ipv4.route.flush=1
uname=================
显示当前系统相关信息(内核版本号v,硬件架构m,主机名称n和操作系统类型s等).-a 或 -all : 显示全部的信息, 包括内核/操作系统/CPU信息, 结果相当于参数-snrvm的合集;-m 或 --machine: 显示电脑是32位还是64位;-n 或 -nodename: 显示网络上的主机名称, 等于hostname命令;-r或--release: 显示操作系统的发行编号;-s或--sysname: 显示操作系统类型;-v: 显示操作系统的版本.查看CPU信息: cat /proc/cpuinfo
dstat
替换vmstat,iostat,netstat,nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具, 可以实时的监控cpu,磁盘,网络,IO,内存等使用情况.与sysstat相比, dstat拥有一个彩色的界面, 在手动观察性能状况时, 数据比较显眼容易观察; 而且dstat支持即时刨析, 譬如输入dstat3即每三秒收集一次, 但最新的数据都会每秒刷新显示.和sysstat相同的是,dstat也可以收集指定的性能资源, 譬如dstat -c 即显示CPU的使用情况.
free===
显示当前系统未使用的和已经使用的内存数量,以及内核用到的缓存空间.这些信息是从此/proc/meminfo中得到的,这个文件中更详细.-b: 以Byte为单位显示内存使用情况;-k: 以KB为单位显示内存使用情况;-m: 以MB为单位显示内存使用情况;-g: 以GB为单位显示内存使用情况;-tera以TB显示: -o: 不显示缓冲区调节列;-s<间隔秒数>: 持续观察内存使用状况;-t: 显示内存总和列.total: 内存总数;used: 已经使用的内存数;free: 空闲的内存数;shared: 当前已经废弃不用;buffers Buffer: 缓存内存数;cached Page: 缓存内存数.free -h: 用这个参数,free命令会自己决定用什么单位显示内存的每个数值,显示人类可读的结果.free -s 3: 使fee命令每隔3秒执行一次free -s 3 -c 5: free命令每隔3秒执行一次, 总共执行5次.free -m -sj: 指定free用MB来显示内存(用-m参数), 但又想基于1000来计算结果, 可以用 --sj 这个参数来实现.free -t: free命令显示每一列的总和, Total这一行出现了.
fuser=============
报告进程使用的文件和网络套接字.fuser命令列出了本地进程的进程号,哪些本地进程使用file,参数指定的本地或远程文件.对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程.-a: 显示命令中指定的所有文件;-k: 杀死访问指定文件的所有进程;-i: 杀死进程前需要用户进行确认;-l: 列出所有已知信号名;-m: 指定一个被加载的文件系统或一个被加载的块设备;-n: 选择不同的名称空间;-u: 在每个进程后显示所属的用户名.要列出使用/etc/passwd文件的本地进程的进程号: fuser /etc/passwd要列出使用/ec/filesystem文件的进程的进程号和用户登陆名: fuser -u /etc/filesystem要终止使用给定文件系统的所有进程: fuser -k -x -u -c /dev/hd1 或者 fuser -kxuc /home关闭在使用中的端口: fuser -k -n -tcp 端口号
ifstat
就像iostat/vmstat描述其它的系统状况一样, 是一个统计网络接口活动状态的工具.ifstat工具系统中并不默认安装, 需要自己下载源码包, 重新编译安装, 使用过程相对比较简单>-t 在每一行的开头加一个时间戳 (能告诉我们具体的时间);-T 报告所有监测接口的全部带宽 (最后一列有个total, 显示素有的接口的in流量和所有接口的out流量, 简单的把所有接口的in流量相加,out流量相加).
iostat
监视系统输入输出设备和CPU的使用情况.它的特点是汇报磁盘活动统计情况, 同时也会汇报出CPU使用情况. 同vmstat一样, iostat也有一个弱点, 就是它不呢对某个进程进行深入分析, 仅对系统的整体情况进行分析.-c: 仅显示CPU使用情况;-d: 仅显示设备利用率;-k: 显示状态以千字节每秒为单位, 而不使用块每秒;-m: 显示状态以兆字节每秒为单位;-p: 仅显示块设备和所有被使用的其它分区的状态;-t: 显示每隔报告产生时的时间;-x: 显示扩展状态.用iostat -x /dev/sda1 来观看磁盘I/O的详细情况.
mpstat
多CPU环境下, 它显示各个可用CPU的状态信息.这些信息存放在/proc/stat文件中.在多CPUs系统里, 其不但能查看所有CPU的平均状况信息, 而且能查看特定CPU的信息.-P: 指定CPU编号.
vmstat
vmstat命令的含义为显示虚拟内存状态( "ViryualMemorStatics" ), 但是它可以报告关于进程, 内存, I/O等系统状体的运行状态.-a: 显示活动内页;-f: 显示启动后创建的进程总数;-m: 显示slab信息;-n: 头信息仅显示一次;-s: 以表格方式显示事件计数器和内存状态;-d: 报告磁盘状态;-p: 显示指定的硬盘分区状态;-S: 输出信息的单位.
sar
Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备.sar工具将对系统当前的状态进行取样, 然后通过计算数据和比例来表达系统的当前运行状态.它的特点是可以连续对系统取样,获得大量的取样数据.取样数据和分析的结果都可以存入文件, 使用它时消耗的系统资源很小.-A: 显示所有的报告信息;-b: 显示I/O速率;-B: 显示换页状态;-c: 显示进程创建活动;-d: 显示每个块设备的状态;-c: 设置显示报告的结束时间;-f: 从指定文件读取报告;-i: 设状态信息刷新的间隔时间;-P: 报告每个CPU的状态;-R: 显示内存状态;-u: 显示CPU利用率;-v: 显示索引节点,文件和其它内核表的状态;-w: 显示交换分区状态;-x: 显示给定进程的状态. 观察系统部件10分钟, 并对数据进行排序: sar -o temp 60 10
strace
集诊断,调试,统计于一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析, 以达到解决问题或者是了解应用工作过程的目的.当然strace与专业的调式工具比如说gdb之类的是设法相比的, 因为它不是一个专业的调试器.strace的最简单的用法就是执行一个指定的命令,在指定的命令结束之后它就退出了.在命令执行的过程中,strace会记录和解析命令进程的所有系统调用以及这个进程所接收到的所有的信号值.
time
统计给定命令所花费的总时间.输出的信息分别显示了该命令所花费的real时间,user时间和sys时间.real时间是指挂钟时间, 也就是命令开始执行到结束的时间.这个短时间包括其它进程所占用的时间片,和进程被阻塞时所花费的时间.user时间是指进程花费在用户模式中的CPU时间, 这是唯一真正用于执行进程所花费的时间,其它进程和花费阻塞状态中的时间没有计算在内.sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间.shell内建也有一个time命令,当运行time时候是调用的系统内建命令,应为系统内建的功能有限, 所以需要时间其它功能需要使用time命令可执行二进制文件/usr/bin/time. 使用-O选项将执行时间写入到文件中: /usr/bin/time -o outfile.txt ls 使用-a选项追加信息: /usr/bin/time -a -o outfile.txt ls使用-f选项格式化时间输出: /usr/bin/time -f "time: %U" ls
tload
以图形化的方式输出当前系统的平均负载到指定的终端.假设不给予终端机编号,则会在执行tload指令的终端机显示负载情形.-s: 指定闲时的刻度;-d: 指定间隔的时间(秒).
top
可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具.top用于显示系统中各个进程的信息和资源占用状况,类似于Windows的任务管理器.除了检查应用程序,还可以使用top来调试其它使用CPU或内存的进程.通过top命令所提供的互动式界面, 用热键可以管理.-b: 以批处理模式操作;-c: 显示完整的治命令;-d: 屏幕刷新间隔时间;-I: 忽视失效过程;-s: 保密模式;-S: 累积模式;-i<时间>: 设置间隔时间;-u<用户名>: 指定用户名;-p<进程号>: 指定进程;-n<次数>: 循环显示的次数.-p,-u和-U选项是互斥的,同时只可以使用这其中的一个选项.top命令的顶部显示与uptime命令相似的输出: 当前时间,系统已运行的时间,当前登陆用户的数量,相应最近5,10和15分钟内的平均负载.第二行显示的是任务或者进程的总结.进程可以处于不同的主题.这里显示了全部进程的数量.除此之外,还有正在运行,睡眠,停止,僵尸进程的数量(僵尸是一种进程的状态).下一行显示的是CPU状态.接下来两行显示内存使用率,有点像'free'命令.第一行是物理内存使用,第二行是虚拟内存使用(交换空间).top -d 1:设置top的显示间隔(以秒计),将会以1秒的刷新间隔启动top.
uptime
能够显示系统总共运行了多长时间和系统的平均负载.uptime命令可以显示的信息显示依次为: 现在时间,系统已经运行了多长时间,目前有多少登陆用户,系统在过去的1分钟,5分钟和15分钟内的平均负载.
arch
用于显示当前主机的硬件架构类型.等同于命令 name -m 在当前的Linux系统下,arch命令输出结果有:i386,i486,i586,alpha,sparc,arm,m68k,mips,ppc,i686等.
cdrecord
Linux系统下光盘刻录,它支持cd和DVD格式.linux下一般都带有cdrecord软件.-v: 显示刻录光盘的详细过程;-eject: 刻录完成后弹出光盘;speed=<刻录倍速>: 指定光盘刻录的倍速;dev=<刻录机设备号>: 指定使用"-scanbus"参数扫描到的刻录机的设备号;-scanbus: 扫描系统中可用的刻录机.查看系统所有CD-R(w)设备: cdrecord -scanbus用iso文件刻录一张光盘: cdrecord -v -eject speed=4 dev=0,3,0 backup.iso
dmidecode
可以让你在Linux系统下获取有关硬件方面的信息。dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息。dmidecode遵循SMBIOS/DMI标准,其输出的信息包括BIOS、系统、主板、处理器、内存、缓存等等。DMI(DesktopManagementInterface,DMI)就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。SMBIOS(SystemManagementBIOS)是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。SMBIOS和DMI是由行业指导机构DesktopManagementTaskForce(DMTF)起草的开放性的技术标准,其中DMI设计适用于任何的平台和操作系统。DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。DMI的主要组成部分是ManagementInformationFormat(MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。-d:(default:/dev/mem)从设备文件读取信息,输出内容与不加参数标准输出相同。-s:只显示指定DMI字符串的信息。(string) -t:只显示指定条目的信息。(type) -u:显示未解码的原始条目内容。 --dump-bin file:将DMI数据转储到一个二进制文件中。 --from-dump FILE:从一个二进制文件读取DMI数据。
hwclock
硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。--adjust:hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟; --debug:显示hwclock执行时详细的信息; --directisa:hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟; --hctosys:将系统时钟调整为与目前的硬件时钟一致; --set --date=<日期与时间>:设定硬件时钟; --show:显示硬件时钟的时间与日期; --systohc:将硬件时钟调整为与目前的系统时钟一致; --test:仅测试程序,而不会实际更改硬件时钟; --utc:若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。查看clock文件,确认是否设置了UTC:cat /etc/default/rcS
lspci
显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息。-n:以数字方式显示PCI厂商和设备代码; -t:以树状结构显示PCI设备的层次关系,包括所有的总线、桥、设备以及它们之间的联接; -b:以总线为中心的视图; -d:仅显示给定厂商和设备的信息; -s:仅显示指定总线、插槽上的设备和设备上的功能块信息; -i:指定PCI编号列表文件,而不使用默认的文件; -m:以机器可读方式显示PCI设备信息;-v 显示详细信息。列出所有PCI设备: lspci -tv
lsusb
显示本机的USB设备列表,以及USB设备的详细信息。lsusb命令是一个学习USB驱动开发,认识USB设备的助手,如果您的开发板中或者产品中没有lsusb命令可以自己移植一个,放到文件系统里面。-v:显示详细信息; -s<总线:设备号>仅显示指定的总线和(或)设备号的设备; -d<厂商:产品>:仅显示指定厂商和产品编号的设备; -t:以树状结构显示无理USB设备的层次; -V:显示命令的版本信息。列出所有USB设备: lsusb -tv
setpci
查询和配置PCI设备的使用工具。-v:显示指令执行的细节信息; -f:当没有任何操作需要完成时,不显示任何信息; -D:测试模式,并不真正将配置信息写入寄存器; -d:仅显示给定厂商和设备的信息; -s:仅显示指定总线、插槽上的设备或设备上的功能块信息。
systool
显示基于总线、类和拓扑显示系统中设备的信息。-a:显示被请求资源的属性; -b<总线>:显示指定总线的信息; -c:显示指定类的信息; -d:仅显示设备; -h:显示指令的用法; -m<模块名称>:显示指定模块的信息; -p:显示资源的“sysfs”绝对路径; -v:显示所有属性; -A<属性>:显示请求资源的属性值; -D:仅显示驱动程序信息; -P:显示设备的父类。
volname
显示指定的“ISO-9660”格式的设备的卷名称,通常这种格式的设备为光驱。设备文件名:指定要显示卷名称的设备。
lsb_release
查看当前系统的发行版信息,有了这个命令就可以清楚的知道到底是RedHat的、还是别的发行版,还有具体的版本号,比如3.4还是5.4等等。有些系 统上不一定安装了这个命令,可以通过查看cat /etc/issue、cat /proc/version文件得到发行版信息。lsb_release -a 查看LSB本身的版本信息;
setleds
用来设定键盘上方三个 LED 的状态。在 Linux 中,每一个虚拟主控台都有独立的设定。 -F:预设的选项,设定虚拟主控台的状态。 -D:除了改变虚拟主控台的状态外,还改变预设的状态。 -L:不改变虚拟主控台的状态,但直接改变 LED 显示的状态。这会使得 LDE 显示和目前虚拟主控台的状态不符合。我们可以在稍后用 -L 且不含其它选项的 setleds 命令回复正常状态。 -num +num:将数字键打开或关闭。 -caps +caps:把大小写键打开或关闭。 -scroll +scroll:把选项键打开或关闭。将数字键打开,其馀二个灯关闭:setleds +num -caps -scroll
loadkeys
loadkeys命令可以根据一个键盘定义表改变 linux 键盘驱动程序转译键盘输入过程。详细的说明请参考 dumpkeys。
rdev
rdev命令可以用来查询/设置内核映像文件的根设备,RAM 磁盘大小或视频模式。不带任何参数的 rdev 命令将输出当前根文件系统的 /etc/mtab 文件行。不带任何参数的 ramsize, vidmode, 和 rootflags 将显示帮助信息。 -r: 使得 rdev 作为 ramsize 运行。 -R: 使得 rdev 作为 rootflags 运行。 -v: 使得 rdev 作为 vidmode 运行。 -h: 提供帮助。
dumpkeys
用于显示键盘映射表,输出的内容可以被loadkeys命令识别,改变映射关系。 -i 驱动信息(键码范围、数量、状态键)。 -l 详细驱动信息。 -n 十六进制显示。 -f 显示全部信息。 -1 分行显示按键组合。-S 设定输出格式(0:预设 1:完整 2:分行 3简单)。 --funcs-only 功能键信息。 --keys-only 键组合信息。 --compose-only 普通键信息。
MAKEDEV
用于新增 /dev/ 下的装置档案,多数分区已经将所有的档案都产生,故一般而言不太会需要用到这个命令。Linux内的硬件设备号规定为:IDE硬盘(最多四块)的为/dev/hd[a-d]、U盘和SCSI硬盘(总共最多16个)的均为/dev/sd[a-p]、CDROM(光驱)的为/dev/cdrom、软驱的为/dev/fd[0-1]、打印机的为/dev/lp[0-2]。
aumix
用于设置音效装置。aumix(audio mixer)命令设置各项音效装置的信号强度以及指定播放与录音的装置。参数说明:[-123bcilmoprstvwWx]为频道参数,用来指定装置的频道;[PqR]可用来指定播放或录音装置;[-dfhILqS] 则为指令参数。若不加任何参数,aumix会显示简单的图形界面供调整设置频道参数。
clock
用于调整 RTC 时间。RTC 是电脑内建的硬件时间,执行这项指令可以显示现在时刻,调整硬件时钟的时间,将系统时间设成与硬件时钟之时间一致,或是把系统时间回存到硬件时钟。
eval
用于重新运算求出参数的内容。eval可读取一连串的参数,然后再依参数本身的特性来执行。
kbdconfig
用于设置键盘类型。kbdconfig实际上是修改/etc/sysconfig/keyboard的键盘配置文件。
liloconfig
用于安装核心载入,开机管理程序。lilo(linux loader)是个Linux系统核心载入程序,同时具备管理开机的功能。单独执行lilo指令,它会读取/etc/目录下的lilo.conf配置文件,然后根据其内容安装lilo。
minfo
用于显示MS-DOS文件系统的各项参数。minfo为mtools工具指令,可显示MS-DOS系统磁盘的各项参数,包括磁区数,磁头数...等。
mouseconfig
用于设置鼠标相关参数。mouseconfig为鼠标设置程序,可自动设置相关参数,或者用户也可以利用所提供互动模式自行设置鼠标。mouseconfig是Red Hat Linux才有的命令。
rdate
显示其他主机的日期与时间。执行rdate指令,向其他主机询问系统时间并显示出来。
resize
设置终端机视窗的大小。执行resize指令可设置虚拟终端机的视窗大小。
modinfo
用于显示kernel模块的信息。modinfo会显示kernel模块的对象文件,以显示该模块的相关信息。-a:显示模块作者; -d:显示模块的描述信息; -l:显示模块的许可信息; -p:显示模块的参数信息; -n:显示模块对应的文字信息; -0:用ASCII码的0字符分割字段值,而不使用新行。
setup
设置公用程序,是一个启动图形设置系统的命令。setup 命令:用来配置X,打印设置,时区设置,系统服务,网络配置,配置,防火墙配置,验证配置,鼠标配置。
sndconfig
用于设置声卡。sndconfig为声卡设置程序,支持PnP设置,可自动检测并设置PnP声卡。
setenv
用于查询或显示环境变量。setenv为tsch中查询或设置环境变量的指令。
setconsole
用于设置系统终端。setconsole可用来指定系统终端。
timeconfig
用于设置时区。这是Red Hat公司遵循GPL规则所开发的程序,它具有互动式操作界面,您可以轻易地利用方向键和空格键等,设置系统时间所属的时区。
apmd
用于进阶电源管理服务程序。apmd负责BIOS进阶电源管理(APM)相关的记录,警告与管理工作。
screen
用于多重视窗管理程序。screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。
mkkickstart
用于建立安装的组态文件。mkkickstart可根据目前系统的设置来建立组态文件,供其他电脑在安装时使用。组态文件的内容包括使用语言,网络环境,系统磁盘状态,以及X Windows的设置等信息。
fbset
用于设置景框缓冲区。fbset指令可用于设置景框缓冲区的大小,还能调整画面之分辨率,位置,高低宽窄,色彩 深度,并可决定是否启动先卡之各项硬件特性。
SVGTextMode
用于加强文字模式的显示画面。SVGATextMode可用来设置文字模式下的显示画面,包括分辨率,字体和更新频率等。
sliplogin
用于将SLIP接口加入标准输入。sliplogin可将SLIP接口加入标准输入,把一般终端机的连线变成SLIP连线。通常可用来建立SLIP服务器,让远端电脑以SLIP连线到服务器。sliplogin活去检查/etc/slip/slip.hosts文件中是否有相同的用户名称。通过检查后,sliplogin会调用执行shell script来设置IP地址,子网掩码等网络界面环境。此shell script通常是/etc/slip/slip.login。
swatch
用于系统监控程序。swatch可用来监控系统记录文件,并在发现特定的事件时,执行指定的动作。swatch所监控的事件以及对应事件的动作都存放在swatch的配置文件中。预设的配置文件为拥护根目录下的.swatchrc。然而在Red Hat Linux的预设用户根目录下并没有.swatchrc配置文件,您可将/usr/doc/swatch-2.2/config_files/swatchrc.personal文件复制到用户根目录下的.swatchrc,然后修改.swatchrc所要监控的事件及执行的动作。
vlock
用于锁住虚拟终端。执行vlock(全称为virtual console lock)指令可锁住虚拟终端,避免他人使用。-a或--all:锁住所有的终端阶段作业,如果您在全屏幕的终端中使用本参数,则会将用键盘切换终端机的功能一并关闭。-c或--current:锁住目前的终端阶段作业,此为预设值。
dip
用于IP拨号连接。dip可控制调制解调器,以拨号IP的方式建立对外的双向连接。
getty
用于设置终端机模式,连线速率和管制线路。getty指令是UNIX之类操作系统启动时所必须的3个步骤之一。
mingetty
是精简版的getty。mingetty适用于本机上的登入程序。
uux
用于在远端的UUCP主机上执行指令。uux可在远端的UUCP主机上执行指令或是执行本机上的指令,但在执行时会使用远端电脑的文件。
uulog
用于显示UUCP记录文件。uulog可用来显示UUCP记录文件中记录。
uustat
用于显示UUCP目前的状况。执行uucp与uux指令后,会先将工作送到队列,再由uucico来执行工作。uustat可显示,删除或启动队列中等待执行的工作。
ppp-off
用于关闭ppp连线。这是Slackware发行版内附的程序,让用户切断PPP的网络连线。
netconfig
用于设置网络环境。这是Slackware发行版内附程序,它具有互动式的问答界面,让用户轻易完成网络环境的设置。
httpd
是Apache HTTP服务器程序。httpd为Apache HTTP服务器程序。直接执行程序可启动服务器的服务。
minicom
用于调制解调器通信程序。minicom是一个相当受欢迎的PPP拨号连线程序。
dnsconf
用于设置DNS服务器组态。dnsconf实际上为linuxconf的符号连接,提供图形截面的操作方式,供管理员管理DNS服务器。
pppstats
用于显示PPP连线状态。利用pppstats(point to point protocol status)指令可让你得知PPP连接网络的相关信息。
samba
用于Samba服务器控制。samba为script文件,可启动,停止Samba服务器或回报目前的状态。启动Samba:samba start
setserial
用于设置或显示串口的相关信息。setserial可用来设置串口或显示目前的设置。
tty
用于显示终端机连接标准输入设备的文件名称。在Linux操作系统中,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放于/dev目录下,一般有几十个类似特殊文件。你可以执行tty(teletypewriter)指令查询目前使用的终端机的文件名称。Kali的运行结果是/dev/pts/0。
newaliases
newaliases命令会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫 [email protected] 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程序负责分送的工作。/etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的数据库。使用权限:系统管理者。
uuname
用于显示全部的UUCP远端主机。
netconf
用于设置各项网络功能。netconf是Red Hat Linux发行版专门用来调整Linux各项设置的程序。
statserial
用于显示串口状态。statserial(status ofserial port)可显示各个接脚的状态,常用来判断串口是否正常。
efax
用于收发传真。支持Class 1与Class 2的调制解调器来收发传真。
pppsetup
用于设置PPP连线。这是Slackware发行版内附程序,它具有互动式的问答界面,让用户轻易完成PPP的连线设置。
ytalk
用于与其他用户交谈。通过ytalk指令,你可以和其他用户线上交谈,如果想和其他主机的用户交谈,在用户名称后加上其主机名称或IP地址即可。
cu
用于连接另一个系统主机。cu(全称为call up)指令可连接另一台主机,并采用类似拨号终端机的接口工作,也可执行简易的文件传输作业。与远程主机连接:cu -c 0102377765。(-c<电话号码>或--phone<电话号码> 拨打该电话号码。)
smbd
用于Samba服务器程序。smbd为Samba服务器程序,可分享文件与打印机等网络资源供Windows相关的用户端程序存取。
shapecfg
用于管制网络设备的流量。自Linux-2.15开始,便支持流量管制的功能。
nmcli
查看 centos7 网络设置:nmcli connection show
总结