擴(kuò)展名
windows 通過擴(kuò)展名區(qū)分不同的類型的文件 linux 擴(kuò)展名是給人類看的 方便我們區(qū)分不同類型文件
.conf 配置文件
.sh 腳本
.tar.gz 壓縮包
.py python腳本
[root@nfsnobody /tmp]# ll etc.tar.gz 查看壓縮包信息
-rw-r--r-- 1 root root 9734648 Jul 20 01:41 etc.tar.gz
[root@nfsnobody /tmp]# mv etc.tar.gz etc.txt 給壓縮包改名
[root@nfsnobody /tmp]# ll et
etc/ etc-pai.tar.gz etc.txt ethers
[root@nfsnobody /tmp]# ll etc.txt 查看信息
-rw-r--r-- 1 root root 9734648 Jul 20 01:41 etc.txt
[root@nfsnobody /tmp]# tar tf etc.txt 一樣可以打開
##證明Linux系統(tǒng)下 改擴(kuò)展名不影響使用
文件的類型
f file 文件 d dir 目錄 l softlink 軟連接 b block 塊設(shè)備 c character 字符設(shè)備 p pipe 管道 s socket 套接字
[root@nfsnobody /tmp]# file /bin/ls /etc/hosts /tmp/etc-pai.tar.gz
##file可以查看文件的詳細(xì)類型
/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-pai.tar.gz: gzip compressed data, from Unix, last modified: Fri Jul 20 02:39:55 2018
####### file 文件
1.二進(jìn)制文件(命令)
2.文本文件(text)
3.數(shù)據(jù)文件(data)需要單獨(dú)命令查看
文件系統(tǒng)
1,、磁盤(房子) 2,、分區(qū)(劃分隔斷) 3、格式化創(chuàng)建文件系統(tǒng)(裝修) 4,、掛載(安裝門窗) 5、存放文件(住人)
Linux下的權(quán)限
對于一個文件來說 系統(tǒng)中的用戶分為:主人 家人 陌生人
所有者 用戶組 其他人
r----read 可讀 4
w----write 可寫 2
x----execute 可執(zhí)行 1
- 0
與用戶相關(guān)的文件
/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
clsn :x :500 :500 : :/home/clsn :/bin/bash
用戶名 原來密碼的位置 UID GID 用戶的說明信息 用戶的家目錄 命令解釋器
命令解釋器
默認(rèn)的命令解釋器
/bin/bash 默認(rèn) /sbin/nologin 無法登陸系統(tǒng)--虛擬用戶
其他的命令解釋器
[root@nfsnobody ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
軟連接與硬鏈接
鏈接:軟連接(softlink 或 符號鏈接 symlink) 硬鏈接 (hard link)
硬鏈接
含義
在同一分區(qū)中,文件的inode號相同 則互為硬鏈接 硬鏈接即文件的入口(超市的前后門)
作用
防止誤刪文件
如何創(chuàng)建硬鏈接
ln 命令,,前面是源文件 后面是創(chuàng)建的鏈接文件
[root@nfsnobody ~]# mkdir /nfsnobody 創(chuàng)建環(huán)境
[root@nfsnobody ~]# cd /nfsnobody/
[root@nfsnobody nfsnobody]# echo nfsnobody.com >>/nfsnobody/nfsnobody.txt
[root@nfsnobody nfsnobody]# cat nfsnobody.txt
nfsnobody.com
[root@nfsnobody nfsnobody]# ln nfsnobody.txt nfsnobody.txt.hard 創(chuàng)建硬鏈接
[root@nfsnobody nfsnobody]# ll -lhi 檢查 創(chuàng)建成功 兩個文件inode號碼相同
total 8.0K
523268 -rw-r--r--. 2 root root 14 Jul 10 20:53 nfsnobody.txt
523268 -rw-r--r--. 2 root root 14 Jul 10 20:53 nfsnobody.txt.hard
[root@nfsnobody nfsnobody]# cat nfsnobody.txt 所查看內(nèi)容一樣
nfsnobody.com
[root@nfsnobody nfsnobody]# cat nfsnobody.txt.hard 所查看內(nèi)容一樣
nfsnobody.com
查看兩文件的inode號相同。
[root@nfsnobody clsn]# ls -lhi clsn.txt clsn.txt-hard
151273 -rw-r--r-- 2 root root 607 Aug 30 09:13 clsn.txt
151273 -rw-r--r-- 2 root root 607 Aug 30 09:13 clsn.txt-hard
軟連接
含義
最常用 為了快捷,,省事,,方便使用 相當(dāng)于windows 的快捷方式 存放的源文件的位置
如何創(chuàng)建軟鏈接
不能對目錄創(chuàng)建硬鏈接 軟連接可以
[root@nfsnobody nfsnobody]# ln -s nfsnobody.txt nfsnobody.txt-soft 創(chuàng)建軟連接
[root@nfsnobody nfsnobody]# ls -l 檢查是否創(chuàng)建成功
total 8
-rw-r--r--. 2 root root 14 Jul 10 20:53 nfsnobody.txt
-rw-r--r--. 2 root root 14 Jul 10 20:53 nfsnobody.txt.hard
lrwxrwxrwx. 1 root root 10 Jul 10 21:13 nfsnobody.txt-soft -> nfsnobody.txt 創(chuàng)建成功
使用絕對路徑創(chuàng)建 顯示的信息也是絕對路徑 相對路徑創(chuàng)建 顯示的就是相對路徑
[root@nfsnobody ~]# ln -s /nfsnobody/nfsnobody.txt /nfsnobody/nfsnobody.txt.1
[root@nfsnobody ~]# ls -l /nfsnobody/
total 8
-rw-r--r--. 2 root root 14 Jul 10 20:53 nfsnobody.txt
lrwxrwxrwx. 1 root root 18 Jul 10 21:16 nfsnobody.txt.1 -> /nfsnobody/nfsnobody.txt
源文件消失(移動改名刪除等) 查看信息 軟連接對應(yīng)的源文件就會變紅(紅底白字)
文件刪除原理
硬連接數(shù)為0 進(jìn)程調(diào)用數(shù)為0 是否有人使用
如何查看被占用的文件
lsof (list open files ) 顯示所有被占用的文件
模擬環(huán)境
xshell開啟兩個窗口 先運(yùn)行窗口二 在運(yùn)行窗口一
窗口1
lsof |grep nfsnobody.txt
窗口2
tail -f /nfsnobody/nfsnobody.txt
查看進(jìn)程
[root@nfsnobody /nfsnobody]# lsof |grep nfsnobody.txt
tail 3755 root 3r REG 8,3 14 1046996 /nfsnobody/nfsnobody.txt
命令或服務(wù)名稱 文件大小 inode號碼 文件名
軟連接與硬鏈接之間的區(qū)別
創(chuàng)建的區(qū)別
ln命令創(chuàng)建硬鏈接,,ln -s 創(chuàng)建軟鏈接
含義
在同一分區(qū)硬鏈接文件與源文件的inode節(jié)點(diǎn)號相同。而軟鏈接文件相當(dāng)于windows的快捷方式(inode節(jié)點(diǎn)號與源文件不同)
特點(diǎn)
不能對目錄創(chuàng)建硬鏈接,,但可以創(chuàng)建軟鏈接,,對目錄的軟鏈接會經(jīng)常被用到 軟連接可以跨文件系統(tǒng),硬鏈接不可以跨文件系統(tǒng)
源文件 軟連接 硬鏈接與刪除
刪除軟連接文件,,對源文件及硬鏈接文件無任何影響 刪除文件的硬鏈接文件,,對源文件及軟連接文件無任何影響 刪除連接文件的源文件,對硬鏈接文件無影響,,會導(dǎo)致其軟連接失效(紅底白字) 同時刪除源文件及硬鏈接文件,,整個文件才會被“真正”刪除
文件刪除但空間未被釋放案例
模擬:文件沒有被徹底刪除(i_link)為0 進(jìn)程調(diào)用數(shù)(i_count)不為0 沒有被徹底刪除-硬鏈接數(shù)為0,進(jìn)程調(diào)用數(shù)不為零
/var/log/messages
查看磁盤使用
[root@nfsnobody nfsnobody]# df -h df -h查看磁盤的使用情況
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 6.1G 12G 35% / / 使用最多
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
[root@nfsnobody nfsnobody]# du -sh /* |sort -h 使用du -sh /*一層層排查
[root@nfsnobody nfsnobody]# du -sh /var/* |sort -h 排查過程
[root@nfsnobody nfsnobody]# du -sh /var/log/* |sort -h 找到占用空間最多的
[root@nfsnobody nfsnobody]# \rm -f /var/log/messages 確認(rèn)無用處之后 再刪除
[root@nfsnobody nfsnobody]# df -h 刪除后檢查發(fā)現(xiàn)空間并沒有被釋放
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 6.1G 12G 35% / 并沒有被釋放
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
[root@nfsnobody nfsnobody]# lsof |grep messages 使用lsof 查看文件是否被調(diào)用
rsyslogd 1247 root 1w REG 8,3 4888993470 135456 /var/log/messages (deleted)
deleted lsof的標(biāo)記 表示文件硬連接數(shù)為0 進(jìn)程調(diào)用不為0
[root@nfsnobody nfsnobody]# /etc/init.d/rsyslog restart 重啟進(jìn)程
[root@nfsnobody nfsnobody]# df -h 查看磁盤的使用情況
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.5G 17G 9% / 磁盤空間被釋放
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
重啟進(jìn)程后/var/log/messages也會重新被創(chuàng)建 但是空間已被釋放
如何找通過inode號找硬鏈接
使用find命令 -inum參數(shù)找inode號碼,找到相同的inode 互為硬鏈接,。
[root@nfsnobody ~]# ls -lhi test.txt
260141 -rw-r--r--. 2 root root 265 Aug 29 19:16 test.txt
[root@nfsnobody ~]# find /* -type f -inum 260141
/root/test.txt
/root/test.txt-hard
|