




已阅读5页,还剩112页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,Linux基本概念和常用命令,主要内容,熟悉Linux的基本环境掌握常用的Linux指令及操作掌握一些常用的配置熟悉常用软件的安装配置,Linux目录树结构,Linux内的所有数据都是以文件的形态来呈现。平时为了区分普通文件和目录,我们有时称类型为目录的文件为目录,称其它的类型的文件为文件。Linux系统用目录树组织文件。一级目录层次目录目录树架构(directorytree)是以根目录为主,然后向下呈现分支状的层次结构(即目录树)。整个目录树架构最重要的目录是根目录(rootdirectory),因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机、还原、系统修复等有关。根目录的表示方法为一条斜线/。所有的文件都和目录树有关。图片演示了目录树的呈现方式。如图所示,所有的文件都是由根目录(/)衍生来的,而次目录之下还能够有其他的数据存在。,Linux目录配置,因为利用linux做开发的组织和个人实在太多,为了规范和方便人们使用linux,各种标准被制定出来。其中Linux目录配置的标准是FilesystemHierarchyStandard(FHS)。FHS的重点在于规范每个特定的目录下应该要放置什么样子的数据。因此FHS定义根目录(/)下应该要有以下这些次目录:,/etc/:几乎系统的所有配置文件均在此,例如passwd,shadow。/etc/init.d:系统开机的时候加载服务的脚本程序的存放地点/boot:开机配置文件和linux内核vmlinuz的地方。/usr:UnixSoftwareResource的缩写,也就是Unix操作系统软件资源所放置的目录。/usr/bin,/bin:一般指令存放的地方/usr/sbin,/sbin:系统管理员常用指令的地方/dev:摆放所有系统设备文件的目录/proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。/var:variable的缩写,主要存放经常变动的文件,包括缓存(cache)、日志文件(logfile)以及某些软件运作所产生的文件。/var/log:摆放系统日志文件的地方,Linux登录和退出,图形模式与文字模式切换Ctrl+Alt+F1F6文字界面tty1tty6Ctrl+Alt+F7图形界面使用终端图形界面下,输入用户名和密码登陆。在屏幕上点击鼠标右键,选择“终端”。文字界面下,输入用户名和密码,自动获得一个终端。退出系统图形界面下,选择上方的”系统”-”关机”进行关机或重启。文字界面下,输入命令shutdownhnow或init0,命令init6重启。退出终端输入指令exit,Linuxshell登录,如左图所示,在linux系统中,用户无法直接操作linux内核,更不能直接操作硬件。但总是需要让用户操作系统的,所以就有了在操作系统上面发展的应用程序。用户可以通过应用程序指挥内核,让内核达成我们需要的硬件任务。Shell就是这种应用程序。Shell的功能是提供用户操作linux系统的一个接口,通过它可以调用其他程序,比如我们接下来要学的命令,让这些程序调用内核来运行所需的工作。因此,我们又称shell为命令解释程序。shell有许多版本。可以查看/etc/shells这个文件,了解Linux下有哪些可用的shell。其中linux默认的shell版本为“BourneAgainSHell(简称bash)”。,为什么学习命令行界面的shell?对于不同的linux发行版本,图形界面各有不同,但命令行界面:大家都一样,几乎都使用的bash。远程管理:命令行界面比较快。通过学习shell可以让你更深入linux,更了解它,而不是只会按一按鼠标。若你想管理好你的主机,那么常用的linux命令是一定需要的。,Linux命令基本格式,命令的输入格式为:command-optionsparam1param2.命令选项参数1参数2区分大小写,一行命令的第一个输入部分必须是命令或可执行程序。command为命令的名称,例如变换路径命令cd等。中括号并不存在与实际的命令中,只表示方框里的是可选的。选项通常以“-”开始,例-h。完整参数名称则以”-”开始,例-help参数为依附在option后面的参数,或者是command的参数。命令、选项和参数之间以空格隔开,多个连续的空格shell视为一个空格。按下回车键该命令就立即执行。指令太长时,可以使用“”后接回车,继续到下一行输入。,bash快捷键,Tab键接在一行命令以空格分割的第一部分后面,为命令补全。Tab键接在一行命令以空格分割的第二部分后面,为文件补全。Ctrl+d表示输入结束符,键盘输入结束endoffile(EOF)Ctrl+c或ctrl+退出目前正在运行的程序Ctrl+r开始向上搜索包含该字符的命令显示上一条命令显示下一条命令!str在所执行过的命令中,找到最近一次以str开头的命令,再执行一遍Ctrl+u删除命令行中光标所在处之前的所有字符(不包括自身)Ctrl+k删除命令行中光标所在处之后的所有字符(包括自身)Ctrl+Alt+Del重新启动,如何获得帮助,command-helpmancommand(q退出man帮助)whatiscommand与man相比,whatis命令可以提供更加简洁的帮助信息。论坛:,日期命令:date,功能:显示日期用法:date+format例如:#date显示目前linux系统的时间ThuSep321:47:35CST2009可以要求date按照用户指定的格式format输出,格式有许多种,在命令行输入date-help查看有哪些可用的格式#date+%y/%m/%d输出年月日11/09/03#date+%Y/%m/%d2011/09/03#date+%H:%M输出当前的时间21:48#date“+%h%m”输出本月的简称,若输出空格用双引号括起来Sep:09,日历显示命令:cal,功能:显示指定年或月份的日历用法:calmonthyear注:年year的有效值在19999,月month的有效值在112范例:#cal显示当前月份的日历#cal2020,显示2020年的日历#cal101949显示1949年10月的日历清屏指令:clear,文件和目录管理常用命令和概念,路径和目录,相对路径与绝对路径绝对路径路径的写法一定由根目录/写起,例如:/usr/share/doc相对路径指相对于目前工作目录的路径,例如:由/usr/share/doc要到/usr/share/man时,可以写成cd./man。只要路径不是由/写起,就是相对路径的写法!Liux下特殊的文件文件名以.开头的文件属于隐藏文件。输入命令ls-a查看.代表当前目录.代表上一层目录扩展名基本上,linux没有所谓的扩展名,比如一个文件能不能执行和它的第一列的10个属性有关,与文件名无关。不过我们仍希望通过扩展名来了解文件是什么种类。比如:.c、.h、.sh、.tar、.html等。基本上,linux系统的文件名只是让你了解该文件可能的用途而已。,命令名称:cd使用语法:cddirectory功能:变换工作目录至directory。参数说明:directory可为绝对路径或相对路径。-代表前一个工作目录代表目前使用者身份所在的家目录account代表account这个账号的家目录若目录名省略,则变换至用户的家目录(也就是登陆时所在的目录)。范例:进入用户家目录#cd或cd进入上一级目录下source目录#cd./source进入/usr/local目录#cd/usr/local,文件和目录管理指令:cd,文件和目录管理指令:pwd,命令名称:pwd使用语法:pwd功能:打印当前工作目录(printworkingdirectory)范例:打印当前工作目录#pwd/root/,文件和目录管理指令:mkdirrmdir,命令名称:mkdir使用语法:mkdir选项directory功能:创建目录选项:-p:和不带参数的功能相识,只是当所需创建目录的上级目录不存在时,上级目录也将被创建。范例:在当前目录创建一个名为dir的目录#mkdirdir在/tmp目录下创建一个名为mydir的目录#mkdir/tmp/mydir在/tmp/1/2/3/4目录下创建一个名为dir01的目录,要求:若dir01的上级目录不存在时,将上级目录也创建出来。#mkdir-p/tmp/1/2/3/4/dir01,命令名称:rmdir使用语法:rmdir选项directory功能:删除空目录选项:-p:和不带参数的功能相识,只是当删除指定目录后,其上级目录也变成空目录时,上级目录也将被删除。范例:在当前目录删除一个名为dir的目录#rmdirdir在/tmp目录下删除一个名为mydir的目录#rmdir/tmp/mydir在/tmp/1/2/3/4目录下删除一个名为dir01的目录,要求:若dir01删除后,上级目录也变成空,将上级目录也删除掉。#rmdir/tmp/1/2/3/4/dir01,文件和目录操作中常用通配符,在Linux文件系统中,可以使用通配符来匹配多个选择,例如:ls*.c在当前目录找到所有以.c结尾的文件,显示到终端上,文件和目录管理指令:ls,命令名称:ls使用语法:ls-alrtiname.功能:显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。选项:-a显示所有档案及目录-l除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出-r将档案以相反次序显示(原定依英文字母次序)-t将档案依建立时间之先后次序列出-i列出文件的inode号-color=tty根据文件类型显示不同颜色范例:列出目前工作目录下所有名称是s开头的档案,愈新的排愈后面:ls-ltrs*将/bin目录以下所有文件详细资料列出:ls-l/bin,Linux文件的类型,结束,在Linux中文件的类型是通过文件权限的首位定义的,在命令行下输入lsl每一行的字符代表文件的类型。可以分为以下几类:-普通文件包括下面之外的文件。d目录文件s套接字文件p命名管道b块设备文件如,磁盘,U盘c字符设备文件如,网卡,键盘l软链接文件,返回,查看用户目录下的内容把工作目录切换到/proc目录下打印当前工作目录创建一个目录datecallscdpwdmkdirrmdir,目录动手练习,文件和目录管理指令:cp,命令名称:cp使用语法:cp选项SOURCEDEST功能:将一个文件拷贝至另一目录,或将数个文件或目录拷贝至另一目录。选项:-a尽可能将文件状态、权限等属性都照原状予以复制。等同于-dpR-r/-R若source为目录,则将source中的子目录也拷贝至目的地。-f若目的地已经有相同档名的档案存在,则强制覆盖已有文件,没有警告。-i在覆盖文件或目录时提示范例:将当前目录下的文件abc拷贝到/tmp/目录,并且拷贝的时候重命名为123#cpabc/tmp/123将当前目录下所有的.c文件复制到当前目录中的mydir目录下#cp*.c./mydir将目录mydir目录下所有文件复制到/tmp目录下,并保持属性不变#cpasourcetemp,文件和目录管理指令:mv,命令名称:mv使用语法:mv选项sourcedest功能:将文件或目录移动到指定的目录中,或重命名文件或目录选项:-f:强行覆盖已存在的文件或目录-i:在覆盖已存在的文件或目录前提示范例:将a.txt重命名为a.c#mva.txta.c将当前目录下所有的txt文件移动到当前temp目录下#mv*.txt./temp,文件和目录管理指令:rm,命令名称:rm使用语法:rm选项file.功能:删除文件或目录选项:-i删除前逐一询问确认。-f直接删除,无需逐一确认。-r将目录及以下之档案亦逐一删除。范例:所有以a开头的文件,删除每个文件前,给出提示#rm-ia*删除目录/tmp下的mydir目录#rmr/tmp/mydir,文件和目录管理指令:cat/tac,命令名称:cat(tac从最后一行开始显示)使用语法:cat选项file1file2功能:把档案串连接后传到基本输出选项:-A显示所有隐藏字符和行结束符-n或-number由1开始对所有输出的行数编号-b或-number-nonblank和-n相似,但不对空白行编号-s当遇到有连续两行以上的空白行,就代换为一行的空白行范例:输出hello.c文件内容,列出行号:#catnhello.c输出hello.c文件的内容,包括隐藏字符和行结束符#catAhello.c,文件和目录管理指令:more/less,命令名称:more使用语法:more选项文件名功能:分页显示文件内容范例:more/etc/passwd在显示过程中,可以使用d键翻半页,f键翻整页,q键退出命令:less使用语法:less选项文件名功能:分页显示文件内容范例:less/etc/passwd在显示时,可以使用空格键向下翻,b向上翻,q键退出。其他用法参见手册。比命令more常用。,文件和目录管理指令:head,命令名称:head使用语法:head选项file功能:输出文件的前面一部分内容到标准输出选项:-cN:输出最前的N个字符-nN:输出文件的前面N行范例:显示文件的开头十行#heada.txt命令head默认显示文件的前十行显示文件/etc/man.config的开头3个字符#head-c3/etc/man.config显示文件/etc/man.config的开头3行#head-n3/etc/man.config,文件和目录管理指令:tail,命令名称:tail使用语法:tail选项file功能:输出文件的结尾一部分内容到标准输出选项:-cN:输出最后的N个字符-nN:输出文件的最后面N行-f:当文件在增长时,输出增加的数据范例:显示文件的结尾十行#taila.txt命令tail默认显示文件的后十行显示文件/etc/man.config的结尾3个字符#tail-c3/etc/man.config显示文件/etc/man.config的结尾3行#tail-n3/etc/man.config,文件和目录管理指令:file,命令名称:file使用语法:file选项filename功能:辨别文件类型,对文件的类型进行详细的描述范例:查看文件/bin/ls的类型#file/bin/ls查看某几个文件的类型,动手练习,cp和mv的区别如何查看文件的类型重命名某个文件拷贝文件或目录到另外一个目录下查看某个文件的内容cpmvrmcat/tacmoreheadtailfile,文件和目录权限,用户与组强调文件的拥有者(Owner)root可以充当任何文件的拥有者组(Group)有利于安全与管理类似于现实中的概念,用户可以加入到某个或某几个组中主要用于团队开发时的身份识别和权限设置。权限管理分为三类:文件/目录所有者user文件所属组group其他人others无权访问的文件,通常会显示“Permissiondenied”这样的错误信息,对于无权执行的命令,通常显示“Operationnotpermitted”#cat/etc/shadowcat:/etc/shadow:Permissiondenied,文件和目录权限,文件属性,链接数量,所有者,组,文件大小,创建/修改日期,文件名称,以圆点开头的文件为隐藏文件,文件和目录属性,文件属性,-rwxrwx-,接下来的属性中,三个为一组,且均为“rwx”的三个参数的组合。其中,r代表可读,w代表可写,x代表可执行,-代表无此属性。,所有者,组,其他人,-rwxrwxrwx,第一个属性代表这个文件的类型,改变文件权限:chmod,可以通过符号类型改变文件权限,因为三套属性分别是针对user(所有者)、group(组)、others(其他人)的,所以就可以分别用ugo来代表三个对象,a代表三套属性。指令chmod功能:改变文件权限用法:范例:给当前目录的test.c的拥有者添加可执行权限#chmodu+xtest.c,文件,改变文件权限:chmod,第二种方式:rwx可以分别用数字表示r4w2x1若要rwx属性则4+2+1=7语法:chmod-Rxyz文件其中xyz分别为三组rwx属性数值的和选项-R,递归地将目录下的所有文件的权限改变了范例:给test.c增加一切权限#chmod777test.c,文件的三种时间属性,我们在介绍ls指令时,稍微提到在linux下每个文件都会记录时间属性。其实有三个时间属性,那么三个时间意义是什么呢?文件内容的修改时间modificationtime(mtime):当文件的“内容数据”更改时,就会更新这个时间!内容数据是文件的内容,而非属性或权限!查看文件内容的修改时间lsl文件内容的访问时间accesstime(atime):当“该文件的内容被取用”时,就会更新这个读取时间(access)。例如,我们使用cat去读取/etc/man.config,就会更新该文件的atime了。查看文件内容的访问时间lslu文件属性的修改时间statustime(ctime):当“该文件的属性改变”时,就会更新这个时间。例如,权限等属性被更改了,就会更新这个时间。查看文件的属性修改时间lslc,修改文件时间或创建新文件,用法:touch文件功能:touch命令用来改变文件的时间戳,如果file文件不存在,则创建该文件。范例:当前目录不存在file01,用touch创建名为file01的空文件。#touchfile01若当前目录存在file02,用touch更新file02的时间戳。#touchfile02此命令默认会更新file02的三种时间属性为当前时间。用ls查看。,文件与目录权限:umask,系统创建文件时会赋予文件默认权限新建文件时666新建目录时777出于安全性等方面的考虑,文件的实际权限为系统默认权限“减去”权限掩码umask得到的。命令名称:umask功能:设置文件权限掩码,供系统创建文件或目录时使用语法:umaskmodemode为权限的数字表示。若umask后没有mode则显示当前umask值;如果有则设置mode为新的掩码。mode的分数指的是文件默认权限需要减掉的权限!范例:若当前umask值为022#touchtest创建test文件#ls-ltest创建后的文件权限是rw-rw-rw-去掉后面两个w得到的。-rw-r-r-1lijiecongmember0Sep409:20test,动手练习,去掉某个目录的可执行权限,会发生什么?为某个文件增加/去掉可执行权限。改变umask值后建文件和目录,看区别。chmodtouchumask,文件查找指令:find,命令语法:find路径expr功能:按照某个条件expr,在指定目录及其子目录下找出和expr匹配的文件。(条件有文件名,文件类型,文件大小,修改时间等)。常用选项:expr-name文件名文件名可以包含通配符。如:*.c-type类型-size-+大小可以在数字后加c(byte)或k(1024bytes)范例:找出home目录以.c结尾的文件#find/homename“*.c”找出当前目录所有的链接文件#find./-typel,文件查找指令:grep,命令名称:grep使用语法:grep选项“字符串”文件名功能:在文件中查找字符串,然后输出该行。选项:-n显示行号-i忽略字符串的大小写-v反选,将不包括字符串的行找出来-r查找目录下的所有子目录color=tty将字符串高亮显示范例:在文件/etc/passwd中查找包含root的行#grep“hello”/etc/passwd在文件/etc/passwd中找到不包含root的行#grepv“hello”/etc/passwd在文件/etc/man.config中找到包含man的行,man大小写都行,显示在第几行#grep-i-n“man”/etc/man.config查找当前目录下所有文件中包含hello的行#grep-rhello./,文本处理指令,命令cut:截取文件中的部分内容。用法:cutd分隔字符ffield文件-d:后面接分割字符。与-f一起使用-f:依据-d的分割字符将一行信息分割成为数段,用-f取出fileld指定的段范例:将当前系统中所有的账号名列出来。#cut-d:f1/etc/passwd上面命令的意思是将文件/etc/passwd中的每一行,用字符:划分成若干段,取出第一段。命令wc:对文本文件的行、单词和字符信息进行统计。用法:wc-mwl文件名-l:列出文件的行数;-m:多少字符-w:列出多少字(英文单字)范例:统计当前目录下所有c源文件的代码量。#wcl*.c,文件查找指令:updatedb/locate,命令语法:updatedb功能:updatedb会根据/etc/updatedb.conf中配置,为你计算机中的文件建立索引。(需要root权限)命令语法:locatefilename功能:查找某一个文件在文件系统中的位置每天系统会自动执行一次updatedb,查找指令which/whereis,which功能:返回指令在文件系统中的位置用法:whichcommand#whichls查找ls命令的位置/bin/lswhereis功能:在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件使用语法:whereis-bmsfilename.参数:-b只查找二进制文件。-m只查找说明文档。-s只查找源代码文件。#whereisls查找名称为ls的二进制文件,说明文档和源代码。ls:/bin/ls/usr/share/man/man1/ls.1.gz#whereisstdio.h查找C语言标准I/O头文件stdio.h在哪里stdio.h:/usr/include/stdio.h,动手练习,查找某个命令的路径在某个目录下查找文件findgrepupdatedb/locatewhichwhereiscutwc,关亍执行文件路径的变量:$PATH,为什么我在任何目录下输入date指令都能显示日期信息?是因为环境变量PATH的帮助所致!当我们在执行一个指令时候,例如说ls,会依照PATH的设定去每个PATH定义的目录下搜寻文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先搜寻到的同名指令先被执行!看看到底有哪些目录被定义出来了?echo有显示、印出的意思,而PATH前面加的$表示后面接的是变量,所以会显示出目前的PATH!#echo$PATH/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binPATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)隔开。范例:修改PATH,查看是否有些命令不能使用了,SHELL内置命令,事实上,并非所有的命令都能在PATH指定的目录中找到。例如,切换工作目录指令“cd”,用文件查找指令whereis找不到它的二进制可执行文件。其实cd是bash内置的功能。Bash已经“内置”了很多命令,前面的pwd、umask都内置在bash中。type命令功能:判断所执行的命令是外部命令(非bash所提供的命令)或内置在bash当中的。用法:#typemkdirmkdiris/bin/mkdir#typecdcdisashellbuiltin这里可知cd是bash内置的命令。#typelslsisaliasedtols-color=tty这里表明我们执行的ls是个别名,命令别名,命令别名即给一个命令起个别名,执行别名就相当于执行这个命令。这个在经常执行的命令较长时,非常方便。给命令起别名的功能由命令alias来实现,这个alias也是bash内置的命令。用法:aliasname=value#alias直接输入alias列出当前系统有哪些命令别名。这里略去#aliasls列出别名ls所对应的命令。ls=lslcolor=tty例如,给命令lsal|less起个别名。#aliaslm=lsal|less接下来就可以用lm来执行#lm命令unalias用于取消命令别名。例如取消别名lm:#unaliaslm,命令查找的顺序,由前面的内容可知,对于一个外部命令既有可执行程序,又可能有内置命令或者命令别名。那么shell到底调用的是哪个呢?linux下命令查找的顺序如下所示:以相对或绝对路径执行命令,例如./a.out和/bin/ls由alias找到该命令来执行由bash内置的(builtin)命令来执行通过$PATH指定的目录顺序找到的第一个命令来执行了解bash查找命令的顺序,也可以通过输入“typea命令名”查询。例如,查询命令pwd#typeapwdpwdisashellbuiltinpwdis/bin/pwd,压缩和解压缩指令:gzip,命令名称:gzip使用语法:gzip-dfl9name.功能:压缩或解压文件选项:-l:列出压缩文件的内容-f:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。-9:以最大的压缩比压缩-d:解压缩-r:对目录中的每个文件进行递归压缩范例:gzipa.cgzipda.c.gzbzip2a.cbzipda.c.bz2,压缩和解压缩指令:bzip2,压缩打包指令:tar,命令名称:tar使用语法:tar功能:tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件参数:-c建立新的归档文件-x从归档文件中解出文件-v处理过程中输出相关信息-f对普通文件操作-z调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩-j调用bzip2来压缩归档文件,与-x联用时调用bzip2完成解压缩用gzip压缩并打包tar-zcvftest.tar.gz*tar-vzxftest.tar.gz用bzip2压缩并打包tar-cjvftest.tar.bz2*tar-xjvftest.tar.bz2查看压缩包中的内容tartvftest.tar.gz,校验命令:md5sum,命令名称:md5sum语法:md5sumfilename功能:为一个文件或压缩包做校验和,从互联网下载这个压缩包后可以比较md5的校验和是否相同,防止第三方篡改。为某个文件做md5校验和:#md5sumtest.cppa4dea377997297c320899936f59a9352test.cpp,动手练习,压缩一个文件或者目录解压一个压缩文件压缩并打包一个目录下的所有文件为某个文件计算md5校验值dfdugzipbzip2tarmd5sm,Linuxinode概念,Linux读文件时,首先去搜索inode,根据inode来读取文件内容。Indexnode:数据结构,保存有文件/目录的信息(创建者,权限等)每个linux文件系统中的对象(文件,目录)都有一个inode号。在同一个文件系统内,只要inode号一样,不管文件名是否相同,他们就是同一个文件。(文件系统和文件系统类型的区别)ls-ifilename可查看inode号,Linux读取文件过程,链接文件介绍,硬链接(hardlink)hardlink对前一个文件的存取动作与对后一个文件一样。硬链接的限制不能跨文件系统,因为不同的文件系统有不同的inode表不能link目录,链接文件介绍,符号链接(SymbolicLinks)符号链接就是再建立一个独立的文件(有自己的inode),而这个文件会让数据读取指向他link的那个文件内容。如果源文件被删除,那么符号链接将不再有效(打不开)类似windows的快捷方式,符号链接读文件,符号链接有不同的inode被连接的文件被删除,则连接文件失效。连接文件被删除,被连接文件还是存在的。,文件1,符号链接2,inode222,硬盘,inode223,文件链接指令:ln,命令名称:ln使用语法:ln参数sourcedest功能:建立一个文件或者目录的链接注意:链接分为硬链结(hardlink)与软链结(symboliclink),硬链结的意思是一个档案可以有多个名称,而软链结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链结是存在同一个文件系统中,而软连结却可以跨越不同的文件系统。不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。参数:-f:链结时先将与dest同档名的档案删除(强制连接)-i:在删除与dest同档名的档案时先进行询问-s:进行软链结(相当于windows的快捷方式)软连接一个文件lns/tmp/test/tmp/test.link硬链接一个文件ln/tmp/test/tmp/test.link,动手练习,查看磁盘情况查看某个目录下文件占用磁盘情况建一个软连接建一个硬链接查看软连接和硬链接的inode号修改连接文件的内容,比较软硬连接的区别dfduln,用户登录内幕,用户以不同的用户名(即账号)登陆系统,就拥有了不同的权限(身份),这种权限赋予该用户能对系统所进行的操作。我们在学校用过的教务管理系统,老师和学生登陆Linux登录过程:提示输入用户名和密码linux查询/etc/passwd里面是否包含该用户名如果没有则退出,如果有则读取该用户的UID和GID以及Home目录、Shell等linux查询/etc/shadow以核对密码如果密码正确则进入shell控管范围,passwd文件内容,/etc/passwd文件内容:用户名密码(x)UID(1499系统预留50065535)GID说明信息Home目录Shell相关命令:passwd,shadow文件内容,/etc/shadow文件内容:用户名密码:经过了加密,如果*开头那么不能登录上次更改密码的日期(1970/1/1起)密码不可被修改的天数(0表示随时可改)密码需要重新修改的天数(99999表示不用改)密码需要修改期限前的警告期限(7表示失效前7天开始提示)帐号失效期限帐号取消期限预留,group文件介绍,/etc/group文件:组名称组密码:密码在/etc/gshadow中GID属于组的用户列表,以逗号分割,如:hexy:x:500:test02,test03相关命令:groups,组管理命令:groupadd,groupadd命令:用途:增加组语法:groupadd-gGIDgroupname会访问/etc/group和/etc/gshadow文件,写入新的组信息#groupaddproject#groupadd-g1034project001,组管理命令:groupdel,groupdel命令:用途:删除组语法:groupdelgroupname会访问/etc/group和/etc/gshadow文件,删除组信息注意:组内的用户必须不在线,而且该组不存在主用户才能删除。,用户管理命令:useradd,useradd命令:用途:新增用户语法:useradd-uUID-gGID-GGID-dHOME-mM-sshellusername说明:-u:指定UID-g:指定默认GID或者组名称,此GID或者组名称必须已经存在于/etc/group-G:指定所属的其他组,用逗号分割-d:指定Home目录,如果不存在系统会创建-M:不建立Home目录-s:定义其使用的shell#useraddxiaoli创建一个用户账号的过程,用户管理命令:userdel,userdel命令:用途:删除用户语法:userdel-rusername指定r参数将Home目录以及邮件目录删除创建用户的常规步骤(只有管理员才能创建用户)#useraddname创建一个用户名为name的用户#passwdname为该用户设置密码删除一个用户(只有管理员才能删除用户)#userdelname删除用户名为name的用户,改变用户:su,命令名称:su语法:su选项用户名功能:从当前身份切换到另一个身份。优点:由于安全原因,一般Linux服务器是不允许root远程登录。先要以普通用户登录,然后再用su命令切换到root用户。黑客要获取root权限,必须先拿到普通权限,在猜root密码。计算机多了一层防护。,查看自己:whoami,命令名称:whoami语法:whoami功能:查看目前是什么身份登录的。,打印用户身份:id,命令名称:id语法:id选项用户名选项:-u只打印用户id-G打印组id-n配合uG,只打印用户名称和组名称范例:显示当前登陆者的用户身份#iduid=501(li)gid=1001(mem)groups=1001(mem)显示某个用户的身份#idbin显示bin用户的身份信息,用户登录情况,命令:who或w功能:当前系统的登录情况命令:last功能:查看所有系统登陆的历史记录,改变文件组属性:chgrp,命令名称:chgrp语法:chgrp组名称文件名称注意:组名称必须已经存在,否则会报错“chgrp:invalidgroupname”在/tmp/实验准备:使用root来执行该命令使用su命令来切换用户使用whoami命令查看当前用户使用exit来退出会话,改变文件所有者:chown,命令名称:chown功能:用在拷贝文件之后语法:chown-R账号名称文件chown-R账号名称:群组名称文件-R选项意味着递归修改子目录或者文件注意:组名称和帐号名称必须已经存在使用root来执行该命令执行前执行后,动手练习,在linux系统中增加一个组在linux系统中增加一个用户查看/etc/passwd/etc/shadow文件(必须root用户)groupaddgroupdeluseradduserdelchgrpchown,动手练习,切换到其它用户查看当前身份suwhoamiidwhowlast,管道与重定向,重定向就是把数据转到其他地方例如ls-l会把结果输出到屏幕上,但是ls-lt就会把结果输出到文件t中,屏幕上啥也没有。而且如果t文件不存在,则新建该文件,如果存在,那么内容先被清空,然后将数据导入文件t中。BASH的三个“标准”标准输入:代码为0,使用方式为或1filename标准输出输出的信息是没有出错的信息标准错误输出:代码为2,使用方式为2或2filename标准错误输出输出的信息是出错信息,重定向符号,:将原本在屏幕输出的数据输出到右边的文件。(右边文件的内容清空,然后将数据导入文件中):将原本在屏幕输出的数据追加到文件尾部,与不同的是,该文件将不会被覆盖而是增加。2:将原本在屏幕输出的错误信息输出到2右边的文件中/dev/null:“黑洞”设备,来什么扔什么。/dev/zero:提供无数个字节零,管道,什么是管道?管道是指前一个命令的标准输出可以作为后一个命令的标准输入的机制。每个命令完成自己的独立任务,管道提供了一种协作机制把管道“连接起来”的符号:|注意:管道不能处理标准错误信息,动手练习,显示文件/etc/passwd的第6行到第10行?(head/tail+管道)将本机上所有的组名放到“/tmp/组名”文件中把文件”/etc/issue”的内容追加到文件”/tmp/组名”尾部。找到用户root所在的组,把这些组名输出到文件”/tmp/root所在的组”综合练习:在命令行输入myip,可以得到当前主机的ip地址。如:#myip192.168.0.100,进程的几个概念,程序(program):是指令的有序集合,作为一种软件资料长期存储在存储媒介中,以物理文件的形式存在。其本身没有任何运行的含义,是一个静态的概念。进程:是运行中的程序,只存在于内存中。具有创建其他进程的功能。进程是程序在处理机上的一次执行过程,是一个动态的概念。一个程序可以同时执行多次,产生多个进程。进程号PID(ProcessIdentity):内核分配给每一个进程一个唯一编号大多数命令和系统调用都需要PID来标识操作目标PID按照创建进程的顺序来从小到大分配,PID达到最大值时,就再次从1开始分配,并跳过所有正在使用的PID。程序的执行者,即进程的UID由上可知,一个程序可同时执行多次,产生多个进程,彼此可以通过PID区分。那么如何区分哪个进程是用户1执行的,哪个进程是用户2执行的呢?通过UID用来标识进程的执行者。,linux是多用户、多任务的操作系统的理解?多用户:linux允许创建多个账号,每个账号有其特殊的权限,用户可以以不同的身份(即账号)来登录系统。多任务:“任务”在操作系统是泛指,可以代指进程。在一段时间内linux能够让多个任务得到执行。父进程(PPID)/子进程除了PID为1的进程init是内核创建的外,每一个进程都是由别的进程所创建的。例如:终端里输入touch命令,bash会做以下事bash按照命令查找顺序,找到了touch的可执行程序/bin/touch。bash创建了一个新进程,在新进程里执行touch命令。这里因新进程是由进程bash创建的,称进程bash为新进程的父进程(PPID),新进程为进程bash的子进程。,进程状态,进程查看命令:ps,命令:ps功能:查看进程状态语法:ps选项命令ps的选项很多,这里只例举出常用的选项说明:-A所有的进程均显示出来,与-e具有同样的作用-a和终端无关的所有进程-u用户列表指定用户的进程都列出x列出较完整的信息,通常与a一起使用。选项x前不需要用-开头输出格式说明:-l较长,输出较详细的进程信息-j以任务的格式(jobsformat),高级编程第九章“会话”-f以更完整的格式输出或-oformat以用户规定的格式输出,和前面的格式冲突。常见的格式后面提到。,ps范例,范例:显示当前用户,在当前终端下运行的进程#ps这是ps的默认用法,若列出详细信息,可加入上面的选项如ps-l显示系统所有进程的信息,用标准的语法格式(POSIX)执行命令ps#psef结果说明:UID/PID/PPID:代表此进程被该UID所拥有,进程的PID号码,此进程的父进程PID(PPID)号码C:代表CPU使用率,单位为百分比STIME:该进程启动时间TTY:登陆者的终端机位置,若为远程登录则使用伪终端接口(pts/n)TIME:使用掉的CPU时间,注意,是此进程实际占用CPU运作的时间,而不是系统时间(从进程启动到结束的时间);CMD:就是command的缩写,此进程执行的程序为何。,显示系统所有进程的信息,用BSD(Unix的一种)的风格,执行ps#psaux结果说明:USER指出进程的执行者PID指出进程的ID号%CPU进程使用的CPU时间百分比%MEM进程使用的实际内存百分比VSZ进程的虚拟内存大小RSS物理内存的大小TTY控制终端,本地的为tty1-7,远程的或图形界面下为pts/?STAT当前进程状态。R=可运行,D=在等待磁盘,S=在睡眠,Z=僵进程。START进程的启动时间TIME进程消耗掉的CPU时间COMMAND命令名称和参数,语法:ps-oformatformat常用的格式有以下几种,具体参见man手册:pid进程号ppid父进程号comm进程执行的程序args和comm类似但把参数和选项也列出来user进程的执行者uid进程的执行者,数字表示%cpu进程使用的cpu百分比%mem使用的内存百分比范例:输出所有进程的信息,按照设定的格式#ps-e-ouser,pid,ppid,%cpu,%mem,args,进程查看命令:top,语法:top功能:动态地查看进程情况,默认每隔3秒刷新一次top运行时可以输入:A按照执行的顺序先后排序(starttime)T按照累计CPU时间排序(TIME+)M按照占用的内存大小排序(%MEM)P按照消耗的CPU资源排序(%CPU)N按照进程号排序(PID)k杀死某个进程uuser查看指定用户的进程q终止top显示字段说明VIRT虚拟内存大小(SWAPRES)RES物理内存大小SHR共享内存大小S进程状态,进程查看命令:pstree,命令:pstree选项功能:按照父子关系,以树的结构,列出系统的所有进程选项:-p同时列出每个进程的PID-u同时列出每个进程的所属账号名称-n同一列的进程之间按进程号PID排序,默认按字母顺序排序范例:列出目前系统的所有进程的相关性#pstree同上,同时显示进程号pid和进程的执行者users,并按pid排序#pstree-npu,进程管理命令:kill,命令:kill功能:给进程发送信号,影响进程的状态语法:kill-signalPID选项signal常用的有以下几种:-1系统服务收到该信号会重新读取一次配置文件(HUP信号)-2终止一个进程的运行(INT信号),相当于ctrl+c快捷键-9强制终止一个进程(KILL信号)-15终止任务(TERM信号),这是kill的默认动作-17暂停一个进程的运行(STOP信号),相当于ctrl+z快捷键终端输入命令kill-l查看当前可以使用的信号,也可以man7signal。举例:杀死pid为5000的进程#kill5000,后台执行,出现提示符让用户操作的环境就称为前台。不能和用户交互的运行环境称为后台。&功能:将命令丢到后台执行用处:在一个终端可以同时运行多个任务。用法:将&放在需要后台执行的命令的后面。例如:在后台更新locate数据库#updatedb&命令jobs:查看后台执行的进程用法:jobs-l选项:-l同时列出后台进程的进程号范例:依次执行#catvimjobs输出1-Stoppedcat2+Stoppedvim,前台后台转换命令,说明:中括号内的号码为工作号码jobnumber,Stopped为目前这个任务的工作状态,后面为命令名。方框后的+代表最近被放到后台的工作号码,-代表最近最后第二个被放到后台的工作号码。命令fg:将后台工作拿到前台来执行用法:fg%jobnumber范例:#fg默认取出那个+的工作,这里是2#fg%1直接指定取出的那个工作命令bg:让在后台的进程的状态变成在后台运行用法:bg%jobnumber范例:执行#tar-cz-fusr.tar.gz/usr/&然后按ctrl+z快捷键暂停进程的执行,输入jobs查看,发现tar已经暂停stopped1+stoppedtarcz-fusr.tar.gz/usr/输入bg%1让他在后台继续执行。,管理后台工作用法:kill-signal%jobnumber范例:kill%2终止工作号码为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区心理危机干预考核试卷
- 耐火材料在太阳能热发电的利用考核试卷
- 外贸英语函电U7课件
- 探秘教育研究
- 四年级期末复习全攻略
- 南京艺术学院《粉末冶金模具设计》2023-2024学年第二学期期末试卷
- 上海市五十二中2025届高三下学期第二次诊断性检测试题语文试题含解析
- 江西财经大学《数字内容的基本概念》2023-2024学年第二学期期末试卷
- 石家庄科技信息职业学院《研学旅行概论》2023-2024学年第二学期期末试卷
- 西安明德理工学院《第二语言习得》2023-2024学年第二学期期末试卷
- 如何获得好评的培训
- 急诊服务流程与服务时限培训
- 2025-2030农业机械化行业市场发展分析及前景趋势与投资研究报告
- 2024年中国铁路武汉局集团有限公司招聘笔试真题
- 《经济政策分析》课件2
- 自考《03203外科护理学》考试题库大全-下(多选题)
- 艺考生协议合同
- 女生高中生性教育
- 2025-2030中国香紫苏醇市场发展形势及未来投资风险预警研究报告
- 脑-肠轴与肠道菌群互作-深度研究
- GB/T 45214-2025人全基因组高通量测序数据质量评价方法
评论
0/150
提交评论