Linux命令--系统管理与设置

3.1常用的信息显示命令
arch:显示主机的体系结构,等同于uname -m,可输出i386、i486、arm等。
cal:显示日历。
cat /proc/meminfo:查看内存使用情况。/proc目录下的文件通常用来帮助查看内核运行信息,系统关闭后,该目录的文件不再存在。
cat /proc/modules:查看当前系统模块。
cat /proc/version:查看当前系统版本。
cat /proc/partitions:查看当前系统分区。
cat /etc/issue:显示当前系统的发行版本。
cat /proc/cpuinfo:显示CPU信息。
cat /proc/interrupts:显示中断信息。
cat /proc/filesystems:显示文件系统信息。
date:显示或设置系统时间。
dmesg:显示启动信息。检测和控制内核的缓存,通常用来显示输出系统最后一次启动时的内核内部缓存信息。
echo:显示文本行。(echo -e支持转义字符)

free:显示内存信息。(free -s 2 -c 3表示每隔2s刷新一次内存,共刷新3次)
fgconsole:显示活动的虚拟终端数目。
fuser:用文件或套接口识别进程。(fuser -l显示信号,fuser -a /root显示与/root目录相关的进程,fuser -k /root杀死所有与/root目录相关的进程)
gdialog:从Shell创建对话框。(例:gdialog --title "hello" --yesno "this is content")
history:显示历史指令。(保留最近执行的命令记录,默认可以保留500个。history 5表示显示最近执行的5个命令。history -c清空历史记录。重新执行已执行的命令可以使用“!<命令事件号>”)
hostname:显示或设置当前系统的主机名。(-s显示短主机名;-a显示主机别名;-i显示主机IP;-d显示主机域名;--yp显示NIS/YP域名;hostname somename设置主机名)
hash:显示、添加或清除哈希表。(-l显示哈希表;-r清除表;-p增加内容;-t显示指定命令的完整路径)
hwclock:显示和设置硬件时钟。(hwclock -utc显示utc时间)
ipcs:显示IPC设备信息。(对进程通信进行描述。-p显示PID信息;-t时间信息;-m共享内存信息;-c创建者信息)
isosize:显示输出iso9660文件系统的大小。(光驱设备属于iso9660文件系统,isosize /dev/cdrom显示文件大小。isosize -d 1024 /dev/cdrom以大小为1024的块来显示光驱设备的大小。-x以易读方式显示大小。)
jobs:显示后台执行的作业。(命令后接&会以后台方式运行该命令。-l列出作业的详细信息;-p列出作业ID,-s列出停止执行的作业。)
lsmod:显示所有已加载的模块。
locale:显示当前系统的语言设置。(-a输出所有可用的语言名称;-m输出所有可用的字符集)
mesg:显示信息。(y允许用户通过write命令发送信息到当前终端;n禁止发送)
minfo:显示ms-dos文件系统的各项参数。(包括扇区数、磁头数、柱面数等。minfo -v C: 除显示文件系统的各项参数外,以十六进制显示C盘扇区内容。)
modinfo:显示内核模块信息。(modinfo modname)
mev:监视鼠标情况。
pstree:以树状图显示程序。(默认以init进程为根。pid可指定某一进程为根;-p可显示进程及进程号;-h高亮当前正在执行的进程。)
pwd:显示当前目录。
proc文件系统:查看系统内核信息。(proc不是真实的文件系统,不占用外存,只是以文件的方式为访问Linux内核数据提供接口。ls /proc可查看)
ps:报告程序状况。(-e查看当前所有进程;-u root查看以root身份运行的进程;-u root N查看非root身份运行的进程;-o pid,tt,user,fname,f,tmout,wchan以指定的排序方式显示;a显示所有进程,包括其他用户的进程;x显示没有控制终端的所有进程;-C command显示与command进程相关的进程号,进程及其子进程)
pmap:显示程序的内存信息。(pmap pid)
procinfo:显示系统状态信息。
runlevel:显示系统运行级别。(输出前一个和当前的运行级别。如果没有记录上次系统的运行等级,则用N表示。运行级别说明:0-关闭系统;1-单用户模式;2-多用户模式,但不支持NFS;3-完全的多用户模式;4-保留;5-图形用户模式;6-重新启动。)
sysctl:设置系统核心参数。(-a显示当前所有的设置;-w设置参数。)
stat:显示文件/文件系统的详细信息。(例:stat /dev/sda)
top:显示进程信息。(q键退出)
time:执行命令并显示该进程执行的时间。(例time ls)
tload:显示系统负载。
uptime:显示系统的运行信息。(18:28:00 up 1 day,6:58,7 users,load average: 0.07, 0.07, 0.12表示当前时间为18:28,系统运行1天6小时58分,有7个用户登陆系统,过去一分钟内的平均负载为0.07,过支5分钟内的平均负载为 0.07,过去15分钟内的平均负载为0.12。)
uname:显示操作系统信息。(-a显示当前主机所有软硬件信息)
vmstat:显示虚拟内存的统计信息。
yes:连续输出给定的字符串。(yes | rm -i *命令可以自动回答rm命令提出的问题)



