十年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参数补全功能

compress

cp

复制文件

cpio

cronolog     (2009.09.22)

crontab

curl

强大的网络传输工具

cut

cvs

case

多分支判断语句

cd

更改当前工作目录

continue

CDPATH

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

显示在线手册页

mail

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)

OLDPWD

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

PWD

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

十年linux命令总结的更多相关文章

  1. 40个超有趣的Linux命令行彩蛋和游戏

    40个有趣的Linux命令行彩蛋和游戏,让你假装成日理万机的黑客高手.附一键安装脚本,在树莓派和ubuntu云主机上亲测成功,有些还可以在Windows的DOS命令行中运行. 本文配套B站视频:40个 ...

  2. 03_Linux基础-文件类型-主辅提示符-第1提示符-Linux命令-内外部命令-快捷键-改为英文编码-3个时间-stat-其他基础命令

    03_Linux基础-文件类型-主辅提示符-第1提示符-Linux命令-内外部命令-快捷键-改为英文编码-3个时间-stat-{1..100}-du-cd-cp-file-mv-echo-id-she ...

  3. 十五个最常用Linux命令行 - imsoft.cnblogs

    众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...

  4. 《sed的流艺术之四》-linux命令五分钟系列之二十四

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  5. 《paste命令》-linux命令五分钟系列之二十

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  6. 《sed的流艺术之二》-linux命令五分钟系列之二十二

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  7. 《作业控制系列》-“linux命令五分钟系列”之十

    本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...

  8. 分布式进阶(十) linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel

    linux命令行下载文件以及常用工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 本文介绍常用的几种命令行式的下载工具:wget.Prozilla.MyGet.Li ...

  9. Linux命令(十)——Shell程序设计一(变量与操作符)

    Shell是linux系统中用户和系统交互的接口,它除了作为命令解释器以外,还是一种高级程序设计语言.在前面介绍的linux命令中,Shell都作为命令解释器出现.下面分两节简单介绍脚本程序设计中的语 ...

随机推荐

  1. JSP的学习(3)——语法知识二之page指令

    本篇接上一篇<JSP的学习(2)——语法知识一>,继续来学习JSP的语法.本文主要从JSP指令中的page指令,对其各个属性进行详细的学习: JSP指令: JSP指令是为JSP引擎而设计的 ...

  2. Delphi XE2 升级项目编译ralease版本,无法添加UAC解决方法

    我今天把一个原来是Delphi2007的工程升级到了Delphi XE2,在编译ralease版本时候,发现无法添加UAC,我觉得可能是升级的原因,随后我用XE2新建了一个工程,但是在编译raleas ...

  3. Jsp中使用数据库连接池.

    原文 Jsp中使用数据库连接池. 1. 在tomcat服务器目录下面的conf中找到一个叫Context.xml的配置文件,在其中加入以下代码 <Resource name="jdbc ...

  4. eval 捕获dbi错误

    [root@dr-mysql01 ~]# cat t2.pl use DBI; my $dbUser='zabbix'; my $user="root"; my $passwd=& ...

  5. Boost Thread学习笔记

    thread自然是boost::thread库的主 角,但thread类的实现总体上是比较简单的,前面已经说过,thread只是一个跨平台的线程封装库,其中按照所使用的编译选项的不同,分别决定使用 W ...

  6. Android 百度地图 SDK v3.0.0 (三) 加入覆盖Marker与InfoWindow使用

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/37737213 上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向, ...

  7. Swift - 类型嵌套(以扑克牌结构体为例)

    类型嵌套,简单来说实在一个类型中包含另外一个类型.我们拿一副扑克来说明. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 //类 ...

  8. 眼见为实(2):介绍Windows的窗口、消息、子类化和超类化

    眼见为实(2):介绍Windows的窗口.消息.子类化和超类化 这篇文章本来只是想介绍一下子类化和超类化这两个比较“生僻”的名词.为了叙述的完整性而讨论了Windows的窗口和消息,也简要讨论了进程和 ...

  9. 【Demo 0010】事件响应链

    本章学习要点:       1.  熟悉iOS事件分发过程以及事件响应链;       2.  掌握基本事件响应方法(单击,双击):       3.  掌握基本手势处理方法:

  10. JPA的Embeddable注解

    来源于http://zjsword2000.blog.163.com/blog/static/4583983320083184844734/ 在hibernate中实现自定义类型,只要实现UserTy ...