Linux入门详解 (9)

   对于目录的可写权限(只限制子代,超子代不限制)来说,意味着能够在此目录中新建、删除、重命名项目,对于项目本身的内容操作并不在此范畴之中,如打开文本文件编辑其内容。

   对于目录的执行权限来说,意味着能够cd进该目录中,如果没有x权限,就cd不进去。

  

   权限修改命令chmod

   使用chmod也可对目录权限进行操作,操作方式与上述文件权限操作方式相同。不再一一例举。

   以下有一些注意事项:

   要在某个目录下建立子文件,该目录必须要有w权限,否则不可能建立。

   如果对超父目录并没有w权限,那么是不影响在父目录中建立删除子文件的。

属主属组转移

   我们既然可以创建一个文件,当然也可将其送给别人。

   具体命令就是chown。

   属主属组转移命令chown

   查看test文件:

[root@localhost ~]# ll test ----r--r-x. 1 root root 0 Jan 30 05:19 test

   将其属主变更为yunya,但是属组不变,不加.:

[root@localhost ~]# chown yunya test [root@localhost ~]# ll test ----r--r-x. 1 yunya root 0 Jan 30 05:19 test

   将其属组变更为NewUser用户,加.,注意与上面的区别:

[root@localhost ~]# chown .NewUser test [root@localhost ~]# ll test ----r--r-x. 1 yunya NewUser 0 Jan 30 05:19 test

   chown 名字 是只改属主

   chown .名字是只改属组

   如果想一次性递归修改目录及其子文件/目录的属主数属组,则命令如下:

chown -R 属主名 .属组名 目录名

   如下所示,在testDir文件夹下新建下循环新建了两个子文件,对其进行批量转移属主:

# 循环创建文件 [root@localhost ~]# cd testDir [root@localhost testDir]# touch {1..3}.txt [root@localhost testDir]# touch {a..c}.txt [root@localhost testDir]# cd .. [root@localhost ~]# ll testDir/* -rw-r--r--. 1 root root 0 Jan 30 06:17 testDir/1.txt -rw-r--r--. 1 root root 0 Jan 30 06:17 testDir/2.txt -rw-r--r--. 1 root root 0 Jan 30 06:17 testDir/3.txt -rw-r--r--. 1 root root 0 Jan 30 06:17 testDir/a.txt -rw-r--r--. 1 root root 0 Jan 30 06:17 testDir/b.txt -rw-r--r--. 1 root root 0 Jan 30 06:17 testDir/c.txt # 递归转移属主 [root@localhost ~]# chown yunya testDir/* [root@localhost ~]# ll testDir/* -rw-r--r--. 1 yunya root 0 Jan 30 06:17 testDir/1.txt -rw-r--r--. 1 yunya root 0 Jan 30 06:17 testDir/2.txt -rw-r--r--. 1 yunya root 0 Jan 30 06:17 testDir/3.txt -rw-r--r--. 1 yunya root 0 Jan 30 06:17 testDir/a.txt -rw-r--r--. 1 yunya root 0 Jan 30 06:17 testDir/b.txt -rw-r--r--. 1 yunya root 0 Jan 30 06:17 testDir/c.txt [root@localhost ~]# 数字权限

   权限所对应的数字:

   r -> 4

   w -> 2

   x -> 1

   如果一个文件的权限是754,则该文件权限代表信息如下:

   属主:所有权限,4+2+1=1

   属组:读和执行权限:4+1=5

   其他用户:仅有读权限:4

   如下示例,直接使用数字权限对test文件进行权限修改:

[root@localhost ~]# chmod 754 test [root@localhost ~]# ll test -rwxr-xr--. 1 yunya NewUser 0 Jan 30 05:19 test 文件操作篇 文档纵向合并

   >覆写的使用

   >命令可以将一个打印的内容写入到文件中,如果该文件不存在将自动创建,如果文件中已有内容,此操作将覆盖原有内容。

   如下所示:

[root@localhost ~]# echo 'Hello,World;' > new_file.txt [root@localhost ~]# cat new_file.txt Hello,World;

   >>追写的使用

   >>命令作用与>命令相同,但是如果原文件中已有内容,该操作不会覆盖原文件内容而是进行追写操作。

   如下所示:

[root@localhost ~]# echo 'Hello,Linux' >> new_file.txt [root@localhost ~]# cat new_file.txt Hello,World; Hello,Linux

   这两种命令能合并出所有打印的内容,如ls、cat等。

   我们也可以一次性指定多个文件进行合并,如下所示:

[root@localhost ~]# cat /etc/passwd /etc/shadow > new_file.txt

   这样的话我们合并文件里就有了两个文件的内容了。

文档行数统计

   wc命令

   使用wc -l [文档路径]对文档的行数进行统计:

[root@localhost ~]# wc -l new_file.txt 88 new_file.txt

  

文件归档操作

   归档和压缩还是有一部分区别的:

   归档:相当于去超市买东西,最后拎了一大袋零食出来了

   压缩:相当于去超市买完东西,领着一大袋子零食还要把空气挤了

   tar命令之打包

   我们将对以下文件进行打包操作:

[root@localhost ~]# ls testDir/ 1.txt 2.txt 3.txt a.txt b.txt c.txt

   使用tar命令进行打包,命令格式如下:

tar -cvf [打包后的名字即存放地址] [被打包文件1] [被打包文件2] [被打包文件N]

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjxxz.html