問題1:我建立了一個硬連接文件,可是我不知道放在那裏了,請問怎麼辦?node
思路:bash
查找文件能夠利用find命令。ide
硬連接的特性,不會跨文件系統,因此源文件在哪一個文件系統中,就在那裏找spa
硬連接文件和源文件具備相同的inode號,能夠利用find的-inum參數和-samefile參數來查找。it
-inum參數表示按照inode號去查找,首先要查看文件的inode號class
-samefile參數表示查找和某個文件相同的inode的文件,不用查看文件的inode號file
[root@lixin oldboy]# stat oldboy.txt //獲取文件的inode號碼 File:`oldboy.txt' Size:55 Blocks: 8 IO Block: 4096 regular file Device: 803h/2051d Inode: 148677 Links: 2 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-04-17 15:32:13.861206307 +0800 Modify: 2016-04-17 14:20:13.246213893 +0800 Change: 2016-04-17 16:04:17.023206128 +0800 [root@lixin oldboy]# find / -inum 1486772>/dev/null //根據Inode號碼查找,把錯誤提示丟棄 /usr/local/xiaoming /data/oldboy/oldboy.txt [root@lixin oldboy]#
問題2:我對文件n建立了一個軟鏈接文件,可是我不知道放在哪裏了,也不知道叫什麼名字,請問怎麼辦?grep
思路:db
軟連接能夠跨文件系統,而且inode、屬性都和源文件的不一樣沒有規律能夠尋di
當咱們使用ls –l命令查看連接文件的時候,它都會以:filename -> link filename方式顯示。
咱們尋找當前系統內全部的連接文件,而後過濾咱們要找的源文件名n,就能查看有哪些文件指向了源文件。
[root@lixin oldboy]# find -type l -exec ls -l {} \; lrwxrwxrwx 1 root root 1 Apr 17 16:21 ./xiaohong-> 1 lrwxrwxrwx 1 root root 10 Apr 17 16:16./oldgirl.txt -> oldboy.txt [root@lixin oldboy]# //找到文件後,長格式顯示,而後過濾源文件名 [root@lixin oldboy]# find -type l -exec ls -l {}\;| grep 'oldboy.txt' lrwxrwxrwx 1 root root 10 Apr 17 16:16./oldgirl.txt -> oldboy.txt