您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > chapter2Linux的文件和目录管理
第二章Linux文件与目录管理2.1目录与路径绝对路径:由根目录开始的路径,如:/usr/home/abc/hello.c相对路径:不是以根目录开始的路径,如:abc/hello.c2.1目录与路径一些特殊目录:.代表此层目录..代表上一层目录-代表前一个工作目录~代表当前用户的用户主目录~代表accout这个用户的用户主目录cd命令功能:切换目录(changedirectory)。pwd命令功能:显示当前工作目录(printworkingdirectory)。用法:pwd[-P]无-P选项,如果当前工作目录由软连接进入,则显示包含软连接名字的路径;有-P选项,如果当前工作目录由软连接进入,则显示软链接所指向的路径。mkdir命令功能:创建新目录(makedirectories)。用法:mkdir[-mp]目录名称-m设置文件权限,不使用默认权限(umask)-p将所需的目录递归创建rmdir命令功能:删除空目录(removeemptydirectories)。用法:rmdir[-P]目录-P连同上层的空目录一起删除环境变量PATH搜索执行文件的默认路径:PATH,任何不给出具体路径的可执行文件或者命令都会按照变量PATH指定的路径去查找。具体路径之间用”:”分割。可以看出,root用户的路径序列要比普通用户的路径序列多。2.2文件和目录管理文件和目录的管理主要包括:显示属性复制删除移动文件ls命令功能:查看文件和目录命令用法:ls[-aAdfFilnrRSt]目录名称ls[--color={never,auto,alwasy}]目录名称ls[--full-time]目录名称-a列出全部文件,包括隐藏文件-A除不列出.和..这两个文件外,作用和-a相同-d仅列出目录本身,不列出目录内的数据。-f直接列出结果,不进行排序-F给普通文件、目录等各类文件附加数据结构-h将文件大小以较易读的方式列出(KB,MB,GB)-i列出i节点号-l以长格形式列出-n列出UID与GID号,而非用户与用户组的名字-r排序结果反向输出ls命令查看文件和目录命令:lsls[-aAdfFilnrRSt]目录名称ls[--color={never,auto,alwasy}]目录名称ls[--full-time]目录名称-R连同子目录的内容也列出来,等同于该目录下的所有内容都列出来。-S以文件大小进行排序,而不是文件名进行排序。-t以时间进行排序--color=never不要依据文件特性给予颜色显示。--color=auto让系统自行依据设置来判断是否给予颜色。--full-time以完整时间模式(年、月、日、时、分、秒)显示--time=(atime,ctime)输出访问时间或改变权限属性时间,而非内容更改时间。ls命令cp命令功能:复制或者创建链接文件用法:cp[-adfilprsu]源文件(sourcefile)目标(destination)-a相当于dpR选项的组合。-d若源文件为链接文件,则复制链接文件本身,而非链接文件指向的文件。-i若目标文件存在,覆盖前询问。-l或--link对源文件建立硬连接,而非复制文件。-L复制链接文件所对应的目标文件-p复制时,保留源文件属性。-P复制链接文件本身。-r或-R递归处理,将指定目录下的文件与子目录一并处理。-s或--symbolic-link对源文件建立符号连接,而非复制文件。-u或--update使用这项参数后只会在源文件的更新时间比目标文件新或目标文件不存在时,才复制文件。-v或--verbose显示指令执行过程。-d若源文件为链接文件,则复制链接文件,而非文件本身。-l或--link对源文件建立硬连接,而非复制文件。-L复制链接文件所对应的目标文件,而不是复制链接文件本身。-P复制链接文件本身,而不是所对应的目标文件-p复制时,保留源文件属性,复制链接文件所对应的目标。-s对源文件建立符号连接,而非复制源文件本身。rm命令功能:rm移除文件或者目录用法:rm[-fir]文件或目录-f强行移除,忽略不存在的文件,不会出现警告信息-i互动模式,在删除前,会询问用户是否操作-r递归删除,常用在目录的删除。mv命令功能:移动文件或目录,或用于对文件改名。用法:mv[-fiu]sourcedestination-f强制force,如果目标文件已经存在,不会询问而直接覆盖。-i若目标文件存在,则会询问是否覆盖。-u若目标文件存在,且source比较新,才会更新。basename和dirname命令basename取得路径的文件名dirname取得路径的路径名2.3文件内容查阅cat由第一行显示文件内容tac从最后一行显示nl显示行的时候输出行号more一页一页的显示文件内容less与more类似,但可以往前翻页head只看头几行tail只看结尾几行od以二进制的形式读取文件内容cat命令功能:显示文件内容。功能:cat[-AbEnTv]文件-A相当于-vET参数组合-b列出非空白行行号-E将换行符$打印出来。-n打印包括空白行的行号。-T把Tab按键以^I的形式显示出来。-v列出一些非打印字符tac命令功能:反向显示文件内容,与cat输出相反nl命令功能:添加行号用法:nl[-bnw]文件-b以指定模式显示行号-ba显示所有行号-bt显示非空行号-bn不显示行号-bpBRE只对匹配BRE模式的行显示行号-n以指定的对齐方式显示行号-nln(这里是字母l)左对齐方式,无先导零-nrn右对齐,无先导零-nrz右对齐,有先导零-w行号占字段的位数more命令功能:一页一页翻动用法:空格键:代表向下翻一页Enter:代表向下滚动一行/string:查询字符串string:f:立刻显示出文件名以及目前显示的行数b或[ctrl]-b:代表往回翻页,不过该操作只对文件有用,对管道无用。q:表示退出less命令功能:一页一页的翻页用法:搜索:/string向下查询字符串?string向上查询字符串n重复前一个查询N反向重复前一个查询less命令光标移动e向前一行,Ne向前N行;y向后一行,Ny向后N行;f或空格键,向前滚动一屏,Nf前进N屏;b向后滚动一屏,Nb后进N屏;d向前滚动半屏,Nd前进N屏;u向后滚动半屏,Nu后进N屏;g跳到第一行;G跳到最后一行;less命令打开多个文件lessfile1file2efile2打开file2文件:n浏览下一个文件:p浏览前一个文件其他命令v调用vi编辑器q退出less命令!command调用SHELL,可以运行命令;比如!ls显示当前列当前目录下的所有文件;head命令功能:输出文件的前几行用法:head[-cnN]文件-cN只显示文件的前N个字节-c-N除最后N个字节外都显示-nN只显示前N行,默认显示10行-n–N除最后N行外都显示tail命令功能:显示后面几行的内容用法:tail[-nN]文件-nN指定显示文件的最后N行,默认是10行od命令功能:以八进制或其他形式输出文件。用法:od[-tTYPE]文件TYPE可取:a以字符形式输出cASCII码或反斜线形式输出d[SIZE]以有符号十进制形式输出f[SIZE]以浮点形式输出o[SIZE]以八进制形式输出u[SIZE]以无符号十进制形式输出x[SIZE]以16进制形式输出SIZE的取值包括C字符类型S短整型I整形L长整形touch命令在windows下,一个文件有:创建时间修改时间访问时间。而在Linux下,一个文件也有三种时间,分别是:访问时间修改时间状态改动时间。两者有此不同,在Linux下没有创建时间的概念,也就是不能知道文件的建立时间,但如果文件建立后就没有修改过,修改时间=建立时间;如果文件建立后,状态就没有改动过,那么状态改动时间=建立时间;如果文件建立后,没有被读取过,那么访问时间=建立时间。因为不好判断文件是否被改过、读过、其状态是否变过,所以判断文件的建立时间基本上能为不可能。touch命令有关文件的三个时间:修改时间(lastmodifiedtime,mtime):当文件的内容更改时,就会更新该时间。比如用vi编辑后保存。状态改变时间(lasti-node'sstatuschangedtime,ctime):当文件的状态改变时,就会更新该时间。是该文件的i节点最后一次被修改的时间。通过chmod、chown命令修改一次文件属性,这个时间就会更新。访问时间(lastaccessedtime,atime):访问文件时,就会更新该时间,比如用cat、more、less去访问。ls–l默认显示的是修改时间,即mtimels–l--time=atimefile显示访问时间ls–l–time=ctimefile显示状态改变时间linux的ctime代表的是文件状态修改时间,如果文件被修改过就很难知道文件的创建时间,在某些特殊情况下,需要查看文件的创建时间,正常情况下查看文件的ctime是无法实现的。可以使用一个变通的方法来实现保留文件创建时间,但是同时也会牺牲一些其它特性。可以在mount文件的时候使用参数-onoatime,来把系统更新atime的特性关闭。使用了noatime参数挂载后,在文件被修改后文件的atime是不会被改变的,使用stat查看到的atime就是文件的创建时间。touch命令功能:修改文件时间或者创建新文件用法:touch[OPTION]...FILE...-a仅改变文件的访问时间atime。-c如果文件不存在,不会创建新的文件。-dSTRING解析字符串所代表的时间,而不是使用当前时间。-m仅改变文件的修改时间mtime。-rFILE使用FILE的时间代替当前时间。-tSTAMP使用[[CC]YY]MMDDhhmm[.ss]形式代替当前时间touch命令2.4文件与目录的默认权限与隐藏属性文件默认权限umask文件的隐藏属性chattrlsattr文件特殊权限SUID、SGID、SBIT查看文件类型命令fileumask命令功能:用来设置新文件权限的掩码。用法:umask[-S][mode]-S以符号形式显示权限掩码。普通文件创建时一般不具有执行权限,所以其最大权限为rw-rw-rw-即666.新创建的普通文件的默认权限为rw-rw-rw-减掉umask目录文件创建时要具有可执行权限,所以其最大权限为rwxrwxrwx即777。新创建的目录文件的默认权限为777-umaskumask命令chattr和lsattr命令chattr功能:改变文件属性用法:chattr[-RV]][+-=AacDdijsSu][文件或目录]-R:递归处理所有的文件及子目录。-V:详细显示修改内容,并打印输出。+:激活属性。-:失效属性。=:指定属性A:文件或目录的atime不可被修改。S:硬盘I/O同步选项,功能类似sync。a:设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。c:设定后,文件经压缩后再存储。读取时需要经过自动解压操作i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。chattr和lsattr命令chattr和lsattr命令lsattr功能:显示文件属性用法:lsattr[-RVadv][files...]-R:递归显示目录及文件属性。-a:显示所有文件属性,包括隐藏文件(.)、当前目录(./)及上层目录(../)。-d:仅显示目录属性,不显示目录中的
本文标题:chapter2Linux的文件和目录管理
链接地址:https://www.777doc.com/doc-5324845 .html