大三课件linux原理及应用_第1页
大三课件linux原理及应用_第2页
大三课件linux原理及应用_第3页
大三课件linux原理及应用_第4页
大三课件linux原理及应用_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LINUX原理及应用武汉大学计算机学院李文海

第七章Linux基本命令本章介绍Linux基本的交互实用程序,包括登录和退出,文件命令,目录和层次命令,查找命令,目录和文件安全性,磁盘存储命令,进程命令,联机帮助命令。通常,通常任一Linux命令都对应一个可执行文件。一般就将其放置在/bin或/usr/sbin下(在PATH中)命令的通常格式为command

arg1arg2……argn

-options命令都有联机帮助信息,使用方式如下:command–helpman

command在命令之间还支持|,>,<,&等符号,由shell解释。要求:总体了解,重点掌握7.1Linux的登录和退出——启动Linux系统接通电源,显示LILO,显示各种启动信息。LILO提示下选择Linux如果安装了LILO,并为包含其他操作系统的分区标注了启动标记,计算机就被设置成多重引导。可以在LILOBoot:提示符下输入想引导的操作系统的名字如果在LILO提示下按Tab键,会看到LILO可以引导的操作系统的清单。选择Linux,就可以运行了。当引导Linux时,将在系统控制台上打印大量信息,表明启动的整个过程。/var/log/syslog/var/log/messages大量信息打印完后,出现login提示符。

登录Linux系统Linux的使用者必须拥有一个合法的个人账号。第一次登录Linux系统必须以超级用户root身份登录,系统有两种用户:超级用户一般用户登录方式:login:用户账号password:密码若用户账号和密码正确,则显示系统命令提示符。有两种命令提示符:超级用户:#一般用户:$修改密码一旦登录进入系统后,可以用passwd命令来修改密码。$passwd

Currentpassword:Newpassword:Retypenewpassword:退出Linux系统在完成各种操作后,应及时退出系统。退出命令为:

$exit退出系统后,重新出现login提示。有些系统中使用logout或Ctrl+D退出。重新启动和关闭系统重新启动Linux的命令为:

#reboot该命令需要超级用户权限。在login状态下,同时按下Ctrl+Alt+Del键,系统也可以重新启动。关闭系统的命令为:

#halt有的系统使用haltsys或shutdown。为什么使用关闭系统命令Linux在内存中缓冲了磁盘读写数据。如果出现意外,缓冲区的数据将不能写进磁盘,造成数据丢失。虽然update程序每隔30秒将缓冲区的内容写回磁盘,但为安全起见仍需在系统结束运行前安全关闭。who命令语法:who[-option][user]

说明

:显示系统中有那些使用者正在上面,显示的资料包含了使用者

ID,使用的终端机,从哪边连上来的,上线时间,呆滞时间,CPU使用量,动作等等。不使用任何选项时,who命令将显示以下三项内容:loginname:登录用户名;terminalline:使用终端设备;logintime:登录到系统的时间。如果给出的是两个非选项参数,那么who命令将只显示运行who程序的用户名、登录终端和登录时间。通常这两个参数是“ami”,即该命令格式为:“whoami”。7.2文件命令常用的文件命令有:cat、more、less命令ls命令cp命令rm命令mv命令cat命令功能:在屏幕上显示文件内容或连接文件。

使用权限:所有使用者

语法:cat[-option]fileName

选项:-n:由

1开始对所有输出的行数编号-b:和

-n相似,只不过对于空白行不编号-s:当遇到有连续两行以上的空白行,就代换为一行的空白行使用cat命令查看文件内容如果想使用cat命令查看一个文件,可以输入如下的命令:$cattest.txtThistextfilewascreatedbythecatcommand.Catcouldbetheworld'ssimplesttexteditor.Ifyoureadthisbook,you'lllearnhowtousecat.Thisisthelastlineoftextinthisfile.如果想在阅读文件的时候加上行号,可以使用-n参数:$cat-ntest.txt1Thistextfilewascreatedbythecatcommand.2Catcouldbetheworld'ssimplesttexteditor.3Ifyoureadthisbook,you'lllearnhowtousecat.4Thisisthelastlineoftextinthisfile.用cat命令一次查看多个文件cat命令也接受通配符,可以使用cat命令一次查看多个文件:$

cat-ntest*1Thistextfilewascreatedbythecatcommand.2Catcouldbetheworld'ssimplesttexteditor.3Ifyoureadthisbook,you’lllearnhowtousecat.4Thisisthelastlineoftextinthisfile.5Thisisthefirstlineoftest2.txt.6Thisfilewasalsocreatedbycat.7Thisisthelastlineoftest2.txt.还可以使用下面的方法来查看这两个文件: $cattest.txttest2.txt这个命令的输出结果与使用通配符时的结果是完全一样的使用cat命令和重定向符(“>”)来合并文件如果想把文件test.txt和文件test2.txt合并到另外一个叫test3.txt的文件中去,可以使用:$

cat

test.txttest2.txt

>

test3.txt可以用下面的方法检查操作结果:$ls-ltest*-rw-r--r--1bballusers190Jan416:06test.txt-rw-r--r--1bballusers108Jan416:07test2.txt-rw-r--r--1bballusers298Jan416:07test3.txt使用cat命令建立一个文件使用cat命令建立一个短的文本文件。假设建立的文件名为myfile.txt:$

