首页 > 编程知识 正文

linux命令行与shell脚本编程大全,linux命令移动文件到指定文件夹

时间:2023-05-03 17:34:29 阅读:262860 作者:4150

Linux命令——chmod chmod命令格式

chmod命令的全程为Change mode(改变模式),即改变文件或目录的权限。
chmod [OPTION]... MODE[,MODE]... FILE...

[OPTION]
-c:若该文件权限确实已经更改,才显示其更改动作
-f:若该文件权限无法被更改也不要显示错误讯息
-v:显示权限变更的详细资料
-R:对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help:显示辅助说明
–version:显示版本

MODE
MODE的格式为[ugoa...][[+-=][rwxX]...][,...],组成部分为三个部分:可控制文件的用户类型、文件权限和操作符。多个mode用逗号(",")分割。
可控制文件的用户类型分为四种:
u:文件所有者
g:文件所有者同组用户
o:其它用户
a:所有用户(即包含以上三者)
文件权限分为四种
r:读权限
w:写权限
x:可执行权限
X:表示只有当该文件是个子目录或者该文件已经被设定过为可执行
-:无选项
运算符分为三种
+:添加权限
-:删除权限
=:重置权限

FILE
表示需要改变权限的一个或多个文件

其实理解chmod命令并不难,我们只需要记住改变权限操作中一定是:改变谁的权限(通过FILE选项指定),怎样去改变(通过OPTION部分设置),改变成什么样的(通过MODE选项指定)。

Linux系统文件类型和权限的表示方法

Linux系统用10个字符表示文件的类型和访问权。其中:
第1位表示文件类型。文件类型的枚举值为:
-:常规文件,即file
d:目录文件
b:block device 即块设备文件,如硬盘;支持以block为单位进行随机访问
c:character device 即字符设备文件,如键盘支持以character为单位进行线性访问
l:symbolic link 即符号链接文件,又称软链接文件
p:pipe 即命名管道文件
s:socket 即套接字文件,用于实现两个进程进行通信
第2~4位表示文件所有者对文件的权限。权限的排列顺序为读写执行。
第5~7位表示文件所有者同组用户对文件的权限。权限的排列顺序为读写执行。
第8~10表示其它用户对文件的权限。权限的排列顺序为读写执行。

我们使用ls -l命令会看到如下信息。

[root@localhost ~]# ls -ltotal 80-rw-r--r-- 1 root root 56 Sep 2 14:43 abc.txt-rw------- 1 root root 949 Sep 2 18:50 anaconda-ks.cfgdrwxr-xr-x 2 root root 4096 Sep 2 10:57 Desktop-rw-r--r-- 1 root root 38088 Sep 2 18:50 install.log-rw-r--r-- 1 root root 4507 Sep 2 18:48 install.log.syslog[root@localhost ~]#

信息中第一列信息表示文件的类型和文件的访问权限。例如Desktop这一行的第一列信息是drwxr-xr-x,d表示是一个目录;rwx表示文件所有者有读、写和可执行权限;r-x表示同组用户有读权限、无写权限,有可执行权限;r-x表示其它用户有读、无写权限和可执行权限;r-x表示同组用户有读权限、无写权限,有可执行权限。

chmod数字表示法

mode除了使用[ugoa...][[+-=][rwxX]...][,...]表示之外,还有一种数字表示法。
这种数字表示法使用三位数字,第一位表示用户所有者的权限,第二位表示同组用户内的权限,第三位表示其他用户的选项。每一位数字都是二进制转换为十进制的结果
例如:-rwxrw-r–可用二进制表示为-111110100,即有权限就用1表示,没有就用0表示。那么0和1组合成读、写和可执行:100、010和001,对应的10进制为4、2和1,即4读权限,2表示写权限,1表示可执行权限。上面的-111110100即可表示为761。
在举个例子:chmod 761 test.sh表示文件所有者有读、写和可执行权限(4+2+1=7);组内用户有读、写权限(4+2+0=6) ;其它用户有可执行权限(0+0+1=1)。也就是说根据需要将4,2和1相加得出的计算结果就是要改变的权限。

chmod示例

所有用户可读、写和执行权限
chmod a+wrx test.sh
chmod ugo+wrx test.sh
chmod 777 test.sh

所有者和同组用户添加读、写和执行权限,其它用户添加可读(-rwxrwxr–)
chmod ug+rwx,o+r test.sh
chmod 774 test.sh

所有者添加可读、写和执行权限,同组和其它用户仅可读(-rwxr–r--)
chmod u+wrx,go=r test.sh
chmod 744 test.sh

所有者保留读、写和执行权限,移除同组和其它用户的读权限(-rwx------)
chmod go-r test.sh
chmod 700 test.sh

chown语法格式

chown的全称为Change owner(改变文件所有者),所有者包括文件所有者和文件所属组。
chown [OPTION] user or group|user.group 文件
[OPTION]
-c:若该档案拥有者确实已经更改,才显示其更改动作
-f:若该档案拥有者无法被更改也不要显示错误讯息
-h:只对于连结(link)进行变更,而非该 link 真正指向的档案
-v:显示拥有者变更的详细资料
-R:对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
–help:显示辅助说明
–version:显示版
user or group|user.group表文件新所有者或所属组,同事这所有用户和所属组使用user.group。

chown示例

改变test文件的所有者为zhangxy
chown zhangxy test.sh

改变test文件的所有者为zhangxy,所属组为test
chown zhangxy.test test.sh

改变test目录以及子目录和文件的所有者为zhangxy
chown -R zhangxy test

chgrp语法格式

chgrp的全称为Change group(改变用户组),即改变文件所属组。相当于chown的低配版,chown可以改变文件所有者和文件所属组,而chgrp只能改变文件所属的组。
chgrp [OPTION] group files

chgrp示例

改变文件所属组为test
chgrp test test.sh

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。