Ansheng的SRE学习之路-基础理论篇

本文详细介绍了Linux文件系统的各种属性,包括文件类型、inode与block、文件权限等。讲解了软链接和硬链接的区别,以及如何创建。同时,讨论了Linux中的用户分类、用户相关文件如/etc/passwd的作用,并提供了目录模板示例和故障案例分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

认识linux:理论篇

1.文件属性概述:

[root@smal.localdomain ~]# ls -lhi
total 57M
51430849 drwxr-xr-x. 2 root root    6 Mar  1 11:37 111
33592561 -rw-r--r--. 1 root root   42 Feb 28 08:13 2
33598570 -rwxr-xr-x. 1 root root   18 Mar  3 17:01 3.txt
33597721 -rw-r--r--. 1 root root  57M Sep 17  2019 access.log
33574978 -rw-------. 1 root root 1.4K Feb 27 15:27 anaconda-ks.cfg
33597720 -rw-r--r--. 1 root root   27 Mar  3 20:01 bashrc
33574994 -rw-r--r--. 1 root root  183 Mar  4 17:13 hosts
33574998 -rw-r--r--. 1 root root  350 Mar  2 15:34 ifcfg-ens33
33574997 -rw-r--r--. 1 root root    0 Mar  1 19:50 ifup-ppp~
33598573 -rw-r--r--. 1 root root  744 Mar  3 19:34 ip.txt
33598572 -rw-r--r--. 1 root root  245 Mar  4 18:14 list.txt
33598565 drwxr-xr-x. 2 root root   21 Mar  1 21:53 lol
33628143 -rw-r--r--. 1 root root  140 Mar  4 15:22 lol.avi
33598569 -rw-r--r--. 1 root root  101 Mar  3 17:23 name.txt
33640636 -rw-r--r--. 1 root root   66 Mar  4 17:54 num.txt
33598568 -rw-r--r--. 1 root root   25 Mar  3 17:35 oldboy.txt
33598571 -rw-r--r--. 1 root root    0 Mar  3 17:35 oldgirl.txt
33592544 -rw-r--r--. 1 root root  979 Mar  2 15:16 passwd
17377825 drwxr-xr-x. 2 root root    6 Mar  1 10:10 touch
17377870 drwxr-xr-x. 3 root root   19 Mar  3 19:51 www.oldboyedu.com
​

2:inode与block

  • 一个非空的文件

    • inode:文件的属性信息

    • block:文件的内容(文件是实体)

      概念说明特点
      inode索引节点存放文件的属性信息(大小。权限。时间。连接数。), 存放文件block的位置。(指向文件实体的指针), 没有存放文件名1,没创建一个文件就要有一个inode空间 2.同一个磁盘分区中如果两个文件的inode相同。互为硬连接 3.inode大小和数量是在磁盘分区格式化的时候创建的 4.数量查看:df -i
      block数据块存放数据的空间。(值文件内容)1,每个非空文件。至少占用一个block空间 2.block默认是4K大小,文件较大会占用多个block空间。 3,如果文件非常小。至少占用一个block 4.block大小与数量也是在格式化创建文件系统的时候生成 5.数量查看:df

3:文件类型:

1)扩展名

windows:通过扩展名区分不同的文件,如果扩展名改变,默认无法识别的文件

linux:linux下面的扩展名是给我们人看的。

linux常见扩展名作用
.txt普通文件
.cfg .conf配置文件
.sh .bash脚本文件
.pypathon脚本文件
.htmlhtml文件 网站文件
.php .jsp一些语言的代码文件 php java

2)查看文件类型

linux文件类型
file 文件在ls中-表示
directory 目录
link (softlink symlink)软连接(符号连接)
block 设备文件磁盘,硬盘,U盘,光驱,移动硬盘,移动固态盘
character 特殊符号文件用于输出(白洞)或吸收(黑洞)字符。

file:查看文件信息

案例1 查看文件类型
[root@small ~]# file /bin/find  /etc/hostname /tmp/etc.tar.gz 
#二进制文件(命令)
/bin/find:       ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=fd27753c2a274155615007bf3f5289378cf7b513, stripped
 #普通文本文件。
/etc/hostname:   ASCII text    #普通文件文本文件。
#数据文件。
/tmp/etc.tar.gz: gzip compressed data, from Unix, last modified: Fri Mar  4 11:23:33 2022      #数据文件,需要使用专用的命令查看。
​
​
​
[root@small ~]# ll -d /bin/find  /etc/hostname /tmp/etc.tar.gz  /etc/  /bin  /dev/sda  /dev/null /dev/log
lrwxrwxrwx.  1 root root        7 Feb 27 15:23 /bin -> usr/bin
-rwxr-xr-x.  1 root root   199304 Oct 31  2018 /bin/find
srw-rw-rw-.  1 root root        0 Mar  7 13:57 /dev/log
crw-rw-rw-.  1 root root     1, 3 Mar  7 13:57 /dev/null
brw-rw----.  1 root disk     8, 0 Mar  7 13:57 /dev/sda
drwxr-xr-x. 83 root root     8192 Mar  7 14:13 /etc/
-rw-r--r--.  1 root root        7 Mar  7 10:14 /etc/hostname
-rw-r--r--.  1 root root 10502532 Mar  4 11:23 /tmp/etc.tar.gz

字符特殊设备文件 ,黑洞与白洞

#白洞(生成随机字符,密码)
/dev/urandom 
tr -cd 'a-zA-Z0-9' < /dev/urandom  | head -c100
#黑洞
/dev/null
echo oldboy
echo oldboy > /dev/null
​

4:linux链接(软链接与硬链接)

