1. 程式人生 > 實用技巧 >linux檔案和目錄

linux檔案和目錄

系統目錄結構

/root 超級管理員root使用者的家目錄
/home 普通使用者家目錄的根目錄
/etc 存放配置檔案相關的目錄
/boot 系統啟動相關的檔案
/dev 裝置相關的檔案
/bin 普通使用者所使用的命令相關的檔案,/sbin也存放了命令是為超級使用者準備的
/lib 存放庫相關的檔案/lib64同樣
/media 媒介目錄。插入U盤會自動放到這個目錄下
/mnt 臨時掛載目錄
/proc 系統程序相關目錄
/run 存放程序產生的臨時檔案,一關機就消失
/srv 服務產生的檔案
/sys 存放系統核心相關的檔案
/tmp 臨時目錄,許可權很低任何使用者都可以使用。
/usr 使用者相關的檔案,比如/usr/bin /usr/sbin /usr/lib
/var 日誌相關的檔案
  • 從centos7系統以後,就不在區分32位和64位版本,都是64位版本。
  • 總結:/bin /sbin /etc /var /usr/local這幾個目錄用的最多的,常用。
  • tree命令 :以樹形的形式顯示一個目錄下有那些目錄和子檔案。

安裝tree命令

# yum install -y tree

tree引數

-a 顯示所有檔案和目錄。
-A 使用ASNI繪圖字元顯示樹狀圖而非以ASCII字元組合。
-C 在檔案和目錄清單加上色彩,便於區分各種型別。
-d 顯示目錄名稱而非內容。
-D 列出檔案或目錄的更改時間。
-f 在每個檔案或目錄之前,顯示完整的相對路徑名稱。
-F 在執行檔案,目錄,Socket,符號連線,管道名稱名稱,各自加上”*”,”/”,”=”,”@”,”|”號。
-g 列出檔案或目錄的所屬群組名稱,沒有對應的名稱時,則顯示群組識別碼。
-i 不以階梯狀列出檔案或目錄名稱。
-I<範本樣式> 不顯示符合範本樣式的檔案或目錄名稱。
-l 如遇到性質為符號連線的目錄,直接列出該連線所指向的原始目錄。
-n 不在檔案和目錄清單加上色彩。
-N 直接列出檔案和目錄名稱,包括控制字元。
-p 列出許可權標示。
-P <範本樣式> 只顯示符合範本樣式的檔案或目錄名稱。
-q 用”?”號取代控制字元,列出檔案和目錄名稱。
-s 列出檔案或目錄大小。
-t 用檔案和目錄的更改時間排序。
-u 列出檔案或目錄的擁有者名稱,沒有對應的名稱時,則顯示使用者識別碼。
-x 將範圍侷限在現行的檔案系統中,若指定目錄下的某些子目錄,其存放於另一個檔案系統上,則將該子目錄予以排除在尋找範圍外。

tree語法

tree [-aACdDfFgilnNpqstux][-I <範本樣式>][-P <範本樣式>][目錄...]

ls命令

  • ls命令是列出目錄或者檔案的命令
  • 可以列出系統根目錄看下linux系統有哪些目錄
[root@centos ~]# ls /
bin   data  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
boot  dev   home  lib64  media       opt  root  sbin  sys  usr

ls命令總結

ls -l 列出詳細資訊

ls -i 列出ionde

ls -lh 看檔案大小

ls -la 列出躲貓貓檔案

ls -lta t表示時間,按實際的順序排列

ls -ld 只列出資料夾
動手去演示哦

檔案型別 以檔案開頭第一個字母可以查看出是什麼型別檔案

- 普通檔案
d 目錄
l 軟連結檔案(類似windows快捷方式)
c 字串裝置檔案鍵盤滑鼠之類
b 塊裝置檔案,磁碟光碟之類
s sockte檔案,用於系統程序或服務之間的通訊。

[root@centos ~]# ls -l /dev/
crw------- 1 root root     10, 235 Jul 23 21:12 autofs
drwxr-xr-x 2 root root          80 Jul 24 05:12 block
crw------- 1 root root     10, 234 Jul 23 21:12 btrfs-control
drwxr-xr-x 3 root root          60 Jul 23 21:12 bus
drwxr-xr-x 2 root root        2640 Jul 29 16:47 char
crw------- 1 root root      5,   1 Jul 23 21:12 console
lrwxrwxrwx 1 root root          11 Jul 24 05:12 core -> /proc/kcore
drwxr-xr-x 3 root root          60 Jul 23 21:12 cpu
crw------- 1 root root     10,  61 Jul 23 21:12 cpu_dma_latency
crw------- 1 root root     10,  62 Jul 23 21:12 crash
drwxr-xr-x 4 root root          80 Jul 24 05:12 disk
drwxr-xr-x 2 root root          60 Jul 24 05:12 dri
crw-rw---- 1 root video    29,   0 Jul 23 21:12 fb0
lrwxrwxrwx 1 root root          13 Jul 24 05:12 fd -> /proc/self/fd

alias命令

  • alias就是命令的別名,可以理解給一個很長的命令設定簡單的命令方便操作偷懶。
  • alias的作用就是,可以簡寫命令。
  • 用which來檢視命令的別名和路徑
[root@centos ~]# which ls #檢視ls命令
alias ls='ls --color=auto'
	/usr/bin/ls
[root@centos ~]# which ll
alias ll='ls -l --color=auto'
	/usr/bin/ls

輸入alias來看系統有那些別名命令

[root@centos ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'

自定義一個別名

[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0  #想看這個檔案內容但長難記
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
這時候定義別名來偷懶
[root@centos ~]# alias abc='cat /etc/sysconfig/network-scripts/ifcfg-eth0' #設定alias
[root@centos ~]# abc #輸入abc就不用打那麼長命令
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

取消alias別名

[root@centos ~]# unalias abc #取消
[root@centos ~]# abc #再輸入就沒了
-bash: abc: command not found

which命令

which命令可以檢視一個或者多個命令,可執行檔案的絕對路徑,並且會顯示命令的別名。

which命令是通過遍歷PATH環境變數路徑的方式查詢檔案的。

如果一個命令不存在與PATH的任何一個路徑下,使用which是查詢不到的。

cd命令

pwd 顯示當前的工作路徑
變更目錄:cd 路徑
cd - 返回變更目錄前的路徑
cd 後邊什麼也不加,會回到當前使用者的家目錄等於cd ~的用法
cd..  返回上一級目錄,在根目錄cd.. 不會變更目錄。

建立和刪除目錄mkdir rmdir

mkdir 路徑 會建立一個新的目錄(中間的目錄必須存在)
mkdir -p 路徑 級聯建立一串目錄
mkdir -v 路徑 可以看到建立目錄的過程

rmdir 刪除一個空的目錄(目錄非空不能刪除)
rmdir -p 級聯刪除一串空的目錄

rm命令

rm 刪除檔案,刪除時會提示是否刪除。預設會附帶選項-i。使用/usr/bin/rm就不會有提示。
rm -f 強制刪除沒有任何提示,包括錯誤資訊也不提示。
rm -r 刪除目錄
rm -v 刪除時可以看到刪除的過程

語法
rm -rfv [目錄]