Linux文件系統

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的別名

llls -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: 去重後顯示每行出現了的次數;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章