Linux/Unix常用命令汇总

(一)基本命令

命令格式: 命令 参数

1. ls 显示文件名,等同于dos下dir命令

命令格式:ls [option] file

option:

-l 显示详细列表

域1 :文件类型和文件权限

域2 :文件连接数

域3 :文件所有者名字

域4 :文件用户组名字

域5 :文件长度

域6-8 :最近修改日期

域9 :文件名

-a 显示所有文件,包含隐藏文件(以. 起头的文件名)

-R 显示文件及所有子目录

-F 显示文件(后跟*)和目录(后跟/)

-d 与l选项合用,显示目录名而非其内容

2.cd 目录转换,等同于dos下cd命令

注意目录分隔符为“/”,与dos相反

命令格式:cd dirname

3.pwd 显示当前路径

4.cat 显示文件内容,等同于dos下type命令

命令格式:cat filename

5.more 以分页方式查看文件内容.

命令格式:more filename

6.rm 删除文件

命令格式: rm [-r] filename (filename 可为档名,或档名缩写符号.)

例子 :

rm file1 删除档名为 file1 之文档.

rm file? 删除档名中有五个字元,前四个字元为file 之所有文档.

rm f* 删除档名中,以 f 为字首之所有文档.

rm -r dir1 删除目录 dir1,及其下所有文档及子目录.

7.mkdir 创建目录

命令格式: mkdir [-p] directory-name

Exmaple :

mkdir dir1 建立一新目录 dir1.

mkdir -p dir/subdir 直接创建多级目录

8.rmdir 删除目录

目录必须首先为空

命令格式: rmdir directory

9.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.

10.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.

11.du 查看目录所占磁碟容量

命令格式: du [-sk] directory

例子 :

du dir1 显示目录 dir1 的总容量及其次目录的容量

du -sk dir1 显示目录 dir1 的总容量,以k bytes为计量

12.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的文件名

13.vi 编辑器

命令状态:

j,k,h,l:上下左右

0: 行首

$: 行尾

i,I :插入命令,i 在当前光标处插入 I 行首插入

a,A:追加命令,a 在当前光标后追加,A 在行末追加

o,O:打开命令,o 在当前行下打开一行,O在当前行上插入一行

r,R :替换命令,r 替换当前光标处字符,R从光标处开始替换

数字s: 替换指定数量字符

x: 删除光标处字符

dd: 删除当前行

d0: 删除光标前半行

d$: 删除光标后半行

ctrl+f :后翻页

ctrl+b:前翻页

G : 文件尾

数字G: 数字所指定行

/string 查找字符串

n 继续查找

N 反向继续查找

% 查找对应括号

u 取消上次操作

ex命令状态

:set number 显示行号

:set smd 显示显示状态

:0 文件首

:1,5 copy 7 块拷贝

:1,5 del 块删除

:1,5 move 7 块移动

:1,$s/string1/string2/g 全文件查找string1并替换为string2

:wq! 存盘退出

(二) 增强命令

1. ln 文档连结

命令格式:ln -s oldname newname ( Hard link )

同一文档,可拥有一个以上之名称,可将文档做数个连结.

例子 :

ln -s file1 file2   将名称 file2,连结至文档 file1.

2.grep 搜索字符串

命令格式:

grep string filename

寻找字串的方法很多,比如说我想找所有以M开头的行.此时必须引进pattern的观

念.以下是一些简单的□例,以及说明:

^M 以M开头的行,^表示开始的意思

M$ 以M结尾的行,$表示结束的意思

^[0-9] 以数字开始的行,[]内可列举字母

^[124ab] 以1,2,4,a,或b开头的行

^b.503 句点表示任一字母

  • 星号表示0个以上的字母(可以没有)
  • 加号表示1个以上的字母

. 斜线可以去掉特殊意义

<eg> cat passwd | grep ^b 列出大学部有申请帐号者名单

cat passwd | grep ^s 列出交换学生申请帐号者名单

