• 文件属性和ls -lhi


    第1章 无法上网及拍错过程

    远程连接拍错过程

    1.         查看路是否通畅

    2.         是否有拦击 iptables(防火墙) selinux

    3.         查看是否有条件

    telnet             #22端口是否开启

    ps-ef|grep sshd     #sshd进程是否运行

    ss -lntup |grep 22   #22端口是否开启

    Linux无法上网解决过程

    ping  www.baidu.com

    出现错误:

    ping: unknown host www.baidu.com

    ERROR 6 - "Couldn't   resolve   host       'mirrors.aliyun.com'"

                不能     解析   主机/域名

    ping域名:

    ping www.baidu.com

    通过DNS解析域名然后ping IP

    ping 223.5.5.5             #不需要DNS解析

    第2章 文件属性ls -lhi简介

    Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。具体情况如下:

    我们以log2012.log为例:

    2095112 -rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

    1.1 ls -lhi 简单分析

    第一列:inode  inode 的值是:2095112 

    第二列:文件种类和权限;

    第三列:硬链接个数;

    第四列:属主;             

    第五列:所归属的组;

    第六列:文件或目录的大小;

    第七列和第八列:最后访问或修改时间;

    第九列:文件名或目录名

    1.2 inode 的值是:

    inode 的值是2095112 

    inode index node  索引节点号    家庭住址

    磁盘的使用过程:

       磁盘(房子)

       分区(划分隔断)

       格式化创建文件系统(装修--装修风格)

       挂载(安装门窗)

       存放文件(住人)

    inode block怎么来的?

         格式化创建文件系统 生成的inode和block

    inode block含义

          inode索引节点号码-------家庭住址---1022012

          inode是一个小空间-------老家-------文件属性和block的位置

        

          block存放数据(文件内容)

        

    #####显示oldboyfile文件内容过程

       

        

        

    inode block特点

        

         1.在系统中创建一个非空的文件 占用一个inode 和 至少一个block

         2.在同一个分区中(文件系统),如果两个文件的inode号码相同了,这两个文件互为硬链接.

         3.inode大小256字节,centos6.x

        

    inode 怎么用/看

         ls -lhi

         -h 以人类可读的形式显示文件的大小

         -i 显示文件/目录inode号码    

    [root@oldboyedu-40-nb ~]#

    [root@oldboyedu-40-nb ~]# ls -l /etc/services

    -rw-r--r--. 1 root root 641020 Mar 22 05:56 /etc/services

    [root@oldboyedu-40-nb ~]# ls -lh /etc/services

    -rw-r--r--. 1 root root 626K Mar 22 05:56 /etc/services

    [root@oldboyedu-40-nb ~]# #df ----- 系统中磁盘使用情况

    [root@oldboyedu-40-nb ~]# df

    Filesystem     1K-blocks    Used Available Use% Mounted on

    /dev/sda3        9213440 2811548   5927220  33% /

    tmpfs             953128       0    953128   0% /dev/shm

    /dev/sda1         194241   39974    144027  22% /boot

    系统中inode用了多少剩余多少?

    [root@oldboyedu-40-nb ~]# df -i

    Filesystem     Inodes IUsed  IFree IUse% Mounted on

    /dev/sda3      593344 56989 536355   10% /

    tmpfs          238282     1 238281    1% /dev/shm

    /dev/sda1       51200    39  51161    1% /boot

    block  

    怎么来的?

     格式化创建文件系统

    含义

     存放数据(文件内容) 

    特点

     1.大小 block 4k

     2.如果你的文件很大占用多个block,如果你的文件很小 1k 剩余的空间浪费了 无法继续使用

     3.磁盘进行读写 io   是按照block为单位的  读取一次block 就算一个io

    怎么查看

     查看文件的大小

     ls -lh

    查看系统中磁盘空间的使用情况(block)

    [root@oldboyedu-40-nb ~]# df -h

    Filesystem      Size  Used Avail Use% Mounted on

    /dev/sda3       8.8G  2.7G  5.7G  33% /

    tmpfs           931M     0  931M   0% /dev/shm

    /dev/sda1       190M   40M  141M  22% /boot

    显示某个分区中 inode block大小

    [root@oldboyedu-40-nb ~]# dumpe2fs /dev/sda3|grep "Inode size"

    dumpe2fs 1.41.12 (17-May-2010)

    Inode size:               256

    [root@oldboyedu-40-nb ~]# dumpe2fs /dev/sda3|grep -i "inode size"

    dumpe2fs 1.41.12 (17-May-2010)

    Inode size:               256

    [root@oldboyedu-40-nb ~]# dumpe2fs /dev/sda3|grep -i "block size"

    dumpe2fs 1.41.12 (17-May-2010)

    Block size:               4096

    inode block 干啥的?

    特点

    1.创建一个文件 要占用一个inode和至少一个block

    2.文件太小 占用一个block 剩余空间不能使用

    如何查看

    ls -lhi

    df -i

    df -h

    企业故障案例:no space left on device (磁盘空间不足)

    情况1---常见 block

    500G硬盘  600G视频

    情况2---inode用光了  df -h 

    模拟

    mkdir -p /app/logs 

    dd if=/dev/zero of=/dev/sdc bs=8K  count=10

    ls -l /dev/sdc

    mkfs.ext4 /dev/sdc

    mount -o loop /dev/sdc /app/logs

    [root@oldboyedu-40-nb ~]# df -h

    Filesystem      Size  Used Avail Use% Mounted on

    /dev/sda3       8.8G  2.7G  5.7G  33% /

    tmpfs           931M     0  931M   0% /dev/shm

    /dev/sda1       190M   40M  141M  22% /boot

    /dev/sdc         73K   14K   55K  21% /app/logs

      

             

    2.1.1.1  block满了

    [root@oldboyedu-40-nb ~]# df -h

    Filesystem      Size  Used Avail Use% Mounted on

    /dev/sda3       8.8G  2.7G  5.7G  33% /

    tmpfs           931M     0  931M   0% /dev/shm

    /dev/sda1       190M   40M  141M  22% /boot

    /dev/sdc         73K   14K   55K  21% /app/logs

    [root@oldboyedu-40-nb ~]# cd /app/logs/

    [root@oldboyedu-40-nb ~]# cd /app/logs/

    [root@oldboyedu-40-nb logs]# ls -lh /bin/ls

    -rwxr-xr-x. 1 root root 115K Mar 23 02:52 /bin/ls

    [root@oldboyedu-40-nb logs]# pwd

    /app/logs

    [root@oldboyedu-40-nb logs]# cp /bin/ls  .

    cp: writing `./ls': No space left on device

    [root@oldboyedu-40-nb logs]# #排查

    [root@oldboyedu-40-nb logs]# df -h

    Filesystem      Size  Used Avail Use% Mounted on

    /dev/sda3       8.8G  2.7G  5.7G  33% /

    tmpfs           931M     0  931M   0% /dev/shm

    /dev/sda1       190M   40M  141M  22% /boot

    /dev/sdc         73K   70K     0 100% /app/logs

    2.1.1.2  inode满了

    [root@oldboyedu-40-nb logs]# touch {1..6}.txt

    touch: cannot touch `6.txt': No space left on device

    [root@oldboyedu-40-nb logs]# touch oldboy.txt

    touch: cannot touch `oldboy.txt': No space left on device

    [root@oldboyedu-40-nb logs]# mkdir hello

    mkdir: cannot create directory `hello': No space left on device

    [root@oldboyedu-40-nb logs]# #排查

    [root@oldboyedu-40-nb logs]# df -h

    Filesystem      Size  Used Avail Use% Mounted on

    /dev/sda3       8.8G  2.7G  5.7G  33% /

    tmpfs           931M     0  931M   0% /dev/shm

    /dev/sda1       190M   40M  141M  22% /boot

    /dev/sdc         73K   14K   55K  21% /app/logs

    [root@oldboyedu-40-nb logs]# df -i

    Filesystem     Inodes IUsed  IFree IUse% Mounted on

    /dev/sda3      593344 56989 536355   10% /

    tmpfs          238282     1 238281    1% /dev/shm

    /dev/sda1       51200    39  51161    1% /boot

    /dev/sdc           16    16      0  100% /app/logs

    企业案例:如果向磁盘写入数据提示如下错误:No space left on device(磁盘空间不足),

    通过df -h查看磁盘空间,发现没满,请问可能原因是什么?

    inode用光了

    创建一个文件 需要inode和block

    大量的小文件

    企业场景什么情况下会导致这个问题发生?

    定时任务

    1.3文件类型:

    文件类型是-,表示这是一个普通文件

    • 当为[ d ]则是目录;(directory)
    • 当为[ - ]则是普通文件;  file
    • 若是[ l ]则表示为链接文档(link file);

    l  (小写字母L)  软连接(快捷方式)       soft link

    • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
    • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

    扩展名----文件的尾巴  .txt .sh  .log 

    windows:区分不同的文件类型

    linux:  有没有都行  给我们人类看的

    [root@oldboyedu-40-nb tmp]# file etc-file

    etc-file: gzip compressed data, from Unix, last modified: Sat May 20 03:10:54 2017

    [root@oldboyedu-40-nb tmp]# #tar zcf

        普通文件               file

    [root@oldboyedu-40-nb tmp]# ls -l /bin/ls /etc/hosts /tmp/etc.tar.gz

    -rwxr-xr-x. 1 root root  117048 Mar 23 02:52 /bin/ls

    -rw-r--r--. 2 root root     218 Aug 29 06:53 /etc/hosts

    -rw-r--r--  1 root root 9738690 May 20 03:10 /tmp/etc.tar.gz

    [root@oldboyedu-40-nb tmp]# #/bin/ls 命令 二进制文件

    [root@oldboyedu-40-nb tmp]# #/etc/hosts oldboy.txt oldboy.log  文本文件 文字

    [root@oldboyedu-40-nb tmp]# #/tmp/etc.tar.gz  数据文件 必须用相对应的命令

    [root@oldboyedu-40-nb tmp]#

    [root@oldboyedu-40-nb tmp]# file /bin/ls /etc/hosts /tmp/etc.tar.gz

    /bin/ls:         ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

    /etc/hosts:      ASCII text

    /tmp/etc.tar.gz: gzip compressed data, from Unix, last modified: Sat May 20 03:10:54 2017

    find 

    -type

    f   ---- file (普通文件)

    d   ---- dir

    l   ---- 软连接

    显示大文件的内容:

    less 向上 向下

    head

    tail

    grep

    more 只能向下看

    显示压缩包中文件的内容

    zcat

    zless

    1.4文件权限:

    文件权限是rw-r--r-- ,表示文件属主可读、可写、不可执行,文件所归属的用户组不可写,可读,不可执行,其它用户不可写,可读,不可执行;

    电脑-查看电脑里面的内容 向电脑里面添加内容  运行软件的权限

             r(read)            w(write)            x(execute)

       

        电脑还有别人在使用

        使用电脑的人分类:

        主人      家人           隔壁老王           oldboy-notepad

        所有者    属于用户组     陌生人 其他人  

        rw-       r--            r--               

       

        rwx 与数字对应起来

        r=====4

        w=====2

        x=====1

        -=====0

        rw-r--r--

        420400400

        6  4  4 

        例子:

        rwxr-xr-x

        421401401

        7  5  5

        -rw-r--r--. 1 root root 600 Aug 18 04:26 /etc/group

        -420400400

        -644

    小结:  

        rwx含义

    r 读取文件内容

    w 修改文件内容

    x 执行/运行这个文件  命令/脚本

       

    rwx对应数字

    r=====4

    w=====2

    x=====1

    -=====0

    1.5硬链接个数: 

    log2012.log这个文件没有硬链接;因为数值是1,就是他本身;

    1.6文件属主:

    也就是这个文件归哪于哪个用户 ,它归于root,也就是第一个root;

    1.7文件属组:

    也就是说,对于这个文件,它归属于哪个用户组,在这里是root用户组;

    文件大小:文件大小是296k个字节;

    用户和用户组

    linux是一个多任务 多用户(同时有多个用户 连接到你的系统中 他们之间的操作不干扰)

    UID  用户的ID   user id  数字 身份证号码   **

    GID  用户组的ID group id      户口本上面的号码

    ##linux下面用户的分类

    ###1.root 皇帝 UID 0

    禁止root远程登录 不让你以root用户的身份连接到系统中

    更改sshd默认的端口

    连接到一台服务器需要什么条件?

    1.ip地址

    2.端口号码 22

    3.root

    4.密码

    /var/log/secure  failed password

    ###2.虚拟用户 傀儡用户 UID 1-499

    没有办法使用

    满足一个需求:linux下面每个软件/服务运行的时候 都需要有一个用户

    ###3.普通用户 贫民老百姓  UID 500-65535

    ##与用户有关的文件

          /etc/passwd 用户的信息 每一列的含义

          /etc/shadow 用户的密码信息

          /etc/group

          /etc/gshadow

    /etc/passwd 用户的信息 每一列的含义

    root        :x       :0     :0    :root      :/root            :/bin/bash

    nobody     :x       :99    :99   :Nobody    :/              :/sbin/nologin

    oldboy     :x       :500   :500   :         :/home/oldboy      :/bin/bash      

    用户名    原来密码  UID  GID   用户的    用户的家目录   命令解释器 shell 用户使用的shell

              的位置               说明信息

    命令解释器:

    /bin/bash       默认,用户是普通用户 可以用 

    /sbin/nologin   无法登陆系统 傀儡 虚拟用户

              

    linux下面用户分类

    如何保护皇帝/皇宫

    1.8访问可修改时间:

    这里的时间是最后访问的时间,最后访问和文件被修改或创建的时间,有时并不是一致的;

    当然文档的属性不仅仅包括这些,这些是我们最常用的一些属性。

    1.9关于inode:

    inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘等等)被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数 据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令, 能通过inode值最快的找到相对应的文件。

    做个比喻,比如一本书,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录,一本书有很多的内容,如果想查找某部份的内容,我们可以先查目录,通过目录能最快的找到我们想要看的内容。虽然不太恰当,但还是比较形象。

    当我们用ls 查看某个目录或文件时,如果加上-i 参数,就可以看到inode节点了;比如我们前面所说的例子:

    [root@localhost test]#  ls -li log2012.log 

    2095112 -rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log

    log2012.log 的inode值是 2095112 ; 查看一个文件或目录的inode,要通过ls 命令的的 -i参数

  • 相关阅读:
    面试系统化准备(三)——说辞
    2022年学习计划(一) k8s实战学习
    面试系统化准备(六)
    面试准备(九)——招聘要求
    面试准备(八)——学习怎么描述自己的项目经历
    DC2
    CVE202135042 Django order_by SQL注入 漏洞复现和分析
    Vulnstack红队(一)
    DC3
    Vulntargeta
  • 原文地址:https://www.cnblogs.com/Arlen723/p/7846053.html
Copyright © 2020-2023  润新知