文件權限與目錄配置
涉及到的命令
ls
查看當前目錄下的所有文件詳細信息
-a 全部文件
- d 僅目錄本身
- l 詳細信息
- h 容量大小,易讀方式
- i 顯示inode 節點
- S 容量大小排序
- r 逆序
- t 按時間排序
chgrp
修改文件所屬組
- R 遞歸
chown
修改文件所有者
- R 遞歸修改
chmod
修改文件的權限屬性
cp 源文件 目標路徑
文件複製
- a 遞歸複製及其屬性
- i 若文件已存在則詢問
- p 連同文件屬性複製
- r 遞歸複製
- l 硬鏈接
- s 軟連接
uname
查看linux內核及系統架構版本
- r 查看內核
- m 查看系統架構
su
切換當前用戶
cd
切換目錄的命令
. 表示當前目錄
… 表示上層目錄
- 表示前一個目錄
~ 表示用戶的家目錄
pwd
顯示當前所在的目錄
- P 查看當前真實路徑,非鏈接目錄
mkdir
建立一個新目錄
- p 遞歸創建目錄
rmdir
刪除一個空目錄
- p 遞歸刪除空目錄
rm
刪除問價或目錄
- f 忽略提示信息
- r 遞歸刪除
mv
移動文件或重命名
- f 忽略詢問信息,強制覆蓋
- u 若文件已存在覆蓋
basename 獲取文件名
basename path 獲取path中的文件名
dirname 獲取路徑名
dirname path # 獲取path中的上一級目錄
cat 一次查看文件的所有內容
查看文件內容
- n 打印行號
tac 倒過來看文件的內容
more 翻頁查看
空格鍵(space) 翻頁
enter --- 下一行
/ ---- 表示要查找的內容
:f --- 查看文件名稱和行數
q ----- 推出查看
b -----向上翻
less
相對於more更有彈性
空格鍵:向下翻頁
pagedown:向下翻頁
pageup:向上翻頁
/ : 向下查找字符功能
? : 向上查找字符功能 (more 不行)
n: 重複上一個查找
head
取出文件的前幾行
head
- n 指定截取行數
tail
截取文件的後幾行
tail
- n 指定截取行數
- f 持續監測,當有數據追加的時候會動態顯示,看日誌時可使用
tail -n +100 列出100行後面的數據
od
讀取非文本文件
echo password | od -t oCc # 查看password對應的ASCII碼
touch
文件屬性的時間有三種 : atime(讀文件時更新時間) ctime(文件狀態被修改時更新,如權限屬性) mtime(文件更新的時候更新文件時間)
-d 自定義日期(文件屬性)
-m 修改mtime
umask
查看文件與目錄的默認權限
-S 以字符的形式顯示權限
文件默認權限最大 666,目錄爲777
chattr
給文件增加隱藏屬性 ,使用 + - = 進行操作
-S 同步操作
-a 只能向文件寫入數據,文件不能修改和刪除
-i 文件不能刪除,修改,rename,設置鏈接
lsattr
查看文件的隱藏屬性
-a 顯示所有文件的隱藏屬性
-d 目錄的隱藏屬性
-R 遞歸
file
查看文件的類型
file example_file
which
查看命令存放的位置
-a 找出該命令所有的path,而不是隻找第一個
whereis
查找特定目錄中的文件
-l 列出查詢過的目錄
-m 只找在man中的文件,才顯示出來
locate/updatedb
locate 文件查找,查詢速度較快是因爲從DB中查,updatedb 更新DB
-i 忽略大小寫
-l 顯示幾行
-r 正則匹配顯示
find
同 which、whereis、locate 一樣都是查找文件的作用
1.時間相關參數
-mtime n n天內被修改的文件(一天內,與-n區別於時間範圍)
-mtime +n n天之前被修改的文件
-mtime -n n天內被修改的文件
2.用戶相關
-user name 指定用戶名 如:find /home -user user1
-group name 指定用戶組
-nouser 同上
-nogroup 同上
3.文件權限相關
-name filename
-size [±] SIZE
-type TYPE ( f 表示文件 d 表示目錄 s 表示socket文件 l 表示鏈接文件)
4.額外參數
-exec command 例如:find /etc -name mysql* -exec ls -al {} \ , ---- 其中 {} 表示find要找的內容 ,-exec 一直到 “” 爲止。其實就是 ls -al {}
用戶和用戶組
用戶和用戶組概念是針對於文件權限來說的,一個文件的權限有三種表示方式來體現的使用者的權限,分別是
- 文件的所有者
- 文件的所屬組
- 其他人
Linux 文件權限概念
Linux中的文件屬性,列如
-rwxrw-r–
drwxr–r--
一個文件有7個字段,3個爲一組
開頭以
- d開頭表示目錄
- - 則表示一個文件
- l 表示這是一個鏈接文件
- b 表示爲設備文件(存儲) ,c 爲串行端口設備(鍵盤鼠標)
- [.] 以點開頭的爲隱藏文件
第一組:文件擁有者的權限
第二組:文件所屬組的權限
第三組:既不是文件的所有者也不是所屬組(其他人)
ls 中 第二欄問 inode節點,表示有多少文件連接到此文件
第五欄 爲文件的容量大小,默認是bytes
第六欄爲 文件的創建時間和修改時間
修改文件屬性和權限
- chgrp 用戶組 文件或目錄
chgrp users test_file.txt - chown 用戶 文件或目錄
chown root:root test_file.txt 同時修改用戶組與文件的所有者
修改文件權限分兩種 1.使用數字 2.使用符號
將文件權限修改爲【-rwxr-xr-x】
r:4 w:2 x:1 - chmod 755 file
u 所有者 g 所屬組 o 其他人 a 所有人 + 增加權限 - 去掉權限 = 等於權限
給所有人加上 w權限 - chmod a+w file
所有人去掉執行權限 - chmod a-x file
指點權限
chmod u=rwx,g=rw,o=rx file
瞭解一下
export LC_ALL=en_US.utf8 修改語系
Linux 目錄配置
/bin 放置一些可執行文件如:date mv mkdir
/boot 放置啓動時的一些命令
/dev 設備文件
/etc 系統主要的配置文件
/lib 函數庫 如/bin 和 /sbin 執行中會調用的命令
/media 媒體文件
/mnt 暫時掛載一些設備
/opt 第三方軟件的放置目錄
/run 系統啓動後產生的信息
/sbin 包含修復還原、啓動系統、所需要的命令
/srv service縮寫 如www服務所需要的數據可以放在這裏
/tmp 臨時放置文件目錄
/home 用戶的家目錄
/root root 的家目錄
/lost+found 文件系統發生錯誤時產生的文件存放位置
/proc 內存中的數據
/sys 與proc類似
------------
/usr/bin 一般用戶使用命令
/usr/lib 與/lib 類似
/usr/local 管理員自己下載的軟件安裝位置
/usr/sbin 非系統正常運行時所需要的的命令
/usr/share 放置只讀數據文件和共享數據文件
/usr/include c/c++ 等語言程序的頭文件
/usr/src 一般源碼的放置目錄
-----------------
/var/cache 程序運行的產生的緩衝
/var/lib 一些服務用到的數據文件
/var/log 日誌目錄
/var/spool 隊列數據
絕對路徑與相對路徑的概念:
絕對路徑:從更目錄開始尋找 /
相對路徑:基於當前所在的目錄開始尋找,即非 / 開始的目錄, …/ 表示上一層目錄,
文件與目錄管理
$PATH 環境變量,使用echo $PATH 查看當前變量,每一個路徑使用冒號:分隔
磁盤文件系統管理
df
列出文件系統的磁盤使用量
-a 列出所有文件系統
-h 以kb ,mb ,gb 方式顯示
du
-s 顯示總用量
-a 所有,包括目錄
-h 以kb ,mb ,gb 方式顯示
查看當前文件系統磁盤使用量
ln
硬鏈接與 符號鏈接(軟連接,快捷方式)
不加任何參數就是硬鏈接
-s 軟連接 例如:ln -s 源文件 目標文件
文件系統的壓縮
在linux中常見的壓縮擴展名,.tar 、.tar.gz 、.tgz 、.gz、.Z 、.bz2 、 *.xz
gzip
-c 將壓縮數據輸出
-d 解壓
-v 顯示壓縮信息
bzip2
-c 將壓縮數據輸出
-d 解壓
-v 顯示壓縮信息
-k 保留源文件
-z 壓縮
tar
打包命令
-c 建立打包文件
-t 查看打包文件內容有哪些文件
-x 解包解壓縮
-z 壓縮
-v 顯示過程
-C 指定特定目錄壓縮
-p 保留原本權限屬性
-f 指定文件名 ,該參數需放到最後