LINUX基础命令.doc_第1页
LINUX基础命令.doc_第2页
LINUX基础命令.doc_第3页
LINUX基础命令.doc_第4页
LINUX基础命令.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

Linux基础命令一、 Linux基础命令1 基础命令1) 登录Linux系统规定每个用户必须有个注册名和一个口令, Linux系统可以连接各种各样的终端,在接通终端后,系统会显示登录提示符,如:Login: 输入登录名,按回车,然后输入口令,再按回车password:如果在输入中出错,可用回退(Backspace)键,假如登录不成功,可以重新再试。注意:回退(Backspace)键不一定会如你所愿工作,有些系统中用Delete键来删除前面的字符。登录成功以后,会出现一个命令提示符,缺省的一般用户的命令提示符为$或%,如用超级用户root登录,命令提示符缺省为#,当然这些都可以人为修改。命令提示符表示系统正准备接受你的命令。2) 终端终端是用户和计算机通信的工具。每种终端都有自己的名字,存储在变量TERM中,存储在TERM中的名字与终端的名字及模式有关,比如惠普的终端名均以”hp”开头,VolkerCray的终端均以”vc”开头,如果没有提供缺省值,不妨试一下”vt100”。可在命令提示符下键入下面的命令: $ echo $TERM来显示存储在变量TERM中的名字。3) 更改口令一个好的口令一般至少有六个字符,并应包含大写和小写的字母及标点符号。更换口令的命令是passwd。当运行passwd命令时,它会请你提供旧的口令和新的口令,并再次输入新的口令进行确认。一般用户只能修改自己的口令,超级用户的话可以修改其他用户的口令。有一些系统在更改口令时有一些专门的限制,如:l 如在较长时间未改变过口令,则必须更改它。l 口令至少要有六个字符长(有些系统要求至少8个)。l 口令必须至少包含两个以上的字符,其中有一个是非字母的字符l 新的口令必须与你的登录名及旧的口令不同。4) 退出要结束用户与UNIX的对话,可输入命令exit。退出后,系统将结束所有用户正在运行的程序,并完成一些清理工作,还会显示有关退出信息。有的系统可以通过在命令提示符下按组合键Ctrl+d,或用命令logout退出。5) 关机Linux提供了3中关掉系统的方式:shutdown、halt和reboot。这些命令是有特权的,只能由超级用户来执行。输入没有参数的shutdown命令,2分钟后即可关闭系统。如需另外的等待时间,可由下面的选项来控制。l now :立即l + mins :在指定的分钟后l hh:ss :在一个特定的时间内。在关掉系统之前,系统会产生一个/etc/nologin文件,用于说明系统即将关闭,用户不能登录进入。在这段时间中,只有系统管理员可以进入。halt命令相当与shutdown h nowreboot命令相当于shutdown r now2 常用操作一旦登录,那么登录了什么呢?1) shell:使用该程序可提供命令给计算机执行。2) 用户目录:在计算机上留给用户使用的空间。SHELLShell程序使你避免与原始而复杂的操作系统打交道,也是为保护操作系统不被用户破坏。Shell程序为用户完成三项工作:解释命令、存储信息和运行程序。用命令ps加上回车键,可以找出哪个程序是正在使用的shell。该命令会输出一张所有正在运行的程序列表,一般就是shell和ps命令。 $ ps在运行命令前,shell程序首先解释输入的命令行。命令包含两部分:命令名本身和它的参数。命令参数有两种:操作数(命令的对象)和选项(命令的工作方式)。终端显示提示符后,用户可以输入命令让系统调用执行某个程序。如输入date命令,系统就去调用date程序显示当前的日期和时间。命令who询问当前由哪些用户挂在系统里。$ whofrank tty1 Nov 12 22:00meggy tty2 Nov 12 20:05第一列表示用户名,第二列表示终端名,随后是用户登录的日期和时间。 $ who am i /系统仅回送用户自己的注册信息frank tty1 Nov 12 22:00系统还提供了用户之间通信的邮件系统,当用户登录时发现系统给出如下信息: you have mail.用户可通过键入mail命令读取信件。$ mail /将逐个显示用户的信件,每显示一段信件,mail都询问用户 是否要对该信件作些处理。若回答d,则表示删除信件,回答 p,则要求重复显示信件;s 文件名表示要把信件存入所命名 的文件;若回答q,则表示退出mail。确认当前目录不论什么时候,登录Linux(Unix)系统后,均会认为你有一个工作目录。打印出当前工作目录的命令是pwd$pwd可以使用cd命令改变工作目录。举例:cd命令使用: l cd 后不用任何目录名将回到登录目录。l cd - 回到前一个目录(在bourne shell中不起作用)l cd . 回到当前目录的父目录列出目录中的内容 ls命令ls 列出工作目录中有哪些文件,查看另一个目录中的文件,可用ls 后加上哪个目录的名字。通常ls命令并不会区分文件和目录。3 文件编辑器vivi是Unix世界里极为普遍的全屏幕文本编辑器,几乎任何一台装有Unix(Linux)的机器都会提供这套软件,虽然刚接触使用会觉得不好用,但是vi具有强大的编辑功能,习惯以后会觉得它是一个非常灵活的文本编辑器。vi有两种模式:l 输入模式:用于往文件中添加文本。在输入模式下,任何输入都将添加到文件中。l 命令模式:用于执行编辑文件、存档以及离开vi等操作指令。从输入模式转换到命令模式可按ESC键,有许多命令能从命令模式转换到输入模式,每个命令将文本插入到不同的位置。在执行vi后,会先进入指令模式,此时所输入的任何字符都视为指令。1) 启动和退出vi进入vi:直接在命令提示符下键入 vi 文件名。vi可以自动在如所要编辑的文档,或是创建一个新文档。进入vi后,屏幕左方会出现波浪符号,凡在列手有该符号,就代表此列目前是空的。退出vi:常用的退出vi的指令有:l :q! 离开vi,并放弃刚在缓冲区内编辑的内容。l :wq 将缓冲区中的内容写入硬盘,并离开vi。l :w将缓冲区中的内容写入硬盘,但不离开vi。l :q 离开vi,若文件被修改过,则不允许退出,必须使用:q!2) vi输入模式如何输入文本呢?有几个指令可以进入输入模式。l 新增(append)a从光标所在位置的后面开始新增文档,光标后的文档随新增内容向后移动。A 从光标所在行最后面的地方开始新增文档l 插入(insert)i从光标所在位置的前面开始新增文档,光标后的文档随新增内容向后移动。I从光标所在行的第一个非空白字符前面开始插入文档。l openo在光标所在行下面新增一行,并进入输入模式。 O 在光标所在行上面新增一行,并进入输入模式。3) vi基本编辑编辑是在指令模式下进行的,先利用指令移动光标,定位到要进行编辑的地方,然后再输入指令进行编辑。x 删除光标所在字符。dd 删除光标所在的列。D 或d$ 删除光标后该行的所有文本。r修改光标所在字符,r 后接著要修正的字符。R 进入取代状态,新增资料会覆盖原先资料,直到按 ESC 回到 指令模式下为止。s 删除光标所在字符,并进入输入模式。S删除光标所在的列,并进入输入模式。yy复制一行p在光标后插入临时缓冲区中的内容u恢复被删除的内容U恢复光标所在列的所有改变以上指令和数字连在一起使用,表示这个指令执行的次数。如:10dd表示删除4行。5yy表示复制5行。删除和复制都会将指定范围的内容放到暂存区里,然后用指令p贴到其他地方去,这样就可以实现区段拷贝和搬移的方法。4) 移动光标(1) 在行上移动光标$移动光标到行尾h向左移动光标一个字符位置或0移动光标到行首l向右移动光标一个字符位置(2) 在文件中移动光标j移动光标到下一行k移动光标到上一行L移动光标到屏幕的最后一行H移动光标到屏幕的首行M移动光标到屏幕的中央G移动光标到文件的最后一行nG移动光标到第n行Ctrl+d向下半页Ctrl+u向上半页Ctrl+f向下一页Ctrl+b向上一页5) 查找和替换(1) 查找fc向前查找包含字符c的行Fc向后查找包含字符c的行/字符串在光标之后寻找该字符串?字符串在光标之前寻找该字符串n往下继续寻找该字符。N 往上继续寻找该字符(2) 查找替换:s/被替换字符/替换字符替换一次小心注意被替换字符串是否属于替换字符的一部分。例如:有一行文本为“ a elephant a ear”,如想用”an”替换”a”,则给出第一个命令如下: :s/a/an 其结果为”an elephane a ear”。重复命令,结果为“ann elephant a ear“。为真正替换单词”a”,可用”an”替换”a “。:s 并回车,再一次替换。:s/被替换字符/替换字符/g替换行中所有的被替换字符:%s/被替换字符/替换字符替换文件中第一个被替换字符:%s/被替换字符/替换字符/g替换文件中所有被替换字符6) 环境设定命令:set nu设定行号:set nonu取消行号设定:set ai自动缩进:set noai取消自动缩进7)其他命令:n,mw(!) newfile将第n行到第m行的文字保存到newfile中:n,mw newfile将第n行到第m行的文字添加到newfile后$vi r 文件名恢复被中断的文件内容。$vi file1 file2 . 同时编辑多个文件 :w保存:n 引入下一个文件4 处理文本文件1) 显示文件内容Linux提供cat,more,pg,pr,head和tail命令。cat,head和tail命令也可以显示二进制文件,more,pg和pr只是用来显示文本文件。有一些linux提供od命令,用于把二进制、整数或浮点数转换成可读的ASCII字符。string 命令用于显示二进制文件中的字符串或目标文件。2) 排序sort命令用来对文件或文件中的行进行排序。它可以基于一整行或一行中的某一部分进行排序。在一行中被用来排序的部分称为关键字,关键子通常是一个单词。通常关键字前后用空格隔开。如”two words”包含两个关键字:第一个关键字为“two”,第二个是” words”。尽管空格用来分隔两个关键字,但它作为第二个关键字的一部分。举例:days 文件,内容:Jan 1 New Years DayApr 1 April Fools DayOct1 National Daydec 25 ChristmasDec 26 Sandys birthday(1) 对文件进行排序sort days/days中的行依据ASCII顺序排列。根据ASCII字符设置,所有大写字符都位于小写字符之前。sort f days/ -f 选项使sort命令遇到相同字母时,将大写字母排列于小写字母之前。这种排序称为“文档”顺序,将大写字母和小写字母视为相同的。-u 选项将丢弃重复的行。注意,-u 和 f同时使用可能会删除原本不想删除的行。-r 选项将使文件按逆序排列。-n 选项将记录作为数字进行排序。-d 选项根据字典顺序仅对字母、数字和空格排序。(2) 依据关键字对文件进行排序sort k 3 days/指定第三个单词作为排序关键字,排序时空格将排在其他字符之前。sort k 3b days /b 忽略前导空格3) 字数统计使用wc命令统计一个文件中有多少行或多少字。行指的是带有行结束符的字串,一个单词指的是开始和结束都是空格的一个或多个字符。wc 文件名/给出文件中的行数,单词数和字节数wc l 文件名/ 行数 wc w 文件名/单词数wc c 文件名/ 字节数4) 查找文件的内容grep optionexpression file命令用于在文件中搜索一个模式,并将包含该模式的行都显示出来。如果没有指定file,那么grep就假定输入是标准输入。通常,每找到一行就复制一行到标准输出上,如果有多个输入文件的话,就在找到的每一行前显示其文件名。grep 的选项有:-c仅显示包含该模式的行数-e显示文件中与表达式匹配的行-i在比较时忽略大小写-h在搜索多个文件时,不显示文件的名称-l对于有匹配行的文件,仅显示一次文件名,并用换行符分隔-n在每一行之前加上该行在文件中的行号-s当文件不存在或不可读时,不显示出错信息。-v显示所有不包含该expression的行-A n显示匹配行以下的n行-B n显示匹配行以上的n行例如:grep n A 2 inetd /etc/rc.d/*显示/etc/rc.d目录下所有文件中包含inetd的行,包括行号,并且显示匹配行以下的两行。5) 比较文件内容如果两个文件只有细微差别,利用文件比较程序便可方便地找出他们的差异。有两个文件比较命令:cmp和diffcmp命令:cmp option file1 file2默认情况下,如果两个文件相同,则cmp不输出任何信息:如果两个文件不同,则cmp给出不同处的字节号和行号;如果一个文件是另一个文件的开头部分,则cmp指出这一点。选项: -l 显示每一个不同点的字节号(十进制)和不同的字节内容(八进制) -s 对文件间的差别不显示任何信息,仅返回代码。diff optionfile1 file2 用于指出应对两个文件中的哪些行进行修改,以使两个文件一致。如果file1 和file2是减号,则使用从标准输入文件,如果file1是目录,则file2和file1目录下的同名文件比较;如果都是目录,则把两个目录下的同名文件都进行比较。比较后的输出通常为以下格式:n1an3,n4 意思是加入行n1,n2dn3 意思是删除行n1,n3cn3,n4 意思是改变行字母后面的数字属于file2。在每一个这样的行后面,有以”后面标记第2个文件中所有受影响的行。选项-i忽略字母的大小写-w忽略所有空白,并认为所有其他的空白串是相等的。在比较两个目录时,有以下的选项:-r 对于遇到的公共子目录,递归使用diff-s报告相同的文件一般来说,cmp用于检查两个文件是否完全相同;cmp运行得很快,可对任何类型的文件进行比较。diff用于找寻文件的不同点,使你确切知道有哪些不同,只使用于比较正文文件。 5 文件的组织1)目录层次在Unix系统中所有文件和目录的结构被称为“文件树”,这是一种用于保存和使用文件和目录的组织方式。它的最底层为根目录,它包含其他文件和目录,而另外的目录又包含有自己的文件和目录,如此类推。每个文件都有自己的名字,路径名和文件名是区分开来的。路径名用来描述如何从根马路(又称绝对路径或全路径名)或从当前工作目录(又称相对路径名)中找出具体的文件或目录。绝对路径名总是从根目录/开始。路径名中各部分用斜杠/字符分开。每个用户有个人目录或户主目录。户主目录只包含属于用户自己的文件。当刚注册登录时,进入的是个人目录。用户可以改变当前的工作目录,但用户的户主目录将永远不变,除非作特别的处理。登录到系统后,可以用命令pwd(print working directory)打印当前工作目录名,来查看用户的户主目录。$ pwd改变工作目录用cd命令(getconf NAME_MAX . getconfPATH_MAX . ) 查一下2)文件和目录操作(1) 显示目录内容 ls option filels 命令列出文件和目录。如果命令行中没有给出文件file,ls列出当前目录的内容。选项:-a列出所有文件,包括隐藏文件和目录(.)和(.)。-A列出所有文件和目录,包括以点开始的文件,但不列出(.)及(.)目录。-l以长格式输出。-p由反斜杠来表示目录。-r逆序显示文件-t以时间排序-x以多列的方式显示(2) 删除文件删除文件的命令是rm(即remove)。在命令中必须要指明删除的文件是哪一个。要删除文件,必须在父目录上有写的权限,可删除你拥有的所有文件。即使在文件上没有写的权限,如果拥有在文件所在的目录上的写的权限,也能用rm命令删除它。如果在文件上没有写的权限,rm命令会进行询问以便确认。例如:rm命令可以删除文件或目录rm -fi filerm rR -f-i dirnamefile选项说明:-f强行删除文件,即使对该文件没有写的权限,也将不作提示就删除。 注:当使用rm f * 时应非常注意。-i删除文件前,将显示确认信息。-r以递归的方式删除目录。-R(3)生成和删除目录生成目录的命令是mkdir, mkdir -p -m mode dirname其中,dirname是要生成的目录名,它可以是相对路径名,也可以是绝对路径名,通常,mkdir不能生成中间目录,也就是说,如果想生成work/sales,则work目录名必须已经存在。如果work目录不存在,同样可以用mkdir命令生成: $ mkdir work work/sales 等价于 $mkdir p work/sales删除目录的命令是rmdir, rmdir -p dirnamermdir命令仅能删除空目录。在删除含有文件的目录前,必须从该目录中删除所有的文件和目录。rmdir命令可用-p选项删除中间目录。例如:如果未放任何文件到各级目录中,可用rmdir命令删除这些目录:$rmdir work/sales work 等价于 $rmdir p work/sales删除目录的另一方法是给rm 赋-r选项。“r”表示“递归(recursive)”。当rm命令遇到目录时,它就进入目录并删除所有文件,如果再遇到其他目录,则再进入该目录删除所有文件,如此类推。(4)复制和链接文件和目录复制文件或目录也就是生成文件或目录的拷贝,这个拷贝独立于源文件。链接文件意味着生成一个新的文件名。复制文件和链接文件的不同之处在于:复制文件是生成新文件,链接文件仅生成一个新文件名,仍只有一个真正的文件。复制命令是cp -fR original copy将文件original拷贝到copy.为了复制文件到目录中,用目录名作为目标。cp -fR originaltargetdirectory拷贝与源文件有相同的文件名,但是位于新的目录中。例:当前目录有mary文件和blond目录。$cp mary newm$cp mary newm blond复制目录:复制目录必须用-R选项(”R”表示递归)。一些系统也支持同-R类似的-r选项,但是不复制特殊文件,仅复制常规文件和目录。链接:链接文件的命令是ln, ln -s from toln命令缺省为硬链接,-s选项使ln生成软链接(也称符号链接)。在此说明硬链接和符号链接的不同。硬链接仅在同一文件系统中起作用,并且它仅能链接普通文件,而非目录。如果必须超越文件系统链接,或者必须链接目录,可用符号链接。为生成符号链接,可在ln命令中用-s选项。符号链接是指向其他文件或目录的特殊文件。注意:ln s命令original文件的路径名应为绝对路径。(5)移动并重命名文件和目录移动并重命名文件和目录的命令是mv,有两种形式的mv命令。要文件或命令移动到新的位置,用下面形式的命令:mv 源文件名新文件名要移动一个或更多文件到现存的目录中,用下面形式的命令:mv 文件1 文件2目录虽然能重命名文件以取代另一文件,但不能取代已存在的目录。6.SHELL命令 前面我们已经讲过什么是SHELL,系统打印命令提示符、用户键入命令、命令得以执行,所有这些工作并不是直接由内核完成的,而是由往返于内核和用户之间的命令解释程序即SHELL完成的。SHELL能做一些特殊的工作,然而它本身也是一个普通程序,用SHELL连接用户和核心程序有不少优点,这里我们讨论几点:1) 用通配符匹配文件通配符模式是匹配文件名的简洁方法,通配符字符是“代表”其他字符的字符,当SHELL看到文件名中含有通配符时,它检查当前目录中的文件清单并查找匹配的文件名。如果有文件匹配,无论有一个还是多哥,SHELL都用匹配的文件名代替通配符。有多种通配符:?匹配任意单个字符abc匹配括号中的任一字符(这里为a,b或c)为使成为要匹配的字符, 把它放在开始,如:abca-c匹配给定范围内的字符。!ac匹配除了括号中字符外的任意单字符(本例中为除a或c外的任意 字符。*匹配任意(空或多)字符例:在目录test下有下列文件:boat,coat,Goat,good,color,.hidden1 匹配隐含文件:所有隐含文件都有以点开始的名字,采用模式 .* 。*和?都不匹配位于文件名开头的点。2 所有四个字母的文件名: ?3 所有以”c”或”g”开头的文件名: cg*4 以大写字母开头的一个文件名:A-Z*2) 文件重定向与管道SHELL可以改变各种程序的标准输出,使它由输出到终端变成输出到某个文件;同样SHELL可以重新安排程序输入,使它由终端输入变成从某个文件输入。例如:$ls 在终端上显示一个文件名列表$ls filelist 原来输出到终端的文件名表将输出到文件filelist中 。符号的意思是“把输出送到其后的参数文件中,而不是终端”。如果指定的文件不存在,则该文件被建立;如文件已存在,则原来的文件内容被覆盖。$cat f1 f2 f3 temp 把几个文件连接起来如果不想覆盖已有文件的内容,可使用符号,它的意思是“把输出附加到指定文件的后面”。所以命令:$cat f1 f2 f3 temp 是将f1,f2,f3内容连接起来添加在temp文件的后面。类似地,符号意味着程序从后面的参数文件输入,而不是从终端输入。如可以将一个信件文件同时发送给几个人。$mail renee frank wang temp$sort temp$wc l temp$grep wang temp上面这些例子中,信息的传送都是将一个程序的输出经过暂存文件再转换成另一个程序的输入。暂存文件除了暂时存放数据外没有别的功能。由此引出另一个概念,管道。管道的作用是把一个程序的输出直接接到另一个程序的输入,而不经过任何中间文件。用管道重做上面的例子:$who | sort$who | wc l$who | grep wang管道可以连接多个程序。如:计算用户wang登录了多少次。$who |gerp wang |wc -l3) 命令和作业控制在UNIX系统中,一次可以运行多个命令,同时运行多个命令有两个含义,即:同时在命令行写入多个命令有两个含义,即:同时在命令行中写入多个命令;运行一个命令后,在它没有执行完之前接着运行下一个命令。(1) 多命令行将多个命令写入一个命令行中,如:$ cd;pwd(2) 后台执行可以使用后台进程方式运行程序,使用操作符&就可以实现在后台运行程序。例如,输入 “ls /etc/passwd &”命令后,该任务即在后台执行,屏幕显示该任务的进程号,然后显示命令提示符,可以键入其他命令运行。根据当前使用情况,可以把运行中的程序放到后台、挂起、继续在后台运行、终止或者放到前台。这也就是所谓的作业控制。如果运行的是bash,可以使用以下命令来执行上面的操作。Ctrl-z把一个运行中的程序放入后台并挂起。fg把一个挂起的程序调回到前台显示。bg把一个挂起的程序继续在后台执行。jobs可以得到一个被挂起的程序的清单。4) 环境变量Linux的命令解释器可以定义环境变量,这些环境变量的值影响到Linux中命令的行为。已经存在的环境变量的值可以使用set得到,并且利用Export 变量名=值 语句可以设置一个新的环境变量或是改变已有的环境变量的值。用户个人的变量,一般要求用小写字母,而shell的变量常用大写字母。常用的环境变量有:PATH、PS1、TERM等。TERM这个变量在前面已经介绍过,它存放的是终端的名称。使用echo $TERM就可以查看TERM变量的值。可以使用export TERM=”来修改TERM的值。PATH决定了命令解释器寻找可执行文件的目录。通常是一个目录的列表,每一个目录之间用冒号隔开。当没有输入程序的路径而要执行一个程序时,系统在PATH目录中一个一个找,直到找到为止。如果命令解释器找不到某个命令,并不一定是这个命令不存在,可能是这个命令所在的目录不在PATH所列的目录列表中。可以通过改变PATH的值来使得目录包含在PATH之中。如将/usrbin目录加到PATH中,可使用export PATH=$PATH:/usrbin 这样,在/usrbin中的文件不用输入路径就可以执行。但这只是暂时的,如果要在每次登录时这个命令都生效,可在.bash_profile文件中加入该命令即可。PS1决定shell提示符的样子。在Red Hat 6.x中,PS1的值为 “uhw$”其中u表示登录的用户名称h 主机的名称w当前工作目录的路径其它参数可参见书。还有一些其它常用的变量,如:MAIL: 存放邮件文件的路径名PWD: 当前工作目录HOME: 当前用户的户主目录可从.bash_profile文件中看到更多的变量,也可在其中加入命令或变量来组成自己的工作环境。5) 进程管理进程是计算机操作系统的一个重要的基本概念,它是操作系统分配资源的基本单位。进程是程序的一次执行过程。进程和程序的主要区别是:进程是一个动态的概念,而程序是一个静态的概念。(比方)可以使用ps命令得到有关进程的信息。前面我们使用ps命令可以得到我们当前使用的是什么shell,为更详细地显示进程的信息,可以使用下面的命令:ps lf。显示的内容有:FSUIDPIDPPID CPRI NIADDR SZWCHANSTIME TTYTIME CMD其中:F是由与进程相关的标志组成的8位状态字。如:001表示进程在内存中。010表示该进程是系统进程等等。S表示进程的状态:0表示没有该进程,R表示该进程处于运行状态等等。UID进程所有者的用户标识或注册名。PID进程表示号。PPID创建该进程的进程PID。C反映进程调度占用CPU的情况。STIME进程的启动时间。PRI进程的优先数。其值越大表示优先级越低。NI由nice命令设置的来计算优先级的值。ADDR如果进程在内存中,则表示进程的内存地址,否则表示为磁盘地址。SZ进程在内存中的大小。WCHEN睡眠或等待的时间。TTY与该进程有关的终端。TIME该进程占用的CPU时间。CMD命令名。要显示系统所有信息的命令如下:ps e这时列出的进程包括在后台执行的进程。这个命令与grep结合在一起使用非常有用,你可以查看某个进程是否确实存在。例如:ps e |grep httpd可以查看系统的web服务器有没有起来。要想列出某个用户的进程,可以用下面的命令:ps fu 用户名要想显示和某个终端有关的进程,可使用下面的命令:ps t 终端号。可使用命令tty得到终端号。top命令用于读入文件系统的信息然后在屏幕上显示出来。包括系统数据和进程的状态等。具体上机去看。进程的优先级如果一个进程想以一个比其它进程低的优先级运行,用户可以在程序调用时设定一个nice参数。在Linux系统中nice参数的值可从-20到19。标准nice的参数值试。数值越高优先级越低。命令的格式为:nice mand可以让用户给command设定一个低的优先级。只有超级用户才可以给command设定一个高的优先级。如果没有command参数,则nice显示命令解释器的nice参数。如果没有选项,则nice减少10点优先级,即nice参数加10。通常情况下,nice用于后台进程,前台进程总是在高的优先级下运行。有时进程执行时间很长,以至等不到它结束就要关闭终端下班。终端一旦关闭或断开连接,多由进程都要终止,即使使用了&符也是如此。命令nohup可以用于处理这一情况,当你键入$nohup command &以后,程序在你退出注册后仍然继续运行。命令中的任何输出都放在nohup文件里。一般再没有停止nohup命令的办法。nohup自动调用nice,由于你退出注册再运行程序,稍长的运行时间是可以接收的。另外,还可以使用at命令在指定时间运行你的程序。命令的格式为:atq queueTIMEat-lat -r作业名其中-q可以指定可选队列的名称。队列可以从a到z或是从A到Z之间的任意字母。c是队列的默认值。TIME是作业开始的时间。TIME的格式很灵活,可以为HHMM或HH:MM,既可以用24小时制(2130), 也可以使用12小时制(930pm),使作业可以在一天中的指定时间运行。也可以指定日期,其格式为MMDDYY、MM/DD/YY或DD.MM.YY。-l可以列出现在安排的作业。-r可以从队列中取消指定号的作业。另外-f选项可以从文件中读出作业任务,而不是从标准输入中读入。-m选项表示在作业完成之后,即使没有输出,也会将邮件送到用户。例子:$ at 3am file 表示上午3点执行从file文件中读入的命令。二、 用户管理无论系统中是否有多个用户,了解Linux下的用户管理是十分重要的,即使系统中只有一个用户,用户自己也可能有一个单独的帐户(一个有别于root的帐户)来完成大多数工作。1用户管理概念系统保存着有关每个用户的一系列信息,这些信息以下面的方式标识: 用户名:用户名是用来标识系统中每个用户的唯一标识符,例如:frank,qhua和wang。用户名中可以使用字母、数字、下划线(_)和句点()。通常情况下用户名限制在8个字符。 用户ID:用户ID或UID,是系统给每个用户的唯一的数字,系统通常是通过UID而不是用户名来保存用户信息的。 组ID:组ID或GID是用户的缺省组ID。每个用户通过系统管理员被定义属于-个或多个组,下面将进一步介绍。 口令: 系统还保存了用户加密了的口令,passwd命令可用来设置和改变用户口令。 全名:用户的“真实名字”或“全名”,与用户名一起存储,例如用户wang在现实世界中的名字为Wang Yang Xia。 个人目录:个人目录是用户在注册时最初所处的目录,每个用户都有其个人目录,通常在目录/home下。 用户的注册shell是在注册时启动的shell,例如:/bin/bash和bin/tcsh。 文件/etc/passwd中包含了有关用户的这些信息,文件中的每一行包含了一个用户的信息,每-行的格式如下: username: encypted password: UID:GID:full name:home directory: login shell 例如: wang: Xv8Q98lg7iokk:102:100:Wang Yang Xia:/home/wang:/bin/bash 其中第-个域,“wang”就是用户名 第二个域,“Xv8Q981g7iokk”是加了密的口令,存储在系统中的口令是人们无法读懂的格式。口令用它本身作为密钥来加密,换句话说,你需要知道口令来解密,这种形式的加密是相当安全的。 有些系统采用的是“阴影口令”,这时口令信息被移交给文件/etc/shadow。因为/etc/passwd是全局可读的,而/etc/shadow则提供了某种程度的安全性。因为它并不能全局可读,阴影口令提供了其它一些特征,例如口令逾期等,这里不展开讨论这些特征。 第三个域,“102”是UID,这个数对于每个用户来说是唯一的。 第四个域,“100”是GID,这个用户属于组号为100的组,组信息和用户信息都存在文件/etc/group中。 第五个域是用户的全名,“Wang Yan Xia”。 最后两个域分别是用户的个人目录( /home/wang)和注册shell(/bin/bash)。用户的个人目录并不需要与用户名同名,但采用相同的名字便于识别目录。2 增加用户 增加-个用户需要完成以下几步,首先需要在/etc/passwd中给用户一个人口项。 该项具有唯-的用户名和UID, GID、全名和其它-些必须说明的信息。用户的个人目录必须创建,而且必须对该目录的存取权限进行设置,使得用户可以拥有该目录。shell初始化文件必须在新的个人目录下提供,还必须完成其他一些系统范围内的配置(如对新用户设置收到电子邮件的缓冲池等)。 虽然手工增加用户并不困难、但当运行一个具有很多用户的系统时很容易忘掉一些事情,最简单的增加用户的方法就是采用交互式程序来完成,该程序询问一些必需的信息并且自动修改所有的系统文件。这样的程序名为useradd或adduser,它依赖于所安装的软件,这些命令的联机帮助将详细地解释其用法。3 删除用户 删除用户可以通过命令userdel或deluser来完成,这依赖于系统所安装的软件。 如果想不删除用户帐户而暂时使用户无法注册,可以仅仅在/etc/passwd中的口令域前加星号(“*”)来实现。例如:将wang的/etc/passwd项改为: wang:*Xv8Q981g7iOkk:102:100:Wang Yan Xia:/home/wang:/bin/bash 这样wang便无法注册。4设置用户属性 创建用户之后可以改变用户的属性,例如个人目录或口令,最简单的方法就是直接改变/etc/passwd中的值。设置用户口令,可以用passwd命令,例如: $ passwd wang 将改变wang的口令,只有root才可以用这种方法改变其他用户的口令,其他用户也可以用passwd来改变他们自己的口令。 在某些系统中,命令chfn和chsh可以提供允许用户设置他们自己的全名和登录shell属性,不然的话,他们必须要求系统管理员为他们改变属性。使用finger命令可以查看用户信息。chfn修改用户属性。5管理用户组 前面已经提到过每个用户属于一个或多个组,但唯一真正重要的是组间的关系与文件 极限相关。每个文件有一个“组所有权”和一些组存取极限,这些权限定义了该组中的用户如何存取文件。 有一些系统定义的组,如bin, mail和sys,一般用户不能属于这些组中的任何一个,它们仅仅用来控制系统文件的存取。用户应该属于一个单独的组,如users;还可以有多个用户组,比如student,staff和faculty等。 文件/etc/group中包含了有关组的信息,每一行的格式为: 组名:口令: GID:其他成员 例如: root:*:0: user:*: 100:mdw,larry guest:*:200: other:*:250: wang 第一个组, root是一个特殊的系统组,是为root帐户保留的。 第二个组, users是-个常规用户组,其GID为100,用户mdw和larry是该组的成员。 在/etc/passwd中每个用户都有一个缺省GID值,用户还可以属于多个组,只需要将用户名增加到/etc/group中的其他组项中即可。命令groups列出用户当前可存取的所有组。 第三个组, guest是客户用户组。 Other是其他用户组,用户wang属于该组。 从上面可以看出,/etc/group中的口令域很少使用,有时要对组的存取设置口令,但几乎很少需要这样做。为了防止用户用newgroup命令改变成为有特权的组,把口令域设置为“*”。 addgroup或groupadd命令用来给系统增加组。通常情况下,直接往etc/group中增加项比较容易,因为增加-个组并不需要做其它的配置,删除-个组也只需要在/etc/group中删除该项即可。三、 文件系统管理文件系统形成了 Linux系统上所有数据的基础,Linux程序、库、系统文件和用户文件都驻留在文件系统上,因此对文件系统的适当管理是很重要的。1文件系统的目录结构 在 Linux下,用户所见到的文件空间是基于树状结构的,树的根在顶部。在这个空间中的各种目录和文件从树根向下分支,顶层目录(/)被称为根目录。 Linux操作系统由一些目录和许多文件组成。根据用户选择的安装不同,这些目录可能是不同的文件系统。通常,大多数操作系统都驻存在两个文件系统上:即称为/的根文件系统和安装在/usr下的文件系统。 如果你用 cd /命令将当前目录改变到根目录,并用ls命令列出目录清单,你就会看到一些目录。这些目录组成了根文件系统的内容,它们也为其他文件系统提供了安装点。 /bin目录包含称为二进制( binary)文件的可执行程序 (事实上,名为/bin的目录是 binary的缩写)。这些程序是必需的系统文件,许多 Linux命令(如 ls)放在该目录中。 /sbin目录也用于存储系统二进制文件。这个目录中的大多数文件用于管理系统。 /etc目录非常重要,它包含许多Linux系统配置文件。从本质上说,这些文件使你的Linux系统具有自己的个性。口令文件(口令)就放在这里,在启动时安装的文件系统列表( fstab)也放在这里。另外,这个目录还包括 Linux的启动脚本、你想要永久记录的、带 IP地址的主机列表和许多其他类型的配置信息。 /lib目录中存储着程序运行时使用的共享库被存储在此。通过共享库,许多程序可以重复使用相同的代码,并且这些库可以存储在一个公共的位置上,因此能减小运行程序的大小。 /dev目录包含称为设备文件的特殊文件,这些文件用于访问系统上所有不同类型的硬件。例如,/dev/mouse文件是用于读取鼠标输入的。通过用这种方法组织对硬件设备的访问,Linux有效地使硬件设备的接口看起来就象一个文件。这意味着在许多情况下,你可以用对软件使用的相同语法来对计算机的硬设备进行操作。 /proc 目录实际上是一个虚拟文件系统,它被用于从内存中读取处理信息。 /tmp目录用于存储程序运行时生成的临时文件。如果你有一个程序,它会生成许多大的临时文件,那么你可能想把/tmp目录作为一个独立文件系统来安装,而不是只把它作为根文件系统上的一个目录。如果把/tmp作为根文件系统上的一个目录,并且有许多大文件要写入其中,那么根文件系统的空间就会用尽。 /home目录是用户起始目录的基础目录。通常把它作为一个独立的文件系统来安装,这样用户就能有大量用于自己文件的空间。事实上,如果系统上有许多用户,则可能需要把/home分成几个文件系统。为此,需要建立子目录,如用/home/staff和/home/admin目录分别作为公司职员和管理人员的子目录。把每一个这样的子目录做为不同的文件系统来安装,然后在其下建立用户的起始目录。 /var目录保存要随时改变大小的文件。通常,各种系统记录文件都放在这个目录下。 /usr目录及其子目录对 Linux系统的操作是非常重要的。它包含这样一些目录,这些目录中保存系统上的一些最重要的程序。通常,/usr的子目录包含你安装的大型软件包。子目录 描述/usr/bin 这个目录保存许多在Linux系统上能找到的可执行程序。 /usr/etc 这目录包含许多各种各样的系统配置文件。/usr/include 这个目录及其子目录是存放 C编译程序的所有包含文件的地方。这些头文件定义常量和函数,对 C编程是重要的。/usr/g+-include 这个目录包含 C十十编译程序的包含文件。/usr/lib 这个目录包含

温馨提示

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

评论

0/150

提交评论