您的位置:首页 > 运维架构 > Linux

Linux/Unix 常用命令集锦

2009-12-17 16:58 696 查看
1. man(即manu)-查看参数的具体用法
如:man ls
此后,按Enter键或者空格键向下浏览翻页
Q键退出浏览
举例:
man ls | col –b >ls.txt 生成文本文档
catman –w –M /usr/man 生成索引关键字
man –k keyword 关键字查找
man –s number word 不同系统类别
example: man –s 3s printf
(新手可先略过此例)

2. ls-列出当前目录下文件的信息(list directory content)
命令格式:ls [option] file
其中,option:
-l 显示详细列表
域1 :文件类型和文件权限
域2 :文件连接数
域3 :文件所有者名字
域4 :文件用户组名字
域5 :文件长度
域6-8 :最近修改日期
域9 :文件名
-a 显示所有文件,包含隐藏文件(以. 起头的文件名)
-R 显示文件及所有子目录
-F 显示文件(后跟*)和目录(后跟/)
-d 与l选项合用,显示目录名而非其内容
举例:ls -l
drwxr-x--x 2 junlixxu 512 Aug 8 05:08 picture
drwx--x--x 2 junlixxu 512 Aug 8 22:00 test
-rw------- 1 junlixxu 566 Aug 8 05:28 makefile
注意:"."表示当前目录 ls . 显示当前目录下的文件。
ls | wc -l (word count, count line number,算出文档数目)
wc命令用于计算并显示指定文件中的字节数、字数和行数。
举例:wc myfile.txt。这个命令执行后显示myfile.txt的统计信息

3. clear-清屏

4. pwd-显示当前路径

5. cd-目录转换,等同于dos下cd命令
注意目录分隔符为“/”,与dos相反
命令格式:cd dirname
特殊用法:
cd (~) 退回根目录
cd - 返回上一次进入的目录
cd .. 返回上层目录
进入多层目录:
如:cd ./myproject/test 进入当前目录下myproject目录下的test目录

6. cat-显示文件内容,等同于dos下type命令
命令格式:cat filename

7. more-以分页方式查看文件内容.
命令格式:more filename

8. touch-改变文件或目录之最后修改时间
执行格式:touch name ( name 可为文件或目录名称。)
如果文件不存在将创建一个新的文件,即我们可以用touch命令创建文件
举例:touch test.c

9. mkdir-创建目录
命令格式: mkdir [-p] directory-name
举例: mkdir dir1 建立一新目录 dir1.
mkdir -p dir/subdir 直接创建多级目录

10. rmdir-删除目录
目录必须首先为空
命令格式: rmdir directory

11. rm-删除文件
命令格式: rm [-r] filename (filename 可为档名,或档名缩写符号.)
举例 :
rm file1 删除当前目录下档名为 file1 之文档.
rm file? 删除当前目录下档名中有五个字符,前四个字符为file 之所有文档.
rm f* 删除当前目录下档名中,以 f 为字首的所有文档.
rm * 删除当前目录下的所有文件
rm *.c 删除当前目录下所有后缀名为c的文件
rm -f file 忽略删除过程中的错误,如:文件不存在
rm -i file 在删除前给予提示
rm -r dir 删除目录及其下所有文档及子目录.

12. aliases-给命令取别名
举例:
alias ll=‘ls –l’
alias rm=‘rm –i’

13. cp-文档复制
命令格式: cp [-r] source destination
举例:
cp file1 file2 将文档 file1 复制成 file2
cp file1 dir1 将文档 file1 复制到目录 dir1 下,文件名仍为 file1.
cp /tmp/file1 . 将目录 /tmp 下的文档 file1复制到现行目录下,档名仍为 file1.
cp /tmp/file1 file2 将目录 /tmp 下的文档 file1现行目录下,档名为file2
cp -r dir1 dir2 (recursive copy) 复制整个目录. 若目录 dir2 存在,则将目录dir1,及其所有文档和子目录, 复制到目录 dir2 下,新目录名称为dir1.若目录dir2不存在, 则将dir1,及其所有文档和子目录,复制为目录 dir2.

14. mv-文件移动,给文件更名
命令格式: mv source destination
举例:
mv file1 file2 将文档 file1,更改档名为 file2.
mv file1 dir1 将文档 file1,移到目录 dir1 下,档名仍为 file1.
mv dir1 dir2 若目录 dir2 存在,则将目录 dir1,及其所有档案和子目录,移到目录 dir2 下,新目录名称为 dir1. 若目录 dir2 不存在,则将dir1,及其所有文档和子目录,更改为目录 dir2.

