Linux学习基础笔记(5)

打印 上一主题 下一主题

主题 1039|帖子 1039|积分 3117

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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. 1 root@zjw-Lenovo-Legion-Y7000P-2020H:~# ls -l 2
  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. 1 drwxr-x--x 2 root root 4096  6月 23 20:04 1
  2. 2 drwxr-xr-- 2 root root 4096  6月 23 20:04 2
复制代码
 
分别建立两个目录,给予其他用户一个 r ,另一个 x
  1. 1 zjw@zjw-Lenovo-Legion-Y7000P-2020H:~$ cd ./1
  2. 2 zjw@zjw-Lenovo-Legion-Y7000P-2020H:~/1$ ls
  3. 3 ls: cannot open directory '.': Permission denied
复制代码
只有执行权限的1目录可进入,却无法查询目录内容
  1. 1 zjw@zjw-Lenovo-Legion-Y7000P-2020H:~$ cd ./2
  2. 2 bash: cd: ./2: Permission denied
  3. 3 zjw@zjw-Lenovo-Legion-Y7000P-2020H:~$ ls -l ./2
  4. 4 ls: cannot access './2/file': Permission denied
  5. 5 total 0
  6. 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 存放与/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与 /lib/ 功能相同
/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标准中定义的目录占了比较大的篇幅,但是暂作了解;根路径与相对路径。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

愛在花開的季節

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表