一. 启动,关机,登入,登出相关命令
[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 来查看进行测试