第1章 linux文件屬性相關 1.1 linux文件屬性 1.2 磁碟的使用過程 1、磁碟(房子) 2、分區(劃分隔斷) 3、格式化創建文件系統(裝修) 4、掛載(安裝門窗) 5、存放文件(住人) 1、磁碟(房子) 2、分區(劃分隔斷) 3、格式化創建文件系統(裝修) 4、掛載(安裝門窗) 5、存 ...
第1章 linux文件屬性相關
1.1 linux文件屬性
1.2 磁碟的使用過程
1、磁碟(房子)
2、分區(劃分隔斷)
3、格式化創建文件系統(裝修)
4、掛載(安裝門窗)
5、存放文件(住人)
1.3 inode 索引節點
索引節點(index node)
通過文件名找到inode號碼
1.3.1 inode 怎麼來的
格式化創建文件系統 生成inode和block。
1.3.2 含義
inode索引節點號碼就相當於家庭住址
inode是一個小空間存放文件屬性和block的位置
1.3.3 顯示文件內容的過程
先通過文件名找到inode號碼
再讀取inode中存放的block位置信息
最後顯示block內容,就是顯示文件的內容。
1.3.4 特點
1)在系統中創建一個非空的文件占用一個inode和至少一個block
2)在同一個分區中(文件系統),如果兩個文件的inode號碼相同這兩個文件互為硬鏈接
3)inode大小 256位元組 (再centos6.x系統中),分區小於500M時為128位元組
1.4 block
1.4.1 怎麼來的
格式化創建文件系統與inode一起產生
1.4.2 含義
存放數據(文件內容)
block是用來存放文件內容
1.4.3 特點
1、大小 block 預設4k(centos6.x)
2、如果文件很大,會占用多個block,如果文件很小,剩餘空間無法使用
3、磁碟進行讀寫 io 是按照block為單位的 讀取一次block 算一次io
1.4.4 怎麼看
查看文件大小
block的大小,其實就是磁碟物理空間的大小。
[root@oldboyedu-40-nb ~]# 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@oldboyedu-40-nb ~]# 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@oldboyedu-40-nb ~]# 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@oldboyedu-40-nb ~]# 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@oldboyedu-40-nb ~]# 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@oldboyedu-40-nb ~]# 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 inode和block
1.7.1 顯示系統中inode和block大小
使用dumpe2fs命令查看分區里的inode信息
[root@oldboyedu-40-nb ~]# dumpe2fs /dev/sda3|grep "Inode size"
dumpe2fs 1.41.12 (17-May-2010)
Inode size: 256
grep -i 不區分大小寫
[root@oldboyedu-40-nb ~]# 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 oldboy.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@oldboyedu-40-nb ~]# 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@oldboyedu-40-nb ~]# zcat /tmp/ser.tar.gz
[root@oldboyedu-40-nb rc.d]# zless /tmp/ser.tar.gz
3.3.2 顯示大文件的內容
過大的文件可以使用 less 查看。
[root@oldboyedu-40-nb ~]# less /etc/services
大文件不要使用cat看。使用以下命令,減少資源占用,方便查看。
less 向上向下都可以
head
tail
grep
more 只能向下看
第4章 linux許可權
4.1 許可權分類
電腦-查看電腦裡面的內容 向電腦裡面添加內容 運行軟體的許可權
r(read) w(write) x(execute)
4.1.1 不同人的不同許可權
主人 家人 隔壁老王 oldboy-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 UID與GID
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
oldboy :x :500 :500 : :/home/oldboy :/bin/bash
用戶名 原來密碼的位置 UID GID 用戶的說明信息 用戶的家目錄 命令解釋器
5.4 命令解釋器
5.4.1 預設的命令解釋器
/bin/bash 預設
/sbin/nologin 無法登陸系統--虛擬用戶
5.4.2 其他的命令解釋器
[root@oldboyedu-40-nb ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
第6章 補充column命令
column 可以讓文檔內容自動對齊
-t 根據空格讓每一列對齊
-s指定分隔符
[root@oldboyedu-40-nb ~]# column -t -s ":" /etc/passwd
root x 0 0 root /root /bin/bash