1 chkconfig
Linux的服务管理器,拥有添加、删除、查看、设置服务的运行状态等功能
chkconfig --list 列出所有服务的状态
chkconfig --add name 添加服务
chkconfig --del 删除已有服务,并从/etc/rc[0-6].d中移除所有符号链接
chkconfig [--level n] name <on|off|reset> 设置服务name的打开状态,如果--level没有使用,则on|off将影响2-5运行级,reset将影响所有运行级
chkconfig [--level n] name
需要注意的是,chkconfig 并不会影响服务当前的运行状态
2 service
管理Linux操作系统中服务的命令,主要存在于redhat、fedora、centos中,其只是一个脚本
此命令的作用是去/etc/init.d目录下寻找相应的服务,进行开启和关闭等操作
service name <start | stop | restart> 启动、关闭、重启服务其行为等同于 /etc/init.d/name start | stop | restart
3 tee
从标准输入上读取内容并输出到文件,同时输出到标准输出,俗称三通器
cat /etc/hosts |tee -a bak 将hosts文件输出到屏幕并追加保存到文件bak中
4 tr
完成字符集映射功能,从标准输入上读取并按转换条件将结果输出
用法:tr [选项] [set1] [set2]
选项:
-c 从输入流中取不在set1中的元素
-d 从输入流中删除在set1中的元素
-s 在set1中定义的字符,若在输入流中连续出现,则进行去重
-t 若set1过长,则将其长度截断为set2的长度
如何表示set:
(1) C中的转义字符可以使用
(2) char1 - char2 例: A-Z 从A到Z的所有字符
(3) char* 例:a* 若set1长度为26,在set2中,取a-z
(4) [:alnum:] 所有字符和数字类似的有[:alpha:] [:blank:] [:cntrl:] [:digit:] [:lower:] [:upper:] [:print:] [:space:]
示例:echo "abcd" |tr [a-z] [A-Z] == |tr [:lower:] [:upper:]
5 chsh 修改登录shell
chsh -l = cat /etc/shells 显示系统可运行的shell
chsh -s /bin/bash 设置登录shell,用户同样可以对/etc/passwd文件进行修改
6 ar 创建、修改lib
ar -op [mod [relpos] [count] ] archive [member ...]
示例: ar -r libtest.a *.o 把当前目录下的.o文件打包成lib
op 可以指定ar的操作,只能指定下面的一个操作
d 删除一个成员
p 打印成员
q 在最后插入成员
r 替换成员
t 显示成员表
x 解压成员
p操作后可接多个mod,用来指定操作的不同特性
a 在已知成员后加入新文件
b 在已知成员前加入新文件,同i
c 创建归档
s 产生对象文件索引,ar s = ranlib
v 详细输出
7 ps
ps的选项过多,这里只列表比较常用的
ps -l/f/F 指示显示信息的详细程度
ps -A/-a/ax/e 指示显示所有进程
ps -o pid,ppid,command 定制显示的列
8 screen
screen可以在模拟多个终端,可以在一个窗口中实现多个终端的复用
启用screen十分的简单,键入sreen即可,也可以在screen后面加上需要执行的命令
使用screen的优势在于你可以随时对过ctrl-a d从这个终端脱离,切换到其他终端,并在需要的时候通过screen -r id来连接特定的窗口
screen -ls 可以列出当前所有窗口
screen -wipe 可以将某些僵死窗口清理掉
screen -d -m 生成一个创建后便脱离的终端
screen -S name 生成一个名字为name的终端
screen的使用大部分是由热键ctrl+a击活的,下面列出ctrl+a后可以执行的操作
C-a ? 显示所有键绑定信息
C-a w 显示所有窗口列表
C-a C-a 切换到之前显示的窗口
C-a c 创建一个新的运行shell的窗口并切换到该窗口
C-a n 切换到下一个窗口
C-a p 切换到前一个窗口(与C-a n相对)
C-a 0..9 切换到窗口0..9
C-a a 发送 C-a到当前窗口
C-a d 暂时断开screen会话
C-a k 杀掉当前窗口
C-a [ 进入拷贝/回滚模式
Screen提供了丰富强大的定制功能。你可以在Screen的默认两级配置文件/etc/screenrc和$HOME/.screenrc中指定更多,例如设定screen选项,定制绑定键,设定screen会话自启动窗口,启用多用户模式,定制用户访问权限控制等等。如果你愿意的话,也可以自己指定screen配置文件。
以多用户功能为例,screen默认是以单用户模式运行的,你需要在配置文件中指定multiuser on 来打开多用户模式,通过acl*(acladd,acldel,aclchg...)命令,你可以灵活配置其他用户访问你的screen会话。更多配置文件内容请参考screen的man页。
此外使用screen来执行命令可以解决由于终端挂起而导致在终端中执行的前台任务终止的问题。
9 sort
sort [选项] input [-o output]
sort用来对于input文件中的行进行排序,若不指定输出,则打印到标准输出上,通过-o可以指定输出文件。
选项说明:
-u 排序后去重,类似于uniq的功能
-r 反序排序
-n 以number排序,而非以字符串排序,可解决10比2小的问题
-k 指定以哪个字段进行排序,字段分隔符以-t来指定
-t 指定字段间的分隔符
-b 忽略行前的空格后进行排序
-f 不区分大小写