linux基本操作.doc_第1页
linux基本操作.doc_第2页
linux基本操作.doc_第3页
linux基本操作.doc_第4页
linux基本操作.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

linux基本操作由于在实际使用中,一些命令的选项基本不会被使用,花大量的时间来整理它们是不值得的,所以本文没有做这件大而全的事.001 man获得联机帮助(初学者使用率很高的一个命令)Linux OS发行版本几乎为每个程序、工具、命令或系统编程调用编制了使用手册,可以得到几乎所有命令的有关信息。使用手册页有统一的格式,这样在执行查询操作时信息就可以正确地显示,建立与Linux OS相关的程序数据库的时候数据就可以正确地存储。man命令对使用手册页进行检索的时候,其依据主要是根据在子目录/etc中man.config文件内容中的详细说明为原则。这些原则规定了查找使用手册页的缺省子目录。附录: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操作系统内核源例程或者内核模块技术指标的文档/usr/man/mann 其它帮助文件,如X窗口信息的信息try:man findman 2 time ;在指定页查询man -k print ;通过给定关键词进行查找,相当于apropos命令,但是有所区别.注:1. man命令调用了less页命令来输出,新手可能不知道该怎么退出,可以输入字母q来退出就行了.2. 你可能会遇到以下问题: Cannot open the message catalog man for locale zh_CN.UTF-8 (NLSPATH=)这是语言没有设置正确的缘故,可以尝试: export LANG=C,再使用man命令可能就不会出现这个问题了. 002 cd切换目录try:cd . 返回上一层cd或cd 返回用户主目录cd ./. 返回上两层cd /返回根目录003 pwd查看当前位置try:pwd004 find查找匹配文件find 命令在linux中是很常用到的一个查找命令,它的功能非常地强大。该命令从给定的范围起,开始递归地搜索目录结构,直到找到与用户查找要求相匹配的文件。它可以结合正则匹配来搜索系统中的指定的内容,以下说明一下这个find命令常用到的一些用法:首先我们来看看find的总体用法:# find path option keywords option keywords . -print -exec -ok其中path是指定在哪个路径中查找内容(在那些需要文件名的参数控制中,path可以包括文件名,请参阅留意);option是find中的一些属性值,常用的有-name,-type,-mtime,-ctime,-atime,-user,-group,-nouser,-nogroup,-perm,-links等;-print -exec -ok是可选属性值,-print是指把查找到的内容输出到指定的地方,-exec与-ok都是执行另处的command命令,但两都也有一点不同,-exec在执行指定的command时不会给用户显示提示或操作信息,但是-ok就会在有提示询问操作时给用户显示信息,直到用户做了选择时才继续执行。常用的option值说明:-name 指定查找的内容是文件名。-type 指定查找的文件的类型,它有d,l,b,p,f,c等文件类型:d是查找目录,l是查找链接,b是查找块文件,p是查找管道文件,f是普通文件,c是字符设备文件。-mtime,-ctime,atime都是指按时间查找:-mtime是文件的修改时间,-ctime是文件的创建时间,-atime是后访问文件时间。(注意:这里对atime,mtime,ctime的说明并不严谨,情参阅相关资料)-user是查找指定用户帐号的文件。-group是查找指定组帐号的文件。-nouser查找无用户帐号文件。-nogroup是查找无组帐号文件。-links是查找具有指定链接数的文件。下面举几个例子说明一下find的用法:(1)我想找出/etc目录下是passw开头的所有文件: find /etc -name passw* (2)我想找出/var/log目录下所有的前5天的.log文件:find /var/log -name *.log -mtime +5 这个例子中+5是指5天以前的文件,如是查-5则是5天以内的文件(3)我想找出/home目录下是lancer这个用户的文件:find /home -user lancer(4)我想找出/home目录下是lancer这个用户的所有的普通文件:find /home -user lancer -type f(5)我想找出/var/log目录下的所有的.log普通文件并查看它的详细信息:find /var/log -name *.log -type f -exec ls -l ; 这个例子中用到了可选属性-exec用来执行ls命令,其中的-exec或者-ok的用法要注意 ;(注意:是右斜杠,且ls的控制选项-l与;一定要有空格)(6)我想查找出在/etc中名字以passw开头的且文件内容中有lancer的文件:find /etc -name passw* -exec grep lancer -in ;留意:1. 使用find /etc -name pass*得到的结果可能要比find /etc/pass*多,这是因为前者深入到了更下层中搜索,而后者指在当前目录层。2. 有时搜寻一个文件很耗时间,此时可以充分利用Linux的多任务功能,可以使用“后台查找”:find path -name filename -print appointed file & 符号&使命令在后台运行,将结果重定向到指定的文件。005 locate定位文件加快文件搜索的方法之一是不去搜索文件子目录!可以使用像locate命令这样的程序来做到这一点。locate命令使用的是一个文件名数据库,而检索区区一个文件当然要比搜索整个硬盘驱动器要节省时间。使用locate命令查找文件要比使用find命令快得多,其原因是locate命令直接去检索这个数据库文件,从中找到匹配的文件名并显示它的查询结果。locate命令很容易使用。比如说,如果你想查找你的系统上的所有PostScript格式的文件,可以使用下面的命令:# locate *.ps文件查询结果几乎是立刻就出现在屏幕上了。我想你会认为locate命令比find命令还要容易使用一些。但是还是需要注意它们之间的区别:find命令在Linux操作系统安装完成后可以立刻开始进行文件的查询;而locate命令则需要先为计算机上所有的文件建立一个数据库。这一点也不必操心,因为建立数据库的工作几乎是完全自动化的。如果想为locate命令的数据库文件立刻生成一个最新的版本,可以使用updatedb命令。注意:使用locate命令唯一的不足是随着时间推移,它的数据库文件会因为在你的计算机系统中添加或者删除文件而跟不上变化。首次使用可能会遇到:warning: locate: could not open database: /var/lib/slocate/slocate.db: No such file or directorywarning: You need to run the updatedb command (as root) to create the database.Please edit /etc/updatedb.conf to enable the daily cron job.这是因为系统没有建立数据库文件的缘故,请运行updatedb命令.006 whereis查找文件whereis命令可以迅速地找到文件,而且它还可以提供这个文件的二进制可执行文件、源代码文件和使用手册页存放的位置。例如:# whereis find可以采用下面的方法让whereis命令只查找这个程序的二进制可执行文件:# whereis -b findwhereis命令检索的子目录是固定编写在它的程序中的。虽然这看起来有点象是个缺陷,但把搜索限制在固定的子目录如/usr/man、/usr/bin或/usr/sbin中可以大大加快文件查找的进度。007 chown改变文件属主chown option owner:group filename常用参数:-c:如果属主改变,报告-v:给出所有操作的详细报告-R:按文件和目录依次改变属主(recursive)008 whatis和apropos获取命令简介第一次探索Linux OS的时候,可能会遇上一些不太了解其功能作用的程序。虽说大部分的Linux程序在编写的时候都为它的命令行参数“?”、“-help”、或者“-help”多少准备了一点帮助信息,但是如果不了解某个程序的具体作用,一般是不会去运行这个程序的。whatis命令能够从某个程序的使用手册页中抽出一行简单的介绍性文字,帮助你迅速了解这个程序的具体功能。例如,如果希望了解who命令有什么作用,可以输入下面的内容:# whatis who 显示器清屏,然后whatis命令显示下面这样的一行文字:who (1) - show who is logged on类似于locate命令,需要使用makewhatis命令可以在子目录/usr/sbin中找到这个命令来生成一个命令的简介数据库。如果你想这么做,请以超级用户的身份登录系统并输入:# makewhatis makewhatis命令就象updatedb命令一样也需要几分钟来建立whatis命令使用的数据库文件,这个数据库文件的名字也叫whatis。makewhatis命令有几个参数,如果想看看它的快速简介,可以使用下面的方法:# makewhatis -help# man makewhatis注意:你也需要定期更新whatis数据库文件以便跟踪记录那些新安装的程序。已经学会了如何使用whereis和whatis命令帮助你来查找程序和了解某个程序的具体功能。可是如果打算执行某个操作,却又想不起来哪个程序能够完成这个操作的时候,该怎么办?在这种情况下,就需要求助于apropos命令了。例如,如果你记不起哪个命令是用来搜索文件的,只需要敲入:# apropos search可以看到一个从whatis数据库文件中挑选出来的程序清单。apropos命令在这个数据库文件中按照给出的关键字进行搜索。如果能保证whatis数据库文件及时更新,就可以使用apropos命令来帮助找到需要的程序。也可以使用man命令的-k参数来实现apropos命令同样的功能,但其搜索过程会很慢,而且搜索结果给出的是每个含有匹配字符串的使用手册页,并不推荐。例如,如果想检索有哪些程序可以处理PostScript格式的数据,可以试用如下的命令:# man -k PostScript009 ls列出子目录的内容清单虽然这个命令本身只有两个字母,但是它的命令行参数可能比其它任何程序都多!可以使用-m参数把文件用逗号分隔显示在一行上(流输出格式): # ls -m但是所有列出来这些都是文件吗?其中有没有子目录呢?区分它们的一个办法就是使用-F参数,-F参数使得ls命令可以在显示子目录的时候在它的文件名之后加上一个斜线(“/”)字符。而文件后面的星号(“*”)字符表示这是一个可执行程序: # ls -F但是这些就是这个子目录里所有的文件吗?如果希望看到所有的文件,可以将-a参数和-F参数一起使用,如下所示: # ls -aF除非明确地指出显示所有的文件,否则那些以句号(“.”)开头的文件或者子目录是无法通过ls命令显示出来的。附注说明:.(表示其自身)、.(表示其父目录)是登记项。可以使用ls命令的-l参数来列出文件的全部信息,如下所示:# ls -l总共有8个不同的信息栏:第1栏是文件的权限标志,10个字符,第1个字符表示文件类型,后9个表示存取权限;第2栏给出的是这个文件的链接数(对于文件来说,指该文件的链接备份数;对于目录来说,该链接数等于该目录所有子目录+2,一个指向该目录本身,另一个指向该目录的父目录);第3栏是文件的属主;第4栏是属主的工作组;第5栏给出文件的大小(以字节为单位);第6栏是这个文件或者子目录创建或者最后一次被修改时的日期;第7栏是这个文件或者子目录创建或者最后一次被修改时的时间;第8栏是这个文件的文件名。# ls -x按行紧凑地列出结果指定其它的子目录,可以在ls命令的命令行上指定其它的子目录或者路径名,这个方法可以用来查看其它子目录中的内容。举例来说,如果想查看子目录/usr/bin中的全部的文件,可以使用下面的方法:# ls /usr/binls命令支持使用通配符和正则表达式,例如,如果只想列出当前子目录中的文本文件,可以使用下面的方法:# ls *.txt可以使用ls命令的-R参数,它将逐层进入所有的子目录并把其中的内容全部显示出来:# ls -R注意:ls的参数是可以结合使用的,但是不要引起冲突。其它常用格式:-r(reverse) 按逆序列出所有文件-s(size) 按块(注意:以块为单位)的大小列出文件相关技巧:如果显示的文件过多,可以使用管道配合,例如为了分页显示,可以:# ls | more当然,你也可以重定向输出到某个文件.010 dir和vdir列出子目录的内容清单如果不喜欢在列出子目录内容清单的时候使用ls命令那么多的参数,或者你习惯了DOS的dir命令,你也可以使用dir或vdir命令。与ls命令相比,这两个命令大概只有45个命令行参数,但在功能上它们毫不逊色。它们在使用上与ls命令类似,但是使用了一些缺省的参数。使用dir命令的时候就像普通的ls命令那样把文件按列对齐输出。使用vdir命令的时候就像ls命令的-l参数,它缺省地列出文件的全部信息。可以使用-help参数得到它们各自的帮助信息。011 cat建立、列出及合并(串接)文件命令新术语:cat命令用可以用来把文件内容送到你的屏幕上去显示。你也可以使用这个命令通过一个叫做输出“重定向”的过程把文件内容送到其它的文件中去。虽然cat命令在阅读短文件的内容的时候很有用,但它更经常地被用来进行文件的合并、建立、覆盖或者添加内容等操作。如果想使用cat命令建立并查看一个短文件,可以输入如下的命令:建立# cat test.txtThis text file was created by the cat command .Cat could be the worlds simplest text editor .If you read this book , youll learn how to use cat .This is the last line of text in this file .CTRL+D阅读# cat test.txtThis text file was created by the cat command .Cat could be the worlds simplest text editor .If you read this book , youll learn how to use cat .This is the last line of text in this file .cat命令也有一些参数。例如如果你想在阅读文件的时候加上行号,比方想要注明某个特殊的段落,可以使用-n参数:# cat -n test.txt1 This text file was created by the cat command .2 Cat could be the worlds simplest text editor .3 If you read this book , youll learn how to use cat .4 This is the last line of text in this file .还可以使用cat命令一次查看多个文件(假设还有一个test2.txt文件),因为cat命令也接受通配符:# cat -n test*1 This text file was created by the cat command .2 Cat could be the worlds simplest text editor .3 If you read this book , youll learn how to use cat .4 This is the last line of text in this file .5 This is the first line of test2.txt .6 This file was also created by cat .7 This is the last line of test2.txt .正如所看到的,cat命令在它的输出中包含了另外一个文件,并为整个输出结果的每一行(注意不是每个文件)加上了行号。还可以使用下面的方法来查看这两个文件:# cat test.txt test2.txt这个命令的输出结果与使用通配符的时候看到的结果是完全一样的。同时查看几个文件只是cat命令的一种用法。还可以使用cat命令和重定向操作符(“”)来合并文件。例如,如果想把文件test.txt和文件test2.txt合并到另外一个叫做test3.txt的文件中去,可以使用下面的方法: # cat test* test3.txt可以用下面的方法检查操作结果:# ls -l test*但是如果只是想把test.txt和test2.txt文件合并,但是并不想再生成另外一个更大的文件的时候又该怎么办呢? 如果是这种情况,首先需要决定是把test.txt的内容加到文件test2.txt中去,还是把test2.txt的内容加入test . txt中去。然后,使用cat命令和重定向符“ ”,敲入下面的内容:# cat test.txt test2.txt上面的命令把文件test.txt的内容添加到文件test2.txt的后面去了(可以一次将多个文件合并成一个文件)。可以再使用cat命令检查一下操作结果:# cat test2.txtThis is the first line of test2.txt .This file was also created by cat .This is the last line of test2.txt .This text file was created by the cat command .Cat could be the worlds simplest text editor .If you read this book , youll learn how to use cat .This is the last line of text in this file .需要注意的是如果使用了下面的命令:# cat -n test.txt test2.txt现在test2 . txt文件的内容会是这样的:# cat test2.txtThis is the first line of test2.txt .This file was also created by cat .This is the last line of test2.txt .1 This text file was created by the cat command .2 Cat could be the worlds simplest text editor .3 If you read this book , youll learn how to use cat .4 This is the last line of text in this file .cat命令可以把任何文件(注意:不仅仅是文本文件)的内容显示出来。关于重定向的附注说明:应用程序 &n (n=0,1或2)表示把应用程序的输出定义到与“文件描述字”相联系的文件中。(0:标准输入 1:标准输出 2:标准出错 2:无特殊意义)用户可以把应用程序的标准输出和标准出错重定向到指定的文件中。例如:应用程序 outfile 2 errorfile表示将应用程序的输出重定向到outfile中,而将应用程序的错误信息重定向到errorfile中。(当然,有时将两者用这种方法重定向到同一个文件中更为实用)012 more阅读文件more命令是Linux操作系统命令中我们称之为页命令的家族中的一员。页命令使你在浏览文件的时候可以一次阅读一屏或者一行。这在阅读大量使用手册页的时候特别有帮助,因为man命令是使用了一个页命令来显示每一页的。more命令是一个传统意义上的页命令,因为它提供了早期页命令的基本特色,可以在命令行上像下面这样使用more命令,如下所示:# more longfile.txtmore命令也有一些命令行参数。-n 每页显示几行,默认是23行。注:桌面应用,more,less命令来看文本文件有点傻气,建议使用gedit查看文本文件.013 less浏览文件less命令多少有点象more命令,less命令和more命令一样都是页命令。当安装了Linux操作系统之后,less页命令将是许多程序(比如man命令等)使用的缺省的页命令。作为演示,首先使用ls命令建立一个内容为子目录/usr/bin中所有Linux OS命令的文本文件,如下所示:# ls /usr/bin programs.txt上面的命令建立了一个名为programs.txt的文本文件。然后,使用less命令阅读这个文件,如下所示:# less programs.txtless命令装入这个文件并显示这个文件开头的一些行。可以使用命令行参数-M看到更多关于文件的信息,如下所示:# less -M programs.txt现在,当浏览文件的时候,less命令将显示出这个文件的名字、当前页码及总的页码,表示当前位置在整个文件中的位置的百分比数值。这个提示符看起来有点象下面这个样子:programs.txt line 91/1221 8%这表明正在阅读的是文件programs.txt,当前屏幕最顶端显示的是总数为1221行文本的第91行。在进入less后还可以进行操作:如果想向下翻一页,按Space;如果想向下翻半页,按D;如果想向上翻一页,按B。更详细的说明请按H,获得帮助。如果想运行其它的程序,比如wc字数统计程序,需要敲入一个惊叹号(!),后面再跟上命令行,然后按下回车键,如下所示:! wc programs.txtwc程序将在屏幕上回显文件programs.txt的行数、字数和字符数。当这个命令执行完毕之后,less命令显示单词done并等你按下回车键。还可以使用less搜索命令在一个文本文件中进行快速查找。先按下斜杠键(/),再输入一个单词或者词组的一部分。less命令会在文本文件中进行快速查找,并把找到的第一个搜索目标高亮度显示。如果希望继续查找,请按下斜杠键(/),再按下回车键。014 head和tail阅读文件的开头和结尾虽然head和tail命令并不是页命令,但是只想阅读一个文件的开头或者结尾的部分的时候,它们可以让工作变得更简单一些。head可以用来显示文件开头x行的-n x(默认10行)。例如,如果想看看zip-2.3的README文件的开头的前两行,应该使用head命令的参数-n 2,再输入这些文件的路径,如下所示:# head -n 2 /usr/share/doc/zip-2.3/README当最有用的信息却是在这个文件的结尾部分的时候,使用tail命令就特别有帮助了。我们举个例子,假定需要在系统信息中查看出错信息。在子目录/var/log中有一个messages文件,这里面有系统操作的详细记录,但是登录记录是在这个messages文件的末尾更新的。换句话说,这个文件的内容是不断添加上去的,所有最新的信息都在文件的结尾部分。如果想使用tail命令查看这个messages文件末尾最后的十二行,输入下面的命令:# tail -n 12 /var/log/messages注:如果在你试用这个例子的时候,Linux给出下面的信息:tail : /var/log/messages : Permission denied这意味着必须以超级用户的身份登录!因为安全的原因,Linux OS禁止无关的用户阅读系统登录记录。像这样阅读大型文件的确是很方便的,特别是在系统的message文件有可能增大到一百万个字符以上的情况下。015 chmod改变文件存取权限命令首先得复习一下文件的10个属性字符的意义:第1个,表示文件类型:- 普通文件d 目录文件b 块设备文件c 字符设备文件l 符号链p 有名管道其余9个字符分别表示“属主(u)”、“工作组成员(g)”和“一般用户(o)”对文件的“读(r)”、“写(w)”和“执行(x)”权限。它还有可能是其它字符,在此不详述.有2种办法改变文件权限:a. 用字符方式改变b. 用数字方式改变用字符方式改变的格式:chmod 用户 增加/减少权限 权限 文件名用户指:“属主(u)”、“工作组成员(g)”、“一般用户(o)”和“全部用户(a)”增加/减少权限:+/-权限:r、w、x例如:增加工作组成员和一般用户的写的权限,可以使用命令:# chmod go+w myfile ;注意“go+w”是一体的,之间没有空格。用数字方式改变的格式:对应地十分容易理解,如上例如果要将文件权限改成:rwxr-r-,可以使用命令:# chmod 744 myfile016 date显示、修正系统时间 # date其中CST表示China Shanghai Time。修正时间:# date mmddhhmmyy如要设置成:2006年2月24日19点11分,可以使用该命令:# date 0224191106017 cal日历命令# cal (显示日历)# cal 年份 (显示全年日历)# cal 月份 年份 (显示某月日历)018 who查看用户# who显示当前在系统中注册的用户,每个用户一行,意义如下:用户的注册名 用户终端使用的串行端口 注册时间附注说明:在Linux系统中,所有用户都是通过串行端口连接到计算机上的,这些串行端口的名字都是以tty开头的。019 passwd设置口令命令020 su获取(超级用户)权限 # su注意:操作结束后,可以这样返回原用户状态:# exit021 ps显示进程命令# ps它显示了进程的PID号、启动终端号、起始时间和命令。022 kill终止进程当然,用户可以按CTRL+C结束进程,但是该操作对那些在后台运行的进程无效。

温馨提示

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

评论

0/150

提交评论