linux發行版系統目錄命名規則node
使用根文件系統結構,使用FHS層次結構。linux系統嚴格區分大小寫,系統目錄繼承了這一特色。linux
/:根目錄,全部目錄的最高一級目錄shell
/bin:全部用戶可用的基礎命令存放目錄vim
/sbin:僅root用戶可用的命令存放目錄bash
/home:普通用戶家目錄less
/root:超級用戶家目錄ide
/etc:存放配置文件的目錄ui
/usr:存放全局共享數據的目錄this
/usr/local:部分第三方應用程序安裝目錄idea
/dev:存放設備文件的目錄
/dev/null:空設備,全部存入的數據都會被丟棄的設備文件
/dev/zero:零設備,輸出指定長度二進制0的設備文件
/lib:存放庫文件和內核模塊的目錄
/lib64:存放專用64位庫文件的目錄
/var:存放常發生變化的文件以及少部分配置文件的目錄
/var/log:存放系統日誌的目錄
/boot:存放系統啓動過程所用到的引導文件、內核文件等文件的目錄
/proc:存放內核與進程相關文件的虛擬文件系統
/proc/cpuinfo:存放cpu信息的文件
/medir:可移動存儲設備的默認掛載點
/mnt:臨時掛載點,重啓失效
/tmp:存放臨時目錄及文件的目錄,重啓清空
/opt:部分第三方應用程序的默認安裝目錄
文件的元數據信息包含
File 文件名稱 Size 文件大小 Blocks 佔用的磁盤塊數 IO Block IO塊大小 regular file 文件的類型 Device 所在設備 Inode Inode節點號 Links 被連接的次數 Access 文件的訪問權限 Uid 屬主id和全部人 Gid 屬組id和所屬組 Access 文件最近一次被訪問的時間 Modify 文件的數據內容被修改的時間 Chang 文件的狀態改變的時間
能夠經過stat命令查看文件的元數據,例:
[root@zfc ~]# stat anaconda-ks.cfg File: ‘anaconda-ks.cfg’ Size: 1968 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 4297153635 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-11-06 18:22:12.433397525 +0800 Modify: 2019-11-06 18:22:12.433397525 +0800 Change: 2019-11-06 18:22:12.822401901 +0800 Birth: -
能夠經過touch命令修改文件的時間戳,例:
[root@zfc ~]# touch anaconda-ks.cfg [root@zfc ~]# stat anaconda-ks.cfg File: ‘anaconda-ks.cfg’ Size: 1968 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 4297153635 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-11-09 18:24:00.413843056 +0800 Modify: 2019-11-09 18:24:00.413843056 +0800 Change: 2019-11-09 18:24:00.413843056 +0800 Birth: -
連接
包含軟連接和硬連接,軟連接是建立的一個指向數據塊的新的inode的文件,與源文件inode不一樣,刪除源文件軟連接即失效。硬連接是建立新的數據塊存儲相同的內容,可是inode相同,刪除源文件硬連接依然有效。
[root@zfc ~]# touch ln #建立一個源文件 [root@zfc ~]# ln -s ln ln_s #建立軟連接 [root@zfc ~]# ln ln ln_h #建立硬連接 [root@zfc ~]# stat ln |grep -i inode #查看源文件inode Device: fd00h/64768d Inode: 4297103463 Links: 2 [root@zfc ~]# stat ln_h |grep -i inode #查看硬連接inode Device: fd00h/64768d Inode: 4297103463 Links: 2 [root@zfc ~]# stat ln_s |grep -i inode #查看軟連接inode Device: fd00h/64768d Inode: 4297153591 Links: 1 [root@zfc ~]# rm -f ln #刪除源文件 [root@zfc ~]# ll ln* -rw-r--r-- 1 root root 18 Nov 9 18:31 ln_h #能夠正常打開 lrwxrwxrwx 1 root root 2 Nov 9 18:30 ln_s -> ln #連接失效,沒法打開
文件管理類命令
ls:查看目錄下的文件
-a:顯示全部文件包括隱藏文件
-A:顯示除.和..以外的全部文件
-l,--long:顯示文件的詳細屬性信息
-h:對文件大小進行人性化顯示
-d:查看目錄自己而非其內部的文件
-r:逆序顯示文件
-R:遞歸顯示文件
touch:建立文件,若是文件已存在則刷新時間戳
mkdir:建立目錄
-p:自動按需建立父目錄
-m:建立目錄時給定權限
cp:複製
-f:強制覆蓋目標文件
-r,-R:遞歸複製目錄
mv:剪切文件到指定目錄,若是剪切到同一目錄下即爲更名
-f:強制覆蓋目標文件
rm:刪除文件或目錄
-f:強制覆蓋目標文件
-r,-R:遞歸處理,將制定目錄下的全部文件包括目錄一併刪除
複製/etc/profile到/tmp目錄,用查找替換命令刪除文件中的行首空白字符
[root@zfc ~]# cp /etc/profile /tmp [root@zfc ~]# sed -i 's/^[[:space:]]*//g' /tmp/profile [root@zfc ~]# cat /tmp/profile # /etc/profile # System wide environment and startup programs, for login setup # Functions and aliases go in /etc/bashrc # It's NOT a good idea to change this file unless you know what you # are doing. It's much better to create a custom.sh shell script in # /etc/profile.d/ to make custom changes to your environment, as this # will prevent the need for merging in future updates. pathmunge () { case ":${PATH}:" in case ":${PATH}:" in *:"$1":*) *:"$1":*) ;; ;; *) *) if [ "$2" = "after" ] ; then if [ "$2" = "after" ] ; then PATH=$PATH:$1 PATH=$PATH:$1 else else PATH=$1:$PATH PATH=$1:$PATH fi fi esac esac }
在vim中設置tab縮進爲4個字符
:set tabstop=4