cat passwd | grep '^b.503' 列出电机系各年级...

grep '^.' myfile.txt 列出所有以句点开头的行

3.fgrep 搜索字符串

命令格式:fgrep string file

4.file 显示文件类型

命令格式:file fileall

文件类型为shell script,ELF 32bit,ASCII text,data or tar file

5.diff 比较文档或目录之不同内容

命令格式:diff [-r] name1 name2 ( name1 name2 可同时为档名,或目录名称.)

例子 :

%diff file1 file2

比较文档 file1 与 file2 内,各行之不同处.

%diff -r dir1 dir2

比较目录 dir1 与 dir2 内,各文档之不同处.

6.cmp 比较文档相同部分

命令格式:cmp file1 file2

7.ftp 远程文件传输

命令格式: ftp [hostname|IP address]

在进入 ftp 之後,如果与 remote host 连接上了,它将会询问你 username

与密码,如果输入对了就可以开始进行文档传输.

注意:如用户无密码,无法注册

(1) ftp 命令

ascii 将传输模式设为 ascii 模式.通常用於传送文字档.

binary 将传输模式设为 binary 模式,通常用於传送执行档,压缩档与影像

档等.

cd remote-directory 将远程主机上的工作目录改变.

lcd [ directory ] 更改本地主机的工作目录.

ls [ remote-directory ] [ local-file ] 列出远程主机上的文档.

get remote-file [ local-file ] 取得远方的文档.

mget remote-files 可使用通用字元一次取得多个文档.

put local-file [ remote-file] 将本地主机的文档送到远程主机.

mput local-files 可使用通用字元一次将多个文档放到远程主机上.

help [ command ] 线上辅助指令.

mkdir directory-name 在远程主机创建一个目录.

prompt 更改交谈模式,若为 on 则在 mput 与 mget 时每作一个文档之传

输时均会询问.

quit/bye 离开ftp .

(2) 后台执行ftp

1.首先,将过程所用到的指令依顺序放入文档中,如下:

%cat ftp_command

!mkdir test

lcd test

cd test

prompt

binary

mget .

bye

2.其次,建一个.netrc档,属性为400,让ftp 自动到此读取Username

与Password,方可顺利login 到的主机,如下:

%cat .netrc

machine remote login anonymous password guest

3.最後再执行下面指令即可.

%nohup ftp remote < ftp_command > message &

8.telnet 远程终端访问

命令格式:

telnet [hostname|IP address]

9.IO 重新导向

UNIX所有的程式执行时,均需要资料的输入以及输出资料.一般而言,资料是

从键盘输入,并将资料输出到萤幕上,这就叫做标准输入及标准输出,而我们

可以更改标准出输出入.

A. 更改标准输入 —— 在命令後方加"< <filename>" ,即可从<filename>这

个文档输入资料.

B. 更改标准输出 —— 在命令後方加"> <filename>" ,即可将萤幕输出的资

料导向到<filename>这个文档上.

C. 更改标准输出 —— 在命令後方加">> <filename>",功能与B.相似,只不

过这会将资料加在文档後方.

D. 管道 —— 在两个命令中间加上'|',即可将前方指令的输出当成後方指令

D. 管道 —— 在两个命令中间加上'|',即可将前方指令的输出当成後方指令

的输入.

2.关于进程处理的命令:

ps——显示目前你的 process 或系统 processes 的状况

格式:
ps [-aAdefl] [-G groups] [-o format] [-p pids] [-t termlist] [-u users] [-U users] [-g pgrplist]
常用参数:
-a 列出所有用户的 process 状况。
-u 显示 user - oriented 的 process 状况 。
-x 显示包括没有 terminal 控制的 process 状况 。
-w 使用较宽的显示模式来显示 process 状况 。
例:

  • ps -ae (显示所有进程的进程号及状态)
  • ps -u ilasnt1 (显示用户ilasnt1的进程状态)
    PID TTY TIME CMD
    1194 ttyp0 00:00:00 sh
  • ps -t tty1a (显示设备tty1a上的进程)
    如上所示:我们可以经由 ps 取得目前 processes 的状况,如 PID(进程号) , TTY(设备名)、TIME(时间)、CMD(程序名) 等。

