文件系統(tǒng)和目錄結(jié)構(gòu)
cat /etc/centos-release 打印centos的系統(tǒng)版本
文件系統(tǒng)結(jié)構(gòu)
/boot:引導(dǎo)文件存放目錄,內(nèi)核文件(vmlinuz)构回、引導(dǎo)加載器(bootloader, grub)都存放于此目錄
/bin:所有用戶使用的基本命令翅敌;不能關(guān)聯(lián)至獨立分區(qū)灶平,OS啟動即會用到的程序
/sbin:管理類的基本命令;不能關(guān)聯(lián)至獨立分區(qū)必怜,OS啟動即會用到的程序
/lib:啟動時程序依賴的基本共享庫文件以及內(nèi)核模塊文件(/lib/modules)
/lib64:專用于x86_64系統(tǒng)上的輔助共享庫文件存放位置
/etc:配置文件目錄
/home/USERNAME:普通用戶家目錄
/root:管理員的家目錄
/media:便攜式移動設(shè)備掛載點
/mnt:臨時文件系統(tǒng)掛載點
/dev:設(shè)備文件及特殊文件存儲位置
b: block device,隨機訪問
c: character device后频,線性訪問
/opt:第三方應(yīng)用程序的安裝位置
/srv:系統(tǒng)上運行的服務(wù)用到的數(shù)據(jù)
/tmp:臨時文件存儲位置
/usr: universal shared, read-only data
bin: 保證系統(tǒng)擁有完整功能而提供的應(yīng)用程序
sbin:
lib:32位使用
lib64:只存在64位系統(tǒng)
include: C程序的頭文件(header files)
share:結(jié)構(gòu)化獨立的數(shù)據(jù)梳庆,例如doc, man等
local:第三方應(yīng)用程序的安裝位置
bin, sbin, lib, lib64, etc, share
/var: variable data files
cache: 應(yīng)用程序緩存數(shù)據(jù)目錄
lib: 應(yīng)用程序狀態(tài)信息數(shù)據(jù)
local:專用于為/usr/local下的應(yīng)用程序存儲可變數(shù)據(jù)
lock: 鎖文件
log: 日志目錄及文件
opt: 專用于為/opt下的應(yīng)用程序存儲可變數(shù)據(jù)
run: 運行中的進(jìn)程相關(guān)數(shù)據(jù),通常用于存儲進(jìn)程pid文件
spool: 應(yīng)用程序數(shù)據(jù)池
tmp: 保存系統(tǒng)兩次重啟之間產(chǎn)生的臨時數(shù)據(jù)
/proc: 用于輸出內(nèi)核與進(jìn)程信息相關(guān)的虛擬文件系統(tǒng)
/sys:用于輸出當(dāng)前系統(tǒng)上硬件設(shè)備相關(guān)信息虛擬文件系統(tǒng)
/selinux: security enhanced Linux,selinux相關(guān)的安全策略等信息的存儲位置
LINUX的文件類型
絕對和相對路徑
工作中盡量使用相對路徑
pwd 打印當(dāng)前工作目錄
cd 切換目錄
cd - 回到上次的目錄
df 查看磁盤各分區(qū)情況
df -i 查看各分區(qū)節(jié)點情況
ls 常用選項
ls -a 包含隱藏文件
ls -l 顯示額外信息
ls -R 目錄遞歸
ls -ld 顯示目錄本身信息
stat xx 顯示文件狀態(tài)信息
atime 讀時間 (讀取間隔時間短暫卑惜,atime不變)
mtime 文件內(nèi)容變更時間
ctime 文件狀態(tài)更改時間(例如文件的所有者膏执,權(quán)限)
echo '- - - ' > /sys/class/scsi_host/host2/scan 掃描硬盤
echo '- - - ' > /sys/class/scsi_host/host0/scan 掃描硬盤
touch 新建普通文件 如果文件存在 則刷新文件時間
根據(jù)后綴顯示文件顏色的配置文件 /etc/DIR_COLORS
dd if=/dev/zero of=/data/zerofile bs=1 count=1
從/dev/zero里面讀數(shù)據(jù) 寫入到/data/zerofile里面
bs=1 一塊一個字節(jié) count=1 寫一次
basename /etc/profile.d/env.sh =env.sh
dirname /etc/profile.d/env.sh = /etc/profile.d
mknod 創(chuàng)建設(shè)備文件
mknod /data/disk b 8 0
/data/disk是名稱 b是類型 8是類型編號 0是第幾號
mkfifo xx 創(chuàng)建管道文件
nc -UL xx 創(chuàng)建socket文件
通配符
[[:lower:]] 表示一個小寫字母
ls .* -d 加-d是指只查看當(dāng)前目錄的隱藏文件
查看-a這種文件 ./-a
[a-e] = a A b B c C d D e
echo {0..5} =1,2,3,4,5
星號在通配符和正則表達(dá)式中有其不一樣的地方,在通配符中可以匹配任意的0個或多個字符露久,而在正則表達(dá)式中他是重復(fù)之前的一個或者多個字符更米,不能獨立使用的。比如通配符可以用來匹配任意字符毫痕,而正則表達(dá)式不行征峦,他只匹配任意長度的前面的字符。
注意通配符里的星號是不包括“點”的
1 ls /var/l[0-9][[:lower:]]
2 ls /etc/[0-9][^0-9]
3 ls /etc/[^a-Z][[:lower:]]*
4 ls /etc/rc/[0-6]*
5 ls /etc/.conf
6 ls /etc/[mnrp].conf
7 ls /root/.* -d
8 ls /etc/*/ -d
小技巧 只顯示目錄 記得加/
CP
cp -a 備份很常用
cp -d 只復(fù)制軟連接文件本身
cp -v 顯示拷貝的過程
echo {a..z} a,b,c,d,e,f,g...z
echo f{1,2,3}.{log,txt}
這種很常用
f1.log f1.txt f2.log f2.txt f3.log f3.txt
1 cp -av /etc/ /data/backup
data +%F
(等價于反引號date +%F反引號)
cp -u 只復(fù)制src比dest更新的文件
cp xx xx --backup=numbered 對文件備份多次的設(shè)置編號
mv 移動
rm 刪除
工作中一般用mv 代替 rm
目錄相關(guān)命令
1 mkdir -p testdir/dir1/{x,y}/{a,b}
2mkdir -p testdir/dir2/{x/{a,b},y}
3 mkdir -p testdir/{dir3,dir4,dir5/{dir6,dir7}}
索引節(jié)點
df -i 查看磁盤各分區(qū)節(jié)點的利用率
每個分區(qū)都有自己的節(jié)點編號
節(jié)點表存放文件的元數(shù)據(jù)
每創(chuàng)建一個文件都消耗一個節(jié)點編號
節(jié)點編號用光消请,即使有空間栏笆,也不能創(chuàng)建文件
目錄也是文件,根據(jù)目錄節(jié)點表找到對應(yīng)的數(shù)據(jù)塊
目錄數(shù)據(jù)塊里存放文件名和文件對應(yīng)的inode號碼
根據(jù)文件inode號碼找到文件節(jié)點表臊泰,進(jìn)而找到文件的數(shù)據(jù)塊(文件的真正內(nèi)容)
刪除一個文件竖伯,先把目錄數(shù)據(jù)塊里的文件名和對應(yīng)的inode號碼刪除,然后刪除文件的節(jié)點表,但是文件的數(shù)據(jù)塊沒有被立即清空七婴,只是被標(biāo)識為空閑狀態(tài)祟偷,直到有數(shù)據(jù)使用這塊空間
cp /etc/fstab / /data/fstab.bak 底層做了什么?
首先在/data 分區(qū)分配一個節(jié)點編號 然后把文件的
元數(shù)據(jù)(權(quán)限,大小等)寫入節(jié)點表打厘,找一塊
磁盤空間存放文件內(nèi)容修肠,并且把節(jié)點表里的指針指向這塊磁盤空間
在/data目錄里增加一條文件名和節(jié)點編號的記錄
然后把此記錄和目錄關(guān)聯(lián)起來,最終完成創(chuàng)建
INODE表結(jié)構(gòu)
ext系列的文件系統(tǒng)工作過程
硬鏈接
軟連接/符號鏈接
假設(shè) 數(shù)據(jù)庫下有個大文件 想要刪除它户盯,但是由于
這個文件太大占用太多的數(shù)據(jù)塊嵌施,一旦刪除,需要
把每個數(shù)據(jù)塊標(biāo)記為空閑狀態(tài)莽鸭,而此時服務(wù)器壓力過大可能造成死機吗伤。所以解決辦法是對此文件創(chuàng)建一個硬鏈接,即使刪除數(shù)據(jù)庫文件硫眨,因為還有另外的文件使用數(shù)據(jù)塊足淆,所以,數(shù)據(jù)塊不會刪除礁阁。不會造成服務(wù)器壓力過大巧号,同時也刪除了數(shù)據(jù)庫文件。
新磁盤使用
vim編輯器
注意:vim編輯文件時姥闭,有時誤操作會出現(xiàn)生成.swp文件丹鸿,需要把該隱藏文件刪除后,才可正常編輯
模式轉(zhuǎn)換
關(guān)閉文件
擴展命令
命令模式
翻屏
字符編輯
刪除
復(fù)制
粘貼
擴展模式地址定界
查找
撤銷更改
剪貼板寄存器
標(biāo)記和宏
擴展模式 查找并替換
文件分割
配置文件
格式
標(biāo)準(zhǔn)輸入和輸出
輸出和錯誤重定向
輸出和錯誤重定向到文件
tr轉(zhuǎn)換
tr -dc ‘xxx’ 刪除xxx的補集
重定向輸入
多行重定向輸入和mail
管道
tee
1
/etc/skel 新建用戶家目錄的默認(rèn)模板目錄
用戶
組
安全上下文
組的類別
用戶和組的配置文件
密碼期限
group格式
gshadow格式:
useraddd
與useradd相關(guān)的文件
用戶屬性
刪除用戶
查看相關(guān)用戶id
su
passwd
chage
groupadd
groups username 查看用戶屬于哪些組
groupmems -l -g xxx 查看xxx組里的成員
修改刪除組
gpasswd
查看更改組成員
chown
文件權(quán)限
chmod
新建目錄和文件的默認(rèn)權(quán)限
對于目錄來說棚品,讀權(quán)限是指能夠看到目錄里的文件名
寫權(quán)限是指 能夠在目錄里面創(chuàng)建和刪除文件
執(zhí)行權(quán)限是指能夠進(jìn)入目錄(基本權(quán)限)
1 無法進(jìn)入目錄
2 無法查看目錄有哪些文件
3 不可以
4 不可以