linux必学的60个命令.docx
《linux必学的60个命令.docx》由会员分享,可在线阅读,更多相关《linux必学的60个命令.docx(51页珍藏版)》请在冰豆网上搜索。
linux必学的60个命令
linux必学的60个命令
来源:
ChinaUnix博客 日期:
2008.01.2818:
50 (共有条评论) 我要评论
inux必学的60个命令
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下的安装和登录命令。
immortality按:
请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。
Linux必学的60个命令
(1)-安装与登陆命令
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文件系统时可以加快加载的速度。
-f:
通常用于除错。
它会使mount不执行实际挂上的动作,而是模拟整个挂上的过程,通常会和-v一起使用。
-tvfstype:
显示被加载文件系统的类型。
-n:
一般而言,mount挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。
4.应用技巧
在Linux
和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分访问的。
要访问CD-ROM上的文件,需要将CD-ROM设备挂装在文件树中的某个挂
装点。
如果发行版安装了自动挂装包,那么这个步骤可自动进行。
在Linux中,如果要使用硬盘、光驱等储存设备,就得先将它加载,当储存设备挂上了之后,
就可以把它当成一个目录来访问。
挂上一个设备使用mount命令。
在使用mount这个指令时,至少要先知道下列三种信息:
要加载对象的文件系统类型、要
加载对象的设备名称及要将设备加载到哪个目录下。
(1)Linux可以识别的文件系统
◆Windows95/98常用的FAT32文件系统:
vfat;
◆WinNT/2000的文件系统:
ntfs;
◆OS/2用的文件系统:
hpfs;
◆Linux用的文件系统:
ext2、ext3;
◆CD-ROM光盘用的文件系统:
iso9660。
虽然vfat是指FAT32系统,但事实上它也兼容FAT16的文件系统类型。
(2)确定设备的名称
在Linux
中,设备名称通常都存在/dev里。
这些设备名称的命名都是有规则的,可以用“推理”的方式把设备名称找出来。
例如,/dev/hda1这个
IDE设备,hd是HardDisk(硬盘)的,sd是SCSIDevice,fd是FloppyDevice(或是Floppy
Disk?
)。
a代表第一个设备,通常IDE接口可以接上4个IDE设备(比如4块硬盘)。
所以要识别IDE硬盘的方法分别就是hda、hdb、hdc、
hdd。
hda1中的“1”代表hda的第一个硬盘分区
(partition),hda2代表hda的第二主分区,第一个逻辑分区从hda5开始,依此类推。
此外,可以直接检查
/var/log/messages文件,在该文件中可以找到计算机开机后系统已辨认出来的设备代号。
(3)查找挂接点
在决
定将设备挂接之前,先要查看一下计算机是不是有个/mnt的空目录,该目录就是专门用来当作挂载点(Mount
Point)的目录。
建议在/mnt里建几个/mnt/cdrom、/mnt/floppy、/mnt/mo等目录,当作目录的专用挂载点。
举例而言,如
要挂载下列5个设备,其执行指令可能如下(假设都是Linux的ext2系统,如果是WindowsXX请将ext2改成vfat):
软盘===>mount-text2/dev/fd0/mnt/floppy
cdrom===>mount-tiso9660/dev/hdc/mnt/cdrom
SCSIcdrom===>mount-tiso9660/dev/sdb/mnt/scdrom
SCSIcdr===>mount-tiso9660/dev/sdc/mnt/scdr
不过目前大多数较新的Linux发行版本(包括红旗Linux、中软Linux、MandrakeLinux等)都可以自动挂装文件系统,但RedHatLinux除外。
umount
1.作用
umount命令的作用是卸载一个文件系统,它的使用权限是超级用户或/etc/fstab中允许的使用者。
2.格式
unmount-a[-fFnrsvw][-tvfstype][-n][-rw][-F]devicedir
3.使用说明
umount
命令是mount命令的逆操作,它的参数和使用方法和mount命令是一样的。
Linux挂装CD-ROM后,会锁定CD—ROM,这样就不能用CD-
ROM面板上的Eject按钮弹出它。
但是,当不再需要光盘时,如果已将/cdrom作为符号链接,请使用umount/cdrom来卸装它。
仅当无用户
正在使用光盘时,该命令才会成功。
该命令包括了将带有当前工作目录当作该光盘中的目录的终端窗口。
chsh
1.作用
chsh命令的作用是更改使用者shell设定,它的使用权限是所有使用者。
2.格式
chsh[-s][-list][--help][-v][username]
3.主要参数
-l:
显示系统所有Shell类型。
-v:
显示Shell版本号。
4.应用技巧
前面介绍了Linux下有多种Shell,一般缺省的是Bash,如果想更换Shell类型可以使用chsh命令。
先输入账户密码,然后输入新Shell类型,如果操作正确系统会显示“Shellchange”。
其界面一般如下:
Changingfihangingshellforcao
Password:
Newshell[/bin/bash]:
/bin/tcsh
上面代码中,[]内是目前使用的Shell。
普通用户只能修改自己的Shell,超级用户可以修改全体用户的Shell。
要想查询系统提供哪些Shell,可以使用chsh-l命令,见图1所示。
图1系统可以使用的Shell类型
从图1中可以看到,笔者系统中可以使用的Shell有bash(缺省)、csh、sh、tcsh四种。
exit
1.作用
exit命令的作用是退出系统,它的使用权限是所有用户。
2.格式
exit
3.参数
exit命令没有参数,运行后退出系统进入登录界面。
last
1.作用
last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户。
通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统。
2.格式
1ast[—n][-ffile][-ttty][—h节点][-I—IP][—1][-y][1D]
3.主要参数
-n:
指定输出记录的条数。
-ffile:
指定用文件file作为查询用的log文件。
-ttty:
只显示指定的虚拟控制台上登录情况。
-h节点:
只显示指定的节点上的登录情况。
-iIP:
只显示指定的IP上登录的情况。
-1:
用IP来显示远端地址。
-y:
显示记录的年、月、日。
-ID:
知道查询的用户名。
-x:
显示系统关闭、用户登录和退出的历史。
动手练习
上面介绍了Linux安装和登录命令,下面介绍几个实例,动手练习一下刚才讲过的命令。
1.一次运行多个命令
在一个命令行中可以执行多个命令,用分号将各个命令隔开即可,例如:
#last-x;halt
上面代码表示在显示系统关闭、用户登录和退出的历史后关闭计算机。
2.利用mount挂装文件系统访问Windows系统
许多Linux发行版本现在都可以自动加载Vfat分区来访问Windows系统,而RedHat各个版本都没有自动加载Vfat分区,因此还需要进行手工操作。
mount
可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来。
因
此,只要访问这个文件夹就相当于访问该分区了。
首先要在/mnt下建立winc文件夹,在命令提示符下输入下面命令:
#mount-tvfat/dev/hda1/mnt/winc
即
表示将Windows的C分区挂到Liunx的/mnt/winc目录下。
这时,在/mnt/winc目录下就可以看到Windows中C盘的内容了。
使
用类似的方法可以访问Windows系统的D、E盘。
在Linux系统显示Windows的分区一般顺序这样的:
hda1为C盘、hda5为D盘、
hda6为E盘……以此类推。
上述方法可以查看Windows系统有一个很大的问题,就是Windows中的所有中文文件名或文件夹名全部显示为问号
“?
”,而英文却可以正常显示。
我们可以通过加入一些参数让它显示中文。
还以上面的操作为例,此时输入命令:
#mount-tvfat-oiocharset=cp936/dev/hda1/mnt/winc
现在它就可以正常显示中文了。
3.使用mount加挂闪盘上的文件系统
在Linux下使用闪盘非常简单。
Linux对USB设备有很好的支持,当插入闪盘后,闪盘被识别为一个SCSI盘,通常输入以下命令:
#mount/dev/sda1/usb
就能够加挂闪盘上的文件系统。
小知识
Linux命令与Shell
所
谓Shell,就是命令解释程序,它提供了程序设计接口,可以使用程序来编程。
学习Shell对于Linux初学者理解Linux系统是非常重要的。
Linux系统的Shell作为操作系统的外壳,为用户提供了使用操作系统的接口。
Shell是命令语言、命令解释程序及程序设计语言的统称,是用户和
Linux内核之间的接口程序。
如果把Linux内核想象成一个球体的中心,Shell就是围绕内核的外层。
当从Shell或其它程序向Linux传递命
令时,内核会做出相应的反应。
Shell在Linux系统的作用和MSDOS下的COMMAND.COM和Windows95/98的
explorer.exe相似。
Shell虽然不是系统核心的一部分,只是系统核心的一个外延,但它能够调用系统内核的大部分功能。
因此,可以说
Shell是Unux/Linux最重要的实用程序。
Linux中的Shell有多种类型,其中最常用的是Bourne
Shell(sh)、CShell(csh)和KornShell(ksh)。
大多数Linux发行版本缺省的Shell是Bourne
AgainShell,它是BourneShell的扩展,简称bash,与BourneShell完全向后兼容,并且在Bourne
Shell的基础上增加了很多特性。
bash放在/bin/bash中,可以提供如命令补全、命令编辑和命令历史表等功能。
它还包含了很多C
Shell和Korn
Shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。
Linux系统中200多个命令中有40个是bash的内部命令,主要包括
exit、less、lp、kill、cd、pwd、fc、fg等。
Linux必学的60个命令
(2)-文件处理命令
Linux
系统信息存放在文件里,文件与普通的公务文件类似。
每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。
文件可以是
一封信、一个通讯录,或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容。
Linux文件系统具有良好的结构,系统提供了很多文件处理程序。
这里主要介绍常用的文件处理命令。
file
1.作用件内容判断文件类型,使用权限是所有用户。
2.格式
file通过探测文
file[options]文件名
3.[options]主要参数
-v:
在标准输出后显示版本信息,并且退出。
-z:
探测压缩过的文件类型。
-L:
允许符合连接。
-fname:
从文件namefile中读取要分析的文件名列表。
4.简单说明
使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件,还是ShellScript文件,或者是其它的什么格式。
file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。
5.应用实例
如果我们看到一个没有后缀的文件grap,可以使用下面命令:
$filegrap
grap:
Englishtext
此时系统显示这是一个英文文本文件。
需要说明的是,file命令不能探测包括图形、音频、视频等多媒体文件类型。
mkdir
1.作用
mkdir命令的作用是建立名称为dirname的子目录,与MSDOS下的md命令类似,它的使用权限是所有用户。
2.格式
mkdir[options]目录名
3.[options]主要参数
-m,--mode=模式:
设定权限,与chmod类似。
-p,--parents:
需要时创建上层目录;如果目录早已存在,则不当作错误。
-v,--verbose:
每次创建新目录都显示信息。
--version:
显示版本信息后离开。
4.应用实例
在进行目录创建时可以设置目录的权限,此时使用的参数是“-m”。
假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、写、执行的权限),那么可以使用以下命令:
$mkdir-m777tsk
grep
1.作用
grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。
grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是所有用户。
2.格式
grep[options]
3.主要参数
[options]主要参数:
-c:
只输出匹配行的计数。
-I:
不区分大小写(只适用于单字符)。
-h:
查询多文件时不显示文件名。
-l:
查询多文件时只输出包含匹配字符的文件名。
-n:
显示匹配行及行号。
-s:
不显示不存在或无匹配文本的错误信息。
-v:
显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\:
忽略正则表达式中特殊字符的原有含义。
^:
匹配正则表达式的开始行。
$:
匹配正则表达式的结束行。
\:
到匹配正则表达式的行结束。
[]:
单个字符,如[A]即A符合要求。
[-]:
范围,如[A-Z],即A、B、C一直到Z都符合要求。
。
:
所有的单个字符。
*:
有字符,长度可以为0。
正
则表达式是Linux/Unix系统中非常重要的概念。
正则表达式(也称为“regex”或“regexp”)是一个可以描述一类字符串的模式
(Pattern)。