当前位置: 首页 > Linux

Linux运维:文件目录管理基础

时间:2023-04-07 00:15:44 Linux

basics,面试前复习一下。基本命令基本命令pwd命令功能:显示当前工作目录名称选项:-p显示链接的真实路径cd命令功能:切换当前工作目录常用:cd切换到根目录cd-返回上一个工作目录cd..switchcd/usr/local切换工作目录到/usr/localls命令功能:显示目录和文件信息常用选项:-a显示所有文件,包括以.开头的隐藏文件。-h人性化-l以长格式显示文件的详细信息-u显示文件或目录最后被访问的时间-t按修改时间排序,ls默认按文件名排序-R递归显示子目录touch命令功能:创建文件或修改文件时间如:$touchhello.txt如果hello.txt文件不存在,则创建该文件,如果存在,将hello.txt的时间全部修改为当前系统时间。mkdir命令功能:创建目录选项:-p创建多级目录如:$mkdir-p/tmp/data/mysql如果/tmp/data目录不存在,会自动创建/data目录,然后创建mysql目录。cp命令的作用:复制文件或目录选项:-r递归,复制子文件和子目录(复制目录时必须加上)-a复制时保留源文件的所有属性rm命令功能:删除文件或目录选项:-f无提示,强行删除-i删除前提示是否删除-r递归删除,删除目录及目录下的所有内容谨慎:rm-rf*mv命令功能:移动或重命名文件或目录如:rename文件$mvhello.txthello.doc将文件移动到指定目录$mvhello.txt/usr/local/src将文件移动到指定目录并重命名$mvhello.txt/usr/local/src/hello.docdu命令功能:计算文件或目录大小(容量)选项:-h人性化显示容量信息-a查看所有目录和文件的容量信息-s只显示总容量查看文件内容命令cat命令功能:查看文件内容选项:-b显示行号,空行不显示行号-n显示行号,包括空行示例:[root@moli_linux1~]$cat-bhello.txt1one:helloworld2two:helloworld[root@moli_linux1~]$cat-nhello.txt1one:helloworld23two:helloworldtac命令的作用:倒序查看文件内容(与cat相反)[root@moli_linux1~]$tachello.txt二:helloworldone:helloworldhead命令的作用:查看文件头内容,默认显示前10行。选项:-cnK显示文件前nKB的内容-n显示文件前n行的内容示例:head-5/etc/passwd显示/etc/前5行的内容密码文件。tail命令的作用:查看文件末尾的内容,默认显示最后10行。选项:-cnK显示文件前nKB的内容-n显示文件前n行的内容示例:tail-5/etc/passwd显示/etc/后5行的内容密码文件。less命令的作用:分页查看文件内容。说明:按空格键查看下一页,q退出查看,ctrlb翻页,ctrlf翻页,g跳到第一行,G跳到最后一行.示例:less/var/log/jenkins/jenkins.logmore命令功能:页面查看文件内容说明:按空格键查看下一页,q键退出查看,ctrlb向上翻页,ctrlf向下翻页示例:`more/var/log/jenkins/jenkins.log`wc命令功能:显示文件行、字、字节统计选项:-c显示文件字节统计-l显示文件行数统计-w显示文件字统计信息示例:[root@moli_linux1~]$wchello.txt3433hello.txt[root@moli_linux1~]$wc-chello.txt33hello.txt[root@moli_linux1~]$wc-lhello.txt3你好。txt[root@moli_linux1~]$wc-whello.txt4hello.txt权限管理Linux下文件的权限一般包括读、写、执行三种控制,可以用字母或数字表示。字母表示为r、w,x数字表示为4、2、1,即r=4,w=2,x=1。我们可以使用ls-l命令查看文件或目录的权限。[root@moli_linux1~]$ls-l总使用量8drwxr-xr-x。3rootroot23六月62018192.168.229-rw------。1rootroot15382018年5月19日anaconda-ks.cfgdrwxr-xr-x。3rootroot2018年7月27日18git_data-rw-r--r--1rootroot33Mar513:37hello.txtdrwxr-xr-x。4rootroot33Jul42018serverdrwxr-xr-x4rootroot68October215:48shell-100drwxr-xr-x4rootroot67November1621:29test-find第一列第一个字符表示文件type,after文件中的9个字符是权限,第一列的最后一个字符有时是一个点,有些则不是。这个点表示这个文件被selinux限制了。拿上面的drwxr-xr-x。例如:第一个字符是字母d,表示文件类型是目录。常见的有:字母l代表链接文件,字母b或c代表设备,字母s代表socket文件。第二到第九个字符代表权限。三位组为所有者(a)权限,组(g)权限,其他用户(o)权限。该文件的权限为所有者可读、可写、可执行,所属组可读、可执行、不可写,其他用户可执行、不可读、不可写。最后一个字符是一个点,表示受selinux限制。权限表示见下表:字母数字字母文件目录4r查看文件内容查看目录下文件及目录名2w修改文件内容增删改目录下文件及目录名1x可执行,一般是程序或者脚本,可以使用cd命令进入目录。Linux默认权限文件默认权限为644(rw-r--r--)。文件默认权限为644,目录默认权限为755(rwxr-xr-x)。chmod命令会给目录755权限:修改文件或目录的权限格式:chmod[option]权限文件或目录选项:-R递归地将权限应用到所有子目录和子文件。权限可以用数字或字母表示,也可以用a(所有者)、u(代表所有者)、g(组)、o(其他用户)。示例:环境准备,test目录下有3个文件和1个目录test-1,子目录test-1下有文件hello.txt。各文件目录权限如下:[root@moli_linux1test]$ll-R.:totalusage0-rw-r--r--1rootroot0March714:431.txt-rw-r--r--1rootroot0Mar714:432.txt-rw-r--r--1rootroot0Mar714:433.txtdrwxr-xr-x2rootroot23Mar714:44test-1./test-1:totalusage0-rw-r--r--1rootroot0March714:44hello.txt[root@moli_linux1test]$tree.├──1.txt├──2.txt├──3.txt└──test-1└──hello.txt1目录,4个文件修改1.txt文件权限为600$chmod6001.txtor$chmodu=rwx,g-r,o-r1.txt给1.txt文件的属主权限加上可执行权限$chmoda+x1.txt或$chmodu+x,g+x,o+x1.txt给test目录下的all文件设置为所有人可读可写$chmod-Ra=rwtest建议:如果可以修改权限就用数字...chown命令功能:修改文件或目录的属主和属组格式:chown[option][Owner]:[Ownergroup]文件名/目录名选项:-R对所有子目录和子文件递归应用权限使用ls-l命令查看文件或目录时,第三和第四列为文件或所有者和目录组。[root@moli_linux1test]$ls-l1.txt-rwx------1rootroot0March714:431.txt比如上面1.txt文件的所有者是root用户,它所属的组是根组。修改1.txt文件的属主为mori,所属组为mail[root@moli_linux1test]$chownmori:mail1.txt[root@moli_linux1test]$ll1.txt-rwx------1morimail0March714:431.txt#owner和group更改了umaskLinux默认的权限控制,也就是说umask的作用是设置文件或目录在启动时的默认权限用户创建文件或目录。在Linux终端输入umask时,会出现数字0022,这是默认的umask值。[root@moli_linux1test]$umask0022修改umask我们可以修改系统默认的umask值,输入命令$umask0032[root@moli_linux1test]$umask0032[root@moli_linux1test]$umask0032umask反掩码计算时umask掩码为偶数时,默认权限=最大权限-umask值文件的最大权限为666,所以默认创建文件的权限为666-022=644目录的最大权限为777,所以默认创建目录的权限为777-022=755当umask掩码为奇数时,在计算文件的默认权限时,对奇数加1,如:umask=032为文件:666-032=634,则奇数+1634+010=644目录:777-032=745,则奇数+1745+010=755文件系统权限设置文件系统权限命令chattrchattr+a(append)即可仅追加chattr+i无敌,不能进行任何操作查看文件系统权限命令lsattr例子:[root@moli_linux1test]$ll2.txt-rw-r--r--1rootroot0March714:432.txt[root@moli_linux1test]$chattr+a2.txt#添加隐藏权限[root@moli_linux1test]$echo"helloworld">2.txt#不允许重定向-bash:2.txt:不允许操作[root@moli_linux1test]$echo"helloworld">>2.txt#允许额外的重定向[root@moli_linux1test]$mv2.txthelloworld.txt#不允许移动mv:无法将“2.txt”移动到"helloworld.txt":不允许操作[root@moli_linux1test]$rm-f2.txt#不允许删除rm:无法删除"2.txt":不允许操作[root@moli_linux1test]$lsattr2.txt#查看隐藏权限-----a----------2.txt[root@moli_linux1test]#chattr-a2.txt#去掉隐藏权限[root@moli_linux1test]$lsattr2.txt#没有隐藏权限----------------2.txt[root@moli_linux1test]$rm-f2.txt#再次删除,链接文件成功链接文件在Linux中分为软链接和硬链接软链接可以跨分区,但是源文件无法删除。硬链接不能跨分区,但可以删除源文件。创建软硬链接使用命令ln创建软链接:ln-sfilenamelinkname创建硬链接:lnfilenamelinkname软链接就是一个普通的文件,只是数据块的内容有点特殊。软链接有自己的索引节点号和用户数据块。因此,软链接的创建和使用没有很多类似硬链接的限制:软链接有自己的文件属性和权限等;可以为不存在的文件或目录创建软链接;软链接可以跨文件系统;也就是说,它们可以跨分区。可以在文件或目录上创建软链接;创建软链接时,i_nlink的链接数不会增加;删除软链接不影响指向的文件,但如果删除指向的原文件,相关的软链接称为死链接(即悬挂链接,如果重新创建指向的路径文件,则死链接可以被删除)恢复到正常的软链接)。例子:[root@moli_linux1~]$ln-s/test/hello.txt/tmp/hi.txt#创建文件软连接[root@moli_linux1~]$ln-s/test//var/test#创建软连接目录connect[root@moli_linux1~]$rm/test/hello.txt;cat/tmp/hi.txt#删除源文件后,链接不能使用硬链接,因为硬链接是inode号相同但文件名不同的文件,所以硬链接有以下特点:文件有相同的inode和datablock;只能创建现有文件;不能跨文件系统创建硬链接;不能创建目录,只能创建文件;删除硬链接文件不会影响其他具有相同索引节点号的文件。示例:[root@moli_linux1~]$ln/test/hello.txt/tmp/hi.txt#创建文件的硬链接[root@moli_linux1~]$rm/test/hello.txt#之后仍然可用删除源文件。酒吧。如果我错了请指正,谢谢。我溜走了,去玩游戏了。2019-3-6