cat>myfile.txt现在输入一些文本内容,如下所示:Thisisthecatwordprocessor.Thisistheendofthefile.现在按下Ctrl+D组合键结束文件输入。使用下面的命令看是否完成了操作:$

ls-lmyfile.txt-rw-r--r--1bballusers61Jan416:11myfile.txt$

catmyfile.txtThisisthecatwordprocessor.Thisistheendofthefile.使用cat命令列出及合并文件但是如果只是想把test.txt和test2.txt文件合并,但是并不想再生成另外一个更大的文件的时候又该怎么办呢?

如果是这种情况,首先需要决定是把test.txt的内容加到文件test2.txt中去,还是把test2.txt的内容加入test.txt中去。然后,使用cat命令和重定向符“>>”,敲入下面的内容: #cattest.txt>>test2.txt上面的命令把文件test.txt的内容添加到文件test2.txt的后面去了。

使用cat命令列出及合并文件#cat>file1thisisfile1#cat>file2thisisfile2#cat>file3thisisthethirdfile#ls–lfile*-rw-r--r--1bballusers14Jan513:29file1-rw-r--r--1bballusers15

Jan513:29file2-rw-r--r--1bballusers23Jan513:29file3

more命令功能:是Linux页命令家族中的一员,其功能是一次显示一屏或一行信息。语法:more[-dlfpcsu][-num][+/pattern][+linenum][fileNames..]more命令以页为单位浏览文件,但使用时,可看到屏幕下方有一个“--more--”。可按空格键显示下页,按回车键显示下一行。如: $morelongfile.txt如果需要帮助,请按下“H”键,将看到一个帮助画面。more命令more命令的几个常用选项的含义为:-d提示使用者,在画面下方显示[Pressspacetocontinue,qtoquit.],如果使用者按错键,则会显示[Presshforinstructions.]-l取消遇见特殊字元^L(送纸字元)时会暂停的功能-f计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)-p不以卷动的方式显示每一页,而是先清除萤幕后再显示内容-c跟

-p相似,不同的是先显示内容再清除其他旧资料-s当遇到有连续两行以上的空白行,就代换为一行的空白行-u不显示下引号(根据环境变数TERM指定的terminal而有所不同)+/在每个文件显示前搜寻该字串(pattern),然后从该字串之后开始显示+num从第num行开始显示使用less命令浏览文件功能:与more命令相似,一次显示一屏或一行信息,可以前翻或后翻。语法:less[-option]fileName

less也是页命令,它提供了比more命令更优秀的功能:可以使用光标键在文本文件中前后滚屏。可以用行号或百分比作为书签来浏览文件。可以实现在多个文件中进行复杂的检索、格式匹配、高亮度显示等操作。键盘操作与字处理程序如emacs兼容。阅读到文件结束或者标准输入结束的时候less命令不会退出。屏幕底部的信息提示更容易使用,而且提供了更多的信息。带有许多的附件,包括一个独立的键定义程序lesskey,这样就可以定义使用哪些按键来控制less命令.

按空格键向下翻一页,按B键向上翻一页。也可以用光标键向前、后、左右移动。一般的情况下,

less命令的命令提示符是显示在屏幕左下角的一个冒号(:

)。可以使用命令行选项-M看到更多关于文件的信息: $

less-Mprograms.txt现在,当浏览文件时less命令将显示该文件的名字、当前页码及总页码,表示当前位置在整个文件中位置的百分比数值。如:programs.txtline91/12218%表明正在阅读的是文件programs.txt,当前屏幕最顶端显示的是总数为1221行文本的第91行。如果想运行其他的程序,比如wc字数统计程序,需要敲入一个惊叹号(!

),后面再跟上命令行,然后按下回车键,如下所示:!wcprograms.txtwc程序将在屏幕上回显文件programs.txt的行数、字数和字符数。当这个命令执行完毕之后,less命令显示单词done(完成)并等你按下回车键。还可以使用less搜索命令在一个文本文件中进行快速查找。先按下斜杠键(/),再输入一个单词或者词组的一部分。less命令会在文本文件中进行快速查找,并把找到的第一个搜索目标高亮度显示。如果希望继续查找,请按下斜杠键(/),再按下回车键。如果想退出阅读,请按下Q键,就返回到shell命令行。

叹号的普遍涵义是运行

