/bin 全部用戶可用的基本命令程序文件
/sbin 供系統管理員能使用的命令
/boot 引導加載必須用到的各類靜態文件:kernel,initramfs(initrd),grub等
/dev 存儲特殊文件或設備文件
設備有兩種類型 字符設備、塊設備
鍵盤是字符設備(線性設備),硬盤是塊設備(隨機設備)node
/etc 系統配置文件,只能爲靜態
/home 普通用戶家目錄的集中位置,普通用戶家目錄通常爲home下與之同名的子目錄
/lib 爲系統啓動或根文件系統上的應用程序(/bin,/sbin下的程序)提供共享庫,以及爲內核提供內核模塊
lib.so. 動態連接的c庫
ld 運行時連接器/加載器
modules 用於存儲內核模塊的目錄
/lib64 64位系統特有的存放共享庫的路徑
/media 便攜式設備掛載點,cdrom...
/mnt 其餘文件系統臨時掛載點
/opt option 附加應用程序的安裝位置
/srv 當前主機爲服務提供的數據
/tmp 臨時文件,全部用戶都能執行寫操做,存儲臨時文件
/usr 不容許任何普通用戶在此建立文件
全局共享的只讀數據路徑
包含:bin,sbin,lib,lib64,include(C程序頭文件),share(命令手冊頁和自帶文檔等架構特有的文件存放位置)
local(另外一個層級目錄)
/usr/local 第三方程序的安裝位置
/var 層級路徑(FHS) variable
存儲常常發生變化的數據目錄,
var下的目錄
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
log Log files and directories
opt Variable data for /opt
run Data relevant to running processes
spool Application spool data
tmp Temporary files preserved between system reboots
/proc 虛擬的基於內存的文件系統,爲內核和進程存儲相關信息,他們多爲內核參數,例如ip.ipv4.ip_forward,虛擬爲net/ipv4/ip_forward,存儲於/proc/sys下
/sys sysfs虛擬文件系統提供了一種比proc更爲理想的訪問內核途徑,虛擬的基於內存的文件系統,爲管理linux設備提供了統一模型的管理接口linux
文件的命名規則遵循如下原則
以.開頭的文件爲隱藏文件
文件名區分大小寫
使用"/"做爲路徑分隔
包括路徑在內文件名稱最長4095bytes
除了斜槓,全部字符都有效apache
文件查看命令 more,tac,head,tail,cat,lessvim
分屏查看 more,less
more FILE_NAME
按b鍵向前翻,空格向後翻,翻至文件結尾自動退出
less FILE_NAME
查看文件行head,tail
查前N行
head [OPTIONS] FILE_NAME
-n # #默認輸出前10行,查passwd前5行:head -n 5 /etc/passwd
-# tail -5 /etc/passwd
tail 查看文件後N行
tail [OPTIONS] FILE_NAME
-n #
-#
-f 用於監控內容變化
stat 顯示文件的狀態
stat FILE_NAME
#每個文件都有兩類數據 元數據和數據
元數據 metadata
數據 data 多線程
access time:2020-11-09 09:24:21.364450955 +0800 atime 訪問時間
modify time:2020-11-09 09:17:19.073650630 +0800 mtime 更改時間
change time:2020-11-09 09:17:19.073650630 +0800 ctime 改動時間
#modify time 數據改變
#change time 元數據(metadata)改變
#數據改變元數據必定改變!change變modify必定變化
建立帶有時間的文件或目錄
mkdir $(date +%H-%M-%S) 時分秒,中間"-"隔開
touch date +%T
文件名爲X年X月X日
刪除 09:13:25這個文件:rm -r 09\:13\:25架構
touch 建立文件、修改文件時間戳,
touch [OPTIONS]...FILE_NAME
-c 指定的文件不存在時建立新文件
-a 僅修改訪問時間 atime
-m 僅修改更改時間 mtime
-t STAMP [[CC]YY]MMDDhhmm[.ss]
###文件的元數據改變,也就是更改時間m改變,則c的時間會修改成當前時間!!!less
軟連接和硬連接區別
一、軟連接能夠跨分區,硬連接不支持,軟連接inode號不一樣,至關於生成指向源數據的一種快捷方式,改變的都是源文件數據,跨分區建立軟連接源文件路徑必須寫全,不然會報錯
二、硬連接inode號不變,也改變原有數據dom
[root@localhost test]# ln /test/passwd /sdb1/pwd1 ln: failed to create hard link ‘/sdb1/pwd1’ => ‘/test/passwd’: Invalid cross-device link [root@localhost test]# ln -s /test/passwd /sdb1/pwd
路徑不全報錯curl
[root@localhost sdb1]# cd /test [root@localhost test]# ls passwd [root@localhost test]# ln -s passwd /sdb1/passwd1 [root@localhost test]# ls -l /sdb1/passwd1 lrwxrwxrwx 1 root root 6 Feb 16 22:57 /sdb1/passwd1 -> passwd [root@localhost test]# ln -s /test/passwd /sdb1/passwd1 ln: failed to create symbolic link ‘/sdb1/passwd1’: File exists [root@localhost test]# rm -rf /sdb1/passwd1 [root@localhost test]# ln -s /test/passwd /sdb1/passwd1 [root@localhost test]# ls -l /sdb1/passwd1 lrwxrwxrwx 1 root root 12 Feb 16 22:58 /sdb1/passwd1 -> /test/passwd
cp /etc/profile /tmp
sed 's/^[[:space:]]*//g' /tmp/profileide
echo "set tabstop=4" >>/etc/.vimrc
Web訪問響應模型 IO模型
一、單進程
啓動一個進程處理用戶請求,一次只處理一個,多個請求被串行響應
二、多進程/多線程 apache的默認方式
並行啓動多個進程,每一個進程響應一個連接請求
三、複用的IO結構
啓用一個進程,每一個進程同時響應N個請求
四、複用的多線程IO結構
啓動M個進程,每一個進程響應N個請求,同時接收M*N個請求
基於域名訪問的實現
[root@localhost ~]# systemctl reload httpd
[root@localhost ~]# curl http://www.pc.com
pc
[root@localhost ~]# curl http://www.mobile.commobile[root@localhost ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.100.16 www.pc.com192.168.100.16 www.mobile.com[root@localhost ~]#