文件属性和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参数

上一篇:poj 1061 青蛙的约会 (扩展欧几里得模板)


下一篇:Ubuntu下MySQL数据库文件 物理迁移后 出现的问题