15. grep-搜索字符串
命令格式:
grep string filename
grep abc file1
寻找文件file1中,列出字串 abc 所在之整行文字内容。
寻找字串的方法很多,比如说我想找所有以M开头的行.此时必须引进pattern的观念.以下是一些简单

的示例,以及说明:
^M 以M开头的行,^表示开始的意思
M$ 以M结尾的行,$表示结束的意思
^[0-9] 以数字开始的行,[]内可列举字母
^[124ab] 以1,2,4,a,或b开头的行
^b.503 句点表示任一字母
* 星号表示0个以上的字母(可以没有)
+ 加号表示1个以上的字母
/. 斜线可以去掉特殊意义
举例:
grep '^/.' myfile.txt 列出所有以句点开头的行
grep -v main say.c 列出say.c文件中所有不包含main字串的行
grep -l main *.c 列出所有包含main字串的c文件

16. find-文件查找
命令格式: find dir -name filename command
举例:
find . -name hello -print 寻找目前目录及所有的子目录内叫hello的文档.
find . -ctime +7 -print 找出七天内未被更动的文档
find . -size +2000m -print 找出大小超过2000 bytes的文档
find /tmp -user b1234567 -print 在/tmp下属於b1234567的文档
find . -name '*.c' -exec rm {} 删除所有的.c档
find . -name test/* -print 显示当前目录及其子目录文件名前4位为test的文件名
find命令更一般的格式为:
find [path] [options] [tests] [actions]
举例:
find / -mount -type d -print 列出/目录下的所有目录(-mount指只在当前文件系统中寻找)

部分参数及意义:
test meaning
-atime N 最后一次访问文件的时间为N天前
-mtime 最后一次修改文件的时间为N天前
-name pattern 文件名与pattern匹配
-newer otherfile 比otherfile文件新的文件
-type C 文件类型为C,通常用d表示目录,f表示文件
-user username 给定用户的文件

以下操作数可组合上述test命令
operator,short form operator,long form meaning
! -not test取反
-a -and 所有的test都为真
-o -or 至少有一个为真

action meaning
-exec command 执行命令
-ok command 同上,但在执行命令前给以提示
-print 打印文件的名字
-ls 列出目录

17. file-显示文件类型
命令格式:file fileall
举例:file a.c
a.c:ASCII text

18. echo-标准输出
命令格式:echo string
举例:echo Hello World! 将在屏幕输出Hello World!
echo -n string 输出string但不换行
echo -e string 可以解释输出转义字符

19. date-打印时间
命令格式:date
举例:date
Tue Nov 10 09:59:41 UTC 2009
***cal命令可显示无格式文本日历

20. diff-比较文档或目录之不同内容
命令格式:diff [-r] name1 name2 ( name1 name2 可同时为档名,或目录名称.)
举例 :
diff file1 file2
比较文档 file1 与 file2 内,各行之不同处.
diff -r dir1 dir2
比较目录 dir1 与 dir2 内,各文档之不同处.

cmp-比较文档相同部分
命令格式:cmp file1 file2

21. chmod-改变文件或目录之读、写、执行之允许权
执行格式:chmod [-R] mode name
( name 可为文件名或目录名;mode可为 3 个 8 位元之数字,或利用ls -l 命令,列出文件或目录之读

、写、执行允许权之文字缩写。)
mode : rwx rwx rwx r:read w:write x:execute
user group other
缩写 : (u) (g) (o)
Example :
chmod 755 dir1
将目录dir1,设定成任何使用者,皆有读取及执行之权利,但只有拥有者可做修改。
chmod 700 file1
将文件file1,设定只有拥有者可以读、写和执行。
chmod o+x file2
将文件file2,增加拥有者可以执行之权利。
chmod g+x file3
将文件file3,增加群组使用者可执行之权利。
chmod o-r file4
将文件file4,除去其它使用者可读取之权利。

22. chown -改变文件或目录之拥有权
执行格式:chown [-R] username name ( name 可为文件名或目录名。)
Example :
chown user file1
将文件 file1 之拥有权,改为使用者 user 所有。
chown -R user dir1
将目录 dir1,及其下所有文件和子目录之拥有权,改为使用者 user 所有。

23 groups-检查自己所属之群组名称
执行格式:groups

24. chgrp-改变文件或目录之群组拥有权
执行格式:chgrp [-R] groupname name ( name 可为文件名或目录名 )
Example :
chgrp vlsi file1
将文件 file1 之群组拥有权,改为 vlsi 群组。
chgrp -R image dir1
将目录dir1,及其下所有文件和子目录,改为 image 群组。

25. sort-t将文本文件逐行分类
举例:sort myfile.txt。这个命令将myfile.txt中的内容分类。

26. ln-文件连结
同一文件,可拥有一个以上之名称,可将文件做数个连结。
执行格式:ln oldname newname ( Hard link )
Example :
ln file1 file2   将名称 file2,连结至文件 file1。
如果此时删除file1,file2仍然存在
执行格式:ln -s oldname newname ( Symblick link )
Example :
ln -s file3 file4 将名称 file4,连结至文件file3。
删除file3的同时file4也将被删除,相当于创建了一个快捷方式

27. 找寻文件或命令的路径
执行格式:whereis command ( 显示命令之路径。)
执行格式:which command ( 显示命令之路径,及使用者所定义之别名。)
执行格式:whatis command ( 显示命令功能之摘要。)
举例:whereis ls
ls: /bin/ls /usr/share/man/manl/ls.l.gz

28. 查看当前用户的信息
who:who显示目前已登录用户的统计信息。
whoami:显示你自已登陆的用户名
id: 打印出自己的UID以及GID。(UID:用户身份唯一标识。GID:用户组身份唯一标识。每一个用户只能有一个唯一的UID和 GID)
w 显示当前系统中每个用户和它所运行的进程信息

29. su-切换用户
执行格式: su username
Example:
su user 进入user 之帐号
用法: su -l 用户名(如果用户名缺省,则切换到root状态)
eg:su -l netseek (切换到netseek这个用户,将提示输入密码)

30. finger-查看用户信息
举例:finger junlixxu这个命令执行后将列出和我有关的当前可用的所有信息。

31. lpr-一般文件之打印
执行格式:lpr [-Pprinter-name] filename

32. lpstat-报告挂起的打印作业状态
举例:lpstat。
cancel命令可取消被挂起的打印作业

33. mount-安装和卸载文件系统
举例:mount/dev/fd0/mnt/floppy。这个命令执行后将第一个软盘驱动器安装在/mnt/floop目录中。

34. ps-用来报告当前进程的状态
举例:ps-a 这个命令执行后将打印出当前所有的进程
ps -ef 类似于windows中的任务管理器

35. head-在默认的情况下输出任何文件的头10行。
举例:head myfile.txt。在这个命令执行后将在屏幕上显示myfile.txt的头10行。

36. tail-在默认情况下显示指定文件的最后10行。
举例:tail myfile.txt。这个命令执行后,屏幕上将显示myfile.txt的最后10行。你也可以指定显示的行数,比如tail-50 myfile.txt执行后,将会在屏幕上打印出文本的最后50行。

37. kill-用来终止某个进程
kill 指令的用途是送一个 signal 给某一个 process 。因为大部份送的都是用来杀掉 process 的 SIGKILL 或 SIGHUP ,因此称为 kill 。kill 的用法为:
kill [ -SIGNAL ] pid ...
kill -l
SIGNAL 为一个 singal 的数字,从 0 到 31 ,其中 9 是 SIGKILL ,也就是一般用来杀掉一些无法正常 terminate 的讯号
举例:kill 529。这个命令执行后将终止第529号进程。
kill -9 456
你也可以用 kill -l 来察看可代替 signal 号码的数目字。kill 的详细情形请参阅 man kill

38. hostname-用来打印出机器的主机名。
举例:hostname

39. ping-用来检查其他主机是否运行并且状态良好。
举例:ping 207.171.0.111

40. telnet-和其他主机进行远程会话。
举例:telnet 202.194.14.236。这个命令将启动本机连接到202.194.14.236

41. traceroute-跟踪分组从节点A(你的机器)传送节点B(某个远程主机)所经过的路径。这个命令通

常用来确定网络中是否存在故障。
举例:traceroute mcp.com。

42. passwd-用来更改用户密码。
举例:passwd(系统会提示用户进行更改)

43. paste-用来合并文件行或输出。
举例:who|awk/'{print $1}/'|paste--。这个命令执行后获得当前用户ID并将它们按行列格式打印。两个-符号指定列的形式。awk是一种模式扫描和执行语言。举例:awk/'{print $1}/'file.txt。这个命令执行后将打印出file.txt的第一个区域

44. compress-资料之压缩
为了避免不常用的文件或资料,占用太大的磁盘空间,请使用者将之压缩。欲使用压缩过的文件或资

料前,将之反压缩,即可还原成原来之资料型式。凡是经过压缩处理之文件,会在文件名后面附加 ” .Z

” 之字符,表示此为一压缩文件。
执行格式:compress filename 压缩文件
执行格式:compressdir directory-name 压缩目录

45. uncompress -解压缩还原资料
执行格式:uncompress filename 反压缩文件
执行格式:uncompressdir directory-name 反压缩目录

46. tar-tar最初用于建立磁带备份系统,目前广泛用于建立文件发布档案
例如,如果要将当前目录中所有文件存档到ye.tar中,可用如下命令:
tar cvf ye.tar *.*
要浏览档案内容,将c选项变成t,如果要浏览ye.tar档案中的内容,可用如下命令:
tar tvf ye.tar
要取出档案内的内容,将c选项变成x。如果要将ye.tar档案中的内容取到当前目录中,可用如下命令:
tar xvf ye.tar

47. gzip- 压缩解压文件
例如,如果要将ye.txt文件压缩,可用如下命令:
gzip ye.txt
这样就可以压缩文件并在文件名后面加上gz扩展名,变成文件ye.txt.gz。
解压缩文件可用gzip -d命令实现:
gzip -d ye.txt.gz
这样就可以解压缩文件并删除gz扩展名。除此之外还可以用gunzip命令来解 压缩文件,效果跟用gzip -d命令一样。
旧版的tar命令不压缩档案,可用gzip压缩。例如:
tar cvf ye.tar *.txt
gzip ye.tar
则可建立压缩档案ye.tar.gz。
新版的tar可以直接访问和建立gzip压缩的tar档案,只要在tar命令中加上z 选项就可以了。例如:
tar czvf ye.tar *.txt
生成压缩档案ye.tar.gz,
tar tzvf ye.tar *.txt
显示压缩档案ye.tar.gz的内容,而
tar xzvf ye.tar *.txt
取出压缩档案ye.tar.gz的内容

48. I/O control-标准输出的控制
执行格式:command > filename
将 command 之执行结果,送至指定的 filename 中。
Example: ls -l > list,将执行 “ls -l” 命令之结果,写入文件 list 中。
执行格式:command >! filename
同上,若 filename 之文件已经存在,则强迫 overwrite。
Example: ls -lg >! list,将执行 “ls - lg” 命令之结果,强迫写入文件 list 中。
执行格式:command >& filename
将 command 执行时,屏幕上所产生的任何信息,写入指定的 filename 中。
Example: cc file1.c >& error,将编译 file1.c 文件时,所产生之任何信息,写入文件 error 中。
执行格式:command >> filename
将 command 执行结果,附加(append)到指定的 filename 中。
Example: ls - lag >> list,将执行 “ls - lag” 命令之结果,附加(append)到文件 list 中。
执行格式:command >>& filename
将 command 执行时,屏幕上所产生的任何信息,附加于指定的 filename中。
Example: cc file2.c >>& error,将编译 file2.c 文件时,屏幕所产生之任何信息,附加于文件 error 中

49. cc-用于许多系统的C编译器。
举例:cc myfile.c -o myfile。这个命令执行后对myfile.c源文件进行编译并输出一个名为myfile的可执

行文件。

50. du-报告磁盘的使用情况,查看目录所占磁碟容量
命令格式: du [-sk] directory
例子 :
du dir1 显示目录 dir1 的总容量及其次目录的容量
du -sk dir1 显示目录 dir1 的总容量,以k bytes为计量

51. halt -关机命令

52. reboot-重启命令

53. 在 background 执行 process 的方式
执行格式:command & (于 command 后面加入一 “&” 符号即可。)
Example:
cc file1.c &
将编译 file1.c 文件之工作,置于 background 执行。

按下 “Control Z” 键,暂停正在执行的 process。键入 “bg” 命令,将所暂停的 process,置入

background 中继续执行。
Example:
%cc file2.c
^Z
Stopped
bg

fg 把后台进程调到前台

查看正在 background 中执行的 process
执行格式:jobs

结束或终止在 background 中的 process
执行格式:kill %n
(n 为利用 “jobs” 命令,所查看出的 background job 编号)
Example:
kill % 终止在 background 中的第一个 job。
kill %2 终止在 background 中的第二个 job。

54. 文件传输
1 拷贝文件或目录至远端工作站
执行格式: rcp [-r] source hostnome:destination
source 可为文件名、目录名或路径,hostnome 为工作站站名,destination 为路径名称.
Example :
rcp file1 doc:/home/user
将文件 file1,拷贝到工作站 doc 路径 /home/user 之目录下
rcp -r dir1 doc:/home/user
将目录 dir1,拷贝到工作站 doc 路径/home/user 之目录下
(实际工作中,往往先在PC机下开发,然后通过ftp工具上传到指定目录,如:FileZilla FTP Client)

2 自远端工作站,拷贝文件或目录
执行格式: rcp [-r] hostname:source destination
( hostname 为工作站名,source 为路径名,destination 可为文件名、目录名或路径 )
Example :
rcp doc:/home/user/file1 file2
将工作站 doc 中,位于 /home/user 目录下之目录 dir1,拷贝到目前工作站之目录下,目录名称仍为

dir1
rcp -r doc:/home/user/dir1 .
将工作站 iis1 中,位于 /home/user 目录下之目录 dir1,拷贝到目前工作站之目录下目录名称仍为

dir1

3 本地工作站与远端工作站之间文件传输
( 必须拥有远端工作站之帐号及密码,才可进行传输工作 )
执行格式: ftp hostname or ftp ip_address
Example :
ftp doc 与远端工作站 doc ,进行文件传输
Name (doc:user-name) : 输入帐号
Password (doc:user-name): 输入密码
ftp> help 列出 ftp 文件传输,可使用之任何命令。
ftp> !ls 列出本地工作站,目前目录下之所有文件名。
ftp> !pwd 列出本地工作站,目前所在之工作目录位置。
ftp> ls 列出远端工作站目前目录下之所有文件名。
ftp> dir 列出远端工作站目前目录下之所有文件名(略同于 UNIX 的 ls -l 指令).
ftp> dir . |more 同上,但每页会暂停(可能不适用 Unix 以外的 ftp)。
ftp> pwd 列出远端工作站目前所在之目录位置。
ftp> cd dir1 更改远端工作站之工作目录位置至 dir1 之下。
ftp> get file1 将远端工作站之文件 file1 ,拷贝到本地工作站中。
ftp> put file2 将本地工作站之文件 file2 ,拷贝到远端工作站中。
ftp> mget *.c 将远端工作站中,副文件名为 c 之所有文件,拷贝到本地工作站中。
ftp> mput *.txt 将本地工作站中,副文件名为 txt 之所有文件,拷贝远端工作站中。
ftp> prompt 切换交谈式指令(使用 mput/mget 时不用每个文件皆询问yes/no)。
ftp> quit 结束 ftp 工作。
ftp> bye 结束 ftp 工作。
注: 从PC与工作站间的文件传输也可透过在 PC端的 FTP指令进行文件传输,指令用法与上所述大致

相同

55. 电子邮件(E-mail)的使用简介
1 将文件当做 E-mail 的内容送出
执行格式:mail -s “Subject-string” username@address < filename
mail -s "program" user < file.c
将 file.c 当做 mail 的内容,送至 user, subject name 为 program

2 传送 E-mail 给本地使用者
执行格式:mail username
mail user

3 传送 E-mail 至 外地
执行格式: mail username@receiver-address
Example
mail paul@gate.sinica.edu.tw
Subject : mail test
:
:
键入信文内容
:
:
按下 “Control D” 键或 ” . ” 键结束信文。
连按两次 “Control C” 键,则中断工作,不送此信件。
Cc:
( Carbon copy : 复制一份信文,给其他的收信人 )

4 检查所传送之 E-mail 是否送出,或滞留于本所之邮件伺服站中
执行格式:/usr/lib/sendmail -bp
( 若屏幕显示为 “Mail queue is empty” 之信息,表示 mail 已送出;若为其它错误信息,表示 E-mail 因

故尚未送出)
5 读取信件
执行格式: mail
常用指令如下:
cd [directory] chdir to directory or home if none given
d [message list] delete messages
h print out active message headers
m [user list] mail to specific users
n goto and type next message
p [message list] print messages
q quit, saving unresolved messages in mbox
r [message list] reply to sender (only) of messages
R [message list] reply to sender and all recipients of messages
s [message list] file append messages to file
t [message list] type messages (same as print)
u [message list] undelete messages
v [message list] edit messages with display editor
w [message list] file append messages to file, without from line
x quit, do not change system mailbox
z [-] display next [previous] page of headers
! shell escape
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: