find命令,文件名後綴,linux和windows互傳文件

find命令

  • which ls 能夠查看ls命令路徑
  • which 是從環境變量PATH裏面搜索
  • whereis ls 也能夠搜索,可是隻能在固定的庫搜索
  • locate命令也能夠搜索,須要先安裝才能使用,參照上圖
  • 安裝完成後仍是不能馬上使用locate命令,須要先生成數據庫文件mlocate.db
  • 這個數據庫文件天天凌晨4點左右會自動更新一次,也能夠手動更新生成
  • 如今尚未生成這個數據庫文件,咱們是用不了locate命令,因此先手動生成一次
  • 使用命令 updatedb 這樣就手動生成數據庫文件了
  • 這個數據庫文件會先遍歷一遍系統將各類路徑數據記錄在裏面
  • 這樣咱們使用locate命令就能夠從數據庫裏的路徑數據找到咱們須要的路徑數據
  • 生成數據庫文件後,咱們再使用locate命令搜索包含aming關鍵詞的路徑
  • 如上圖所示,找到了全部包含aming關鍵詞的路徑信息
  • 以上搜索命令使用很少,主要仍是使用find命令
  • ctrl+l清屏,ctrl+d退出登陸,ctrl+c中斷命令
  • ctrl+u 把光標前面的內容所有刪除
  • ctrl+e 能夠把光標從文章頭部直接移動到尾部
  • ctrl+a 能夠把光標從文章尾部直接移動到頭部
  • 在一個目錄裏面尋找一個文件,知道名字不知道路徑
  • 可使用 find /etc/ -name "sshd_config"
  • 路徑 /etc/ 表示在etc目錄裏面尋找文件
  • 參數 -name 表示文件名參數,後面接文件名 "sshd_config"
  • 這樣就會把etc目錄裏面全部文件名爲sshd_config的文件目錄找出來
  • find /etc/ -name "sshd*" 能夠把文件名包含sshd關鍵詞的目錄跟文件路徑所有搜索出來
  • 符號 * 表明通配符,*能夠表示任意長短字符
  • 如搜索結果裏面 sshd_config 就能夠用 sshd* 表示
  • 因此用 sshd* 就能夠搜索全部 sshd+(任意字符) 的結果,這是模糊搜索
  • 上圖,增長了一個參數 -type d 和 -type f,這表明文件類型
  • 增長 d 參數,意思是搜索的結果只包含目錄類型,f參數則只包含文件類型
  • 如圖所示,模糊搜索sshd關鍵字,目錄類型的文件不存在,只有文件類型的文件
  • 還能夠搜索不少不一樣類型的文件,如 l(軟連接文件),s(socket文件),c(字符串設備文件),b(塊設備文件) 等等文件類型
  • 使用 stat 查看 2.txt 文件的詳細信息,stat命名顯示信息比ls更詳細
  • 詳細信息下面有三條信息,分別是:1.最近訪問,2.最近更改,3.最近改動
  • find 命令也有三個對應的參數,分別是:-mtime,-ctime,-atime
  • 其中,-atime 對應 最近訪問,-mtime 對應 最近更改,-ctime 對應 最近改動
  • atime就是最近的訪問時間,mtime是最近文件內容改動的時間
  • ctime是文件最近權限,文件名稱,建立時間等的改動時間,總之就是文件內容之外的改動的時間就是ctime
  • echo "121212" >> 2.txt 這條命令能夠把 121212這個字符串追加到2.txt文件內容後面
  • 能夠看到追加內容後,mtime對應的信息時間,Modify的時間更改了
  • echo 命令能夠用來顯示字符串,echo+字符串,就會顯示這個字符串
  • 更改了內容,mtime時間變化了,ctime時間也必定會變化,如圖,ctime時間與mtime時間一致
  • mtime表明內容更改的時間,除此之外的變化時間是ctime
  • 由於對文件追加內容以後,文件的大小就變化了,文件大小的變化時間屬於ctime時間
  • 如圖,在 etc 目錄裏面搜索,-type f 表示只搜索文件類型
  • 而後 -mtime -1 表示文件更改時間在一天之內的,-1表明小於一天,也就是1天之內的意思
  • 下面 -mtime +1 表示文件更改時間在一天之外的,+1表明大於一天,也就是1天之外的意思
  • find /etc/ -type f -ctime -1 -name "*.conf"
  • 上面表示,在etc目錄搜索,類型爲文件,而且 ctime在1天之內的,
  • 而且文件名稱爲 (任意字符)+ .conf 的文件
  • 如圖,除了而且也可使用或者,或者用 -o 表示
  • find /etc/ -type f -o -mtime -1 -o -name "*.conf"
  • 表示在etc目錄搜索,類型爲文件 或者 mtime爲1天之內的 或者 文件名稱爲 (任意字符)+.conf 的文件
  • 如圖,搜索inode號,找到硬連接文件
  • 使用ls命令顯示 1_heard.txt的inode號,參數 -inum 表示指定inode號
  • find / -inum 33583395 表示在根目錄搜索全部使用這個inode號的文件
  • 若是想尋找1個小時之內的文件,須要使用 -mmin ,表明分鐘
  • 由於 mtime 的最小單位是天,因此須要使用分鐘爲單位的 -mmin
  • 如圖 -mmin -60 表明60分鐘之內的文件,也就是說1小時內,-120表明2小時內,以此類推
  • 如圖,在搜索語句後面加上 -exec ls -l {} ; 可使搜索出來的結果顯示詳細信息
  • 意思是對全部搜索出來的文件使用 ls -l 命令,{}就表明了搜索出來的全部結果的文件名
  • exec語句都是以分號 ; 結束的,可是不一樣系統分號有不一樣的功能,因此分號前面加上反斜槓表示這是分號,沒有別的功能
  • 因此整句話能夠看作 ls -l {}(全部文件名稱),-exec 和 ; 是固定格式
  • 也能夠應用 mv 命令,將搜索出來的文件所有修更名稱
  • 如圖,-exec mv {} {}.bak ;
  • mv a b 能夠把名稱a改爲b,同理,{}表明全部搜索出來的文件名稱,{}.bak表明新的名稱
  • 就是把原來的名稱 {} 修改成新的名稱 {}.bak,新名稱就是原來名稱後面加上.bak
  • {}.bak 能夠理解爲一種表示方法,表明在原來名稱後面加上 .bak 組成一個新的組合
  • 也能夠查找規定大小的文件
  • 如圖 -type f 只搜索文件類型,-size +10k 表示文件大小要大於10kb的
  • 也可使用 -size +10M 表示文件大小要大於10MB的
  • 後面接 -exec ls -lh {} ; 表示把搜索出來的文件詳細信息列出來,{}表示全部文件名稱
  • h 表示人類可讀的顯示方式,例如 1MB 1GB 等,否則就會顯示比特,難以看清文件大小