3.2 常用的系统管理命令
apm:高级电源管理。(ubuntu显示No APM support in kernel)
apmd:高级电源管理守护进程。
apmsleep:设置挂起、待机及唤醒。(apmsleep -s +1:50挂机1小时50分钟后被唤醒。apmsleep -s 8:00挂机直到早上8点被唤醒)
bg:将程序放在后台执行。(例:sudo find / -name *.txt,之后用ctrl+z中止,显示"[2]+已停止 sudo find / -name *.txt",再执行bg 2可把这个程序放在后台执行。)
chsh:改变登录系统时的Shell。(默认为/bin/bash。)
clear:清除终端屏幕。
depmod:检查模块依赖关系。(--show显示输出模块之间的依赖关系。)
exec:执行完命令后,交出控制权。(虚拟终端上运行该exec会在执行完命令后退出终端。)
fc:修改并执行命令。(-l类似于history。fc 2 4:把命令号为2、3、4的命令在vi中编辑,编辑完成后执行这些命令。)
fg:把后台任务放到前台。(vi &,再通过jobs可以查看后台任务,显示“[1]+已停止 vi”。执行fg 1可以把vi放到前台执行。)
gcov:coverage测试工具。(gcc sorcefile.c -o executable -ftest-coverage -fprofile-arcs可以生成一个.gcno文件,再运行executalbe,之后便可以用gcov命令查看运行情况。-b查看程序的分支情况,-f查看函数的使用情况。)
init:所有进程的父进程。(init 数字可以切换运行等级。比如init 0为关机;init 6是重启。init有一个链接命令telinit。)
ipcrm:删除消息队列、信号量或共享内存的ID。(ipcs显示IPC相关信息,ipcrm -m 32768删除进程32768的共享内存;-q删除消息队列;-s删除信号量。不带参数删除所有。)
kill:杀死进程。(-l参数显示所有可以使用的信号。kill -s 信号 进程号:向进程发送指定信号,不指定时的默认信号为SIGHUP。-s SIGKILL强制杀死进程,可能导致某些资源没有正确释放。信号可以直接作为参数,如kill -KILL或kill -9。)
killall:杀死同名的所有进程。(-l显示所有可用的信号。killall -s signal 进程名:向所有同名进程发送信号。默认信号为SIGTERM。信号也可以直接作为参数。)
logrotate:处理log文件。(替换、压缩、删除或通过邮件发送系统日志。logrotate /etc/logrotate.conf指定配置文件。)
mtools:软盘操作命令集。(mtools显示所有支持的软盘命令,为相应的MS-DOS命令前加“m”,如"mdir a:"。)
nice:设定进程优先级。(nice -N 命令。如nice -15 vim。N取值范围为-20~19。-20是最高等级,19是最低等级。超过19的值被视为19;小于-20的值被视为-20。系统默认等级为0。未指定优先级的nice命令默认等级为10。)
nohup:退出系统继续执行命令。(虚拟终端运行nohup command &会运行命令,并显示nohup: 忽略输入并把输出追加到"nohup.out"。)
ntsysv:设置系统的各种服务。(显示图形界面。ubuntu上找不到该命令。)
open:开启虚拟终端。(open -s -c 6 -- ls -al在虚拟终端6执行ls -al命令,同时切换到虚拟终端6。-s执行命令时,切换到新的虚拟终端。-w等待命令结束。如果-w与-s合用,在命令结束后切换加原来的终端。)
pgrep:查找符合条件的进程。(-u root查找由root用户创建的进程,-l同时列出进程名称和ID。-v搜索不符合条件的进程。-P pid列出父进程为指定进程的所有进程。)
pidof:显示当前正在运行程序的进程ID。(例pidof vi。-o omitpid忽略进程号为omitpid的进程。-s返回首次匹配。)
pkill:杀死进程。(ps和kill的结合,在当前所有进程中查找符合条件的进程,然后发送相应信号。pkill -t tty8杀死终端8的所有进程。-u root杀死root的进程。pkill -9 vim杀死vim。)
pwck:检查密码文件。(例:pwck /etc/passwd;pwck /etc/shadow。-r只读模式。)
rlogin:远端登录。(先在远端主机上运行chkconfig rlogin on开启rlogin服务,ubuntu上找不到该服务。之后使用rlogin 192.168.20.122 -l username来登录该远端主机。)
renice:对进程优先级进程调整。(renice N 进程号,或-u 用户名,或-g 用户组。与nice不同,N前不需要“-”。)
rmmod:删除模块。(lsmod显示系统已安装的模块。-a删除所有没有使用的模块。-v显示运行时的详细信息。)
rsh:远端登录的Shell。(远端主机chkconfig rsh on。例:rsh -l yang 192.168.20.122 /bin/ls。ubuntu上rsh为unknown service。)
screen:多重视窗管理程序。(在一个终端上模拟多个终端。 screen或ctrl+a+c创建一个新的screen。ctrl+a进行screen的切换。screen -ls显示所有screen列表。-d让指定的screen离线。-r恢复指定的作业。unbuntu的虚拟终端好像只能创建一个screen。)
sleep:休眠。(s秒,m分,h小时,d天。虚拟终端上表示为其自身暂停。)
sudo:以其他身份来执行命令。(-L列出可以使用的参数。-u username使用指定身份执行命令。)
suspend:暂停执行Shell。(直到收到SIGCONT信号为止。-f表示强制暂停。)
symlinks:管理和维护符号链接。(symlinks -v /:列出根目录下所有的符号链接。-c将绝对路径的链接转化为相对路径;-d删除失效的链接(dangling);-r递归检查子目录;-t与-c合用时,对换进行检测,但不进行实际的转换。)
vlock:锁定终端。
wait:等待程序返回状态。(例:wait pid。)

