第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参数