我使用过的Linux命令系列总目录
本文链接: http://codingstandards.iteye.com/blog/786653 (转载请注明出处)
概述
关于命令类型划分
本表中列出了我穷尽了我所有的记忆整理出来的Linux命令,其中关于外部命令、关键字或内建命令的划分,不一定正确。有很多命令,既是内建命令也可能是外部命令,为啥?Bash为了更高效率的执行命令和脚本,把很多外部命令以内建命令的方式实现了。我们使用type这个命令就可以知道一个命令的类型了,如下所示:
[root@jfht ~]# type -a type
type is a shell builtin <== builtin就是指内建命令
[root@jfht ~]# type -a pwd
pwd is a shell builtin
pwd is /bin/pwd <== 此乃外部命令
[root@jfht ~]# type -a ls
ls is aliased to `ls --color=tty' <== 此乃别名
ls is /bin/ls
[root@jfht ~]# type -a for
for is a shell keyword <== 此乃Shell关键字
[root@jfht ~]#
关于本系列文章
首先,这只是我个人十多年来使用Unix/Linux的经验的总结。我经常感觉自己在Linux的使用和维护方面好像知道得不少了,但是发现沉下心来总结的时候,发现还是很弱的。其实很多东西只是知道个名字,知道点皮毛,更谈不上深入的理解。在写这些文章的时候,我参考了相同类型的文章,通常是Google搜索的前几页结果,我都会看一下,发现总能得到一些新的知识、新的启发,感觉到学无止境,厉害的角色很多。
其次,这些文章并非某个命令的手册页,只是我平时使用它们的时候的一些惯用法,或者写Bash脚本的时候是怎么用的。我认为,对于这些Linux命令,不可能、也没有必要把所有的参数记住,只需要把常用的记住,然后使用man去查看手册页。与其知道每个具体的东西,不如知道在哪里去找它。这一点,我深深的体会到Unix/Linux在文档方面的完善,真正是一个适合开发者使用的平台。
再次,我所写的东西并非完全正确、有可能似是而非,但我尽可能多去实际的去执行一下它们。我非常欢迎各位热爱Linux的朋友们一起参与讨论,特别是我每篇文章都会有一个“问题思考”部分,其实有些问题也是我本人不那么确定或者正在寻找答案的问题。在此,我要感谢各位,浪费了你们宝贵的时间来看这些质量不怎么高的文章。
命令字母顺序表
这个一个浩大而艰巨的任务,我非常担心能不能完成它。我想说,世界上最难得两个字:坚持!
首字母 | 外部命令(某些也可能是内建命令) | 关键字或内建命令 | 内置环境变量 |
A | ac 在线时间统计 adduser 添加用户账号 ant强大的Java开发构建工具 apropos 根据关键字搜索命令 ar arp 操作arp缓存 at 在指定时间执行一次任务 autofork awk | alias | |
B | bash base64用base64编解码 basename去掉文件名的目录和后缀 bc 浮点数计算器、进制转换 | bg break | |
C | cal显示日历 cat连接文件或标准输入并打印 cc chgrp chkconfig查询/修改系统服务的运行级别 chmod chown chroot clear清除终端屏幕,不是cls comm complete强劲的bash参数补全功能 cp 复制文件 cpio cronolog (2009.09.22) crontab curl强大的网络传输工具 cut cvs | case 多分支判断语句 cd 更改当前工作目录 continue | |
D | date dd (2009.09.19) df 查看磁盘空间占用情况 diff dir dirname截取给定路径的目录部分 dmesg查看开机信息/打印或控制内核环形缓冲区 dmidecode 查看硬件信息 dos2unix把DOS格式的文本文件转换成Unix格式 dot绘制DOT语言脚本描述的图形 doxygen du 查看文件的磁盘空间占用情况 | declare dirs (2010.03.15) do done | |
E | echo 显示文本、打印信息 egrep env显示当前用户的环境变量 eval exec expr | elif else esac exit退出当前shell export | |
F | false fgrep file检测并显示文件类型 find free 显示内存的使用情况 ftp | fg fi for Bash中的for循环 | |
G | gawk gdb gcc grep groupadd (2009.09.19) groupdel (2009.09.19) groupmod (2009.09.19) groups (2009.09.19) gunzip gzip g++ | ||
H | halt停止系统运行,但不关闭电源 head help显示Bash内建命令的帮助信息 hexdump“十六”进制查看器 hostname显示或设置主机名 hwclock查询和设置硬件时钟 | help history | HISTTIMEFORMAT HISTSIZE HISTFILESIZE HISTFILE HISTCONTROL HISTIGNORE |
I | iconv字符编码转换工具 ij ifconfig iptables iptables-save (2009.09.19) iptables-restore (2009.09.19) info insmod | if Bash中的条件判断 in | |
J | java javac jar jps (2009.09.19) jstat (2009.09.19) jmap (2009.09.19) jinfo (2009.09.19) javadoc jobs 显示当前终端关联的后台任务情况 join 根据关键字合并数据文件 | ||
K | kill终止进程/发送信号 killall杀死指定名字的进程 | ||
L | ls显示文件目录列表 less lsof locate ln lsmod last ld ll lsb_release查看当前系统的发行版信息 | ||
M | more mv文件或目录改名、移动位置 man显示在线手册页 mysql MySQL客户端命令行工具 mkdir make强大的编译工具 mysqldump mount mysqladmin (2009.09.27) | ||
N | nano比vi简单易用的文本编辑器 nohup执行其他命令,并且忽略SIGHUP信号 netstat nslookup nice (2010.03.15) nginx (2010.09.29) | ||
O | openssl (2009.09.19) | ||
P | ps显示当前正在运行的进程列表 pstree以树状图显示进程间的关系 ping pwd显示当前工作目录 perl php pidof找出正在运行程序的进程PID printf (2009.09.22) | popd (2010.03.15) pushd (2010.03.15) | PATH PS1 PS2 PS3 PS4 PROMPT_COMMAND |
Q | quota | ||
R | rm删除文件或目录 rmdir read reset终端屏幕混乱的终结者 rmmod rar route rpm rpmbuild rlwrap (2009.09.19) rsync (2010.03.08) renice (2010.03.15) rz批量上传文件,简单易用 | return | RANDOM |
S | ssh Secure Shell 客户端 sftp安全文件传输命令行工具 su setsid sort screen 虚拟终端屏幕管理器 sed setup service系统服务管理 sleep set sqlplus sox sh sysctl sync强制将内存中的文件缓冲内容写到磁盘 strings stty 显示和修改终端行设置 stat 显示文件或文件系统状态 ssh-keygen (2010.03.15) ssh-copy-id (2010.03.15) sar (2010.03.15) sadc (2010.03.15) sa1 (2010.03.15) sa2 (2010.03.15) swig把C/C++代码嵌入Java等语言的开发工具 sz下载文件,无需ftp/sftp | shift shopt (2010.03.15) select (2010.03.15) set (2010.03.15) source在当前shell环境中执行指定文件中的命令 | |
T | time测定一个命令的资源使用情况 telnet基于TELNET协议的远程登录工具 tac与cat相反的命令 tar解压缩工具 top实时监视Linux任务 tty打印标准输入的文件名称 tree以树状图列出目录的内容 tracert test tail输出文件尾部/动态监视文件尾部 tailf跟踪日志文件/更好的tail -f版本 touch 创建文件或修改文件时间 true啥也不做,设置退出码为0 tee重定向输出到多个文件 tr tsort拓扑排序 tzselect选择时区 type显示命令的类型 | then trap在脚本中处理信号 | |
U | uptime显示系统运行时间 uname打印系统信息 uniq unzip 解压zip文件 uncompress 解压.Z文件 unrar解压rar文件 updatedb usleep useradd 添加用户账号 userdel usermod umount unix2dos (2009.09.19) | ulimit在shell进程中限制系统资源 umask until unset | |
V | vi vim (2010.09.28) view vmstat valgrind (2010.09.29) | ||
W | w显示谁登录了系统及在做什么 who查看当前登录用户 whereis查找命令的位置 wc wget wait whatis (2009-10-18) | while Bash中的while循环 | |
X | xargs | ||
y | yes重复输出字符串 | ||
Z | zip | ||
^ | ^Z (2010.03.15) ^R (2010.03.15) |