linux文件操作学习总结

学习转自:https://ecloud.10086.cn/api/query/developer/user/home.html?ticket=ST-7179-Jhem0Myd4NmqdlwEK4He-cas01.example.org#L2FwaS9xdWVyeS9kZXZlbG9wZXIvYmxvZy9ibG9nZGV0YWlsLmh0bWw/YmxvZ19pZD04NDFjODQ3YzM2YjA0MWRhOTE0MzNhNTgwZGNjNGRhMQ==

https://ecloud.10086.cn/api/query/developer/user/home.html?ticket=ST-7179-Jhem0Myd4NmqdlwEK4He-cas01.example.org#L2FwaS9xdWVyeS9kZXZlbG9wZXIvZm9ydW0vZmxvb3JsaXN0Lmh0bWw/aWQ9ZjlhZTNkNjc3N2JmNDZmMmIxNWQ1Y2EyYTM3MWZhMWUmc291cmNlPXVzZXI=

1.linux文件与目录权限管理

linux是典型的多用户系统,不同用户的权限不同,所以linux对不同用户访问同一个文件/目录文件的权限做了不同的规定。

以下两个命令被用来修改文件或目录的所属用户与权限:

  • chown (change ownerp) : 修改所属用户与组。
  • chmod (change mode) : 修改用户的权限。

chown授权用户,chmod为用户设置权限。

查看文件目录详情命令:

ll 或 ls -l

3个一组,r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute), 三个权限的位置不会改变,如果没有权限,就会出现减号 - 。

引用菜鸟联盟的图片可以很清晰的全是各个属性的意义

 每个文件有一个特定的所有者,就是对此文件有所有权的用户,在linux中,用户按组分类,一个用户可以属于一个或多个组,

所以分为:文件所有者,文件所有者同组用户和其他用户3种来规定文件的访问权限。但是对于root用户来说,一般情况,文件的权限对它不起作用。

(-R表示递归目录下所有文件)

更改文件属组: 

   chgrp [-R] 属组名 文件名

更改文件属主,并同事更改文件属组:

   chown [–R] 属主名 文件名

   chown [-R] 属主名:属组名 文件名

   例子:将reset.js文件拥有者改为app,属组改为app:chown app:app reset.js

更改文件权限属性:

    可以用数字,或者符号设置文件基本权限9个如下图1-9位

 rwx二进制表示为111,r:100=4  ,w:010=2,x:001=1

则rwx = 7,r-x = 5, r-x = 5,所以文件权限数字为755,改成rwxrwxrwx的指令语法:chmod  777 文件或目录名称

符号类型改变文件权限规则:

user:u,group:g,others:o,all:a

读写权限:r,w,x

编辑:+加入,-除去,=设定

例子:chmod u=rwx,g=rx,o=r 文件或目录名称

           除去全部人的r权限:chmod a-r 文件或目录名称

2.文件与目录管理

linux为树状目录结构,最顶级目录为根目录/

绝对路径:由根目录 / 写起,例如: /usr/share/doc 这个目录。

相对路径:不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法。

常用目录处理命令:       

ls(英文全拼:list files): 列出目录及文件名 

        选项与参数:

-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来

-d :仅列出目录本身,而不是列出目录内的文件数据

-l :长数据串列出,包含文件的属性与权限等等数据

例子:将home目录下所有文件列出来(含属性和隐藏档):ls -al  ~ 

cd(英文全拼:change directory):切换目录

    cd [相对路径或绝对路径]

pwd(英文全拼:print work directory):显示目前的目录

       pwd  [-P] 

-P :显示出确实的路径,而非使用连结 (link) 路径。

mkdir(英文全拼:make directory):创建一个新的目录  

  mkdir [-mp] 目录名称
    • -m :配置文件的权限
    • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
     例子: mkdir -m 711 test2

rmdir(英文全拼:remove directory):删除一个空的目录  

     rmdir [-p] 目录名称
    • -p :从该目录起,一次删除多级空目录

cp(英文全拼:copy file): 复制文件或目录

   cp [-adfilprsu] 来源档(source) 目标档(destination)

     例子: cp ~/.bashrc /tmp/bashrc  将文件.bashrc复制到/tmp/bashrc/路径下

rm(英文全拼:remove): 删除文件或目录    

     rm [-fir] 文件或目录   

    • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
    • -i :互动模式,在删除前会询问使用者是否动作
    • -r :递归删除啊!最常用在目录的删除

mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

  mv [-fiu] source destination  

    • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
    • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
    • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

   例子:将文件list.js 移动到目录home下: mv list.js  /home

 

 

 

posted @ 2021-11-01 16:53  姜子牙的姜  阅读(231)  评论(0编辑  收藏  举报