Linux 基礎-文件及目錄管理
本文大部分內容參看 《Linux基礎》一書,根據(jù)自己的工程經(jīng)驗和理解加以修改、拓展和優(yōu)化形成了本篇博客,不適合 Linux 純小白,適合有一定基礎的開發(fā)者閱讀。
一,概述
在 Linux 中一切皆文件。文件管理主要是涉及文件/目錄的創(chuàng)建、刪除、移動、復制和查詢,有mkdir/rm/mv/cp/find
等命令。其中 find
文件查詢命令較為復雜,參數(shù)豐富,功能十分強大;查看文件內容是一個比較大的話題,文本處理也有很多工具供我們使用,本文涉及到這兩部分的內容只是點到為止,沒有詳細講解。另外給文件創(chuàng)建一個別名,我們需要用到 ln
,使用這個別名和使用原文件是相同的效果。
二,文件及目錄常見操作
2.1,創(chuàng)建、刪除、移動和復制
創(chuàng)建和刪除命令的常用用法如下:
- 創(chuàng)建目錄:
mkdir
- 刪除文件:
rm file(刪除目錄 rm -r)
- 移動指定文件到目標目錄中:
mv source_file(文件) dest_directory(目錄)
- 復制:
cp(復制目錄 cp -r)
這些命令的常用和復雜例子程序如下
$ find ./ | wc -l # 查看當前目錄下所有文件個數(shù)(包括子目錄)
14995
$ cp –r test/ newtest # 使用指令 cp 將當前目錄 test/ 下的所有文件復制到新目錄 newtest 下
$ mv test.txt demo.txt # 將文件 test.txt 改名為 demo.txt
2.2,目錄切換
- 切換到上一個工作目錄:
cd -
- 切換到 home 目錄:
cd or cd ~
- 顯示當前路徑:
pwd
- 更改當前工作路徑為 path:
$ cd path
2.3,列出目錄內容
-
顯示當前目錄下的文件及文件屬性:
ls
- 按時間排序,以列表的方式顯示目錄項:
ls -lrt
ls
命令部分參數(shù)解釋如下:
-
-a
:顯示所有文件及目錄 (. 開頭的隱藏文件也會列出) -
-l
:除文件名稱外,亦將文件型態(tài)、權限、擁有者、文件大小等資訊詳細列出 -
-r
:將文件以相反次序顯示(原定依英文字母次序) -
-t
: 將文件依建立時間之先后次序列出
常用例子如下:
$ pwd
/
$ ls -al # 列出根目錄下所有的文件及文件類型、大小等資訊
total 104
drwxr-xr-x 1 root root 4096 Dec 24 01:24 .
drwxr-xr-x 1 root root 4096 Dec 24 01:24 ..
drwxrwxrwx 11 1019 1002 4096 Jan 13 09:34 data
drwxr-xr-x 15 root root 4600 Dec 24 01:24 dev
drwxr-xr-x 1 root root 4096 Jan 8 03:15 etc
drwxr-xr-x 1 root root 4096 Jan 11 05:49 home
drwxr-xr-x 1 root root 4096 Dec 23 01:15 lib
drwxr-xr-x 2 root root 4096 Dec 23 01:15 lib32
... 省略
2.4,查找目錄或者文件 find/locate
1,查找文件或目錄
$ find ./ -name "cali_bin*" | xargs file # 查找當前目錄下文件名含有 cali_bin 字符串的文件
./classifynet_calib_set/cali_bin.txt: ASCII text
./calib_set/cali_bin.txt: ASCII text
./cali_bin.txt: ASCII text
2,查找目標文件夾中是否含有 obj
文件:
$ find ./ -name '*.o'
find
是實時查找,如果需要更快的查詢,可試試 locate
;locate 會為文件系統(tǒng)建立索引數(shù)據(jù)庫,如果有文件更新,需要定期執(zhí)行更新命令來更新索引庫。
$ locate string # 尋找包含有 string 的路徑
2.5,查看及搜索文件內容
1,查看文件內容命令:cat
vi
head
tail more
。
$ cat -n # 顯示時同時顯示行號
$ ls -al | more # 按頁顯示列表內容
$ head -1 filename # 顯示文件內容第一行
$ diff file1 file1 # 比較兩個文件間的差別
2,使用 egrep
查詢文件內容:
$ egrep "ls" log.txt # 查找 log.txt 文件中包含 ls 字符串的行內容
-rw-r--r-- 1 root root 2009 Jan 13 06:56 ls.txt
三,總結
利用 ls -al
命令查看文件屬性及權限,已知了 Linux
系統(tǒng)內文件的三種身份(文件擁有者、文件所屬群組與其他用戶),每種身份都有四種權限(rwxs
)??梢允褂?chown
, chgrp
, chmod
去修改這些權限與屬性。文件是實際含有數(shù)據(jù)的地方,包括一般文本文件、數(shù)據(jù)庫內容文件、二進制可執(zhí)行文件(binary program)等等。
- 文件管理,目錄的創(chuàng)建、刪除、查詢、管理:
mkdir
rm
mv
cp
- 文件的查詢和檢索命令:
find
locate
- 查看文件內容命令:
cat
vi
tail more
- 管道和重定向命令:
;
|
&&
>
四,參考資料
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!