用户与磁盘

第1章 linux文件属性相关

1.1 linux文件属性

1.2 磁盘的使用过程

1、磁盘(房子)

2、分区(划分隔断)

3、格式化创建文件系统(装修)

4、挂载(安装门窗)

5、存放文件(住人)

1.3 inode 索引节点

索引节点(index node

       通过文件名找到inode号码

1.3.1 inode 怎么来的

格式化创建文件系统 生成inodeblock

1.3.2 含义

inode索引节点号码就相当于家庭住址

inode是一个小空间存放文件属性和block的位置

1.3.3 显示文件内容的过程

先通过文件名找到inode号码

再读取inode中存放的block位置信息

最后显示block内容,就是显示文件的内容。

1.3.4 特点

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

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

       3inode大小 256字节 (再centos6.x系统中),分区小于500M时为128字节

1.4 block

1.4.1 怎么来的

       格式化创建文件系统与inode一起产生

1.4.2 含义

       存放数据(文件内容)

block是用来存放文件内容

1.4.3 特点

       1、大小 block 默认4kcentos6.x

       2、如果文件很大,会占用多个block,如果文件很小,剩余空间无法使用

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

             

1.4.4 怎么看

       查看文件大小

       block的大小,其实就是磁盘物理空间的大小。

[root@znix ~]# ls -lh

total 692K

-rw-r--r--  1 root root    0 Aug 29 09:34 1

-rw-------. 1 root root 1.1K Aug 10 18:39 anaconda-ks.cfg

1.5 inode 详细信息

1.5.1 inode号码

使用ls -lhi 命令

l显示详细信息

h 以人类可读的方式显示

i 显示inode号码

[root@znix ~]# ls -lhi

total 692K

   42 -rw-r--r--  1 root root    0 Aug 29 09:34 1

15199 -rw-------. 1 root root 1.1K Aug 10 18:39 anaconda-ks.cfg

   57 -rw-r--r--. 1 root root  292 Aug 17 16:23 ett.txt

   49 -rw-r--r--. 1 root root    0 Aug 16 16:28 find

1.5.2 看看文件的详细信息

使用 stat  命令可以查看文件的详细信息

[root@znix ~]# stat  /etc/hosts

  File: `/etc/hosts'

  Size: 250         Blocks: 8          IO Block: 4096   regular file

Device: 803h/2051d  Inode: 390175      Links: 2

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2017-08-28 11:32:03.002850494 +0800

Modify: 2017-08-28 11:31:58.819852365 +0800

Change: 2017-08-28 11:31:58.821852222 +0800

1.6 磁盘信息/block

1.6.1 系统中磁盘使用情况

df 命令查看,可以加-h 以人类可读的方式显示

[root@znix ~]# df

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda3        9213440 1590408   7148360  19% /

tmpfs             242992       0    242992   0% /dev/shm

/dev/sda1         194241   40002    143999  22% /boot

       -h 以人类可读的方式显示

[root@znix ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3       8.8G  1.6G  6.9G  19% /

tmpfs           238M     0  238M   0% /dev/shm

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

1.6.2 系统中inode使用情况

df -i参数,显示inode的数量及使用情况。

[root@znix ~]# df -i

Filesystem     Inodes IUsed  IFree IUse% Mounted on

/dev/sda3      593344 58495 534849   10% /

tmpfs           60748     1  60747    1% /dev/shm

/dev/sda1       51200    39  51161    1% /boot

1.7 inodeblock

1.7.1 显示系统中inodeblock大小

使用dumpe2fs命令查看分区里的inode信息

[root@znix ~]# dumpe2fs /dev/sda3|grep "Inode size"

dumpe2fs 1.41.12 (17-May-2010)

Inode size:           256

grep -i 不区分大小写

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

dumpe2fs 1.41.12 (17-May-2010)

Inode size:           256

1.7.2 特点

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

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

第2章 企业案例(磁盘空间不足

如果向磁盘写入数据提示如下错误:No space left on device(磁盘空间不足),通过df -h查看磁盘空间,发现没满,请问可能原因是什么?企业场景什么情况下会导致这个问题发生?

情况1 --常见 block

        实际的存储空间使用完

        使用df -h 查看使用率到100%

解决:

       找到系统中的大文件,确认无用后删除,释放磁盘空间

情况2 ---inode用光了

        使用df -i 查看会发现inode剩余为0

解决:

       inode用光有可能是小文件过多,删除无用的小文件。

       查看日志文件是否过多,删除无用的日志文件。

第3章 linux中的文件

3.1 文件类型

drwxrwxrwt.  10 root root  4096 Aug 29 09:29 tmp

-rw-r--r--  1 root root    237 Aug 28 11:45 clsn.txt

lrwxrwxrwx.  1 root root     13 Aug 10 18:36 rc.local -> rc.d/rc.local

-   普通文件  file

d   目录      directory

l   软连接    soft link

3.2 扩展名

windows中是区分不同的文件类型的

linux有没有扩展名都可以都行,给人类看的,为了让使用者能够区分不同文件

3.2.1 查看文件的类型

flie命令能够查看文件的具体类型

[root@znix ~]# file /tmp/etc.tar.gz

/tmp/etc.tar.gz: gzip compressed data, from Unix, last modified: Fri Aug 25 09:34:00 2017

3.2.2 linux下普通文件的分类

命令,二进制文件  /bin/ls

文本文件          /etc/hosts

数据文件          /tmp/etc.tar.gz

3.3 查看文件

3.3.1 查看压缩包里的内容(压缩包里是文件)

zcat zless 可以查看压缩包里的内容

[root@znix ~]# zcat /tmp/ser.tar.gz

[root@znix rc.d]# zless /tmp/ser.tar.gz

3.3.2 显示大文件的内容

       过大的文件可以使用 less 查看。

[root@znix ~]# less /etc/services

       大文件不要使用cat。使用以下命令,减少资源占用,方便查看。

less  向上向下都可以

head

tail

grep

more  只能向下看

第4章 linux权限

4.1 权限分类

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

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

4.1.1 不同人的不同权限

主人      家人           隔壁老王           clsn-notepad

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

rw-       r--            r--            

4.2 rwx

4.2.1 rwx与数字对应起关系

    r===4

    w===2

    x===1

    -===0

4.2.2 rwx含义

    r读取

    w修改

    x执行 命令或脚本

第5章 用户和用户组

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

5.1 UIDGID

UID  用户的ID    user id 

GID  用户组的ID  group id  

5.2 linux下面用户的分类

5.2.1 root 皇帝 UID 0

root用户加以限制保证系统更加安全:

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

        2、更改sshd默认端口号

5.2.2 傀儡用户  UID 1-499

虚拟用户是没有办法使用

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

5.2.3 普通用户 平民百姓 UID 500-65535

5.3 与用户有关的文件

/etc/passwd    用户的信息

/etc/shadow    用户的密码信息

/etc/group     用户组的信息

/etc/gshadow   用户组的密码()

5.3.1 /etc/passwd 下每一列的含义

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

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

clsn  :x             :500  :500   :                 :/home/clsn    :/bin/bash

用户名   原来密码的位置  UID   GID   用户的说明信息    用户的家目录    命令解释器

5.4 命令解释器

5.4.1 默认的命令解释器

/bin/bash      默认

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

 

5.4.2 其他的命令解释器

[root@znix ~]# cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/bin/dash

/bin/tcsh

/bin/csh

第6章 补充column命令

column 可以让文档内容自动对齐

-t 根据空格让每一列对齐

-s指定分隔符

[root@znix ~]# column -t -s ":" /etc/passwd

root       x  0    0    root                          /root                /bin/bash

 

作者:惨绿少年
出处:https://www.nmtui.com
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
上一篇:Docker、Kubernetes、Apache Mesos 之争 | 一个与传说不同的故事


下一篇:内建DNS服务器--BIND