Linux 文件属性及详细操作

x33g5p2x  于2021-12-14 转载在 Linux  
字(3.0k)|赞(0)|评价(0)|浏览(274)


Linux中文件属性及详细操作,5分钟get,“草鸡”详细

Linux 文件属性

文件属性信息组成

  • 文件索引属性信息-inode
  • 文件类型权限信息
  • 文件链接属性信息-硬链接个数
  • 文件属主属性信息-文件所有者
  • 文件属组属性信息-文件所属组
  • 文件大小属性信息-最小单位字节(大小、kb)
  • 文件修改时间信息
  • 文件名称信息说明-文件名

文件属性概念说明

  1. inode 编号

  1. 常见文件类型
文件类型对应字符
普通文件f/-
文件夹d
链接文件l
设备文件b:磁盘文件 / c:字符文件
套接字文件(socket)s
管道文件p

  • 文件类型查看方法

  • 配置文件---.conf

  • 日志文件---.log

  • 脚本文件---.sh

  • 脚本文件---.py

这样一种颜色的时候在文件多的时候很难判断是什么类型!

文件软硬链接说明

  • 命令:ln

  • 参数:-s --- 软连接

  • 不加参数创建的是硬链接

  • 格式1:ln [原文件路径] [硬链接文件路径]

  • 格式2:ln -s [原文件路径] [软链接文件路径]

硬链接

# 创建硬链接
[root@localhost ~]# ln /root/test /root/test01

ps:修改原文件或者硬链接产生的文件都是对原文件的修改!

软链接

# 创建软连接
[root@localhost ~]# ln -s /root/test /root/test02

[root@localhost ~]# rm -rf /root/test
[root@localhost ~]# ls
anaconda-ks.cfg  test01  test02
[root@localhost ~]# ll -i
total 8
134319695 -rw-------. 1 root root 1691 Dec  9 19:03 anaconda-ks.cfg
134930018 -rw-r--r--. 1 root root   12 Dec 14 16:17 test01
135086254 lrwxrwxrwx. 1 root root   10 Dec 14 16:25 test02 -> /root/test
[root@localhost ~]# cat test01
chinaaaaaaa
[root@localhost ~]# cat test02
cat: test02: No such file or directory

补充知识

存储数据相关-inode/block

inode:

  • 展示inode信息:
[root@localhost ~]# cd /etc/
  [root@localhost etc]# ll -hi /etc/hosts
  67109955 -rw-r--r--. 1 root root 158 Jun  7  2013 /etc/hosts
  • 统计inode数目

  • 命令:df -i

[root@localhost etc]# df -i
Filesystem                Inodes IUsed    IFree IUse% Mounted on
devtmpfs                   56934   334    56600    1% /dev
tmpfs                      59949     1    59948    1% /dev/shm
tmpfs                      59949   692    59257    2% /run
tmpfs                      59949    16    59933    1% /sys/fs/cgroup
/dev/mapper/centos-root 52164608 77758 52086850    1% /
/dev/sda1                 262144   326   261818    1% /boot
tmpfs                      59949     1    59948    1% /run/user/0

block:

  • 命令:df
  • 相关文件:/etc/hosts
[root@localhost etc]# ll -hi /etc/hosts
67109955 -rw-r--r--. 1 root root 158 Jun  7  2013 /etc/hosts

[root@localhost etc]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                   227736       0    227736   0% /dev
tmpfs                      239796       0    239796   0% /dev/shm
tmpfs                      239796    5624    234172   3% /run
tmpfs                      239796       0    239796   0% /sys/fs/cgroup
/dev/mapper/centos-root 104278276 2636220 101642056   3% /
/dev/sda1                  520868  134236    386632  26% /boot
tmpfs                       47960       0     47960   0% /run/user/0

读取文件原理图

  • 读取文件流程

Linux文件系统

  • 文件的元数据 :权限(rwx)与属性(拥有者、群组、时间参数、大小等)
  • 文件的数据:实际记录文件的内容 若文件太大时,会占用多个block
  • 文件系统的整体信息:inode/block的总量使用量剩余量, 以及档案系统的格式与相关信息等
inodeblocksuperblock
记录文件的元数据记录文件的数据记录文件系统的整体信息

文件用户和用户组

  • 命令1:

  • 添加用户:useradd [用户]

  • 参数: -g :指定存在用户组

-r :创建一个系统用户

-M :不创建家目录

-u :指定创建用户ID

  • 删除用户:userdel -r [用户]

  • 相关文件:/etc/passwd

  • 命令2:

  • 添加用户组:groupadd [组名]

  • 参数 -g:指定用户组的ID

  • 删除用户组:groupdel [组名]

  • 修改用户组:usermod -g [组名] [用户名]

  • 相关文件:/etc/group

  • 命令3:id [用户名] / [组名]

  • 用户文件操作

# 查看用户详情文件
[root@localhost mail]# useradd hammer
[root@localhost mail]# cat /etc/passwd
# 格式如下
hammer:x:1000:1000:[用户简介]:/home/hammer:/bin/bash
用户名		 	:hammer
密码占位符	   :x
1000    	   :userid
1000		   :组id
/home/hammer    :家目录
/bin/bash	    :默认的解析器 
# 默认的解析器为bash

# 解析器的种类 (可以修改)
bash  /   sh    / zsh

# sh和bash解析器切换
/bin/bash
/bin/sh

切换用户
	su - [用户名]
	su [用户名]
	
# 在已存在的用户组内添加用户
# 通过指定组名添加
[root@localhost mail]# id hammer
uid=1000(hammer) gid=1000(hammer) groups=1000(hammer)
[root@localhost mail]# useradd wang -g hammer
[root@localhost mail]# id wang
uid=1001(wang) gid=1000(hammer) groups=1000(hammer)
# 通过指定组id添加
[root@localhost mail]# useradd -g li 1000 
[root@localhost mail]# id li
uid=1002(li) gid=1000(hammer) groups=1000(hammer)
  • 用户组操作
[root@localhost mail]# groupadd hammer
[root@localhost mail]# cat /etc/group
hammer:x:1000:

hammer	:组名
x		:密码占位符
1000	:组id

用户相关文件

  • 用户的特征信息:/etc/passwd (掌握文件各列信息)
  • 用户的密码信息:/etc/shadow
  • 用户组特征信息:/etc/group
  • 用户组密码信息:/etc/gshadow
  • 用户家目录默认隐藏文件:/etc/skel/

【待续】

相关文章