kill——杀进程

kill 指令的用途是送一个信号给某一个进程。因为大部份送的都是用来杀掉进程 ,因此称为 kill 。
格式:
kill [ -SIGNAL ] pid ...
kill -l
SIGNAL :为一个讯号的数字,从 0 到 31 ,其中 9 是 SIGKILL ,也就是一般用来杀掉一些无法正常终止进程的讯号。
你也可以用 kill -l 来察看可代替 signal 号码的数目字。

3.用户操作指令

Who——查询目前有那些人在线

例:

  • who
    ilasnt1 ttyp0 May 24 10:23
    root ttyp3 May 24 11:27
    root ttyp4 May 24 09:39

w——查询目前有那些人在线上,同时显示出那些人目前的工作
例:

  • w
    12:17pm up 3:59, 3 users, load average: 2.03, 2.02, 2.00
    User Tty Login@ Idle JCPU PCPU What
    ilasnt1 ttyp0 10:23am 1:54 1 - -sh
    root ttyp3 11:27am 2 1 - w
    root ttyp4 9:39am 38 1 - -sh

chgrp——改变组的属性
格式:
chgrp [-R] group file...
例:

  • chgrp library file1 file2… (将file1、file2…等的用户组改为library)

  • chown——改变文件或目录的所有者
    格式:
    chown [-R] owner[:group] file...
    例:

  • chown ilasnt1 ilasII_GB (将ilasII_GB的用户主改为ilasnt1)

passwd——更改用户口令

格式:
passwd 用户名 (后面不跟用户名,为修改root的口令)

4.网路指令

UNIX 提供网路的连接,使得你可以在各个不同的机器上做一些特殊的事情。有些工作可以利用 UNIX 的网路指令,在你的位子上连到各个不同的机器上工作。如此一来,即使你在寝室,也能轻易的连至系上或计中来工作,不用像以前的人必须泡在冷冰冰的机房面。
这些网路的指令如下所述:

telnet——仿真终端程序

telnet 是一个提供 user 经由网路连到 remote host。
格式:
telnet [ hostname | ip-address ] [ port ]
其中:
hostname:为一个像 ccsun1 或是 ccsun1.cc.nctu.edu.cn 的 name address;
ip-address:则为一个由四个小於 255 的数字组成的IP地址,如 140.113.17.173 、210.26.147.1等。
Port:为一些特殊的程式所提供给外界的沟通点。如对方没要求,则不需要此项。
例:
telnet ccsun1
telnet 140.113.17.173

ftp——文件传输协议
ftp 的意义是 File Transfer Program ,是一个很常应用在网路档案传输的
程序。
格式:
ftp [ hostname | ip-address ]
其中 hostname | ip-address 的意义同telnet 。
在进入 ftp 之後,如果与 remote host 连接上了,它将会询问你用户名
与密码,如果输入对了就可以开始进行档案传输。
ftp中常用命令:
ascii:将传输模式设为 ascii 模式。通常用於传送文字档。
binary:将传输模式设为 binary 模式,通常用於传送执行档,压缩档与影像档等。
cd remote-directory:将 remote host(远方)上的工作目录改变。
lcd [ directory ]:更改 local host (本地)的工作目录。
ls [ remote-directory ] [ local-file ]:列出 remote host 上的档案。
get remote-file [ local-file ]:取得远方的档案。
mget remote-files :可使用通用字元一次取得多个档案。
put local-file [ remote-file]: 将 local host 的档案送到 remote host。
mput local-files :可使用通用字元一次将多个档案放到 remote host 上。
help [ command ]: 线上辅助指令。
mkdir directory-name :在 remote host 造一个目录。
prompt 更改交谈模式,若为 on 则在 mput 与 mget 时每作一个档案之传
输时均会询问。
quit/bye 离开ftp .

