运维开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

文件、目录管理(二)

运维开发网 https://www.qedev.com 2021-04-25 14:53 出处:51CTO 作者:80民工
2.11 mv命令mv:用于重命名或者移动文件目录的位置。mv命令默认带-i参数语法:mv [参数] [源文件或目录] [目标文件或目录]该命令有以下几种情况:1. 目标文件是目录,但该目录不存在(重命名,把源文件命名为目标目录的名字)2. 目标文件是目录,且该目录存在(移动,把源文件移动到目标目录里)3. 目标文件是文件,但该文件不存在(重命名,把源文件命名为目标文件的名字)...

2.11 mv命令

mv:用于重命名或者移动文件目录的位置。mv命令默认带-i参数

语法:mv [参数] [源文件或目录] [目标文件或目录]

该命令有以下几种情况:

1. 目标文件是目录,但该目录不存在(重命名,把源文件命名为目标目录的名字)

2. 目标文件是目录,且该目录存在(移动,把源文件移动到目标目录里)

3. 目标文件是文件,但该文件不存在(重命名,把源文件命名为目标文件的名字)

4. 目标文件是文件,且该文件存在(覆盖并删除源文件)


2.12 文档查看cat/tac/more/less/head/tail

cat:用于查看一个文件的内容并将其显示在屏幕上。

-n  查看文件时,把行号也显示到屏幕上

-A  显示所有的内容,包括特殊字符

tac:和cat命令作用一样,只不过是倒序显示,cat命令的参数tac命令无法使用。

more:用于查看一个文件的内容,后面直接跟文件名。

当文件内容太多,一屏无法全部显示时,用cat命令看不了前面的内容,可以使用more命令。空格键查看下一屏,Ctrl+D可以向上翻屏,Ctrl+F可以向下翻屏(同空格),按q键退出。

less:作用和more命令一样,后面直接跟文件名。

功能上less比more多一些,空格键可以翻页,j键向下移动,k键向上移动,/键后面可以输入要搜索的字符串,然后回车就可以查找这个字符串了,这时按n键显示下一个。也可以用?键代替/ 键来搜索字符串,不同的是,/ 键是在当前行向下搜索,?键是在当前行向上搜索。

head:用于显示文件的前10行,后面直接跟文件名。

-n  指定显示文件的前n行(可以省略字母n,-后面直接跟数字)

tail:和head命令类似,tail命令用于显示文件的后10行,后面直接跟文件名。

-n  指定显示文件的后n行(可以省略字母n,-后面直接跟数字)

-f  动态的显示文件的最后10行


2.13 权限chmod/chown/chgrp

每一个Linux目录或文件,都会有一个所有者和所属组,所有者是指文件的拥有者,二所属组指的是这个文件属于哪一个用户组。

Linux文件属性不仅规定了所有者和所属组,还规定了所有者(user)、所属组(group)以及其他用户(others)对该文件的权限。


rwx权限

# ll-rw-r--r--. 1 root root  10874669 6月  24 15:08 apache-tomcat-9.0.21.tar.gz

以空格分隔:

第一列:包含该文件的类型、所有者、所属组以及其他用户对该文件的权限。
其中第一位用来描述该文件的类型,后面9位每3位为一组,其中r代表可读,w代表可写,x代表可执行。
前3位为所有者(user)的权限,中间3位为所属组(group)的权限,最后3位为其他用户(others)的权限。最后一位 . 这里不做了解。

第二列:表示该文件占用的节点(inode),如果是目录,那这个数值与该目录下的子目录数量有关。

第三列:表示该文件的所有者。

第四列:表示该文件的所属组。

第五列:表示该文件的大小。

第六、七、八列:表示该文件最后一次被修改的时间(mtime),依次为月份、日期以及具体时间。

第九列:表示文件名。


chmod命令

Linux使用数字代替rwx,分别是r=4,w=2,x=1。在linux系统中,一个目录的默认权限为755,而一个文件的默认权限为644。

chmod:用于改变用户对文件/目录的读写执行权限。

语法:chmod [-R] [xyz] [文件名] (这里xyz表示数字)

-R  表示级联更改

chmod 支持使用rwx的方式来设置权限,使用u、g、o分别表示user、group、others的属性,用a代表all(即全部)(中间必须使用逗号隔开,不然会有报错)。也可以针对u、g、o和a,增加或减少它们的某个权限(读、写或执行)。


chown命令

chown:可以更改文件的所有者。

语法:chown [-R] [用户名:组名] [文件名](-R选项只适用于目录)

-R  级联更改,即不仅更改当前目录,连目录里的目录或文件也全部更改


chgrp命令

chgrp:可以更改文件的所属组。

语法:chgrp [组名] [文件名]

-R  级联更改子目录及子文件


2.14 umask命令

linux系统中,一个目录的默认权限为755,而一个文件的默认权限为644。

umask:用于改变文件的默认权限。

若用户建立普通文件,则预设没有可执行权限,只有r、w两个权限,最大值为666(-rw-rw-rw-)。

若用户建立目录,则预设开放全部权限,即777(drwxrwxrwx)。

umask数值代表的含义为以上两条规则中的默认值(文件为666,目录为777)需要减掉的权限。

语法:umask xxx(这里xxx代表3个数字)

umask的值可以在/etc/bashrc文件中更改。默认情况下,root的umask为022,而一般用户的umask为002。