4.1概述

  • 软链接:softlink软链接。sysmlink符号连接。类似于windows快捷方式。方便我们快速访问某个文件或目录。应用很广泛。

  • 硬链接:hardlink,在同一个磁盘分区中,inode号码相同的文件,互为硬链接。应用极少。

4.2特点

  • 如何创建

    创建软链接:
    ln -s  源文件(绝对路径)    软链接文件名字及位置
    [root@small ~]# ln -s oldboy.txt  oldboy.soft
    [root@small ~]# ll oldboy*
    lrwxrwxrwx. 1 root root 10 Mar  7 16:00 oldboy.soft -> oldboy.txt
    -rw-r--r--. 1 root root 25 Mar  3 17:35 oldboy.txt
    [root@small /tmp]# ln -s /root/oldboy.txt  oldboy.txt.jue
    [root@small ~]# mv oldboy.soft*  /tmp/
    [root@small ~]# cd /tmp/
    [root@small /tmp]# ll
    lrwxrwxrwx.  1 root root       10 Mar  7 16:00 oldboy.soft -> oldboy.txt
    lrwxrwxrwx.  1 root root       16 Mar  7 16:06 oldboy.txt.jue -> /root/oldboy.txt
    创建硬链接:
    ln  oldboy.txt  oldboy.ying.txt  
    ​
  • 软链接是最常用,给文件丶目录创建软链接。

    • 硬链接应用极少。

    • 软链接是存放的源文件位置。

    • 硬链接在同一个分区中文件的inode号码一致。类似于一个大楼的不同入口。

    • 可以给文件和目录创建软链接。只能给文件创建硬链接。

  • 怎么没的。

    • 删除源文件,软链接失效(红底白色闪烁),硬链接可以继续访问和使用,文件还在。

    • 删除软链接,对于其他没有影响。文件还在。

    • 删除硬链接,源文件,软链接没有影响,文件还在。

    • 删除文件所有硬链接(入口),文件则无法访问,文件不在了。

3)面试题:软链接与硬链接区别

  • 怎么来的,如何创建

    • 软链接通过ln -s创建,硬链接是通过ln命令创建。

  • 啥意思及特点

    • 软链接:类似于快捷方式,存放的是源文件的位置。

    • 硬链接:在同一个分区中,inode号码相同的文件互为硬链接。

    • 软链接:可以给文件和目录创建软链接,很常用。

    • 硬链接:只能给文件创建硬链接,目录无法创建硬链接。

  • 咋没的

    • 怎么没的。

    • 删除源文件,软链接失效(红底白色闪烁),硬链接可以继续访问和使用,文件还在。

    • 删除软链接,对于其他没有影响。文件还在。

    • 删除硬链接,源文件,软链接没有影响,文件还在。

    • 删除文件所有硬链接(入口),文件则无法访问,文件不在了。

5:linux时间

mtime modify time修改时间文件内容修改了
atime acess time访问时间只要你看一次文件,时间就会改变(现在有限制,mtime修改后atime才会改)
ctime change time文件属性改变时间文件属性信息大小,权限,所有者,硬链接数

看文件信息 :stat

6:用户管理概述

  • 为何要有用户。

  • 未来通过不同的用户远程连接到linux系统,然后进行操作与维护。

  • 避免每个运维,开发都是root。出现紧急情况无法追责与排查。

  • 未来安全要求严格:连接linux之前会有跳板机,堡垒机进行防护。

  • linux多用户的系统,同一时间可以登录多个用户。

  • linux多任务的系统

7:用户分类

uid user id 用户身份证号码

gid group id 用户的户口本号码

用户分类uid
root用户最高权限用户。0
普通用户只对自己家目录拥有权限的用户。1000开始(centos 7.8) c5c6(从500开始)
虚拟用户(傀儡用户)这种用户存在是用于让一些服务正常运行,一些服务运行需要指定的用户uid是1-999(非唯一判断标准)

8.用户相关文件

  • /etc/passwd

  • /etc/group

  • /etc/shadow

  • /etc/gshadow

  • /etc/profile

  • /etc/bashrc

  • ~/.bashrc

  • ~/.bash_profile

文件含义
/etc/passwd存放用户信息(非密码信息)
/etc/group存放用户组的信息
/etc/shadow存放密码的信息
/etc/gshadow用户组密码信息
国法全局生效
/etc/profile环境变量(PS1),别名配置文件alias
/etc/bashrc别名配置文件
家规局域生效
~/.bashrc当前用户生效的别名
~/.bash_profile当前用户生效的环境变量

/etc/passwd 每一列的含义

总结:

软链接与硬链接的区别

查看文件类型:file

用户分类:root,普通用户,虚拟用户。

用户相关的文件:/etc/passwd

9.目录

9.1:目录概述

  • /etc/skel/

  • /etc/profile.d/

/etc/skel/用户家目录的模板,添加用户的用户的家目录会从这里复制
/etc/profile.d/用户登录系统后会执行这个目录下面以.sh结尾的文件。
[root@small ~]# ll -a /etc/skel/
total 24
drwxr-xr-x.  2 root root   62 Feb 27 15:24 .
drwxr-xr-x. 83 root root 8192 Mar  8 13:56 ..
-rw-r--r--.  1 root root   18 Apr  1  2020 .bash_logout   用户退出的时候,执行里面的命令。
-rw-r--r--.  1 root root  193 Apr  1  2020 .bash_profile   配置环境变量
-rw-r--r--.  1 root root  231 Apr  1  2020 .bashrc          配置别名
​

9.2:故障案例

案例:
现象:输入命令的时候,命令行提示符变成-bash-4.2$ 样子
原因:用户不小心删除了当前用户家目录下面的环境变量相关文件 .bash*
解决:从/etc/skel/.bash* 复制到当前用户家目录即可,重新登录即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值