Linux文件屬性 |
作者:左婷婷 歸檔:學習筆記 2018/7/30
|
快捷鍵: Ctrl + 1 標題1 Ctrl + 2 標題2 Ctrl + 3 標題3 Ctrl + 4 實例 Ctrl + 5 程序代碼 Ctrl + 6 正文 |
格式說明: 藍色字體:註釋 ×××背景:重要 綠色背景:注意 |
老男孩教育教學核心思想6重:重目標、重思路、重方法、重實踐、重習慣、重總結
學無止境,老男孩教育成就你人生的起點!
聯繫方式:
網站運維QQ交流羣: | |
Linux 385168604 | 架構師 390642196 |
Python 29215534 | 大數據 421358633 |
官方網站: | |
目 錄
1.3 Linux鏈接 :軟連接 (softlink或符號鏈接syslink) 硬鏈接(hard link)
1.5.3 ##3.磁盤空間不足 繼續通過du -sh 排查
1.1 文件類型
1.1.1 Windows 通過擴展名區分不同的類型的文件
Linux 擴展名是給人類看的,方便我們區分不同類型文件
.conf 配置文件
.sh 腳本
.tar.gz 壓縮包
.py Python腳本
1.1.2 Find裏的文件類型
***f
| file文件 二進制文件(命令) 文本文件(text) 數據文件(data) 需要單獨的命令查看 |
***d | dir 目錄 |
***l | softlink 軟連接 |
b | block 塊設備 |
c | character 字符設備 |
p | pipe 管道 |
s | socket 套接字 |
1.1.3 查看文件的詳細類型
File /bin/ls e xecutable可執行的 compressed 壓縮 data 數據
文件類型小結
1.常見擴展名 .conf .sh .tar.gz .zip .py
2.常見的文件類型 f d l
3.查詢文件的類型
Ls 或 file
1.2 Linux的權限
主人 家人 陌生人 筆記本
對於一個文件來說 系統中的用戶分爲三類 :主人 家人 陌生人
所有者 用戶組 其他人
r----read | 可讀 4 |
w---write | 可寫 2 |
x---execute | 執行 1 |
0 |
[root@oldboyedu50 ~]# ll /etc/hosts
主人 家人 陌生人
-rw- r-- r--. 1 root root 92 5月 21 02:26 /etc/hosts
420 400 400
6 4 4
1.2.1 練習權限數字與字符之間的轉換
-rw-r----- | 640 |
-r--r--r-- | 444 |
-rw-r--r-- | 644 |
-rw------- | 600 |
644 | -rw-r—r-- |
755 | -rwx-r-xr-x |
400 | -r-------- |
640 | -rw-r----- |
1.3 Linux鏈接 :軟連接 (softlink或符號鏈接syslink) 硬鏈接(hard link)
1.3.1 硬鏈接:
在同一個磁盤分區下,文件的iNode號碼相同,文件就互爲硬鏈接
1.3.1.1 作用
相當於文件的入口
1.3.1.2 創建硬鏈接:ln
[root@oldboyedu50 ~]# echo oldboyedu.com >oldboy.txt 先創建一個oldboy.txt文件
[root@oldboyedu50 ~]# ll oldboy.txt 查看內容
-rw-r--r--. 1 root root 14 7月 29 16:50 oldboy.txt 硬連接數爲1
[root@oldboyedu50 ~]# ln oldboy.txt oldboy.txt-hard 創建硬鏈接
[root@oldboyedu50 ~]# ll oldboy.txt 查看內容
-rw-r--r--. 2 root root 14 7月 29 16:50 oldboy.txt 硬鏈接數爲2
[root@oldboyedu50 ~]# ll -i oldboy.txt oldboy.txt-hard
265125 -rw-r--r--. 2 root root 14 7月 29 16:50 oldboy.txt 兩個文件互爲硬鏈接
265125 -rw-r--r--. 2 root root 14 7月 29 16:50 oldboy.txt-hard
[root@oldboyedu50 ~]#
小結:
1. 特點 同一個分區中,iNode相同的文件,互爲硬鏈接
2. 防止誤刪除
3. 徹底刪除一個文件條件:
文件硬鏈接數爲0(rm)
1.3.2 軟連接
最常用
1.3.2.1 作用:相當於windows快捷方式 存放的源文件的位置
1.3.2.2 創建軟連接 ln
[root@oldboyedu50 ~]# echo oldboyedu.com >/oldboy/oldboy.txt 創建軟連接
[root@oldboyedu50 ~]# ln -s /oldboy/oldboy.txt oldboy.txt-soft
[root@oldboyedu50 ~]# ls -l /oldboy/oldboy.txt*
-rw-r--r--. 1 root root 14 7月 29 17:12 /oldboy/oldboy.txt
lrwxrwxrwx 1 root root 18 7月 29 17:13 oldboy.txt-soft -> /oldboy/oldboy.txt指向源文件
[root@oldboyedu50-lnb /oldboy]# ls -l oldboy.txt*
-rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt-hard
lrwxrwxrwx 1 root root 10 Jul 27 22:09 oldboy.txt-soft -> oldboy.txt
lrwxrwxrwx 1 root root 18 Jul 27 22:16 oldboy.txt-soft2 -> /oldboy/oldboy.txt
[root@oldboyedu50-lnb /oldboy]# mv alex.txt oldboy.txt 將源文件移走會顯示紅色閃動
[root@oldboyedu50-lnb /oldboy]# ls -l oldboy.txt*
-rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt
-rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt-hard
lrwxrwxrwx 1 root root 10 Jul 27 22:09 oldboy.txt-soft -> oldboy.txt
lrwxrwxrwx 1 root root 18 Jul 27 22:16 oldboy.txt-soft2 -> /oldboy/oldboy.txt
1.3.2.3 文件系統
磁 盤 ————à分區————à 創建文件系統——————à 掛載
1000m^2 劃分隔斷 裝修 (裝修風格) 入住
1.3.2.4 軟連接與硬鏈接的區別
文件刪除原理:
1. 硬鏈接數爲0 rm
2. 進程調用數爲0 是否有人使用
1.4 如何查看 被佔用的文件
窗口1 窗口2
Lsof | grep oldboy.txt tail –f /oldboy/oldboy.txt
顯示所有被佔用的文件
List open files
[root@oldboyedu50 ~]# lsof |grep oldboy.txt 顯示所有被佔用的文件
tail 23286 root 3r REG 8,3 14 133899 /oldboy/oldboy.txt
命令或服務名稱 文件大小 inode號碼 文件名
小結:文件刪除原理
1. 硬鏈接數爲0
2. 進程調用書爲0 lsof |grep oldboy.txt
硬鏈接數爲0 有人在使用這個文件
1.5 磁盤滿故障
http://oldboy.blog.51cto.com/2561410/612351
模擬 文件沒有被徹底刪除(i_link爲0進程調用數不爲0)
1.5.1 查看磁盤的使用情況
[root@oldboyedu50 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 12G 6.7G 63% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
[root@oldboyedu50 ~]# lsof |grep messages
rsyslogd 1271 root 1w REG 8,3 4888891946 654370 /var/log/messages
[root@oldboyedu50 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 12G 6.7G 63% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
[root@oldboyedu50 ~]# \rm -f /var/log/messages
[root@oldboyedu50 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 12G 6.7G 63% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
1.5.2 原因:文件沒有被徹底刪除
#模擬 文件沒有被徹底刪除(i_link)爲0 進程調用數(i_count)不爲0
#/var/log/messages
1.5.3 ##3.磁盤空間不足 繼續通過du -sh 排查
[root@oldboyedu50-lnb /oldboy]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 17G 1.1G 95% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
[root@oldboyedu50-lnb /oldboy]# du -sh /* |sort -h |tail
du: cannot access `/proc/3800/task/3800/fd/4': No such file or directory
du: cannot access `/proc/3800/task/3800/fdinfo/4': No such file or directory
du: cannot access `/proc/3800/fd/4': No such file or directory
du: cannot access `/proc/3800/fdinfo/4': No such file or directory
376K /root
7.6M /bin
16M /sbin
27M /lib64
30M /etc
38M /boot
80M /var
114M /tmp
214M /lib
1.1G /usr
#原因:文件沒有被徹底刪除
1.5.4 ##4.找出這個被佔用文件
[root@oldboyedu50-lnb /oldboy]# lsof |grep messages
rsyslogd 1412 root 4w REG 8,3 16197811985 392705 /var/log/messages (deleted)
1.5.5 ##5.解決
#deleted lsof標記 表示文件硬鏈接數爲0 進程調用數不爲0
#進程調用數爲0 ==== 重啓服務/軟件
[root@oldboyedu50-lnb /oldboy]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 17G 1.1G 95% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
[root@oldboyedu50-lnb /oldboy]# /etc/init.d/rsyslog restart 重啓服務
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
[root@oldboyedu50-lnb /oldboy]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.6G 17G 9% / 已清除
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
[root@oldboyedu50-lnb /oldboy]# lsof |grep messages
rsyslogd 3828 root 1w REG 8,3 229 392660 /var/log/messages
小結:
1. 磁盤空間不足 - 文件沒有被徹底刪除導致(硬連接數爲0 進程調用數不爲0)
df -h ; du -sh 沒滿 ; lsof |grep delete
1.6 總結:
1.權限 文件類型
2.軟硬連接區別
3.文件刪除原理
4.磁盤空間不足系列:
1)inode
2)block
3)block 沒有被徹底刪除滿了
預習:
特殊符號 與正則表達式