文件系統 文件和目錄被組織成一個單根倒置樹結構 文件系統從根目錄下開始,用“ /”表示 根文件系統(rootfs): root filesystem 名稱是大小寫敏感 以.開頭的文件為隱藏文件 路徑分隔的 / 文件有兩類數據: 元數據: metadata 數據: data 文件系統層級標準: LSB Linux Standard Base FHS: (Filesystem Hierarchy Standard)
Linux文件系統的特性 1.包括路徑在內文件名稱最長4095個字節,用/分隔的路徑不能超過255個字節。 2.藍色-->目錄 綠色-->可執行文件 紅色-->壓縮文件 淺藍色-->鏈接文件 灰色-->其他文件 3. 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目錄名和 4.文件不推薦使用,有些字符需要用引號來引用它們。 5. 標準Linux文件系統(如ext4),文件名稱大小寫敏感。例如: MAIL, Mail, mail, mAiL 6.以.開頭的文件為隱藏文件
Linux文件系統結構 /boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader, grub)都存放于此目錄 /bin:供所有用戶使用的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序 /sbin:管理類的基本命令;不能關聯至獨立分區, OS啟動即會用到的程序 /lib:啟動時程序依賴的基本共享庫文件以及內核模塊文件(/lib/modules) /lib64:專用于x86_64系統上的輔助共享庫文件存放位置 /etc:配置文件目錄 /home/USERNAME:普通用戶家目錄 /root:管理員的家目錄 /media:便攜式移動設備掛載點 /mnt:臨時文件系統掛載點 /dev:設備文件及特殊文件存儲位置 b: block device,隨機訪問 c: character device,線性訪問 /opt:第三方應用程序的安裝位置 /srv:系統上運行的服務用到的數據 /tmp:臨時文件存儲位置 /usr: universal shared, read-only data bin: 保證系統擁有完整功能而提供的應用程序 sbin: lib: 32位使用 lib64:只存在64位系統 include: C程序的頭文件(header files) share:結構化獨立的數據,例如doc, man等 local:第三方應用程序的安裝位置bin, sbin, lib, lib64, etc, share /var: variable data files cache: 應用程序緩存數據目錄 lib: 應用程序狀態信息數據 local:專用于為/usr/local下的應用程序存儲可變數據; lock: 鎖文件 log: 日志目錄及文件 opt: 專用于為/opt下的應用程序存儲可變數據; run: 運行中的進程相關數據;通常用于存儲進程pid文件 spool: 應用程序數據池 tmp: 保存系統兩次重啟之間產生的臨時數據 /proc: 用于輸出內核與進程信息相關的虛擬文件系統 /sys:用于輸出當前系統上硬件設備相關信息虛擬文件系統 /selinux: security enhanced Linux, selinux相關的安全策略等信息的存儲位置
Linux上應用程序組成部分 二進制程序: /bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin 庫文件: /lib, /lib64, /usr/lib, /usr/lib64,/usr/local/lib, /usr/local/lib64 配置文件: /etc, /etc/DIRECTORY, /usr/local/etc 幫助文件: /usr/share/man, /usr/share/doc,/usr/local/share/man, /usr/local/share/doc
Linux下文件類型 -:普通文件 d:目錄 b:塊設備 c:字符設備 l:符號鏈接文件 P:管道文件pipe s:套接字文件scoket
文件類型 文件可以包含多種類型的數據 檢查文文件類型,然后確定適當的開放命令或應用程序使用 file [options] <filename>... Option: -b列出文件辨識結果時,不顯示文件名稱。 -c詳細顯示指令執行過程,便于排錯或分析程序執行形 -f列出文件中文件名的文件類型 -F使用指定分隔符號替換輸出文件名后默認的”:”分隔符 -i輸出mime類型的字符串 -L查看對應軟鏈接對應文件的文件類型 -z嘗試去解讀壓縮文件的內容 --help顯示命令在線幫助
RHEL7目錄變化 /bin 和 /usr/bin /sbin 和 /usr/sbin /lib 和/usr/lib /lib64 和 /usr/lib64
pwd 顯示當前工作目錄 每個shell和系統進程都有一個當前的工作目錄 命令英文愿意: print working directory 命令所在路徑:/usr/bin/pwd 執行權限:所有用戶 功能描述:顯示當前工作目錄 語法:pwd
[root@wzc ~]# pwd /root #顯示當前工作目錄
[root@wzc ~]# echo $PWD /root #保存當前目錄路徑,每次執行pwd命令的時候其實就是在讀取PWD的值 [root@wzc ~]# cd /date/ [root@wzc date]# pwd /date [root@wzc date]# echo $OLDPWD /root #OLDPWD保存上一次目錄所在路徑
絕對路徑 以正斜杠開始 完整的文件的位置路徑 可用于任何想指定一個文件名的時候 [root@wzc ~]# cd /etc/sysconfig/network-scripts/
相對路徑 不以斜線開始 指定相對于當前工作目錄或某目錄的位置 可以作為一個簡短的形式指定一個文件名
[root@wzc ~]# cd /etc/ [root@wzc etc]# pwd /etc [root@wzc etc]# cd java/ ##cd 命令后跟'/etc'第二個cd命令后跟'java',并沒有斜杠,這個'java'是相對與'/etc'目錄來講的,所以叫做相對路徑。
cd 切換目錄 命令英文愿意: change directory 命令所在路徑:shell內置命令 執行權限:所有用戶 功能描述:切換目錄 語法:cd 要切換的目錄 默認情況下cd是切換回到自己家目錄下面 到上一級目錄:cd . . 回到當前用戶的主目錄:cd 或 cd ~ 切換到指定用戶的主目錄:cd ~USERNAME 再上一個目錄和當前目錄之間來回切換:cd -
[root@wzc ~]# cd #返回當前用戶主目錄 [root@wzc ~]# pwd /root [root@wzc ~]# cd ~ #返回當前用戶主目錄 [root@wzc ~]# pwd /root [root@wzc ~]# cd ~wzc [root@wzc wzc]# pwd /home/wzc [root@wzc wzc]# cd - #再上一個目錄和當前目錄來回切換 /root [root@wzc ~]# pwd /root [root@wzc ~]# cd /tmp/ #切換到指定目錄 [root@wzc tmp]# cd .. #返回上級目錄 [root@wzc /]# pwd /
ls 列出目錄內容 命令英文愿意: list 命令所在路徑:/usr/bin/ls 執行權限:所有用戶 功能描述:列出目錄內容 用法: ls [options] [files_or_dirs] Example: ls -a 包含隱藏文件 ls -l 顯示額外的信息 ls -R 目錄遞歸通過 ls -ld 目錄和符號鏈接信息 ls -1 文件分行顯示 ls –S 按從大到小排序 ls –u 配合-t選項,顯示并按atime從新到舊排序 ls –U 不排序按目錄存放順序顯示
[root@wzc ~]# ls -a . .bash_logout .config Documents initial-setup-ks.cfg Public .viminfo .. .bash_profile .cshrc Downloads .local .tcshrc anaconda-ks.cfg .bashrc .dbus .esd_auth Music Templates .bash_history .cache Desktop .ICEauthority Pictures Video #顯示所有文件,包括隱藏文件 [root@wzc ~]# ls -l total 8 -rw-------. 1 root root 1623 Aug 1 10:10 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Aug 1 10:15 Desktop drwxr-xr-x. 2 root root 6 Aug 1 10:15 Documents drwxr-xr-x. 2 root root 6 Aug 1 10:15 Downloads -rw-------. 1 root root 1654 Aug 1 10:15 initial-setup-ks.cfg drwxr-xr-x. 2 root root 6 Aug 1 10:15 Music drwxr-xr-x. 2 root root 6 Aug 1 10:15 Pictures drwxr-xr-x. 2 root root 6 Aug 1 10:15 Public drwxr-xr-x. 2 root root 6 Aug 1 10:15 Templates drwxr-xr-x. 2 root root 6 Aug 1 10:15 Videos #長格式顯示詳細信息 [root@wzc ~]# ls -ld /root/ dr-xr-x---. 14 root root 4096 Aug 2 16:05 /root/ #只顯示當前目錄詳細信息
文件通配符 * 匹配零個或多個字符 ? 匹配任何單個字符 ~ 當前用戶家目錄 ~username 用戶家目錄 ~+ 當前工作目錄 ~- 前一個工作目錄 [0-9] 匹配一個數字范圍 [a-z]:任意單個字母(不區分字母的大小寫) [A-Z]:大小寫字母 [wxc] 匹配列表中的任何的一個字符 [^wxc] 匹配列表中的所有字符以外的字符
預定義的字符類: #man 7 glob [:digit:]:任意數字,相當于0-9 [:lower:]:任意小寫字母 [:upper:]: 任意大寫字母 [:alpha:]: 任意大小寫字母 [:alnum:]:任意數字或字母 [:space:]:空格 [:punct:]:標點符號
查看文件狀態 命令:stat 文件: metadata, data 三個時間戳: access time:訪問時間, atime,讀取文件內容 modify time: 修改時間, mtime,改變文件內容(數據) change time: 改變時間, ctime,元數據發生改變
創建空文件和刷新時間 命令名稱:touch 命令所在路徑:/usr/bin/touch 執行權限:所有用戶 功能描述:創建空文件 touch命令:touch [OPTION]... FILE... -a: 僅改變 atime -m: 僅改變 mtime -t: STAMP:[[CC]YY]MMDDhhmm[.ss] -c: 如果文件不存在,則不予創建
[root@wzc date]# touch test [root@wzc date]# ls test [root@wzc date]#
cp 復制文件和目錄 命令名稱:cp 命令英文原意:copy 命令所在路徑:/usr/bin/cp 執行權限:所有用戶 語法:cp [原文件或目錄] [目標目錄] cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... cp SRC DEST SRC是文件: 如果目標不存在:新建DEST,并將SRC中內容填充至DEST中 如果目標存在: 如果DEST是文件:將SRC中的內容覆蓋至DEST中 基于安全,建議為cp命令使用-i選項 如果DEST是目錄:在DEST下新建與原文件同名的文件,并將SRC中內容填充至新文件中 cp SRC... DEST RC...:多個文件 DEST必須存在,且為目錄,其它情形均會出錯; cp SRC DEST SRC是目錄:此時使用選項: -r 如果DEST不存在:則創建指定目錄,復制SRC目錄中所有文件至DEST中; 如果DEST存在: 如果DEST是文件:報錯 如果DEST是目錄:
cp 常用選項 -i:交互式 -r, -R: 遞歸復制目錄及內部的所有內容; -a: 歸檔,相當于-dR --preserv=all -d: --no-dereference --preserv=links 不復制原文件,只復制鏈接名 --preserv[=ATTR_LIST] mode: 權限 ownership: 屬主屬組 timestamp: links xattr context all -p: 等同--preserv=mode,ownership,timestamp -v: --verbose -f: --force
[root@wzc date]# mkdir 123 [root@wzc date]# cp 123 456 cp: omitting directory ‘123’ [root@wzc date]# cp -r 123 456 [root@wzc date]# ls 123 456 #如果拷貝目錄要加-r選項,不加-r選項是拷貝不了目錄的 [root@wzc date]# cd 123 [root@wzc 123]# ls [root@wzc 123]# touch 111 222 [root@wzc 123]# ll total 0 -rw-r--r--. 1 root root 0 Aug 3 12:09 111 -rw-r--r--. 1 root root 0 Aug 3 12:09 222 [root@wzc 123]# cp -i 111 222 cp: overwrite ‘222’? y [root@wzc 123]# echo 1111 > 111 [root@wzc 123]# echo 2222 > 222 [root@wzc 123]# cat 111 222 1111 2222 #-i選項遇到相同文件會詢問是否覆蓋
[root@wzc date]# ls 123 456 [root@wzc date]# ll -ld 123/ 456/ drwxr-xr-x. 2 root root 26 Aug 3 12:09 123/ drwxr-xr-x. 2 root root 6 Aug 3 12:06 456/ [root@wzc date]# cp -rp 123/ 456/ /root/ [root@wzc date]# ls -ld /root/123/ /root/456/ drwxr-xr-x. 2 root root 26 Aug 3 12:09 /root/123/ drwxr-xr-x. 2 root root 6 Aug 3 12:06 /root/456/ #把/date下123目錄和456目錄復制到/root下,并保留目錄原屬性
命令別別名 顯示當前shell進程所有可用的命令別名:#alias 定義別名NAME,其相當于執行命令VALUE;#alias NAME='VALUE' 在命令行中定義的別名,僅對當前shell進程有效 如果想永久有效,要定義在配置文件中 僅對當前用戶: ~/.bashrc 對所有用戶有效: /etc/bashrc 編輯配置給出的新配置不會立即生效; bash進程重新讀取配置文件: source /path/to/config_file . /path/to/config_file 撤消別名: unalias:unalias [-a] name [name ...] 如果別名同原命令同名,如果要執行原命令,可使用 “\COMMAND” ’COMMAND’ /PATH/COMMAND:外部命令
移動和重命名 命令名稱:mv 命令原意:move 命令所在路徑:/usr/bin/mv 語法:mv [原文件或目錄] [目標目錄] mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE... 用選項: -i: 交互式 -f: 強制
該命令有幾種情況: 目標文件是目錄,且目標文件存在; 目標文件是目錄,且目標文件不存在; 目標文件不是目錄不存在; 目標文件不是目錄存在;
[root@wzc date]# mkdir dira dirb [root@wzc date]# ls dira dirb [root@wzc date]# mv dira dirc [root@wzc date]# ls dirb dirc #目標文件作為目錄,且目標文件不存在,相當于把‘dira’重命名為‘dirc’
[root@wzc date]# ls dirb dirc [root@wzc date]# mv dirc dirb [root@wzc date]# ls dirb [root@wzc date]# ls dirb dirc #目標文件作為目錄,且目標文件存在,則會把‘dirc’移動到‘dirb’
[root@wzc date]# touch test [root@wzc date]# ls dirb test [root@wzc date]# mv test text [root@wzc date]# ls dirb text [root@wzc date]# mv text dirb [root@wzc date]# ls dirb dirc text #目標文件不是目錄,且不存在,則會重命名文件
rm 刪除 命令名稱:rm 命令英文原意:remove 命令所在路徑:/usr/bin/rm 執行權限:所有用戶 語法:rm [文件或目錄] rm [OPTION]... FILE... 常用選項: -i: 交互式 -f: 強制刪除 -r: 遞歸 --no-preserve-root
[root@wzc date]# ls dirb [root@wzc date]# cd dirb/ [root@wzc dirb]# ls dirc text [root@wzc dirb]# rm text rm: remove regular empty file ‘text’? y [root@wzc dirb]# rm -f dirc rm: cannot remove ‘dirc’: Is a directory [root@wzc dirb]# rm -rf dirc/ #刪除目錄必須加上-r選項,否則預設只能刪除文件,-r選項通常與-f連用
目錄操作 tree 顯示目錄樹 -d: 只顯示目錄 -L level:指定顯示的層級數目 -P pattern: 只顯示由指定pattern匹配到的路徑
[root@wzc date]# ls dirb [root@wzc date]# touch testdir [root@wzc date]# ls dirb testdir [root@wzc date]# tree -d . └── dirb 1 directory #-d選項只顯示目錄,不顯示文件
[root@wzc date]# tree -l . ├── dirb └── testdir 1 directory, 1 file #-l選項也顯示目錄也顯示文件
mkdir 創建目錄 命令名稱:mkdir 命令英文原意:make directories 命令所在路徑:/usr/bin/mkdir 執行權限:所有用戶 語法:mkdir [目錄名稱] -p: 存在于不報錯,且可自動創建所需的各目錄; -v: 顯示詳細信息; -m MODE: 創建目錄時直接指定權限;
[root@wzc date]# mkdir /date/test/www/ffff mkdir: cannot create directory ‘/date/test/www/ffff’: No such file or directory [root@wzc date]# mkdir -p /date/test/www/ffff [root@wzc date]# ls -l /date/test/ total 0 drwxr-xr-x. 3 root root 17 Aug 3 12:43 www [root@wzc date]# ls -l /date/test/www/ total 0 drwxr-xr-x. 2 root root 6 Aug 3 12:43 ffff #-p選項可自動創建所需的各目錄,不加-p會報錯
rmdir 刪除空目錄 命令名稱:rmdir 命令英文原意:remove empty directories 命令所在路徑:/usr/bin/rmdir 執行權限:所有用戶 語法:rmdir [目錄名稱] -p: 遞歸刪除父空目錄 -v: 顯示詳細信息
[root@wzc date]# ls test [root@wzc date]# ls test/ www [root@wzc date]# rmdir www rmdir: failed to remove ‘www’: No such file or directory [root@wzc date]# rmdir test/www/ffff/ [root@wzc date]# ls test [root@wzc date]# rmdir test/www/ [root@wzc date]# ls test [root@wzc date]# rmdir test/ [root@wzc date]# ls
索引節點 inode( index node)表中包含文件系統所有文件列表 一個節點 (索引節點)是在一個表項,包含有關文件的信息 (元數據 ),包括: 文件類型,權限, UID, GID 鏈接數(指向這個文件名路徑名稱個數) 該文件的大小和不同的時間戳 指向磁盤上文件的數據塊指針 有關文件的其他數據
目 錄 文件引用一個是 inode號 人是通過文件名來引用一個文件 一個目錄是目錄下的文件名和文件inode號之間的映射
cp和inode 在 CP的 命令: 分配一個空閑的inode號,在inode表中生成新條目 在目錄中創建一個目錄項,將名稱與inode編號關聯 拷貝數據生成新的文件
rm和indoe rm 命令: 鏈接數遞減,從而釋放的inode號可以被重用 把數據塊放在空閑列表中 刪除目錄項 數據實際上不會馬上被刪除,但當另一個文件使用數據塊時將被覆蓋
mv和indoe 如果mv命令的目標和源在相同的文件系統,作為mv 命令 用新的文件名創建對應新的目錄項 刪除舊目錄條目對應的舊的文件名 不影響inode表(除時間戳)或磁盤上的數據位置:沒有數據被移動 如果目標和源在一個不同的文件系統, mv相當于cp和rm
補充: 介紹幾個和文檔相關的命令 cat 命令名稱:cat 命令所在路徑:/usr/bin/cat 執行權限:所有用戶 語法:cat [文件名] 功能描述:顯示文件內容 選項:-n 顯示行號 -A 顯示所有內容,包括特殊字符
[root@wzc date]# echo 111 > wzc [root@wzc date]# echo 000 >> wzc [root@wzc date]# cat wzc 111 000 [root@wzc date]# cat -n wzc 1 111 2 000 [root@wzc date]# cat -A wzc 111$ 000$
tac 命令名稱:tac 命令所在路徑:/usr/bin/tac 執行權限:所有用戶 語法:tac [文件名] 功能描述:顯示文件內容 {反向顯示} [root@wzc date]# tac wzc 000 111
more 命令名稱:more 命令所在路徑:/usr/bin/more 執行權限:所有用戶 功能描述:分頁顯示文件內容 語法:more [文件名] 快捷鍵:空格或f:翻頁 Enter:換行 q或Q:退出
less 命令名稱:less 命令所在路徑:/usr/bin/less 執行權限:所有用戶 功能描述:分頁顯示文件內容 [可向上翻頁] 語法:less [文件名] 快捷鍵:空格或f:翻頁(半屏) k:向上翻一頁 Enter:換行 q或Q:退出
head 命令名稱:head 命令所在路徑:/usr/bin/head 執行權限:所有用戶 功能描述:顯示文件前幾行 語法:head [文件名] 選項:-n 指定行數
[root@wzc date]# head -n5 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [root@wzc date]# head -n 5 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin #-n選項后可以有空格,也可以沒空格
tail 命令名稱:tail 命令所在路徑:/usr/bin/tail 執行權限:所有用戶 功能描述:顯示文件后面幾行 語法:tail [文件名] 選項:-n 指定行數 -f 動態顯示文件末尾內容
[root@wzc date]# tail -n 5 /etc/passwd ntp:x:38:38::/etc/ntp:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin wzc:x:1000:1000:wzc:/home/wzc:/bin/bash user2:x:1001:1001::/home/user2:/bin/bash wangcai:x:1002:1003::/home/wangcai:/bin/bash [root@wzc date]# tail -f /var/log/messages Aug 3 14:10:01 wzc systemd: Started Session 38 of user root. Aug 3 14:10:01 wzc systemd: Starting Session 38 of user root. Aug 3 14:20:01 wzc systemd: Started Session 39 of user root. Aug 3 14:20:01 wzc systemd: Starting Session 39 of user root. Aug 3 14:30:01 wzc systemd: Started Session 40 of user root. Aug 3 14:30:01 wzc systemd: Starting Session 40 of user root. Aug 3 14:40:01 wzc systemd: Started Session 41 of user root. Aug 3 14:40:01 wzc systemd: Starting Session 41 of user root. Aug 3 14:50:01 wzc systemd: Started Session 42 of user root. Aug 3 14:50:01 wzc systemd: Starting Session 42 of user root.
硬鏈接 命令名稱:ln 命令原意:link 命令所在路徑:/usr/bin/ln 功能描述:鏈接文件或目錄 語法:ln [來源文件] [目的文件] 創建硬鏈接會增加額外的記錄項以引用文件 對應于同一文件系統上一個物理文件 每個目錄引用相同的inode號 創建時鏈接數遞增 刪除文件時: rm命令遞減計數的鏈接 文件要存在,至少有一個鏈接數 當鏈接數為零時,該文件被刪除 不能跨越驅動器或分區 語法: ln filename [linkname ]
[root@wzc date]# mkdir dir1 [root@wzc date]# cd dir1/ [root@wzc dir1]# cp /etc/passwd ./ [root@wzc dir1]# ls passwd [root@wzc dir1]# du -sk 4 . [root@wzc dir1]# ln passwd passwd-hard [root@wzc dir1]# ll total 8 -rw-r--r--. 2 root root 2350 Aug 3 13:44 passwd -rw-r--r--. 2 root root 2350 Aug 3 13:44 passwd-hard [root@wzc dir1]# du -sk 4 . #做了硬鏈接后,雖然兩個文件大小都為‘2350’,但是目錄的大小并沒有變化
[root@wzc dir1]# ll total 8 -rw-r--r--. 2 root root 2350 Aug 3 13:44 passwd -rw-r--r--. 2 root root 2350 Aug 3 13:44 passwd-hard [root@wzc dir1]# rm -rf passwd [root@wzc dir1]# ll total 4 -rw-r--r--. 1 root root 2350 Aug 3 13:44 passwd-hard [root@wzc dir1]# du -sk 4 . #刪除原文件passwd后,文件大小以及空間大小都沒有變化,說明硬鏈接只是復制了一份indoe信息。
[root@wzc date]# mkdir 123 [root@wzc date]# ln 123 456 ln: ‘123’: hard link not allowed for directory #硬連接不能用于目錄
軟鏈接 命令名稱:ln 命令原意:link 命令所在路徑:/usr/bin/ln 功能描述:鏈接文件或目錄 語法:ln -s [來源文件] [目的文件] 一個符號鏈接指向另一個文件 ls - l的 顯示鏈接的名稱和引用的文件 一個符號鏈接的內容是它引用文件的名稱 可以對目錄進行 可以跨分區 指向的是另一個文件的路徑;其大小為指向的路徑字符串的長度;不增加或減少目標文件inode的引用計數; 語法: ln -s filename [linkname]
[root@wzc date]# mkdir dir2 [root@wzc date]# cd dir2 [root@wzc dir2]# cp /etc/passwd ./ [root@wzc dir2]# ls passwd [root@wzc dir2]# ln -s passwd passwd-soft [root@wzc dir2]# ll total 4 -rw-r--r--. 1 root root 2350 Aug 3 13:55 passwd lrwxrwxrwx. 1 root root 6 Aug 3 13:55 passwd-soft -> passwd [root@wzc dir2]# head -n1 passwd root:x:0:0:root:/root:/bin/bash [root@wzc dir2]# rm -rf passwd [root@wzc dir2]# head -n1 passwd head: cannot open ‘passwd’ for reading: No such file or directory [root@wzc dir2]# ll total 0 lrwxrwxrwx. 1 root root 6 Aug 3 13:55 passwd-soft -> passwd #如果刪除掉源文件,則鏈接文件就不能讀取了,而且使用‘ll’查看發現顏色也變了
[root@wzc date]# ln -s dir2 dir3 [root@wzc date]# ll total 0 drwxr-xr-x. 2 root root 6 Aug 3 14:00 dir2 lrwxrwxrwx. 1 root root 4 Aug 3 14:00 dir3 -> dir2 #目錄是可以軟鏈接的
原創文章,作者:RecallWzc,如若轉載,請注明出處:http://www.www58058.com/27633