5.其他指令

备份命令:tar(c)

tar 是对非特权用户最易用和最可靠的实用程序(utility),从归档介质上保留和恢复文件,亦能从多文件归档中抽取单个文件。
tar 归档使用文件和目录的相对或绝对路径名。
打入 tar,即会显示所有变量选项;
如:
tar -{txruc}[0-9vfbkelmnopwAFLTP] [tapefile] [blocksize] [tapesize] files...
Key Device Block Size(K) Tape
0 /dev/rfd048ds9 18 360 No
1 /dev/rfd148ds9 18 360 No
2 /dev/rfd096ds15 10 1200 No
3 /dev/rfd196ds15 10 1200 No
4 /dev/rfd0135ds9 18 720 No
5 /dev/rfd1135ds9 18 720 No
6 /dev/rfd0135ds18 18 1440 No
7 /dev/rfd1135ds18 18 1440 No
8 /dev/rStp0 20 0 Yes
9 /dev/rctmini 20 0 Yes
10 /dev/rdsk/fp03d 18 720 No
11 /dev/rdsk/fp03h 18 1440 No
12 /dev/rdsk/fp03v21 10 20330 No
其中:
“cv”是创建归档;
“cv#”用於来自 /etc/default/tar 的设备号 #;
“rv”追加已有归档;
“uv”更新在已有归档上的文件;
“tv”显示归档内容表;
“xv”从归档中抽取文件;
“f”从指定文件中读入或写出;
“L”使 tar跟随符号连接继续追查下去,默认情况下则会忽略符号连接。
例:
(1)要归档指定文件,而复盖盘上的已有数据,指令如下:
$cd pub
$tar cv8 ascii greek (8为磁带机)
volume end at 1199k, block factor=5k
seek=0k a ascii 3k
seek=3k a greek 1k
(2)要列出 tar 归纳的内容:
$tar tv8
rwxrwxrwx201/50 1731 Apr 11 00:58 1997 web50/WEB/srchbib.htm
rwxrwxrwx201/50 1002 Apr 11 00:58 1997 web50/WEB/readinfo.htm
rwxrwxrwx201/50 1070 Apr 11 00:58 1997 web50/WEB/stflag.gif
rwxrwxrwx201/50 45 Mar 22 01:27 1997 web50/WEB/cgi-bin/ILASPROF
rwxr-xr-x201/50 136799 Apr 10 04:10 1998 web50/WEB/cgi-bin/openhold

注意:创建 tar 归档,使用相对路径名,否则,恢复另一系统就会盖写其他系统的文件。如:
tar cv8 /etc/motd
cd /tmp
tar xv8
x /etc/motd, 943 bytes,2k

Df——显示硬盘空间使用情况

磁盘空间以块为单位进行分配,典型的块是512字节。
例:

  • df -v
    Mount Dir Filesystem blocks used free %used
    / /dev/root 2123740 990450 1133290 47%
    /stand /dev/boot 100000 19796 80204 20%
    /u /dev/u 15000000 12529568 2470432 84%

Du——检测一个目录和(递归地)所有它的子目录中的文件占用的磁盘空间,用块大小标识。

例:
du
du -s 只显示整个目录占用的空间

Find——从指定路径开始查找带有规定特征的文件

例:
find / -name ilas.ini (从根目录开始递归地寻找出名为ilas.ini的文件,并将它所在目录显示在屏幕上)

Date——显示系统日期

例:
date
Thu May 24 14:31:49 CST 2001

Format——软盘格式化

例:
format /dev/rfd096ds15 (格式化5寸高密软盘(A驱动器)

Haltsys——紧急关机

格式:#haltsys 回车 (此时未执行关闭数据库等,最好用Shutdown)

Shutdown——多用户情况下关机

格式:
shutdown -g0 -y -i0

Other References

28个Unix/Linux的命令行神器
Unix之初学者命令

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容