linux常用命令.docx
《linux常用命令.docx》由会员分享,可在线阅读,更多相关《linux常用命令.docx(20页珍藏版)》请在冰豆网上搜索。
linux常用命令
目录
目录1
一、常用的简单命令2
二、提高你输入速度的命令补全(很有用)4
三、常见命令的分类7
一、常用的简单命令
1.pwd 显示当前工作目录的绝对路径
例如:
如果当前目录为/root,则
[root@localhost/root]#pwd
/root
2.ls 显示当前工作目录下的内容
主要选项:
-a显示指定目录下的所有子目录与文件,包括隐藏文件
-l 以长格式显示文件的详细信息
-p子目录后带“/”
例如:
[root@localhost/root]#ls–a
3.cd 改变工作目录
主要选项:
. 进入当前目录
.. 进入上一级目录
例如:
[root@localhost/root]#cd .. (可用pwd命令查看目录的改变)
[root@localhost/root]#cd/root/aa
4.mkdir 新建目录
例如:
[root@localhost/root]#mkdir/root/aa
或[root@localhost/root]#mkdiraa(在当前目录下新建一个目录aa)
5.rmdir 删除目录
例如:
[root@localhost/root]#rmdir/root/aa
或[root@localhost/root]#rmdiraa(删除当前目录下的子目录aa)
6.cat 查看文件内容
主要选项:
-n每行开始位置显示编号
例如:
[root@localhost/root]#cat-nfilename
7.more 在显示器上按屏显示文本文件
说明:
当文件内容过多时,用cat命令显示的文本会迅速闪过,用户来不及看清内容,用more命令逐屏显示文本,显示满一屏后暂停,若要继续显示,按回车或空格键即可。
例如:
[root@localhost/root]#morefilename
8.wc 统计指定文件的行数、字数、字节数
主要选项:
-c统计字节数
-l统计行数
-w统计字数
例如:
[root@localhost/root]#wcfile1
52 1681073file1
9.cp 将源文件或目录复制到目标文件或目录中
主要选项:
-i在覆盖目标文件之前将给出提示要求用户确认,回答y时目标文件将被覆盖。
例如:
[root@localhost/root]#cp–ifile1.c/usr/file2.c
(将文件file1拷贝到目录/usr下,并命名file2.c)
10.rm 删除文件
例如:
[root@localhost/root]#rm/root/file1.c
11.mv 移动文件或为文件改名
例如:
[root@localhost/root]#mvfile1file2(文件名由file1改为file2)
[root@localhost/root]#mvfile1/usr(将文件file1移至目录/usr下)
12.head 查看文件头
例如:
[root@localhost/root]#headfile1
13.Tail 查看文件尾
例如:
[root@localhost/root]#tailfile1
14.chmod改变文件或目录的权限
用ls-l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
- 普通文件
d目录
l 符号链接
b 块设备文件
c 字符设备文件
后面的9个字符表示文件的访问权限,分为3组,每组3位。
第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。
每一组的三个字符分别表示对文件的读、写和执行权限。
各权限如下所示:
r 读
w 写
x 执行。
对于目录,表示进入权限。
命令格式:
chmod[who][+|-][mode]文件名?
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u表示“用户(user)”,即文件或目录的所有者。
g表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o表示“其他(others)用户”。
a表示“所有(all)用户”。
它是系统默认值。
操作符号可以是:
+添加某个权限。
-取消某个权限。
例如:
[root@localhost/root]#chmodo+wfile1(增加其他用户对file1的写权限)
15.tar 压缩目录或文件
常用选项:
-cvf创建一个压缩文件
-xvf 还原并解压缩文件
例如:
[root@localhost/root]#tar–cvfabc.tar/root/aa
(把目录/root/aa下的所有子目录和文件进行压缩,压缩文件名为abc.tar)
[root@localhost/root]#tar–xvfabc.tar
(把abc.tar还原并解压缩)
二、提高你输入速度的命令补全(很有用)
当用户输入一个命令的一部分后,按Tab键,Shell将试图补全这个命令。
例如:
$pass
Bash知道这是一个命令,并查找以pass开头的命令,当查到只有passwd符合条件时,Bash将把命令补全。
如果查找到多个以输入字符串开头的命令,则会发出警告声,在按一下Tab键,将显示出以此字符串开头的命令。
例如:
$pas
passwdpaste
此时在原输入字符串的基础上增加字符避免多义性后,再用Tab键即可补全命令。
Bash不仅能补全命令,还能补全做命令参数的文件名,如:
$ls-l/home/public/c
clfilecxpfile
$ls-l/home/public/cl
-rw-r--r--2cluser21Dec312:
37clfile
在这个例子中,按第一个Tab键,会有警告声,第二个Tab键用于显示在/home/public目录下同以c开头的文件的名称,然后添加字符l,在按Tab键,Bash将补全文件名,即clfile。
三、历史表(historylist)
因为用户很有可能用到过去用过的命令,所以Bash将每次输入的命令都记录在历史表中以便将来使用。
历史表可以容纳下500条命令。
这么大的容量足够我们使用的了。
在退出登录时,Bash将历史表的内容保存到.bash_history文件中,在登录时,又将.bash_history的内容写入历史表中,这样一来就好像接着上一次登录一样,我们可以使用history命令来显示历史表中的记录。
例如:
$history
210who
211passwd
212cdpublic
213cp/home/file/clfile.
214cp/home/file/cxpfile.
215ls-l/home/pubic
从例子中可以看出,每一个命令占一行,被称为一个事件(event),每一个事件的前一部分的数字被称为事件号,后一部分则是命令。
如果我们想要执行历史表中的命令,我们可以用历史代替操作符(!
)加上事件号来实现。
例如:
$!
210
who
roottty1Dec310:
22
cltty2Dec311:
57
cxptty3Dec313:
54
在例子中,我们执行了历史表中事件号为210的who命令。
如果想要执行最近一次的命令,可以如下输入:
$!
!
who
roottty1Dec310:
22
cltty2Dec311:
57
cxptty3Dec313:
54
我们也可以用!
和命令连用,来重复过去执行过的命令。
这样的优点是不必写出命令的参数。
如:
$!
ls
ls-l/home/pubic
-rw-r--r--2cluser21Dec312:
37clfile
-rw-rw-r--2cxpuser27Dec312:
33cxpfile
还有一种方法是在命令的任何位置查找与指定输入部分相同的命令。
具体做法是用一对?
把要查找的字符串括起来,例如:
$!
?
-l?
ls-l/home/pubic
-rw-r--r--2cluser21Dec312:
37clfile
-rw-rw-r--2cxpuser27Dec312:
33cxpfile
在这条命令中,Bash在每个事件中搜索有无-l这个字符串,当搜索到有-l字符串的ls-l/home/pubic命令时,就执行它。
如果第二个问号后面再没有其他的东西,则可省略第二个问号,因此上面的例子也可以写成:
$!
?
-l
如果要重复命令,但又要做些改动,可以用s/old/new来实现,它的作用是将old部分的字符串换成new部分的字符串。
例如:
$!
?
-l?
:
s/public/cl
ls-l/home/cl
drwxrw-r--1cluser1067Apr1923:
35mp
-rw-r--r--2cluser21Dec313:
41clfile
这个例子是将ls-l/home/public命令中的public换成cl,然后执行。
即执行ls-l/home/cl。
其实,上面这些命令还有一个很简单的实现方法,即按向上键,在提示符后就会出现前一次的命令。
因此,我们可以通过按上键在历史表中从尾部向前查找命令。
当找到要执行的命令后,可以直接按Enter键执行,也可以用前面介绍的命令行编辑方法修改命令。
而向下键的作用正好与向上键相反,是从前向后查找历史表。
大家可以在实际运用中体会它们的用法。
四、路径名扩展
我想大家对DOS中的*和?
不陌生吧。
在Linux下它们的用途完全相同。
*代表任意一个字符串,例如:
$ls-l/home/public/c*
-rw-r--r--2cluser21Dec312:
37clfile
-rw-rw-r--2cxpuser27Dec312:
33cxpfile
在这个例子中,Bash将*扩展后使c*变为clfile、cxpfile。
?
代表任意一个字符,例如:
$cat/home/public/c?
file
UsernameisCaoLei.
在这条命令中,Bash将?
扩展后得到clfile,即执行cat/home/public/clfile命令。
同DOS一样,Linux允许在一行中重复使用*和?
,如:
$lsc*f*
clfilecxpfile
$lsc?
pf?
le
cxpfile
在Linux中,比DOS还多一种路径名扩展方式,即用[]把要匹配的字符括起来,如:
$rmdirfle[12346789]
这行命令的作用是删除名为dirfile1、dirfile2、…、dirfile4、dirfile6、…、dirfile9的这些文件。
我们也可以用一种比较简单的写法来表示上面的命令:
$rmdirfile[1-46-9]
不仅可以用数字,还可以使用字母:
$rmdirfile[abcdefghijklmnopqrstuvwxyz]
$rmdirfile[a-z]
这两条命令是同一个意思,它们都是把名为dirfilea、…、dirfilez的这些文件删除。
五、输入/输出重新定向
Linux命令一般从标准输出设备获得信息,经过命令程序处理后,再将结果送到标准输出设备上。
键盘既是Linux的标准输出设备,显示器既是Linux的标准输入设备。
有时,要从文件中获得信息,或是将结果送到文件中。
因为每个命令不一定都带有相应的参数,所以Bash提供了将命令的标准输出和标准输入重新定向的功能,这些功能可以通过相应的符号表示。
1.>和>>
>的功能是将命令的输出送入文件中。
如果文件不存在,则创建这个文件;如果文件存在,则覆盖这个文件,如:
$ls-l>dirfile
$catdirfile
-rw-r--r--2cluser21Dec312:
37clfile
-rw-rw-r--2cxpuser27Dec312:
33cxpfile
这个例子中,第一个命令前半部分是列出一个目录的文件清单,在一般情况下文件清单显示到屏幕上。
但后半部分有>号,Bash将标准输出定义为名为dirfilr的文件,将显示结果保存到了这个文件中。
第二个命令用于察看dirfile文件的内容,它的内容和直接使用ls-l的结果一样。
>>的功能同>相似,不同的是:
如果文件存在,它并不是覆盖文件,而是将结果添加的文件的后面。
例如:
$ls-l>>dirfile
$catdirfile
-rw-r--r--2cluser21Dec312:
37clfile
-rw-rw-r--2cxpuser27Dec312:
33cxpfile
-rw-r--r--2cluser21Dec
三、常见命令的分类
Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。
所以,在Linux系统上工作离不开使用系统提供的命令。
要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。
不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。
这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。
◆安装和登录命令:
login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
◆文件处理命令:
file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
◆系统管理相关命令:
df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
◆网络操作命令:
ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup;
◆系统安全相关命令:
passwd、su、umask、chgrp、chmod、chown、chattr、sudops、who;
◆其它命令:
tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
本文以MandrakeLinux9.1(Kenrel2.4.21)为例,介绍Linux下的安装和登录命令。
login
1.作用
login的作用是登录系统,它的使用权限是所有用户。
2.格式
login[name][-p][-h主机名称]
3.主要参数
-p:
通知login保持现在的环境参数。
-h:
用来向远程登录的之间传输用户名。
如果选择用命令行模式登录Linux的话,那么看到的第一个Linux命令就是login:
。
一般界面是这样的:
ManddrakeLinuxrelease9.1(Bamboo)fori586
renrel2.4.21-0.13mdkoni686/tty1
localhostlogin:
root
password:
上面代码中,第一行是Linux发行版本号,第二行是内核版本号和登录的虚拟控制台,我们在第三行输入登录名,按“Enter”键在Password后输入账户密码,即可登录系统。
出于安全考虑,输入账户密码时字符不会在屏幕上回显,光标也不移动。
登录后会看到下面这个界面(以超级用户为例):
[root@localhostroot]#
lastlogin:
Tue,Nov1810:
00:
55onvc/1
上面显示的是登录星期、月、日、时间和使用的虚拟控制台。
4.应用技巧
Linux是一个真正的多用户操作系统,可以同时接受多个用户登录,还允许一个用户进行多次登录。
这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。
每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。
虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6。
例如,用户登录后,按一下“Alt+F2”键,用户就可以看到上面出现的“login:
”提示符,说明用户看到了第二个虚拟控制台。
然后只需按“Alt+F1”键,就可以回到第一个虚拟控制台。
一个新安装的Linux系统允许用户使用“Alt+F1”到“Alt+F6”键来访问前六个虚拟控制台。
虚拟控制台最有用的是,当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作,关闭这个程序。
shutdown
1.作用
shutdown命令的作用是关闭计算机,它的使用权限是超级用户。
2.格式
shutdown[-h][-i][-k][-m][-t]
3.重要参数
-t:
在改变到其它运行级别之前,告诉init程序多久以后关机。
-k:
并不真正关机,只是送警告信号给每位登录者。
-h:
关机后关闭电源。
-c:
cancelcurrentprocess取消目前正在执行的关机程序。
所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。
-F:
在重启计算机时强迫fsck。
-time:
设定关机前的时间。
-m:
将系统改为单用户模式。
-i:
关机时显示系统信息。
4.命令说明
shutdown命令可以安全地将系统关机。
有些用户会使用直接断掉电源的方式来关闭Linux系统,这是十分危险的。
因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。
在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。
halt
1.作用
halt命令的作用是关闭系统,它的使用权限是超级用户。
2.格式
halt[-n][-w][-d][-f][-i][-p]
3.主要参数说明
-n:
防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块。
-w:
并不是真正的重启或关机,只是写wtmp(/var/log/wtmp)纪录。
-f:
没有调用shutdown,而强制关机或重启。
-i:
关机(或重启)前,关掉所有的网络接口。
-f:
强迫关机,不呼叫shutdown这个指令。
-p:
当关机的时候顺便做关闭电源的动作。
-d:
关闭系统,但不留下纪录。
4.命令说明
halt就是调用shutdown-h。
halt执行时,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核。
若系统的运行级别为0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。
reboot
1.作用
reboot命令的作用是重新启动计算机,它的使用权限是系统管理者。
2.格式
reboot[-n][-w][-d][-f][-i]
3.主要参数
-n:
在重开机前不做将记忆体资料写回硬盘的动作。
-w:
并不会真的重开机,只是把记录写到/var/log/wtmp文件里。
-d:
不把记录写到/var/log/wtmp文件里(-n这个参数包含了-d)。
-i:
在重开机之前先把所有与网络相关的装置停止。
install
1.作用
install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。
2.格式
(1)install[选项]...来源目的地
(2)install[选项]...来源...目录
(3)install-d[选项]...目录...
在前两种格式中,会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>,同时设定权限模式及所有者/所属组。
在第三种格式中,会创建所有指定的目录及它们的主目录。
长选项必须用的参数在使用短选项时也是必须的。
3.主要参数
--backup[=CONTROL]:
为每个已存在的目的地文件进行备份。
-b:
类似--backup,但不接受任何参数。
-c:
(此选项不作处理)。
-d,--directory:
所有参数都作为目录处理,而且会创建指定目录的所有主目录。
-D:
创建<目的地>前的所有主目录,然后将<来源>复制至<目的地>;在第一种使用格式中有用。
-g,--group=组:
自行设定所属组,而不是进程目前的所属组。
-m,--mode=模式:
自行设定权限模式(像chmod),而不是rwxr-xr-x。
-o,--owner=所有者:
自行设定所有者(只适用于超级用户)。
-p,--preserve-timestamps:
以<来源>文件的访问/修改时间作为相应的目的地文件的时间属性。
-s,--strip:
用strip命令删除symboltable,只适用于第一及第二种使用格式。
-S,--suffix=后缀:
自行指定备份文件的<后缀>。
-v,--verbose:
处理每个文件/目录时印出名称。
--help:
显示此帮助信息并离开。
--version:
显示版本信息并离开。
mount
1.作用
mount命令的作用是加载文件系统,它的用权限是超级用户或/etc/fstab中允许的使用者。
2.格式
mount-a[-fv][-tvfstype][-n][-rw][-F]devicedir
3.主要参数
-h:
显示辅助信息。
-v:
显示信息,通常和-f用来除错。
-a:
将/etc/fstab中定义的所有文件系统挂上。
-F:
这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。
在系统需要挂上大量NFS文件系统时可以加快加载的速度。
-