右斜杠的涵义则是查找ls命令功能:查看文件或目录信息。语法:ls[-option]Name典型用法:ls–a:列出某目录下的全部文件(linux也有隐藏文件);ls–l:列举目录内容的细节,包括权限、所有者、建立日期、时间、大小等。ls–F:在列出文件或目录项后加一个符号表示文件类型,如“/”表示显示项为一个目录,“*”表示显示项为一个可执行文件,“@”表示一个连接文件;ls–R:递归显示子目录内容;ls–S:按文件大小排序显示(由大到小)使用ls命令列出子目录的内容清单ls的基本格式列出当前子目录中的文件:$lsnewsaxhomensmailsearchauthor.msgdocumentsreadingvultures.msgautomailresearch上面的例子中列出了用户子目录中的文件。也可以使用-m选项把文件用逗号分隔显示:$ls-mnews,author.msg,auto,axhome,documents,mail,nsmail,reading,research,search,vultures.msg用ls–F列文件类型使用-F选项可以列出文件类型: $ls-FNews/axhome/nsmail/search*author.msgdocuments/reading/vultures.msgauto/mail/research/如上所示,-F选项使ls命令在子目录名之后加上斜线(“/”)字符,在可执行文件search后加星号(“*”)字符。用ls–a列所有文件如果希望看到所有的文件,可以将-a参数和-F参数一起使用,如下所示:隐藏文件的文件名以点开头用ls的-l选项列出文件的全部信息使用ls命令的-l选项列出文件的全部信息。使用ls命令列出子目录的内容清单(1)如果不喜欢ls命令输出的这种排列方式,也可以用-x参数按水平对齐的方式而不是缺省的垂直对齐方式列出文件,如下所示:#ls-xNewsauthor.msgautoaxhomedocumentsmailnsmailreadingresearchsearchvultures.msg使用ls命令列出子目录的内容清单(2)使用-F参数是在文件列表清单中查看文件和子目录的一种方法,但是如果有一台彩色显示器,或者使用的是彩色状态下的X11的话,就可以让ls命令以不同的颜色来显示文件、子目录、或者可执行文件。如果想这么做,可以像下面这样使用-color参数: #ls-color可以使用ls命令的-l参数来列出文件的全部信息。也可以在ls命令的命令行上指定其他的子目录或者路径名,这个方法可以用来查看其他子目录中的内容。

使用ls命令列出子目录的内容清单(3)如果想看到计算机系统中全部的文件,可以使用ls命令的-R参数,它将逐层进入所有的子目录并把其中的内容全部显示出来。例如:#ls-R/

一个比较好的办法是把-d参数和-R参数一起使用,这样可以只列出有限的子目录层次下的文件。例如,下面的命令将沿着根目录(即“/”目录)列出三层子目录中的内容:#ls-Rd/*/*/*

ls命令Linux系统用颜色来区分文件类别。缺省时,蓝色代表目录,绿色代表可执行文件,红色代表压缩文件,浅蓝色代表链接文件,灰色代表其他文件。cp命令建立文件:touchfilename可建立一个空文件。功能:复制文件。语法:cp