2.15 chattr/lsattr


chattr命令

chattr:用于更改文件或目录的特殊属性。

语法:chattr [ + - = ] [ Asaci ] [文件或目录名],其中+、-和=分别表示增加、减少和设定

  • 参数:
A   增加该属性后,表示文件或目录的atime的将不可更改

s   增加该属性后,会将数据同步写入磁盘中

a   增加该属性后,表示只能追加不能删除,非根用户不能设定该属性

c   增加该属性后,表示自动压缩该文件,读取时会自动解压

i   增加该属性后,表示文件不能删除,重命名,设定链接,写入以及新增数据

常用的为ai这两个选项。


lsattr命令

lsattr:用于读取文件或目录的特殊权限

语法:lsattr [ -aR ] [文件或目录名]

-a  类似于ls的-a选项,即连同隐藏文件一同列出

-R  连同子目录的数据一同列出


设置UID,GID及设置防删除位

set uid:该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。

set gid:该权限可以作用在文件上(二进制可执行文件),也可以作用在目录上。

作用在文件上时,会使文件在执行阶段具有文件所属组的权限;作用在目录上时,任何用户在此目录下创建的文件都具有和该目录所属的组相同的权限。

sticky bit:防删除位,设置该权限后,即使用户对目录有写权限,也不能删除该目录下其他用户的文件(sticky bit只针对目录有用)。

  • 设置:
set uid权限:chmod [ u + - s ] [文件名]

set gid权限:chmod [ g + - s ] [文件名或目录名]

sticky bit权限:chmod [ o + - t ] [目录名]

set uid用数字表示为4;set gid用数字表示为2;sticky bit用数字表示为1。

chmod u + s等同于chmod 4755chmod g + s等同于chmod 2755chmod o + t等同于chmod 1755

S + x = s,S表示没有执行权限(x权限)。

set uid让普通用户临时拥有该命令(二进制可执行文件)的所有者的权限。

当有特殊权限时,第一个数字可以是0、1(-T)、2(-S-)、3(-st)、4(S-)、5(ST)、6(SS-)、7(sst)。例如:passwd显示的是rws,用数字表示就是4755。

  • 补充:

file:查看是否是二进制文件。带有ELF字样或x86_64等版本信息的为二进制文件,否则不是二进制文件。

# cat /etc/redhat-release               #查看系统版本


2.16 Linux的链接文件


硬链接

硬链接:直接再建立一个索引节点链接到文件放置的块区域,即进行硬链接时,该文件内容没有任何变化,只是增加了一个指向这个文件的索引节点,且不会额外占用磁盘空间源文件和硬链接文件相互为硬链接。

硬链接本质上还是一个文件,即使建立多个硬链接文件,空间也只占用一份,多个硬链接文件共用一个索引节点。

硬链接有两个限制:1. 不能跨文件系统,不同的文件系统有不同的i节点表;2. 不能对目录做硬链接。


软链接

软链接:建立一个独立的文件(链接文件,非常小),当读取这个链接文件时,它会把读取的行为转发到该文件所链接的文件上(类似于视窗的快捷方式)。

硬链接可以删除源文件,而软链接则不可以。做软链接时尽量使用绝对路径。


ln命令

ln:用于建立硬链接或者软链接。

语法:ln [-s] [源文件] [目的文件]

-s  建立软链接,不加-s则建立硬链接


2.17 查找命令

which:只能用来查找PATH环境变量中出现的路径下的可执行文件。

whereis命令:通过预先生成的一个文件列表库查找与给出的文件名相关的文件。

语法:whereis [-bms] [文件名]

-b  只查找二进制文件

-m  只查找帮助文件(在男子目录下的文件)

-s  只查找源代码文件

find:搜索文件。

语法:find [路径] [参数]

-atime +n/-n    表示访问或执行时间大于或小于n天的文件

-ctime +n/-n    表示写入,更改inode属性(如更改所有者,权限或链接)的时间大于或小于n天的文件

-mtime +n/-n    表示写入时间大于或小于n天的文件

-name filename  表示直接查找该文件名的文件

-type filetype  表示通过文件类型查找文件(包括f,b,c,d,l,s)

-inum   根据索引节点来查找文件

atime(访问时间):文件的atime是在读取文件或执行文件是更改的。

ctime(更改时间):文件的ctime是在写入文件,更改所有者,权限或链接设置时更改。

mtime(修改时间):文件的mtime是在写入文件是随文件内容的更改而更改的。

更改文件内容即会更改mtime和ctime,但是文件的ctime可能会在mtime未发生任何变化时更改。


2.18 文件名后缀

Linux的的系统中,文件的后缀名没有具体意义,加或者不加都无所谓,但为了方便区分,人们习惯在定义文件名时加一个后缀名。文件名最长可达255个字符。

例如:.sh代表它是一个shell脚本;.tar.gz代表它是一个压缩包;.cnf代表它是一个配置文件;.txt代表它是一个文本文档。

  • 补充:

Linux和Windows互传文件:使用yum安装lrzsz

# yum install -y lrzsz

sz:将Linux文件传到Windows上(如:sz 1.txt这里会有弹窗选择存放位置)

rz:将Windows文件传到Linux上(如:rz 回车后会有弹窗选择要传输的文件,传过来是在Linux的当前目录中)

同类的应用还有winSCP,xftp sftp以及ftp。


扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号