Linux之文件
文件详解
Linux文件类型常见的有:
普通文件 f(-) : 最常用的的文件类型,内容可能是文本或者二进制格式。
目录文件 d : 文件中包含了其它文件的名字以及指向它们信息的指针。
块特殊文件 b : 提供对设备(例如磁盘)的带缓冲的访问,每次访问以固定长度为单位进行。
字符特殊文件 c : 提供对设备不带缓冲的访问,每次访问长度可变 系统中的设备要么是字符特殊文件,要么是块特殊文件。
管道文件 p : 用于进程间通信。
套接字(socket)s : 用于网络通信或进程间的通信
文件类型概念:
文件详细信息:
134319707 -rw-r--r-- 1 root root 12 Dec 13 11:48 index
- inode号,只有一个不重复 (类似于存储数据的一个独特空间)
- -rw-r , Linux中的权限 (r: 可读权限 w: 可写权限 x: 可执行权限)
- 1 , 代表着硬链接个数 (相当于有两份除名字外相同的文件,只有全部删除才会彻底消失)
- root root , 代表属主与属组 (属主指的是用户,属组指的是所在的组)
- 12 , 表示的是文件的大小
- Dec 13 11:48 , 代表文件最新一次修改的时间
- index , 表示的是给文件取的名字
硬链接与软连接:
硬链接:指向的是 inode的编号,全部删除inode才会删除
软连接:指向的是对应文件的路径,原路径删除后则会飘红报错
创建命令:
ln 原文件路径 硬链接创建后存放的路径
ln -s 原文件路径 软连接创建后存放的路径
删除文件的底层原理:
- 删除文件
- 判断该硬链接数是否为0
- 如为0,则在磁盘删除
- 不为0,则值删除一个硬链接
创建用户:
1: useradd (自动创建)
格式:useradd [参数] 用户名
参数:
-g : 指定用户组(用户必须存在)
-r : 创建系统用户
-M :不创建家目录
-u :指定创建用户的ID的
系统用户:uid在 0 - 999 之间的用户,就看作系统用户。系统用户一般用在启动应用程序上,一般不需要登录系统。
普通用户:uid在 1000及以上的用户,就看作普通用户一般用在登录上。
创建用户组:groupadd [参数] 组名
-g : 指定用户组的ID
切换用户:
su - [用户名]
su [用户名]
查看用户的ID或组的ID:
id [用户名]
查看用户详情的文件:
[root@localhost ~]# cat /etc/passwd
test01:x:1001:1001:用户简介:/home/test01:/bin/bash
用户名 : test01
密码占位符 :x
1001 : userid
1001 : 组id
/home/test01 : 家目录
/bin/bash :默认的解析器
2:手动创建
chown (用来修改用户) chomd(用来修改权限
手动创建test用户:
1.vim /etc/gshadow
test:!::
2.vim /etc/group
test:x:1001:
3.vim /etc/passwd
test:x:996:995:手动创建文件:/home/test:/bin/bash
4.vim /etc/shadow
test:1::0:99999:7::
5.mkdir /home/test
cd /home
cp /etc/skel/.* /home/test/
chmod 700 test(修改权限)
chown test.test test
cd test
chown test.test ./.*
6. 使用ssh test@ip地址 或 su 用户名 登入
补充:
whoami : 查看当前窗口登录的用户
who :查看当前用户登录系统的终端
文件权限:
权限主要分为3个部分:
可读(r)
可写(w)
可执行(x)
没有对应权限(-)
权限位主要分为三个部分:
rwxr-xr-x
每三个为一部分
rwx : 属主
r-x : 属组
r-x : 其他人
每一个权限拥有一个数字编号:
可读(r) : 4
可写(w) : 2
可执行(x) : 1
没有对应权限(-) : 0
添加权限:
格式:chmod [参数] [权限表达式] [操作对象]
参数:-R 递归增加权限
在添加权限时可以将权限加起来:
比如:chmod 760 xxx
则xxx的:
属主 : 可读可写可执行
属组 :可读可写
其他人:没有任何权限
可指定权限的归属:
属主:u
属组:g
其他人:o
(使用+号添加,eg: u+x,g+r....)
文件的最小权限:
1、文件可读,路径的最小权限是必须拥有可执行权限。
2、文件可写,路径的最小权限是必须拥有可执行权限。
3、文件可执行,路径的最小权限是必须拥有可读可执行权限。
创建文件的默认权限由来:
在Linux中,常用的文件的权限是666, 目录的权限是777。
1、文件的权限是跟 umask 值相减,遇到奇数加一;遇到偶数则不变。
2、文件夹的权限只要跟 umask 值相减即可。
root : umask 022
test09 : umask 002
默认文件权限:644
默认的文件夹权限:755


浙公网安备 33010602011771号