Linux系统文件类型说明、软硬链接及用户与用户组

昨日内容回顾

1.解析映射文件DNS
	/etc/hosts
    
2.磁盘挂载文件
	/etc/fatab
    
3.设置开机自启动脚本的步骤
	1 修改/etc/rc.local
	2 设置可执行权限
		chmod +x /etc/rc.d/rc.local
        
4.系统启动级别
	0 关机
	1 单用户
	2 多用户无网络
	3 完全多用户(有网络)
	4 待定
	5 桌面模式
	6 重启
    
5.变量加载文件
	/etc/profile
	/etc/profole.d
	/etc/bashrc
    
	~/.bashrc
	~/.bash_profile
    
6.添加环境变量的格式
	export 变量名=路径
    
7.登录提示文件
	/etc/motd 登录成功后
    
	/etc/issue 登录之前
    
8.修改root用户密码
	1 重启
	2 在启动选择系统页面 按e进入
	3 找到Linux16开头行 删除ro 并在ro位置添加 rw init=/sysroot/bin/sh
	4 执行 CTRL + x 
	5 执行 chroot /sysroot
	6 执行 passwd root
	7 执行 touch /.autorelabel
	8 重启系统

今日内容概要

  • 文件类型概念说明
  • 软硬链接说明
  • 存储数据相关 -inode 和 block
  • 用户和用户组

内容详细

文件类型概念说明

image

# 1.文件详细信息
	ll -i 获取文件详细编号信息
	134319695 -rw-------. 1 root root 1689 Dec  9 15:11 anaconda-ks.cfg
	134319695	Linux系统编号(唯一)
	-		文件类型
	rw-------	Linux权限
	1		硬链接数量
	root		所有者
	root		所属的组
	1689		文件大小
	Dec  9 15:11	文件修改时间
	anaconda-ks.cfg	文件名    
    
# 2.inode编号
	Linux系统中文件的唯一编号,就相当于身份证号
	'''
	对于Linux系统来说,文件名只是inode号码便于识别的别称或者绰号。
	表面上,用户通过文件名,打开文件。
	实际上,系统内部这个过程分成三步:
		首先,系统找到这个文件名对应的inode号码
		其次,通过inode号码,获取inode信息
		最后,根据inode信息,找到文件数据所在的block,读出数据
	'''

# 3.硬链接与软连接
	1.硬链接
		硬链接直接指向index node编号
		相当于文件的入口
		'''
		一般情况下,文件名和inode号码是一一对应关系,每个inode号码对应一个文件名。
		但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。
		这意味着
			可以用不同的文件名访问同样的内容		
			对文件内容进行修改,会影响到所有文件名
			但是,删除一个文件名,不影响另一个文件名的访问
			这种情况就被称为 硬链接
		'''
        
	2.软连接
		相当于Windows中的快捷方式
		主要用来指向对应文件的路径
		'''
		文件A和文件B的inode号码不一样,文件A的内容是文件B的路径
		读取文件A时,系统会自动将访问者导向文件B
		因此,无论打开哪一个文件 最终	读取的都是文件B
		这时,文件A就称为文件B的 软链接(softlink)或者 符号链接(symbolic link)
		'''
        
	3.创建命令
		创建硬链接:(硬链接只能对文件创建 不支持文件夹或目录)
			ln + 源文件 + 目标文件
            
		创建软链接:
			ln -s + 源文件或目录 + 目标文件或目录
"""
软链接与硬链接最大的不同:
	文件A和文件B的inode号码不一样,文件A的内容是文件B的路径
	文件A指向文件B的文件名,而不是文件B的inode号码
	文件B的inode'链接数'不会因此发生变化
"""

# 4.Linux系统删除文件的底层逻辑
	1.删除的是硬链接
	2.执行删除操作时 会先判断该文件硬链接数是否为 0
	3.如果硬链接数为 0 则在磁盘中删除文件(夹)
	4.如果硬链接数不为 0 则只删除一个硬链接(硬链接数同步减1)

image

文件类型详述

# 类型
	普通文件	f(-)
	文件夹	d
	链接文件	l
	设备文件	b c
		b 磁盘文件
		c 字符文件
	套接字文件(socket)	s
	管道文件	p
	'''不能以颜色判断文件类型'''

文件属性 文件类型
- 常规文件,即file
d 目录文件
b block device 即块设备文件,如硬盘;支持以block为单位进行随机访问
c character device 即字符设备文件,如键盘支持以character为单位进行线性访问
l symbolic link 即符号链接文件,又称软链接文件
p pipe 即命名管道文件
s socket 即套接字文件,用于实现两个进程进行通信

用户与用户组

# 用户
	相当于账号 root test
    
# 用户组
	一些具有相同属性的账号的集合
    
# 创建用户命令:
	useradd + 用户名
	adduser + 用户名
		参数:
			-g	指定用户组(用户必须存在)
			-r	创建系统用户
			-M	不创建家目录
			-u	指定创建用户的id
			-s	指定解析器
            
	系统用户:uid在 0 - 999 之间的用户,我们就看作系统用户
	一般用在启动应用程序上,一般不需要登录系统
    
	普通用户:uid在 1000及以上的用户,我们就看作普通用户
	一般用在登录上
	'''
	添加用户时 出现错误:Creating mailbox file:
	是因为linux下添加用户后 会在系统里自动加一个邮箱(系统邮箱)
	路径是:/var/spool/mail/用户名
	执行 userdel 用户名 其实并没有删除该路径 所以无法创建同一用户名新用户
	可以执行 rm -rf /var/spool/mail/用户名 后再重新创建
	
	当然 建议删除用户时使用递归删除
		userdel -r 用户名
		这样就不会删除不干净了
	'''
    
# 创建用户组
	groupadd
		参数:
			-g	指定用户组的ID

# 切换用户
	su 用户名  (是不改变当前变量)
	su - 用户名  (是改变为切换到用户的变量)
	su只能获得新用户的执行权限,不能获得环境变量
	而su -是切换到新用户并获得新用户的环境变量及执行权限
            
# 查看用户的ID或组的ID
	id [用户名]
    
# 查看用户详情的文件
	cat /etc/passwd
		root:x:0:0:root:/root:/bin/bash
		root	用户名
		x	密码占位符
		0	userid
		o	组id
		root	用户简介
		/root	家目录
		/bin/bash	默认的解析器
        
# 不使用useradd创建用户
1.vim /etc/passwd
	li:x:1000:1000::/home/li:/bin/bash
2.vim /etc/group
	li:x:1000:
3.cp -r /etc/skel/ /home/li
4.chown -R li:li /home/li
5./etc/shadow 要密码就改

    
    
echo stu4:x:504:504::/home/stu4:/bin/bash >>/etc/passwd
cp -r /etc/skel /home/stu4
echo stu4:x:504: >>/etc/group
ll /home/   确定下 home目录下是否存在用户路径  
chown -R stu4:stu4 /home/stu4
posted @ 2021-12-14 17:31  Deity_JGX  阅读(168)  评论(0编辑  收藏  举报