Linux文件系統:
. | 表示當前目錄 |
.. | 表示當前上一級目錄 |
以 . 開頭的文件是隱藏文件
/ | 根目錄 |
/etc | 配置文件存放位置 |
/boot | 系統啓動相關文件,如內核,initrd,grub[bootloader] |
/dev | 設備文件[塊設備(隨機訪問),字符設備(線性訪問,順序訪問)] |
/home | 用戶的家目錄 |
/root | root的家目錄 |
/lib、 /lib64 | 庫文件的存放位置,內核模塊文件存放位置/lib/modules/ |
/media | 掛載點目錄(移動設備) |
/mnt | 掛載額外的臨時額外系統 |
/opt | 早期用於安裝第三方程序 |
/proc | 僞文件系統,由內核參數映射而來;內核有很多特性可通過內核參數進行配置,內核也有很多信息如統計數據等可通過內核參數進行輸出 net.ipv4.ip_forward = /proc/sys/ net/ipv4/ip_forward |
/sys | 僞文件系統,由內核中硬件相關的信息映射而來; |
/tmp | 臨時文件存放位置 |
/var | 經常會發生變化的文件的存放位置,例如(cache,lock,log,run[服務程序的PID]) |
/bin、 /sbin | 可執行文件(如命令),系統自身啓動和運行時可能會用到的核心二進制程序 |
/misc | 備用目錄 |
/usr | universal, shared, read-only的簡寫 /usr/bin, /usr/sbin : 系統運行過程中,用戶爲完成某些操作可能用到的程序 /usr/lib, /usr/lib64 : 用戶爲完成某些操作可能用到的程序所要用的庫 /usr/src : sources的簡寫,程序的源代碼的存放的位置 /usr/share:用戶的幫助文件 /usr/local: bin, sbin: 現在第三方程序安裝位置; lib, lib64:第三方程序所要用的庫 |
/selinux | Security Enhanced Linux的簡寫,僅在RedHat上常見的安全系統 |
/srv | serivces簡寫,服務類程序用到的中間數據 |
ls: list,顯示指定目錄下的文件及子目錄列表;
ls [OPTION]... [FILE]...
Ls 是ls --color的別名
ll是ls -l --color的別名
常用選項:
-l: 長格式顯示文件的詳細屬性信息;
drwxr-xr-x. 2 root root 4096 Mar 25 03:43 account
左起第一位: 文件類型
文件類型:
-:普通文件
d: directory, 目錄文件
l: link, 符號鏈接文件
b: block, 塊設備文件,隨機訪問設備
c: character, 字符設備文件,線性設備
p: pipe,管道
s: socket, 套接字文件
後面的9位:文件訪問權限
r: 讀
w: 寫
x: 執行
數字:當前文件被硬鏈接的次數;
屬主:當前文件的所有者
屬組:當前文件所屬的用戶組
數字:文件大小,單位爲字節
日期時間:當前文件最近一次被修改的時間
-a: 顯示所有文件,包括隱藏文件;
-r: 逆序顯示;
-R:遞歸顯示;
-d:用於顯示目錄自身屬性
文件內容的類型查看:
file /PATH/TO/FILE
創建:mkdir
make directory
mkdir [OPTION]... DIRECTORY...
-v: verbose 顯示創建過程
-p: parent,遞歸創建目錄
注意:Linux不通過文件名後綴判斷文件關聯的應用程序;
刪除:rmdir
remove directory
僅能刪除空目錄
-v: verbose
-p: parent,刪除指定的目錄後,其所在的目錄如果爲空,則刪除之;依次類推;
查看目錄樹:tree
例:
mkdir -p /test3/{boot/grub,bin,sbin,etc/{rc.d/init.d,syscomfig/network-scripts},lib/modules,lib64,usr/local/{bin,sbin},proc,sys,dev,var/{log,run,lock},tmp} | {}表示命令行展開,/a/{b,c}=/a/b和/a/c |
tree /test3
test3
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── syscomfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
文件管理之文本文件查看命令:
cat:
cat [OPTION]... [FILE]…
不加選項與參數就將直接輸入顯示到輸出上
-n:顯示行號
-E:顯示行結束符,非打印字符[linux是以$爲文本文件的結束符]
[windows是以$回車爲結束符]
tac:
逐文件逆序顯示,與cat相反
翻屏:
Shift+PageUp/PageDown[在虛擬機終端中可使用]
分屏文本顯示:more, less
more:分屏查看
more FILE
-d: 顯示操作提示
less: 與man相同
首尾顯示:head, tail
顯示文件前n行:
head [OPTION]... [FILE]...
-n #: 顯示指定前#行;
head -# [FILE]…
顯示文件後n行:
tail [OPTION]... [FILE]...
-n #: 顯示指定的後#行
-#:
-f: follow,
常用於監控日誌
stat: 查看文件的狀態數據信息
[root@localhost ~]# stat /etc/fstab
File: `/etc/fstab'
Size: 921 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 1179655 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-03-26 11:08:52.440287424 +0800
Modify: 2015-03-26 10:45:34.039999979 +0800
Change: 2015-03-26 11:08:08.156999044 +0800
時間戳:
Access: 最近一次被訪問的時間;
Modify: 最近一次被修改的時間,即文件內容被改變;
Change:最近一次被改變的時間,即文件屬性發生了改變;[不會被人工修改]
touch:修改文件的時間戳/創建空文件
touch [OPTION]... FILE...
-a: 僅改變訪問時間
-m: 僅改變修改時間
-t STAMP: 修改指定時間而非當前時間,[[CC]YY]MMDDhhmm[.ss]
-at -mt:
-c: 不創建不存在的文件[用來改時間戳是不創建文件]
文件管理類命令:cp, mv, rm
cp: copy簡寫
cp 源文件 目標文件
如果目標文件不存在:則新建之,並將源文件的內容填充至新建文件中;
如果目標文件存在:
如果目標文件是個文件:則覆蓋之;
如果目標文件是個目錄:則保持原文件名複製到目標目錄中;
cp 源文件... 目標文件
源文件是多個文件:目標只能有一個,且必須是目錄,還得事先存在;
用root登陸時cp是cp -i的別名 用\cp轉義爲cp而不是別名
如果源文件是目錄:
-R, -r, --recursive:遞歸複製
其它常用選項
-P, --no-dereference: 不跟蹤符號鏈接指向的原文件
--preserve={mode|ownership|timestamps|links|xattr|context|all}:保留原文件的指定的屬性信息;
-a, --archive: 歸檔,常用於備份時保留原文件的所有屬性;相當於-dR --preserve=all,[只有root有權限保存屬主屬組]
-i, --interactive:覆蓋目標文件之前提醒用戶;
-f, --force:強制覆蓋;
-l, --link: 爲文件創建硬鏈接而不是複製文件;
-v: verbose
mv命令:move
mv 源文件 目標文件
mv 源文件... 目標文件
-i: 交互式;
-f: 強制覆蓋;
-v: 顯示過程;
重命名:mv a.txt abc.txt 把a.txt改爲abc.txt
mv /tmp/fstab /tmp/hello
rm命令:remove
-r: 遞歸刪除
-f:強制刪除
rm -rf /
文本管理類命令:
nano: 全屏幕文本編輯器
wc: word count文本統計
[root@localhost tmp]# wc abc.txt 3 5 24 abc.txt
103有幾行 | 201多少單詞 | 1136多少字節 |
wc [OPTION]... [FILE]…
-l, --lines: 僅統計行數
-w, --words: 僅統計單詞數
-c, --bytes:僅統計字節數
cut:
cut OPTION... [FILE]...
-d: 指明分隔符
-d' ': 表示以空格爲分隔符;
-f#: 指明要保留的字段;
單個:#
離散的多個:#,#,#
連續的多個:#-#
sort: 排序
sort可以直接指定文件
sort [OPTION]... [FILE]...
-r: 逆序;
-f: 忽略字符的大小寫;
-t: 指定字段分隔符
-k: 指明分隔以後的字段
-n: 按數值大小排序
sort -t: -f3 -n /etc/passwd
-u: 排序後去重
uniq:相鄰重複行才爲重複行
-i: 忽略大小寫;
-d: 僅顯示重複了的行;
-u: 僅顯示不曾重複的行;
-c: 去重後顯示每行出現了的次數;