文件名後綴

  • linux下的文件後面的文件後綴,如 .txt .log .cfg 等等後綴並不像windows下那麼嚴謹
  • 這些文件後綴可能並無實際意義,也能夠自定義,好比自定義一個後綴叫 .ofg 之類的
  • 一個後綴爲 .txt 的文件並不表示這真的是一個 .txt 文件
  • linux下的文件名後綴只是爲了方便人們區分文件內容的一種習慣
  • 就算沒有文件名後綴同樣可使用
  • 按照習慣,後綴爲 .conf 的文件通常是配置文件

linux 和 windows 互傳文件

  • 首先要在linux上安裝一個包,如圖所示
  • 使用這個包傳輸,必須用 xshell 鏈接linux,不能用putty,由於putty沒有這個功能
  • 如圖,安裝完包以後就可使用命令 sz a.txt 表示把linux上的a.txt傳到windows上
  • 而後就會彈出如圖所示的文件夾瀏覽框,選擇 a.txt 的存放位置
  • 若是要把windows上面的文件存放到linux上面,可使用 rz 命令
  • rz 回車,而後就會彈出如圖所示的文件瀏覽框,而後選擇本身須要傳輸的文件
  • 使用rz命令讓windows傳輸文件到linux上面後,存放的位置是當前所在的目錄
  • 好比在root目錄使用rz命令,傳到linux的文件就存放在root目錄
  • 而在tmp目錄使用rz命令,文件就會傳到tmp目錄下
相關文章
相關標籤/搜索