ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux学习基础笔记(5)

2022-06-24 15:34:09  阅读:131  来源: 互联网

标签:文件 笔记 学习 usr 放置 Linux var root 目录


1.文件的相关内容

  我在用root执行 ls -al 与用普通用户执行后发现显示的文件不一样,通过一番折腾(一开始迷糊了到处搜没搜到,冷静下来才想起来可以用 pwd 查看当前路径)才发现用 su - 切换用户后对应的路径也变化了,虽然都是 ~ ,普通用户(就拿为自己的为例)~ 默认 /home/zjw ,root用户为 /root

  drwxr-xr-x 20 root root 4096  6月 11 01:17 ..

  第一个字符代表了这个文件的类型: d 为目录; - 为文件; | 为链接文件; b 为设备文件里的可供存储的周边设备; c 为设备文件里的串行端口设备如键盘鼠标等

  后面的字符三个一组,分别为 文件拥有者读写执行、加入此用户组账号读写执行、非本人且没有加入本用户组的其他帐号读写执行

  20表示有20个文件名链接到此节点

  第一个 root 表示这个目录的拥有者;第二个 root 表示这个目录的所属用户组

  4096为这个目录的容量大小,默认单位 Bytes (通过帮助得知可以用 -h 将大小改为 human-readable ,即单位自动切换成 K、M 等等

  后面的为创建日期或修改日期,太过久远不会详细显示

 


 

2.文件属性修改

  更改用户组名

    chgrp [-R] 组名 文件名

  -R 作用为递归

    chown [-R] .组名 文件名

  更改文件拥有者名

    chown [-R] 用户名 文件名

  两个名称同时修改

    chown [-R] 用户名:组名 文件名

  同时修改两个名称也可以用 . 相连,考虑到用户名或者组名中可能存在 . 所以用 : 间隔

    如果想知道自己电脑里面有哪些用户名及组名,可到 /etc/passwd 中查看用户名称, /etc/group 中查看用户组名

  更改文件权限1  利用数字修改

    chmod [-R] 分数 文件名

      r:4  w:2  x:1

  更改文件权限2  利用符号修改

    u g o a 分别表示 user group other all , + - = 分别表示 加入 移除 设置

1 root@zjw-Lenovo-Legion-Y7000P-2020H:~# ls -l 2
2 ---xrw-rw- 1 root root 0  6月 23 15:36 2

 

    若想将文件 2 权限改为 -rwxrwxrwx 即执行 chmod a=rwx 或者分开 chmod u=rwx,g=rwx,o=rwx  + - 同理

    相比较下来,个人更倾向于利用数字更改

 

  利用 cp 命令将文件复制给文件,或将多个文件复制到目录中

    cp 源文件 目标文件

    虽然 cp 命令会将执行者的属性与权限都复制给目标,但是经过测试我发现只有用户所有权限、用户组与其他人的读与执行权限会复制给目标,换句话说,如果源文件权限为 777 ,则目标文件权限为 755

 


 

3.目录与文件的权限

  文件的读取,即读取实际内容

  文件能否执行,与 x 有关,与文件名无关

  文件中的 w 权限,只能具有写入、编辑、新增、修改文件内容权限,不具备删除文件本身的权限

 

  目录的读取,即可以查询目录中的文件名数据

  目录的可写入权限即对目录中的文件的操作(非文件内部数据)

  目录的可执行,即能否进入该目录    !注意!:能否查看目录内容由 决定,能否进入目录由 x 决定

 

1 drwxr-x--x 2 root root 4096  6月 23 20:04 1
2 drwxr-xr-- 2 root root 4096  6月 23 20:04 2

 

分别建立两个目录,给予其他用户一个 r ,另一个 x

1 zjw@zjw-Lenovo-Legion-Y7000P-2020H:~$ cd ./1
2 zjw@zjw-Lenovo-Legion-Y7000P-2020H:~/1$ ls
3 ls: cannot open directory '.': Permission denied

只有执行权限的1目录可进入,却无法查询目录内容

1 zjw@zjw-Lenovo-Legion-Y7000P-2020H:~$ cd ./2
2 bash: cd: ./2: Permission denied
3 zjw@zjw-Lenovo-Legion-Y7000P-2020H:~$ ls -l ./2
4 ls: cannot access './2/file': Permission denied
5 total 0
6 -????????? ? ? ? ?             ? file

只有读取权限的2目录无法进入,也只能获取目录内的文件名列表

!若目录仅有 x 权限,则在此目录中使用 tab 无法自动补齐


 

4.文件种类

  纯文本常规文件、二进制常规文件、数据文件

  目录

  链接文件

  区块设备文件、字符设备文件

  数据接口文件

  数据输送文件

  一个文件能否被执行,只与文件属性有关,与文件名无关


 

5.FHS标准

  代表性目录:

  可分享 不可分享
不变 /usr(软件存放处) /etc(配置文件)
  /opt(第三方辅助软件) /boot(启动与内核文件)
可变动 /var/mail(用户邮箱) /var/run(程序相关)
  /var/spool/news(新闻组)

/var/lock(程序相关)

  可分享,即能够分享给网络上其他主机或其他系统挂载用的目录

  不可分享

  不变,即数据跟随着发行版不会经常变动

  可变动,经常修改的数据

 

  FHS针对目录树架构仅给出的三个目录的定义

    /(根目录):与启动系统有关    注意:表示的是根目录,有 root 的意思,而 /root 表示的是系统管理员的身份

    /usr:与软件安装/执行有关

    /var:与系统运行过程有关

/ 下的目录

FHS要求必须存在的目录
/bin 放置单人维护模式下还能够使用的命令,其中的命令可以被 root 与一般账号所使用,如:cat、chmod...
/boot 主要放置启动时会使用到的文件,包括Linux内核文件、启动选项等。Linux内核常用文件名为:vmlinuz
/dev 任何设备与接口设备都是以文件形式存在于这个目录中,只要读写某个文件,就等于读写某个设备
/etc

系统主要的配置文件几乎都在这个目录中,FHS建议不要放置可执行文件

/etc/opt(必要):这个目录放置第三方辅助软件 /opt 的相关配置文件

/etc/X11(建议):与 X Window 有关的各种配置文件都在这

/etc/sgml(建议):与SGML格式有关的各项配置文件

/etc/xml(建议):与XML格式有关的各项配置文件

/lib

放置在启动时会用到的函数库,以及在 /bin 或 /sbin 下面的命令会调用的函数库

/lib/modules(必要):这个目录放置可抽换式的内核相关模块(驱动程序)

/media 放置可删除设备如软盘、光盘、DVD等设备
/mnt 暂时用于挂载某些额外的设备
 /opt 放置第三方辅助软件(非原本发行版提供的独立软件)
/run 放置启动后所产生的各项信息
/sbin 放置只有 root 才能够使用的启动过程中所需要的命令
/srv 放置网络服务启动后所需要的数据目录   
/tmp 暂时放置文件的地方,任何人都能够存取,但是重要目录不要放置在这
/usr  
/var  
FHS建议可以存在的目录
/home 系统默认的用户家目录
/lib<qual> 存放与/lib 不同格式的二进制函数库
/root 系统管理员家目录

 

/usr 下的目录

FHS要求必须存在的目录
/usr/bin/ 所有一般用户能够使用的命令存放于此
/usr/lib/ 基本上与/lib功能相同
/usr/local/ 系统管理员在本机安装自己下载的软件,建议安装到此处
/usr/sbin/ 非系统正常运行所需要的系统命令,功能与/sbin差不多
/usr/share/ 主要放置只读数据文件,包括共享文件
FHS建议可以存在的目录
/usr/games/ 与游戏相关的数据放置处
/usr/include/ c/c++等程序语言的头文件与包含文件放置处
/usr/libexec/ 某些不被一般用户常用的执行文件或脚本等
/usr/lib<qual> 与 /lib<qual>/ 功能相同
/usr/src/ 一般源代码建议放置于此内核源码建议放置在 /usr/src/Linux/ 目录下

 

/var 下的目录

FHS要求必须要存在的目录
/var/cache/ 应用程序本身运行过程中会产生的一些缓存
/var/lib/ 程序本身执行的过程中,需要使用到的数据文件放置的目录,各自的软件有各自的目录
/var/lock/ 某些设备或是文件资源一次只能被一个应用程序所使用,因此就得将该设备上锁,以确保该设备只会给单一软件使用
/var/log/ 非常重要,放置日志文件的目录
/var/mail/ 放置个人电子邮箱的目录
/var/run/ 某些程序或服务启动后,会将它们的PID放置在这个目录下,与/run相同
/var/spool/ 通常放置队列数据,如 收到的新邮件会放置在 /var/spool/mail 中,用户收下后该封信原则上会被删除

  以上目录信息会在后续逐渐理解

第五章总结:文件的属性及权限一定要熟记,如何修改权限;FHS标准中定义的目录占了比较大的篇幅,但是暂作了解;根路径与相对路径。

标签:文件,笔记,学习,usr,放置,Linux,var,root,目录
来源: https://www.cnblogs.com/zjwstudy/p/16405521.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有