watch:重复执行命令并将结果输出。(watch -n 10 ls每隔10秒运行一次ls命令。)

&:将任务放到后台执行。(例:vi &。)



3.3 常用的系统维护命令
alias:设置命令的别名。(alias列出已有的别名。-p以“name=value”的形式列出别名。alias name=value设置别名。)
aumix:设置音效设备。(图形界面。ubuntu上运行:aumix:打开混音器时发生错误: 没有那个文件或目录。)
authconfig:配置系统的认证资源。(图形界面。对NIS、/etc/passwd、/etc/shadow、LDAP、Kerberos5以及SMB等资源认证进行配置。-back将“取消”按钮更改为“返回”按钮。ubuntu:authconfig:找不到命令)
bind:显示或设置按键组合。(-l列出所有功能函数的名称。-p列出所有功能函数及其绑定。-q function查询指定功能的按键或按键组合。)
chkconfig:设置和检查系统的服务设置。(--list列出所有服务设置状态。chkconfig telnet on开启telnet服务。chkconfig telnet off关闭telnet服务。)
declare:显示或设置Shell变量。(-p显示每一变量的名称和属性值。-x显示环境变量;-f显示函数名称;-r只读模式。)
dircolors:设置ls命令显示的颜色。(-p显示默认值。-b显示Bourne Shell颜色代码设置;-c显示C Shell颜色代码设置。)
enable:开动或关闭Shell内置命令。(-a显示所有内置命令;-p显示已加载的命令列表;enable name指定加载的命令。enable -n name关闭指定的命令。)
eval:连续执行多个命令。(例:eval ls; free; ps)
export:设置或显示环境变量。(-p显示所有环境变量。export name=value设置;-n删除。)
false:返回值为失败。(例:ls后,echo $?显示0,表示无错误。false后,echo $?显示1,表示失败。)
fbset:显示或设置帧缓存。(fbset -g 800 600 1024 768设置画面分辨率800x600、桌面分辨率1024x768。-accel true启动硬件加速。-bcast true启动广播功能。-test测试。)
hostid:显示出当前主机的数字标识。
insmod:载入模块。
ldcondifg:配置动态链接绑定。(-v建立共享库的正确链接,更新缓冲区,并显示相关信息。-n dir只对特定目录更新。)
ldd:显示共享库文件的相互信赖关系。(显示指定的程序或库文件所使用的共享库。-v显示所有信息。)
lilo:安装启动装载程序。
losetup:设置和控制循环设备。(例:losetup /dev/loop0。)
mkraid:初始化或升级raid。(将一组块设备设置为一个raid设备阵列。适合所有raid类型,包括RAID1、RAID4、RAID5、线性和RAID0。例:mkraid -f /dev/sda1+/dev/fd0。)
modprobe:自动处理可载入模块。(根据模块内的依赖关系自动安装所有依赖的模块。-c显示当前默认设置。例:modprobe -v 8139too安装网卡8139too。)
mouseconfig:设置鼠标相关参数。(redhat linux下的鼠标配置工具,ubuntu不支持。--text图形界面方式;--noui genericusb以命令形式指定鼠标类型为genericusb。--device psaux指定鼠标所在的端口为PS/2。)
resize:设置终端视窗的大小。(resize查看视窗大小。-s 30 100设置大小为30行,每行100字符。-c采用C shell命令;-u采用Bourne Shell命令。)
rmp:管理rpm包。(-i安装;-q查询;-e卸载。)
setserial:设置或显示串口的信息。(例:setserial -v /dev/ttyS1显示串口/dev/ttyS1的信息。-a显示详细配置信息。)
setup:设置公用程序。(设置认证、防火墙、鼠标、网络配置、打印机配置、系统服务、时区配置等公用程序。ubuntu不支持。)
swapoff:卸载交换区(swap area)。(fdisk -l显示系统分区信息,/dev/sda3可能是一个交换分区。swapoff /dev/sda3卸载该交换分区。)
swapon:加载交换区。(swapon /dev/sda3加载交换分区。swapon -s /dev/sda3显示交换分区信息。)
set:设置Shell执行方式。(-f禁止使用通配符。+f添加通配符设置。例:set SHELL "/bin/sh"。)

