Linux提供了大量的命oQ利用它可以有效地完成大量的工作Q如盘操作、文件存取、目录操作、进E管理、文件权限设定等。所以,在Linuxpȝ上工作离不开使用pȝ提供的命令。要想真正理解LinuxpȝQ就必须从Linux命o学vQ通过基础的命令学习可以进一步理解Linuxpȝ?br />
不同Linux发行版的命o数量不一P但Linux发行版本最的命o也有200多个。这里笔者把比较重要和用频率最多的命oQ按照它们在pȝ中的作用分成下面六个部分一一介绍?br />
?
安装和登录命令:
login、shutdown、halt、reboot、install、mount、umount、chsh、exit、lastQ?br />
?
文g处理命oQ?br />
file、mkdir、grep、dd、find、mv、ls、diff、cat、lnQ?br />
?
pȝ理相关命oQ?br />
df、top、free、quota、at、lp、adduser、groupadd、kill、crontabQ?br />
?
|络操作命oQ?br />
ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail?
nslookupQ?br />
?pȝ安全相关命oQ?br />
passwd、su、umask、chgrp、chmod、chown、chattr、sudo
ps、whoQ?br />
?
其它命oQ?br />
tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode?br />
本文以Mandrake
Linux 9.1(Kenrel
2.4.21)ZQ介lLinux下的安装和登录命令?br />
login
1.作用
login的作用是dpȝQ它的用权限是所有用戗?br />
2.格式
login
[name][Qp ][Qh
L名称]
3.主要参数
Qp:通知login保持现在的环境参数?br />
Qh:用来向远E登录的之间传输用户名?br />
如果选择用命令行模式dLinux的话Q那么看到的W一个Linux命o是loginQ?br />
一般界面是q样的:
Manddrake
Linux release 9.1(Bamboo) for i586
renrel 2.4.21Q?.13mdk on i686 /
tty1
localhost
login:root
password:
上面代码中,W一行是Linux发行版本PW二行是内核版本号和d的虚拟控制台Q我们在W三行输入登录名Q按“Enter”键在Password后输入̎户密码,卛_dpȝ。出于安全考虑Q输入̎户密码时字符不会在屏q上回显Q光标也不移动?br />
d后会看到下面q个界面Q以用户ZQ:
[root@localhost
root]#
last login:Tue ,Nov 18 10:00:55 on
vc/1
上面昄的是d星期、月、日、时间和使用的虚拟控制台?br />
4.应用技?br />
Linux是一个真正的多用h作系l,可以同时接受多个用户dQ还允许一个用戯行多ơ登录。这是因为Linux和许多版本的Unix一P提供了虚拟控制台的访问方式,允许用户在同一旉从控制台Q系l的控制台是与系l直接相q的监视器和键盘Q进行多ơ登录。每个虚拟控制台可以看作是一个独立的工作站,工作C间可以切换。虚拟控制台的切换可以通过按下Alt键和一个功能键来实玎ͼ通常使用F1-F6
?br />
例如Q用L录后Q按一?#8220;Alt+F2”键,用户可以看C面出现的“login:”提示W,说明用户看到了第二个虚拟控制台。然后只需?#8220;Alt+
F1”键,可以回到第一个虚拟控制台。一个新安装的Linuxpȝ允许用户使用“Alt+F1”?#8220;Alt+F6”键来讉K前六个虚拟控制台。虚拟控制台最有用的是Q当一个程序出错造成pȝ死锁Ӟ可以切换到其它虚拟控制台工作Q关闭这个程序?br />
shutdown
1.作用
shutdown命o的作用是关闭计算机,它的使用权限是超U用戗?br />
2.格式
shutdown
[Qh][Qi][Qk][Qm][Qt]
3.重要参数
QtQ在改变到其它运行别之前,告诉initE序多久以后x?br />
QkQƈ不真正关机,只是送警告信L每位d者?br />
QhQ关机后关闭甉|?br />
QcQcancel
current
process取消目前正在执行的关机程序。所以这个选项当然没有旉参数Q但是可以输入一个用来解释的讯息Q而这信息会送到每位使用者?br />
QFQ在重启计算机时fsck?br />
QtimeQ设定关机前的时间?br />
Qm:
系l改为单用户模式?br />
QiQ关机时昄pȝ信息?br />
4.命o说明
shutdown命o可以安全地将pȝx。有些用户会使用直接断掉甉|的方式来关闭LinuxpȝQ这是十分危险的。因为Linux与Windows不同Q其后台q行着许多q程Q所以强制关机可能会Dq程的数据丢失,使系l处于不E_的状态,甚至在有的系l中会损坏硬件设备(盘Q。在pȝx前?
shutdown命oQ系l管理员会通知所有登录的用户pȝ要关闭Qƈ且login指o会被ȝQ即新的用户不能再登录?br />
halt
1.作用
halt命o的作用是关闭pȝQ它的用权限是用户?br />
2.格式
halt
[Qn] [Qw] [Qd] [Qf] [Qi]
[Qp]
3.主要参数说明
QnQ防止syncpȝ调用Q它用在用fsck修补根分Z后,以阻止内核用老版本的块覆盖修补过的超U块?br />
QwQƈ不是真正的重启或x,只是写wtmpQ?var/log/wtmpQ纪录?br />
QfQ没有调用shutdownQ而强制关机或重启?br />
QiQ关机(或重启)前,x所有的|络接口?br />
QfQ强q关机,不呼叫shutdownq个指o?br />
Qp:
当关机的时候顺便做关闭甉|的动作?br />
QdQ关闭系l,但不留下U录。
4.命o说明
halt是调用shutdown
Qh。halt执行Ӟ杀d用进E,执行sync(存于buffer中的资料强制写入盘?pȝ调用Q文件系l写操作完成后就会停止内核。若pȝ的运行别ؓ0?Q则关闭pȝQ否则以shutdown指oQ加上-h参数Q来取代。
reboot
1.作用
reboot命o的作用是重新启动计算机,它的使用权限是系l管理者?br />
2.格式
reboot
[Qn] [Qw] [Qd] [Qf] [Qi]
3.主要参数
Qn: 在重开机前不做记忆体资料写回盘的动作?br />
Qw:
q不会真的重开机,只是把记录写?var/log/wtmp文g里?br />
Qd:
不把记录写到/var/log/wtmp文g里(Qnq个参数包含了-dQ?br />
Qi:
在重开Z前先把所有与|络相关的装|停止?br />
install
1.作用
install命o的作用是安装或升UY件或备䆾数据Q它的用权限是所有用戗?br />
2.格式
(1)install
[选项]... 来源 目的?br />
(2)install [选项]... 来源... 目录
(3)install Qd [选项]...
目录...
在前两种格式中,会将<来源>复制?lt;目的?gt;或将多个<来源>文g复制臛_存在?lt;目录>Q同时设定权限模式及所有?所属组。在W三U格式中Q会创徏所有指定的目录及它们的ȝ录。长选项必须用的参数在用短选项时也是必ȝ?br />
3.主要参数
Q-backup[=CONTROL]Qؓ每个已存在的目的地文件进行备份?br />
QbQ类?
Q-backupQ但不接受Q何参数?br />
QcQ?此选项不作处理)?br />
QdQ-QdirectoryQ所有参数都作ؓ目录处理Q而且会创建指定目录的所有主目录?br />
QDQ创?lt;目的?gt;前的所有主目录Q然后将<来源>复制?
<目的?gt;Q在W一U用格式中有用?br />
QgQ-Qgroup=l:自行讑֮所属组Q而不是进E目前的所属组?br />
QmQ-Qmode=模式Q自行设定权限模?
(像chmod)Q而不是rwxrQxrQx?br />
QoQ-Qowner=所有者:自行讑֮所有?
(只适用于超U用??br />
QpQ-QpreserveQtimestampsQ以<来源>文g的访?修改旉作ؓ相应的目的地文g的时间属性?br />
QsQ-QstripQ用strip命o删除symbol
tableQ只适用于第一及第二种使用格式?br />
QSQ-Qsuffix=后缀Q自行指定备份文件的<后缀>?br />
QvQ-QverboseQ处理每个文?目录时印出名U?br />
Q-helpQ显C此帮助信息q离开?br />
Q-versionQ显C版本信息ƈd?br />
mount
1.作用
mount命o的作用是加蝲文gpȝQ它的用权限是超U用h/etc/fstab中允许的使用者?br />
2.格式
mount
Qa [Qfv] [Qt vfstype] [Qn] [Qrw] [QF] device
dir
3.主要参数
QhQ显C助信息?br />
QvQ显CZ息,通常和-f用来除错?br />
QaQ将/etc/fstab中定义的所有文件系l挂上?br />
QFQ这个命令通常和-a一起用,它会为每一个mount的动作生一个行E负责执行。在pȝ需要挂上大量NFS文gpȝ时可以加快加载的速度?br />
QfQ通常用于除错。它会mount不执行实际挂上的动作Q而是模拟整个挂上的过E,通常会和Qv一起用?br />
Qt
vfstypeQ显C加蝲文gpȝ的类型?br />
QnQ一般而言Qmount挂上后会?etc/mtab中写入一W资料,在系l中没有可写入文件系l的情况下,可以用这个选项取消q个动作?br />
4.应用技?br />
在Linux和Unixpȝ上,所有文仉是作Z个大型树Q以/为根Q的一部分讉K的。要讉KCD-ROM上的文gQ需要将CD-ROM讑֤挂装在文件树中的某个挂装炏V如果发行版安装了自动挂装包Q那么这个步骤可自动q行。在Linux中,如果要用硬盘、光q储存讑֤Q就得先它加蝲Q当储存讑֤挂上了之后,可以把它当成一个目录来讉K。挂上一个设备用mount命o。在使用mountq个指oӞ臛_要先知道下列三种信息Q要加蝲对象的文件系l类型、要加蝲对象的设备名U及要将讑֤加蝲到哪个目录下?br />
Q?QLinux可以识别的文件系l?/strong>
?
Windows 95/98常用的FAT 32文gpȝQvfat Q?br />
?Win NT/2000 的文件系l:ntfs Q?br />
?
OS/2用的文gpȝQhpfsQ?br />
?Linux用的文gpȝQext2、ext3Q?br />
?
CD-ROM光盘用的文gpȝQiso9660?br />
虽然vfat是指FAT 32pȝQ但事实上它也兼容FAT
16的文件系l类型?br />
Q?Q确定设备的名称
在Linux中,讑֤名称通常都存?dev里。这些设备名U的命名都是有规则的Q可以用“推理”的方式把讑֤名称扑և来。例如,/dev/hda1q个
IDE讑֤Qhd是Hard Disk(盘)的,sd是SCSI DeviceQfd是Floppy Device(或是Floppy
Disk?)。a代表W一个设备,通常IDE接口可以接上4个IDE讑֤(比如4块硬?。所以要识别IDE盘的方法分别就是hda、hdb、hdc?
hdd。hda1中的“1”代表hda的第一个硬盘分?
(partition)Qhda2代表hda的第二主分区Q第一个逻辑分区从hda5开始,依此cL。此外,可以直接?var/log/messages文gQ在该文件中可以扑ֈ计算机开机后pȝ已L认出来的讑֤代号?br />
Q?Q查找挂接点
在决定将讑֤挂接之前Q先要查看一下计机是不是有?mnt的空目录Q该目录是专门用来当作挂蝲?Mount
Point)的目录。徏议在/mnt里徏几个/mnt/cdrom?mnt/floppy?mnt/mo{目录,当作目录的专用挂载点。D例而言Q如要挂载下?个设备,其执行指令可能如?
(假设都是Linux的ext2pȝQ如果是Windows XX请将ext2Ҏvfat)Q?br />
软盘 ===>mount Qt ext2
/dev/fd0 /mnt/floppy
cdrom ===>mount Qt iso9660 /dev/hdc
/mnt/cdrom
SCSI cdrom ===>mount Qt iso9660 /dev/sdb /mnt/scdrom
SCSI
cdr ===>mount Qt iso9660 /dev/sdc /mnt/scdr
不过目前大多数较新的Linux发行版本Q包括红?
Linux、中软Linux、Mandrake Linux{)都可以自动挂装文件系l,但Red Hat
Linux除外?br />
umount
1.作用
umount命o的作用是卸蝲一个文件系l,它的使用权限是超U用h/etc/fstab中允许的使用者?br />
2.格式
unmount
Qa [QfFnrsvw] [Qt vfstype] [Qn] [Qrw] [QF] device
dir
3.使用说明
umount命o是mount命o的逆操作,它的参数和用方法和mount命o是一L。Linux挂装CD-ROM后,会锁定CD—ROMQ这样就不能用CD-ROM面板上的Eject按钮弹出它。但是,当不再需要光盘时Q如果已?cdrom作ؓW号链接Q请使用umount/cdrom来卸装它。仅当无用户正在使用光盘Ӟ该命令才会成功。该命o包括了将带有当前工作目录当作该光盘中的目录的l端H口?br />
chsh
1.作用
chsh命o的作用是更改使用者shell讑֮Q它的用权限是所有用者?br />
2.格式
chsh
[ Qs ] [ Qlist] [ Q-help ] [ Qv ] [ username
]
3.主要参数
QlQ显C系l所有Shellcd?br />
QvQ显CShell版本受?br />
4.应用技?br />
前面介绍了Linux下有多种ShellQ一般缺省的是BashQ如果想更换Shellcd可以使用chsh命o。先输入账户密码Q然后输入新ShellcdQ如果操作正系l会昄“Shell
change”。其界面一般如下:
Changing fihanging shell for cao
Password:
New shell
[/bin/bash]: /bin/tcsh
上面代码中,[
]内是目前使用的Shell。普通用户只能修改自qShellQ超U用户可以修改全体用LShell。要x询系l提供哪些ShellQ可以用chsh -l
命oQ见?所C?br />
?
pȝ可以使用的Shellcd
从图1中可以看刎ͼW者系l中可以使用的Shell有bashQ缺省)、csh、sh、tcsh四种?br />
exit
1.作用
exit命o的作用是退出系l,它的使用权限是所有用戗?br />
2.格式
exit
3.参数
exit命o没有参数Q运行后退出系l进入登录界面?br />
last
1.作用
last命o的作用是昄q期用户或终端的d情况Q它的用权限是所有用戗通过last命o查看该程序的logQ管理员可以L谁曾l或企图q接pȝ?br />
2.格式
1ast[—n][Qf
file][Qt tty] [—h 节点][QI —IP][?][Qy][1D]
3.主要参数
QnQ指定输录的条数?br />
Qf
fileQ指定用文gfile作ؓ查询用的log文g?br />
Qt ttyQ只昄指定的虚拟控制台上登录情c?br />
Qh
节点Q只昄指定的节点上的登录情c?br />
Qi
IPQ只昄指定的IP上登录的情况?br />
Q?Q用IP来显C端地址?br />
QyQ显C录的q、月、日?br />
QIDQ知道查询的用户名?br />
Qx:昄pȝ关闭、用L录和退出的历史?br />
动手l习
上面介绍了Linux安装和登录命令,下面介绍几个实例Q动手练习一下刚才讲q的命o?br />
1.一ơ运行多个命?br />
在一个命令行中可以执行多个命令,用分号将各个命o隔开卛_Q例如:
Qlast
QxQhalt
上面代码表示在显C系l关闭、用L录和退出的历史后关闭计机?br />
2.利用mount挂装文gpȝ讉KWindowspȝ
许多Linux发行版本现在都可以自动加载Vfat分区来访问WindowspȝQ而Red
Hat各个版本都没有自动加载Vfat分区Q因此还需要进行手工操作?br />
mount可以Windows分区作ؓLinux的一?#8220;文g”挂接到Linux的一个空文g夹下Q从而将Windows的分区和/mntq个目录联系h。因此,只要讉Kq个文g夹就相当于访问该分区了。首先要?mnt下徏立winc文g夹,在命令提C符下输入下面命令:
Qmount
-t vfat /dev/hda1
/mnt/winc
卌C将Windows的C分区挂到Liunx?mnt/winc目录下。这Ӟ?mnt/winc目录下就可以看到Windows中C盘的内容了。用类似的Ҏ可以讉KWindowspȝ的D、E盘。在Linuxpȝ昄Windows的分Z般顺序这LQhda1为C盘、hda5为D盘?
hda6为E?#8230;…以此cL。上q方法可以查看Windowspȝ有一个很大的问题Q就是Windows中的所有中文文件名或文件夹名全部显CZؓ问号
“Q?#8221;Q而英文却可以正常昄。我们可以通过加入一些参数让它显CZ文。还以上面的操作ZQ此时输入命令:
Qmount -t vfat -o
iocharset=cp936 /dev/hda1
/mnt/winc
现在它就可以正常昄中文了?br />
3.使用mount加挂闪盘上的文gpȝ
在Linux下用闪盘非常简单。Linux对USB讑֤有很好的支持Q当插入闪盘后,闪盘被识别ؓ一个SCSI盘,通常输入以下命oQ?br />
Q?
mount /dev/sda1
/usb
p够加挂闪盘上的文件系l?br />
知?br />
Linux命o与Shell
所谓ShellQ就是命令解释程序,它提供了E序设计接口Q可以用程序来~程。学习Shell对于Linux初学者理解Linuxpȝ是非帔R要的?
Linuxpȝ的Shell作ؓ操作pȝ的外I为用h供了使用操作pȝ的接口。Shell是命令语a、命令解释程序及E序设计语言的统Uͼ是用户和
Linux内核之间的接口程序。如果把Linux内核惌成一个球体的中心QShell是围绕内核的外层。当从Shell或其它程序向Linux传递命令时Q内怼做出相应的反应。Shell在Linuxpȝ的作用和MS
DOS下的COMMAND.COM和Windows 95/98 ?
explorer.exe怼。Shell虽然不是pȝ核心的一部分Q只是系l核心的一个外Ӟ但它能够调用pȝ内核的大部分功能。因此,可以?
Shell是Unux/Linux最重要的实用程序?br />
Linux中的Shell有多U类型,其中最常用的是Bourne Shell(sh)、C
Shell(csh)和Korn Shell(ksh)。大多数Linux发行版本~省的Shell是Bourne Again ShellQ它是Bourne
Shell的扩展,UbashQ与Bourne Shell完全向后兼容Qƈ且在Bourne
Shell的基上增加了很多Ҏ。bash攑֜/bin/bash中,可以提供如命令补全、命令编辑和命o历史表等功能。它q包含了很多C Shell和Korn
Shell中的优点Q有灉|和强大的~程接口Q同时又有很友好的用L面。Linuxpȝ?00多个命o中有40个是bash的内部命令,主要包括
exit、less、lp、kill?cd、pwd、fc、fg{?/p>