[-option]源文件或目录目标文件或目录cp命令中可以使用通配符eg:cp/etc/passwd/home/test/ok.pass拷贝单个文件cp/etc/*.conf~/拷贝/etc/目录中的所有conf文件到用户主目录中cp

-R

~/ok//tmp

将用户目录下的ok目录整个拷贝到/tmp目录中。使用cp命令进行拷贝操作第一次使用cp命令的时候,用到的可能是它最简单的形式,如下所示: #cpfile1file2上面的命令把文件file1拷贝到文件file2,同时file1还依然存在。但是在使用cp命令的时候必须要小心,因为在把一个文件拷贝到另外一个文件上的时候,会有可能完全覆盖掉原来的文件。在这一点上,cp命令和mv命令是一样的。为了说明这种情况发生的过程,请先使用cat命令建立三个文件,并在每个文件中加入一行文本:

使用cp命令进行拷贝操作现在,拷贝一个文件到另外一个文件,再检查文件的长度和新文件的内容,如下所示:#cpfile1file2

#ls-lfile*-rw-r--r--1bballusers14Jan513:29file1-rw-r--r--1bballusers14Jan513:31file2-rw-r--r--1bballusers14Jan513:29file3#catfile2thisisfile1

使用cp命令进行拷贝操作很明显,文件file1取代了文件file2。为了避免这类问题的发生(除非真的想覆盖那个文件),可以像在mv命令中那样使用-i和-b参数,示例如下:#cp

–ifile1file2cp:overwrite'file2'?n#cp-bifile1file2cp:overwrite'file2'?y#lsfile*file1file2file2~file3请注意已经被覆盖的文件file2已经有了备份。

使用rm命令删除文件功能:删除文件。语法:rm[-option]name使用rm命令时千万要小心,因为用rm命令删除了某文件的话,这个文件就不存在了。以超级用户身份登录系统并使用rm命令可能造成灾难性后果,因为一个简单rm命令可能毁掉Linux系统,甚至毁掉包括DOS分区、活动硬盘等在内的任何已安装文件系统,这个命令就是: #rm

-fr/*-r选项会从根目录(/)开始递归地删除所有的文件和子目录。使用rm命令删除文件rm命令可以从命令行上一次删除一个或者几个文件。可以使用下面的几种方法中的任何一种:#rmfile#rmfile1file2file3#rmfile*上面的第一个命令行删除了一个名称为file的文件,第二个命令行删除了三个文件,而第三个命令行则删除了当前子目录中文件名以字母file开头的所有文件。

使用rm命令删除文件使用rm命令比较安全的办法之一是使用它的-i交互操作参数,这样在操作过程中会被问到是否真的想删除某个文件,如下所示:#rm-inew*rm:remove'newfile'?yrm:remove'newfile2'?y还可以使用-f参数强行删除某个文件,如下所示:#rm

-fnew*使用mv命令给文件改名功能:文件更名或搬移。语法:mv[-option]原文件目标文件

mv[-option]原目录目标目录

mv[-option]原文件目标目录选项解释:-b:若文件存在则做备份。-v:做移动时解释所做操作-f:若目标文件存在,就删除此文件,不问使用者是否要做移动。使用mv命令给文件改名mv命令最普通的用法是更改文件名,如下所示:#touchfile1#mvfile1file2上面的命令把文件file1改名为文件file2。除了更改文件名之外,mv命令还可以用来更改子目录名而不管这个子目录是空的还是存有文件。比如说,即使使用mkdir命令建立了一个完整的子目录结构,仍然可以使用mv命令更改那个新的顶层子目录的名字,如下所示:#mkdir–ptemp/temp2/temp3#mvtempnewtemp用mv命令搬移文件将/usr/xu中的所有文件移到当前目录(用“.”表示)中:$mv/usr/xu/*.注意:mv与cp的结果不同。mv好象文件“搬家”,文件个数并末增加,而cp对文件进行复制,文件个数增加了。mv命令最常用的两个选项(1)选项-b:在把某文件或子目录名字改为其他文件或子目录已使用过名字的时候,将会对原有文件或子目录进行备份,如下所示:$touchunodeuxtres$lsunodeuxtresdeuxtresuno $mvunodeux $lsunodeuxtresls:uno:Nosuchfileordirectorydeuxtres在没有使用-b选项时,mv命令不仅把文件uno改名为deux,还在操作过程中删除了deux。现在试一试-b选项:$touchunodeuxtres$lsunodeuxtresdeuxtresuno$mv–bunodeux$lsdeux*tresdeuxdeux~tresmv命令最常用的两个选项(续2)上例显示,虽然文件uno已被改名并取代了文件deux,但已生成文件deux的一个备份,这个备份文件有一个缺省的波浪号(~)后缀。mv命令的-i选项在目标文件存在时要求确认,如下所示: $touchfile2file3 $mv–ifile2file3

mv:replace’file3’?ymv命令最常用的两个选项(续3)在上面的例子中,建立了两个文件,然后把文件file2改名为文件file3,并且这样做的结果就是删除了文件file3。接着,使用了-i参数,mv命令就会询问是否真的想覆盖文件file3。如果没有发生覆盖,即使使用了-i参数mv命令也不会要求核实。还可以把-i和-b参数一起使用,如下所示:#mv–bifile2file37.3目录和层次命令常用的目录和层次命令有:

pwd命令cd命令mkdir、rmdir命令cp命令rm命令mv命令pwd命令功能:显示(打印)用户当前所处的目录。语法:pwd[-option]例如,若执行命令

$cd/usr/bin

接着输入:

$pwd会看到:

/usr/bin使用pwd命令查看自己所在的位置pwd命令虽然有一个使用手册页,但是实际上每次使用pwd命令的时候使用的都是一个内建在shell中的pwd命令。怎样来区别它们呢?如果试用下面的方式调用pwd命令,就会看到它只给出当前的工作子目录:#pwd–help使用pwd命令查看自己所在的位置反之,试着调用子目录/bin中的pwd命令,如下所示:#/bin/pwd–help这将执行子目录/bin中的pwd命令而不是内建在shell中的pwd命令。会看到一个简短的pwd命令的帮助文件而不是当前工作子目录。如果确实搞不清自己到底在什么位置,可以使用子目录/bin中的pwd命令。cd命令功能:改变当前目录。语法:cd[-option]目录名cd命令后跟一个路径名,可以将当前目录改为另外一个子目录。如:$cd/usr/bin在/usr/bin子目录中时,可以用如下命令进入/usr子目录:$cd

..回到自己的缺省工作目录:$cd或者$cd~结合前边讲的目录结构思考使用cd命令进入不同的目录cd(切换子目录)命令是在Linux文件系统的不同部分之间移动的基本工具。当登录进入OpenLinux操作系统之后,你处在用户子目录中。这个子目录有一个名字,也就是“路径名”,它是由/home/开头,后面跟着你的用户名。输入cd命令,后面跟着一个路径名,就可以直接进入到另外一个子目录中去。举例来说,使用cd命令进入不同的目录下面的命令把你带到/usr/bin子目录中去: #cd/usr/bin在/usr/bin子目录中时,可以用下一个命令进入/usr子目录: #cd..在/usr/bin子目录中你还可以使用下面的命令直接进入根目录,即“/”目录: #cd../..最后,你总能够用下面的命令回到自己的用户子目录(也就是保存自己文件的子目录): #cd

或者

#cd~使用mkdir命令建立子目录功能:创建子目录。语法:mkdir

[-option]目录名目录名可以是绝对路径,也可以是相对路径。

mkdir命令一次可以建立一个或者几个子目录。mkdir命令还可以只使用一个命令行一次就建立起包括全部的父目录和子目录在内的一个完整的子目录继承结构。参数选项:-p:建立目录时,若父目录不存在,则可以与子目录一起建立。这个命令,再加上cp命令和mv命令,将会是用来组织资料信息的基本工具之一。现在先来看一些示例。如下所示,一条简单的命令建立起了一个子目录:

使用mkdir命令建立子目录#mkdirtemp 还可以使用下面的方法一次建立好几个子目录:#mkdirtemp2temp3temp4还可以输入下面的内容在子目录temp下再建立一个名为child的子目录:#mkdirtemp/child因为子目录temp已经是存在的了(刚才建立了它),所以上面这条命令是有效的。但是如果输入下面的内容:#mkdir

temp5/childmkdir:cannotmakedirectory'temp5/child':Nosuchfileordirectory使用mkdir命令建立子目录正如所看到的,mkdir命令会提示子目录temp5不存在。如果想使用mkdir命令建立一系列完整的子目录结构,就必须使用它的-p参数,即父操作参数,如下面的例子中那样:2directories,0files正如所看到的,mkdir命令不仅建立了子目录temp5,还在它的下一层建立了parent子目录,而子目录parent中又有一个child子目录。使用rmdir命令删除子目录功能:删除子目录。语法:rmdir[-option]目录名rmdir命令是用来删除子目录的。如果希望删除某个子目录,只需要输入下面的内容:#rmdirtempdirectory但是要注意:这个子目录必须是空的。如果试图删除一个其中还有文件的子目录,就会得到一个下面这样的出错信息:参数选项:-p:一起删除父目录时,父目录下应无其他目录。#rmdirtemp5rmdir:temp5:Directorynotempty

使用rmdir命令删除子目录类似于mkdir命令,rmdir命令也有一个-p参数。可以使用这个参数来删除某个子目录的全部继承结构,如下所示:#rmdir–ptemp5rmdir:temp5:Directorynotempty怎么回事!好象没起作用,那么输入下面的内容:#rmdir–ptemp5/parentrmdir:temp5/parent:Directorynotempty啊,好象还是不行,再试试下面的内容:#rmdir–ptemp5/*rmdir:temp5/parent:Directorynotempty这可是让人有些恼火了!再试一次:#rmdir–ptemp5/parent/child成功了!正如你所看到的,必须指明某个子目录完整的结构才能够删除它。使用rmdir命令删除子目录如果使用了上面同样的命令但是没有加上-p参数,那么就只有子目录child被删除。那么对于有两个或者更多个子目录的情况又会怎么样呢?如下所示:

3directories,0files为了删除子目录temp5整个的子目录结构,必须使用下面的命令:#rmdir–ptemp5/parent/*cp命令功能:带目录拷贝语法:cp–r目录目的目录例如,下述命令将d1及其子目录全部拷贝到d2中:$cp

–rd1d2rm命令功能:删除目录语法:rm–r

目录例如,下述命令将temp及其子目录全部删除:$rm

–r/tempmv命令功能:目录更名或移动语法:mv目录名称移动的目的地(或新名)例如,将当前目录中的user1移到/home内:$mvuser1/hometree命令tree目录名——以树的形式显示指定目录下的内容[test@redflagtest]$tree这是不带任何参数的tree命令,以树的形式显示当前目录下的文件和子目录,会递归到各子目录。例如:[test@redflagtest]$tree/etc/rc.d以树的形式显示目录/etc/rc.d下的文件和子目录。ln命令1该命令在文件之间创建链接。这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使删除这个链接,也不会破坏原来的目录。语法:ln[选项]目标[链接名]ln命令2链接有两种:硬链接(HardLink):建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。符号链接(SymbolicLink)。对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。在硬链接的情况下,参数中的“目标”被链接至[链接名]。如果[链接名]是一个目录名,系统将在该目录之下建立一个或多个与“目标”同名的链接文件,链接文件和被链接文件的内容完全相同。如果[链接名]为一个文件,用户将被告知该文件已存在且不进行链接。如果指定了多个“目标”参数,那么最后一个参数必须为目录。ln命令3如果给ln命令加上-s选项,则建立符号链接。如果[链接名]已经存在但不是目录,将不做链接。[链接名]可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“目标”不在同一个文件系统中。如果[链接名]是一个已经存在的目录,系统将在该目录下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向原“目标”的符号链接文件。例:$ln-slunch/home/xu用户为当前目录下的文件lunch创建了一个符号链接/home/xu。ln命令4ln命令5ln命令67.4查找命令1.find命令2.grep命令find命令搜寻文件与目录功能:搜寻文件与目录语法:find目录名选项常用选项有:-namefilename: 按名字查找-typex: 查找类型为x的文件(x包括:b,c,d,f,l等)-userusername: 查找属主为username的文件-atimen: 查找n天以前被访问过的文件-mtimen: 查找n天以前被修改过的文件-ctimen: 查找n分钟以前被修改过的文件-execcmd{}: 对查找出来的文件执行cmd命令,{}表示找到的文件,命令要以“\;”结束-print: 显示每个已找到文件的路径名find命令搜寻文件与目录find命令是一个功能强大的操作命令,可以使用它在硬盘驱动器上查找文件。只用一条很简单的find命令就可以在硬盘驱动器上很容易地查找文件。比如说,如果想查找子目录/usr中的spell命令,可以采用下面的方法:#find/usr-namespell

–printfind命令搜寻文件与目录还可以用find命令按照日期查找文件,或者可以指定一个日期范围。例如,如果想查找子目录/usr/bin中最近一百天没有使用过的程序,可以采用下面的命令:#find/usr/bin-typef-atime+100–print-atime参数后面跟着代表日期的一个数字。如果想在子目录/usr/bin中查找建立不到一天的新文件或者二十四小时内修改过的文件,可以使用下面的参数:#find/usr/bin

-typef-mtime-1–print-mtime参数后面跟一个表示天数的数字(本例中是一天或者更短的时间),用来查找修改过的文件。

使用grep命令在文件内进行搜索功能:在文件中查找字符串,命令还可用于查找正则表达式所定义的目标。语法:grep字符串文件名例如,在文件file中查找tigger字符串:$

greptiggerfile正则表达式包含字符、数字及特殊字符,它是使用特殊语法对字符串进行匹配的字符串格式。什么是规则表达式“规则表达式”是使用特殊的语法对字符串(除非是在对文件名进行搜索,字符串一般都在文件的文本之中)进行匹配的字符串格式。另外还有一种扩展规则表达式,它可以在搜索模式字符串中使用额外的操作符。但是两者之间的区别—对语法来说这很重要——应该不会使你对学习如何构造那些能够与你希望查询的内容精确地匹配的字符串格式的方法打退堂鼓。在文件中对某些文本进行查询的时候,使用规则表达式很重要;而在执行可能会造成意外损失的任务(比如在系统中对多个文件进行删除操作)的时候,使用规则表达式就更为关键了。

常用规则表达式变量名描述*任意字符?或者.一个字符{x}前导字符x个{x,y}前导字符至少x个,但是不超过y个{x,}前导字符至少x个(xxx)||(XXX)字符串xxx或者XXX[xxx]或者[x-x]在方括号中的字符范围内中的某个字符[XYZ]+X、Y\Z至少一次\x?或\等符号字符^pattern一行开头的字符排列形式7.5目录和文件安全性Linux系统中每一个文件或目录都明确地定义其拥有者、组和其它用户的使用权限。常用的命令有:1.

chown命令2.

chgrp命令3.chmod命令chown命令功能:改变文件拥有者语法:chown用户账号文件或目录名称使用人:该文件或目录的拥有者和root用户例如,XLinux1将文件file.list给XLinux2:$chownXLinux2file.listchgrp命令功能:改变文件所属的组语法:chgrp组名称文件或目录名称使用人:root例如,将文件shutdown所属组改为system:#chgrpsystemshutdownchmod命令功能:修改文件的权限语法:chmod权限参数文件或目录名称使用人:每一位用户权限参数有两种表示法:英文字母表示法数字表示法如何修改用户权限——chmod命令chmod<权限设置><文件名或目录名>权限设置格式如下:[ugoa...][[+-=][rwxX]...][,...],其中u表示该文件的拥有者,g表示与该文件的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。

+表示增加权限、-表示取消权限、=表示唯一设定权限。

r表示可读取,w表示可写入,x表示可执行,X表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

chmod命令例如:chmodg+w~/ok.txt表示为同一组的用户增加对文件ok.txt的写权限chmodu+x~/ok.txt表示为用户自己增加对文件ok.txt的执行权限chmodo-rwx~/ok.txt表示为其它用户删除对文件ok.txt的所有权限chmodg=rxfilename表示为同组的用户设置对filename的读和执行权限权限参数英文字母表示法一个文件用十个小格位记录文件的权限,第一小格代表文件类型,接下来是每三小格代表一类型用户的权限,u代表用户,g代表组,o代表其他用户,r,w,x分别代表可读、写、执行。数字表示法用三位数字XXX,最大值为777来表示。关于文件权限当我们使用命令ls-l/etc时,显示项目的最前面有类似于下面这样的一行:-rw-r--r--1rootroot864Feb252003wquota.conf权限位:使用权限设置可以防止系统被故意篡改。权限位共有10位最高位123456789-或d或lrwxrwx rwx

/-urights-/ /-grights-//-orights-/-普通文件-d目录文件-l连接文件7.6磁盘存储命令硬盘空间是一个有限的资源,下面命令可以了解硬盘空间的使用情况:1.fdisk命令2.df命令3.du命令fdisk命令fdisk

命令是Linux的分区表操作命令。与du

和df

不同,没有root用户权限时不能运行该命令。如果指定了-l选项,则可以将它仅用于报告的目的。它提供了您的整个分区表的完整视图,而不仅仅是您使用df

所看到的扩展Linux分区。#fdisk-lDisk/dev/hda:240heads,63sectors,1940cylindersUnits=cylindersof15120*512bytesDeviceBootStartEndBlocksIdSystem/dev/hda112862162128+cWin95FAT32(LBA)/dev/hda2*2881940124966805Extended/dev/hda528828915088+83Linux/dev/hda62908444195768+83Linux/dev/hda78459831050808+82Linuxswap/dev/hda8984+83Linux/dev/hda918171940937408+83Linuxdf命令功能:显示磁盘的使用语法:df[可选参数]例如:$df-k显示系统所配置的每一个磁盘当前被占用的空间大小。-k:use1024-byteunitsinsteadofthedefault512-byteunits.使用df命令获取文件系统的统计数据df(可用硬盘空间)命令(可以在子目录/bin中找到它)会收集和整理当前已经挂装的全部各种文件系统的一些重要的统计数据。df命令使用起来很简单,如下所示:使用df命令获取文件系统的统计数据上面的输出显示Linux操作系统下在三个不同的设备上安装了四个不同的文件系统。第一个是安装在/dev/hda3设备上/目录处的根分区;第二个是安装在/dev/hda1设备上/mnt/dos子目录处的DOS分区;第三个是安装在/dev/hdc1设备上/mnt/flash子目录处的一个闪存卡;第四个是安装在/dev/hdb设备上/mnt/cdrom处的一张CD-ROM光盘。

df命令还列出了每一个存储设备的容量、已经使用了多少、还剩下多少以及这些设备当前的未使用空间所占的百分比。请注意在CD-ROM光盘上已经没有剩余空间了。这是因为它被安装为只读属性的,也就是说你不能在这个设备上存储和删除文件。

du命令功能:命令提供对每个目录的文件空间使用情况的评估。在默认情况下,测量的单位是块的数目,块的大小通常在安装系统时确定。语法:du[可选参数]在以下的示例中,系统是使用1024字节的块安装的。如果没有指定目录,则du

开始对当前目录进行计算。-h选项以易于读懂的形式提供大小的值:$

du-hDocuments105kDocuments/jj573kDocuments/John682kDocumentsdu命令可以使用-a选项更改输出,该选项指示du显示文件和目录的块数。选项--block-size=SIZE指示du

以SIZE所指定字节大小的块的数目来显示输出。$

du

--block-size=512Documents209kDocuments/jj1146kDocuments/John1363kDocuments在默认情况下,du还为每个子目录递归地打印信息。通过使用

max-depth=N选项可以限制这种操作,其中N等于被报告的最大级数。7.7进程命令1.

ps命令2.kill命令ps命令功能:显示系统中活动进程的状态信息语法:ps[-options][pids]常用选项:-l:以长列表形式显示进程的状态信息-a:显示所有活动进程的状态信息-r:只显示正在运行的进程-f:显示完整信息列表-aux:显示所有包含其他使用者的进程

ps命令[root@linuxsbin]#ps-auxUSERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDroot20.00.000?SWAug050:00[keventd]root30.00.000?SWAug050:00[kapmd]root90.00.000?SWAug050:00[bdflush]root50.00.000?SWAug050:01[kswapd]root100.00.000?SWAug050:00[kupdated]root150.00.000?SWAug050:00[kjournald]ps命令ps命令输出栏目说明UID:用户的标识号PID:进程的标识号PPID:父进程的标识号PRI:进程优先级VSZ:虚拟内存大小RSS:驻留空间大小STAT:进程状态。R—正在运行;S—睡眠;D—不可中断睡眠;T—停止或跟踪;Z—僵死;W—没有驻留页TTY:进程对应的终端号TIME:该进程已使用CPU时间COMMAND:启动该进程的命令名称ps命令ps命令kill命令功能:终止进程语法:

kill[-s信号|-p][-a]进程号... kill-l[信号]常用选项:-l:输出信号名列表-p:只显示进程的pid,并不真正送出信号-s

信号名:指出欲发出的信号默认值为TERM信号kill命令&命令功能:将进程放到后台运行方法:在要运行的程序命令的最后加上“&”字符。例子:(见上页)yes>/dev/null& yes命令:向标准输出发送无穷尽的一串“y”。/dev/null像一个黑洞,任何被送入这个黑洞的数据都会消失。[1]——yes的作业号7840——进程标识号nice命令功能:通过修改调度优先级来运行一个程序。格式:

nice[options][COMMAND[arg…]]常用选项:

-n<adjustment>

加上由<adjustment>指定的优先级而不是默认值10。取值范围是0-19 --version

输出版本信息nice值小的进程优先级高;nice值大的进程优先级低

nice命令renice命令renice命令允许用户修改一个正在运行进程的优先权。利用renice命令可以在命令执行时调整其优先权。其格式如下:

$renice

-numberPID

其中,参数number与nice命令的number意义相同。注:(1)用户只能对自己所有的进程使用renice命令。(2)root用户可以在任何进程上使用renice命令。(3)只有root用户才能提高进程的优先权。nohup命令使进程在用户退出后仍继续执行。命令格式:nohup命令结果会写到用户自己的目录下的nohup.out文件里(也可以使用输出重定向,让它输出到一个特定的文件)。一般来说,当一个进程的父进程被终止时,该进程也会被终止。用“ps–l”命令可以看到进程的父进程。如:FSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD100S00-593wait4pts/000:00:00login000S00-698wait4pts/000:00:00su100S00-698wait4pts/000:00:00bash100R0264215870760-770-pts/000:00:00psnohup命令其中,进程2642的父进程是1587,1587实际上是Shell进程。在Shell下启动的进程的父进程大多是Shell进程,而Shell进程的父进程又是login进程,所以当你logout时,由login进程衍生出的进程就会被终止。如果你希望logout后自己的进程仍然能在后台继续运行,可以使用nohup命令。nohup的用法如下:#nohupdu-a/|

sort-rn>/root/test.out&命令du-a/|sort-rn>/root/test.out不会在用户logout后终止。top命令(1)功能:显示系统动态的进程控制和进程调度,还可察看内存动态使用的实时信息。格式:top[options]字段说明

Uptime

显示系统已运行时间和系统的三个加载均值,加载均值是指那些准备在1分、5分、15分内运行的进程的平均数。

process

显示在最近一次更新是运行的进程总数并作分类,可通过交互命令t来切换进程和状态显示。

CPUstates

显示再用户模式下的CPU利用的百分比、系统方式、优先级任务(优先级任务是指那些优先级为负的)和空闲任务。

Mem

显示内存使用的统计,包含总的可用内存、空闲内存、一用内存、共享内存和用于缓存的内存。可通过交互命令m来切换内存信息显示。top命令(2)字段说明

PID

进程的标识号,是系统赋予每个正在执行的进程的唯一编号PPID

父进程的标识号UID

用户的标识号USER

显示任务所有者的用户号PRI

进程优先级NI

显示任务的nice值SIZE

虚拟内存大小TSIZE

显示任务的代码大小DSIZE

显示数据加上堆栈的大小,但对ELF进程不显示。TRS

显示文本驻留空间的大小。top命令(3)字段说明SWAP

显示对交换空间的统计,包含总的交换空间,可用交换空间和一用交换空间。D

显示脏页的大小LIB

显示用用库页的大小,对ELF进程也无效。RSS

显示被任务占用的物理内存的总量(以KB计)SHARE

先时任务占用的共享内存的量。STAT

进程状态。R—进程正在运行;

S—睡眠;

D—不可中断睡眠;T—停止或跟踪;

Z—僵尸进程;

W—没有驻留页TTY

进程所在的虚拟终端号TIME

该进程已经运行的时间COMMAND

该进程的名称top命令(4)交互命令: 空格键

立即更新显示。

i

不显示空闲的或僵尸进程信息。

n

或#

改变显示的进程数量。

q

退出top。

r

重新调整一个指定进程的优先级。

f

或F

在显示时加上或移去字段。

o

或O

改变显示字段的顺序。

m

切换内存信息的显示。

t

切换进程和CPU状态的显示。

top命令(5)7.8联机帮助命令在线帮助命令:1.man命令2.

内包的文件(DOC)3.Howto

和FAQman命令(1)Linux操作系统发行版本也为几乎每个程序、工具、命令或系统编程调用编制了使用手册页。可以得到几乎所有命令的有关信息,包括man命令本身。举例来说,输入下列命令就可以阅读man命令的使用手册页: #manman使用手册页就像一页UNIX的命令汇总。每页使用手册页文件的名称以一个个位数字作为文件后缀,存放在/usr/man的一个子目录下。许多OpenLinux操作系统命令的使用手册页都在最初的安装过程中或者在单独安装某个命令程序的时候拷贝到硬盘。比如,

man命令的使用手册页文件被命名为:/usr/man/man1/man.1.gzman命令(2)man命令的使用手册页的名称是man.1,但后缀.gz表示man.1文件已经使用gzip命令压缩过了。man命令在显示使用手册页内容之前会自动解压缩这个文件。

man命令(3)在子目录/usr/man/man1中存放有超过一千个使用手册页的文件。但是如果想知道使用手册页的格式和存放的位置,在man.1中是找不到的,它们存放在/usr/man/man7的man.7文件中。下表给出了每个使用手册组成部分的位置和内容。

Linux操作系统的使用手册页的组成部分目录内容/usr/man/man1命令─在shell中执行的命令/usr/man/man2系统调用─关于核心函数的文档/usr/man/man3库调用─libc函数的使用手册页/usr/man/man4特殊文件─关于/dev目录中的文件的信息/usr/man/man5文件格式─/etc/passwd和其他文件的详细格式/usr/man/man6游戏/usr/man/man7宏命令包─对Linux文件系统、使用手册页等的说明/usr/man/man8系统管理─根操作员操作的使用手册页/usr/man/man9核心例程─关于Linux操作系统内核源例程或者内核模块技术指标的文档man命令每页使用手册页都传统地分成几个组成段;各种命令的文档也分成几个组成段。下表给出了使用手册页的组织格式。使用手册页的组织格式组成段说明Name命令的名称及简单说明Synopsis如何使用这个命令及命令行参数Description对这个程序命令及其参数的解释Files这个命令用到的文件清单和它们存放的位置SeeAlso有相互联系的使用手册页的清单Diagnostics特殊输出情况的说明Bugs编程漏洞Author程序的主要编写者和其他维护人员内包的文件(DOC)许多软件包都提供有readme文件和其他文档。专为Linux制作的包的文件定义了一个标准的地方存放这些文件,每个包的文件都放在/usr/doc下的一个子目录中。子目录名称取决于软件包的名称和版本号。例如zip软件包可能是2.1版。那么,它的文件就放在/usr/doc/zip-2.1目录。大多数情况,/usr/doc中的文件是ASCII码,可用morefilename或lessfilename来阅读。Howto和FAQ如果你安装了它们,目录/usr/doc/Howto包含了你的Linux光盘发行时的所有Howto。为了节省空间,它们用gzip命令进行了压缩。有一种方法可以阅读压缩的Howto,不会让解压缩后的文件搞乱你的硬盘,即使用zless: $zless3Dfx-Howto.gzzless使用和less一样的键,所以可以在Howto中容易地翻页。/usr/doc/FAQ包含了ASCII格式(和部分html格式)的一些FAQ(常见问题)。可以用more或less来阅读。mount命令功能:mount命令的作用是加载文件系统,它的用权限是超级用户或/etc/fstab中允许的使用者。语法:mount[-option]devicedir

说明:-h:显示辅助信息。-a:将/etc/fstab中定义的所有文件系统挂上。-F:这个命令通常和-a一起使用,它会为每一个mount的动作产生一个进程负责执行。在系统需要挂上大量NFS文件系统时可以加快加载的速度。-f:通常用于除错。它会使mount不执行实际挂上的动作,而是模拟整个挂上的过程,通常会和-v一起使用。-tvfstype:显示被加载文件系统的类型。mount命令例如:mountUSB#mount/dev/sda1/mnt/usbmount软盘:#mount-text2/dev/fd0/mnt/floppymountcdrom:#mount–tiso9660/dev/hdb/mnt/cdrommountSCSIcdrom#mount-tiso9660/dev/sdb/mnt/scdrom给时间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论