telinit:设置系统运行等级。(/sbin/init的链接。)
true:返回值为成功。(与false相反。)
ulimit:控制Shell及进程的资源。(-a显示资源配置。-u 500设置单用户创建进程上限为500;-n 1000同一时间允许打开的文件数目最多为1000;-v 1024最大虚拟内存为1M。)

unalias:取消指定的别名。
unset:删除变量或函数。
up2date:升级red hat linux系统。(ubuntu不支持。)



3.4 自动作业处理
crontab:设置定时执行。(首先确保有crond守护进程运行,用service crond start或service crond stop来开启或关闭crond进程。ubuntu上是cron。该进程运行后,可以编辑/etc/crontab文件来设置自动作业。可以看到文件组织格式为“m h dom mon dow usercommand”,分别表示“分、小时、日期、月、星期、用户、命令”。例:17 ** * *rootcd / && run-parts --report /etc/cron.hourly表示每小时的第17分钟以root身份运行cd / && ... hourly的命令。另*/1 ** * *rootecho tommy crontab~~表示每隔1分钟以root身份执行echo,默认情况会以邮件的方式发给root,通过cat /etc/mail/root可以查看。可以使用重定向“echo tommy crontab~~ >> /home/tommy/tmp/record”把输出转到一个文件中。)
anacron:任务高度守护进程。(与cron类似,区别在于 cron任务如果在指定时间没能完成,则调度工作就会失败,而anacron没能成功执行后会间隔一段时间后再次执行该任务。需要通过service anacron start启动守护进程。编辑/etc/anacrontab命令可以设置调度任务。文件格式为:时间间隔、等待时间、任务标识、命令。例:1 65 cron.daily run-parts /etc/cron.daily。)

at:系统将执行的任务排队。(把任务放到队列中,按时执行,与 crond的区别是它只执行一次。例:at 21:55<回车> ls -al / /myshare/at_test<回车> 在21:55时执行。at now +5 min在5分钟后执行。at 3pm tomorrow在明天下午3点执行。at 8am+3days在三天后早上8点执行。at -l查询已经设置的任务。at -c 6显示已经设置的任务6的内容。所有的任务都存储在/var/spool/at目录中。)
atd:执行已经排队的任务。(at的任务要执行的话,必须要有一个atd的守护进程运行。-d输出调试信息。-s只执行已排队的任务一次。)
atq:检查排队的任务。
atrm:删除已经排队的任务。
atrun:执行已排队的任务。(本质为一个Shell脚本,等价于atd -s。)
batch:批处理。(与at一样,batch也使用atd守护进程执行,命令格式也相同。不同在于batch在系统平均负载低于一个特定值时才会运行,默认为0.8。例:batch<回车> ls <回车> echo "hello" <回车> 。)


3.5 系统日志
syslogd:启动syslog日志进程。(-r招收来自网络的syslog信息。修改配置文件后,用killall -HUP syslogd来重启syslog进程。)
syslog.conf:系统日志配置文件。(/etc /syslog.conf,格式为[消息来源.消息级别] [动作]。例:mail.*/var/log/maillog将所有与电子邮件相关的信息保存到mailog文件中。kern.emerg*把内核恐慌消息发送给所有登录的用户。)
logger:测试syslog.conf。(logger -p [消息] [消息内容]。例:logger -p kern.emerg "Just test"。)
echo > 日志文件:清空日志。(如果创建日志文件的服务正在运行,必须停止服务,才能删除日志。利用echo命令,不必停止日志服务。例:echo > /usr/local/apache/logs/error_log。)

【Linux命令--系统管理与设置】

    推荐阅读