一. 启动,关机,登入,登出相关命令[login] 登录[logout] 登出[exit] 登出[shutdown] 停止系统[halt] 停止系统[reboot] 重启动[poweroff] 切断电源[sync] 把内存里的内容写入磁盘[lilo] 安装lilo启动管理程序[grub] 安装lilo启动管理程序二. Shell相关命令[chsh] 切换Shell[history] 显示命令履历[alias] 设置命令别名[unalias] 取消命令别名[which] 显示命令所在位置[type] 查询命令种类[echo] 显示字符串或者变量内容[set] 设置/显示Shell变量[printenv] 显示环境变量[export] 设置环境变量[env] 设置临时环境变量[unset] 释放环境变量[setenv] 设置环境变量[unsetenv] 释放环境变量[source] 执行文件当中的命令[man] 查询命令手册[info] 查询超文本命令手册[whatis] 显示命令简介[apropos] 通过关键字查询手册三. 用户管理相关命令[su] 切换到其他用户[useradd] 追加用户[adduser] 追加用户[userdel] 删除用户[usermod] 修改用户设置[chfn] 修改用户私人信息[groupadd] 追加组[groupdel] 删除组[groupmod] 修改组设置[passwd] 更改密码[whoami] 显示用户名[logname] 显示登录用户帐号[users] 显示所有登录用户信息[who] 查询登录用户信息[w] 查询登录用户信息[id] 显示指定用户的ID信息[groups] 显示指定用户的所属组[finger] 显示指定用户的个人信息[mesg] 开关与他人收发消息[write] 给其他用户发消息[wall] 给所有用户发消息[talk] 和其他用户聊天四. 系统消息相关命令[top] 提供了实时的对系统处理器的状态监视[date] 显示/设置当前时间[uptime] 显示系统运行时间[arch] 显示机器的核心构架(如i386)[uname] 显示操作系统信息[tty] 显示终端名[last] 显示登录/登出在履历[lastb] 显示非法登录信息[dumpkeys] 显示当前键盘配置[loadkeys] 变更键盘配置[df] 查询磁盘使用信息[du] 查询磁盘使用信息[dmesg] 显示系统启动消息[script] 保存输入输出到文件五. 文件操作相关命令[ls] 显示文件列表[tree] 显示目录树[pwd] 显示当前路径[cd] 更改当前路径[pushd] 追加路径到目录堆栈[popd] 从目录堆栈删除路径[dirs] 显示目录堆栈的内容[mkdir] 创建路径[rmdir] 删除路径[cp] 复制文件/目录[rm] 删除文件/目录[mv] 移动文件/目录,修改文件名[chown] 更改文件/目录的所有者[chgrp] 修改文件/目录的所有组[chmod] 修改文件/目录的权限[touch] 更改文件时间[ln] 建立文件/目录链接[find] 查找文件[whereis] 显示文件存在的路径名[file] 查询文件种类[size] 查询文件大小六. 文件编辑相关命令[cat] 显示文件内容[tee] 输出到文件和屏幕[more] 分屏显示文件内容[less] 分屏显示文件内容[head] 显示文件头部内容[tail] 显示文件尾部内容[fold] 折叠显示长行[sort] 排列文件的行[cmp] 比较文件内容[diff] 显示文件差异[nkf] 更改日语文件编码[dd] 变更文件之后复制[wc] 统计文本单词数,文件大小等[split] 分割文件[paste] 以行连接文件[join] 以字段连接文件[grep] 查询文字[uniq] 过滤重复部分显示文件内容[tr] 替换文字[sed] 替换文字[vi] vi文字编辑器七. 压缩/解压缩相关命令[tar] 压缩/解压缩文件[compress] 压缩/解压缩文件[uncompress] 解压缩[gzip] 压缩/解压缩文件[gunzip] 解压缩[zcat] 显示压缩文件的内容[lha] 压缩/解压缩文件[uuencode] 把二进制文件编码为文本文件[uudecode] 把经过编码的文本文件还原为二进制文件八. MS-DOS工具集[mtools]命令[mdir] 显示文件列表[mcd] 改变当前目录[mmd] 新建目录[mrd] 删除目录[mdeltree] 删除目录树[mcopy] 复制文件[mdel] 删除文件[mmove] 移动文件[mren] 更改文件或目录名[mattrib] 修改文件属性[mtype] 显示文件内容[mdu] 查询文件或目录大小[minfo] 显示磁盘信息[mformat] 以MS-DOS方式格式化磁盘[mlabel] 设置磁盘标签九. 控制外部设备相关命令[mount] mount上设备[umount] 解除已经mount上的设备[eject] 弹出(CD/DVD等)[fdformat] 格式化软盘[fdisk] 配置/显示硬盘分区[mkfs] 格式化磁盘分区[fsck] 检查/修复磁盘错误[lpr] 打印到打印机[lprm] 中断打印任务[lpq] 显示打印任务的状态[lpc] 管理/控制打印任务[ifconfig] 显示/设定NIC配置十. 进程及任务管理相关命令[ps] 显示正在运行的进程[jobs] 显示后台运行任务[fg] 把任务切换到前台[bg] 把任务切换到后台[kill] 中止进程或任务[killall] 中止进程或任务[wait] 等待进程或任务的结束[at] 设置定时执行任务[atq] 显示尚未执行的任务[atrm] 删除定时执行任务[batch] 在系统负荷减轻的时候执行任务[nice] 改变优先度并执行任务[nohup] 在后台执行任务,Logout之后也不退出[sleep] 休眠一定的时间[crond] 用来定期执行程序的命令[screen] 可以在多个进程之间多路复用一个物理终端的窗口管理器十一. 网络管理相关命令[netstat] 显示当前网络连接状况[route] 显示/设置路由[host] 显示网络主机情况[hostname] 显示/设置当前主机的名字[ping] 确认和远程机器的连接情况[traceroute] 显示路由信息[rwho] 查询网上机器的登陆用户[ruptime] 查询网上机器的系统运行时间[rlogin] 登陆到远程机器[telnet] 用telnet登陆到远程机器[rsh] 给远程机器发送命令[rcp] 在远程机器之间复制文件[mail] 收取邮件[sendmail] 发送邮件[mailq] 确认邮件队列[ftp] 用ftp传输文件十二. 其他命令[cal] 显示日历[clear] 清屏[gcc] 编译C语言代码[as] 汇编[bc] 计算[rpm] Redhat的包管理[dpkg] Debian的包管理[installpkg] Slackware的包安装(删除命令则是removepkg)[xf86setup ,turboxfg,Xconfigurator] 配置 X 服务器[startx] 启动 X-Window 系统
系统服务daemon(service)
daemon和service事实没有区别,因为要达成某个服务是需要一个daemon在后台运行,所以没有daemon就没有service。
daemon分类:
1)独立启动stand_alone 此daemon可以单独自行启动服务 常见的有httpd ftp等等
2)super daemon 一个特殊的daemon来统一管理,就是xinetd,由于服务是在客户端连接结束后就关闭,因此不会占用系统资源,缺点就是反映的时间比较慢,常见的有我们的telnet.
daemon的工作形态类型
1)singnal-control:通过信号来管理,只要有任何客户端的请求进来,他就会立即启动去处理
2)interval-control:每隔一段时间就主动去执行某项任务,只要在配置文件指定服务器进行时间和工作,该服务就在指定时间去完成。
通常我们知道linux下很多服务后边都带d,比如hpptd,vsftpd,这个d其实就是daemon.
服务与端口的对应
/etc/services
daemon的启动脚本和启动方式
1)启动脚本放置位置:/etc/init.d/*
系统上几乎所有的服务启动脚本都放置在这里,在centos中放在/etc/rc,d/init.d/不过还是有链接文到/etc/init.d/
2)各服务的初始化环境配置文件
/etc/sysconfig/*
几乎所有服务的初始化一些参数都在这个目录下,比如日志syslog会写在/etc/sysconfig/syslog,还有网络配置的/etc/sysconfig/network
3)super daemon配置文件
/etc/xinetd.conf /etc/xinetd.d/*
各个服务的配置文件
/etc/*
服务产生的库文件
/etc/lib/*
各服务程序的PID记录处
/var/run/*
stand alone的/etc/init.d/启动
以日志文件启动脚本为例子
/etc/init.d/syslog 什么参数都不带,系统会告诉你那些参数可以使用
Usage: /etc/init.d/syslog {start|stop|status|restart|condrestart}
查看下syslog这个daemon目前的状态
/etc/init.d/syslog status
syslogd (pid 1793) is running...
klogd (pid 1796) is running...
我们可以看到syslog管理2个daemon
如果重新让syslog读取一次配置文件
/etc/init.d/syslog restart
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
Starting kernel logger: [ OK ]
/etc/init.d/syslog status
syslogd (pid 5330) is running...
klogd (pid 5333) is running...
重启服务过后我们会发现pid就不一样了
通常我们在重启服务是用到的service其实是一个脚本
service [service name] start stop restart......
service --status-all 可以让系统所有的stand alone 服务列出来
super daemon的启动
其实super daemon本身也是一个独立的服务,因此他的启动和独立服务一样,但是他还要管理后续的其他daemon,必须在配置文件中设置为启动该daemon才行
如何得知super daemon所管理的服务是否启动?
grep -i `disable` /etc/xinetd.d/*
比如rsync如果我想启动rsync服务可以这样做:
vim /etc/xinetd.d/rsync
将里边的disable=no 改为yes
然后重启/etc/init.d/xinetd restart
查看启动端口:grep `rsync` /etc/services
发现是873号端口
netstat -tunlp | grep 873 发现竟然是xinetd 因为xinetd要管理rsync
查看系统开启服务
service --status-all 查看所有服务状态
netstat -tulp 查看目前开启的网络服务
设置开机启动服务
chkconfig 管理系统服务默认开机启动与否
chkconfig --list 服务名 来查看当前服务
--level 设置某个服务在该level下on or off
level级别0-6
等级0表示:表示关机 等级1表示:单用户模式 等级2表示:无网络连接的多用户命令行模式 等级3表示:有网络连接的多用户命令行模式 等级4表示:不可用 等级5表示:带图形界面的多用户模式 等级6表示:重新启动
让httpd 服务为3,5 启动
chkconfig --level 35 httpd on
另外还有一个图形界面的命令:ntsysv 只是红帽系统独有的
chkconfig设置自己的系统服务
--add --del 服务名称
只要在/etc/init.d/创建一个自己想要的服务名
chkconfig --add 服务名 就OK
添加成功可以使用--list 来查看进行测试