linux 檔案操作與目錄操作
使用命令
命令格式:
命令 [選項] [引數]
[] 表示可選的
示例:
ls -a /etc
常識命令
ls:檢視指定目錄的內容,不指定目錄時檢視當前工作目錄
選項 說明 -a 顯示所有檔案,包括隱藏檔案 -l 列表顯示,詳細資訊 -h 人性化的顯示大小,如:K/M/G -l選項顯示的結果:型別及許可權 | 引用數 | 使用者 | 使用者組 | 大小 | 月 | 日| 年/時間 | 名稱
檔案型別:(-l顯示結果中的第一部分的第一列)
符號 型別 - 普通檔案 d 目錄檔案 l 連結檔案 c 字元裝置檔案 b 塊裝置檔案 s 套接字檔案 p 管道檔案 cd:切換工作目錄
符號 說明 . 當前目錄 .. 上一級目錄 ~ 當前使用者的家目錄 - 表示上次切換之前的目錄 / 表示根目錄 使用cd時,不指定目標地址,會切換到家目錄
凡是以/開頭的目錄都是絕對目錄
凡是以.或..開頭的目錄都是相當目錄
pwd:檢視當前工作目錄
alias:給命令起別名
l、la、ll等
檢視檔案
相關命令
命令 說明 cat 從上到下,顯示檔案全部內容 tac 從下到上,顯示檔案全部內容 head 檢視開頭指定行數的內容,不指定時預設10行,如:head -20 filename tail 檢視檔案末尾指定行數的內容,不指定時預設10行,如:tail -5 filename nl 功能與cat相同,但是多顯示了行號 wc 統計顯示,內容:行數 單詞數 字元數 檔名 more 一點一點檢視內容 less 一點一點檢視內容 more/less使用說明
顯示一屏就停止
q退出檢視
enter下翻一行
空格下翻一屏
more檢視完畢會自動退出,less不會
less可以使用上下按鈕上下翻看,more不可以
經常結合管道使用:ls /etc | more
檔案及目錄
相關命令
命令 說明 touch 新建檔案,可以是多個 rm 刪除檔案或目錄(刪除目錄時要傳遞'-r'選項) cp 拷貝檔案或目錄(拷貝目錄是要傳遞'-r'選項) mv 移動檔案或目錄 mkdir 建立目錄,可以是多個 rmdir 刪除空目錄 選項說明
-r:刪除或拷貝目錄時需要新增,表示遞迴操作
-f:表示強制操作,沒有提示資訊
*:表示模糊匹配,如:
rm *.py
,表示刪除所有的py檔案-p:建立目錄時若需要建立中間目錄,可以新增此選項
使用者及使用者組
相關命令
命令 說明 whoami 檢視當前登入的使用者名稱 useradd 新建使用者,-d指定家目錄,-m不存在,-s指定shell userdel 刪除使用者,-r會刪除使用者家目錄 passwd 設定指定使用者的密碼,沒有指定使用者時設定時當前使用者的密碼 su - 切換使用者,一定要加上'-',否則只會切換家目錄,但是環境沒有切換,不指定使用者時預設切換到root使用者(記得先給root使用者設定密碼) sudo 以指定使用者(root)身份執行命令 visudo 專門用於編輯/etc/sudoers檔案的命令,需要將指定使用者新增進去才可以使用sudo命令,如:test ALL=(ALL:ALL) ALL;使用sudo update-alternatives --config editor可以修改系統預設編輯器(nano) groupadd 新建使用者組 groupdel 刪除使用者組 gpasswd 向指定組新增/刪除指定的使用者,如:gpasswd -a/-d user group groups 檢視指定使用者的組資訊 chsh 修改指定使用者的shell解析器,如:sudo chsh test -s /usr/sbin/nologin (禁止登陸) chown 修改檔案所屬使用者[及使用者組],如: sudo chown test[:test] 1.py,遞迴操作需要加'-R'選項 chgrp 修改檔案所屬使用者組,如:sudo chgrp test 1.py 涉及檔案
/etc/passwd:系統中的使用者資訊
/etc/group:系統中的使用者組資訊
/etc/shadow:系統中的使用者密碼資訊
相關名詞
uid:使用者唯一標識
gid:使用者組唯一標識
檔案許可權
說明:在linux下,所有的檔案都涉及許可權,分為三組:所有者、所屬組、其他
許可權:所有檔案的許可權可以分為:可讀(r)、可寫(w)、可執行(x),'-'表示沒有改許可權
原理:ls -l的結果,三位一組,分為三組,剛好對應:所有者、所屬組、其他
修改許可權:chmod,格式:
chmod [身份] [操作] [許可權] 檔案
選項 說明 身份 u 所有者(user) g 所屬組(group) o 其他(other) 操作 + 新增 - 去掉 = 設定 許可權 r 可讀 可寫 可執行 sudo chmod o+w 1.py,給其他使用者新增可寫的許可權
本質:使用一組(3位)八進位制的資料來表示許可權,如:0755,展開如下:
轉換為二進位制:0755 => 111 101 101 對應三組身份: 所有者 所屬組 其他 每一組的許可權:都包括 可讀、可寫、可執行 示例解析:所有者可讀可寫可執行,所屬組可讀可執行,其他可讀可執行
簡化操作:sudo chmod 0755 1.py
若要進行遞迴操作,則需要新增'-R'操作
umask
作用:用來限定新建檔案的預設許可權,許可權與該值相反 命令:umask [value],檢視或設定掩碼 分析: 掩碼:0002 => 000 000 010 新建目錄: 111 111 101 新建檔案: 110 110 100
檔案搜尋
find
作用:用於任意檔案的搜尋,功能非常強大
格式:find [目錄] 條件選項
選項:
-name:指定名字 sudo find / -name passwd -maxdepth:指定最大層級深度 sudo find / -maxdepth 2 -name passwd -type:指定型別(d/l/s/p/c/b) -size:指定大小,單位:k/m/g,+表示大於,-表示小於,如:find -size +5k,查詢大於5k的檔案 -mtime/-atime/-ctime:指定修改/訪問/建立時間,單位是天,+表示幾天前,-表示幾天內 -mmin/-amin/-cmin:功能同上,單位是分 -user:指定使用者 -group:指定使用者組
whereis
作用:顯示命令的詳細資訊,如:whereis ls,結果如下:
ls: /bin/ls /usr/share/man/man1/ls.1.gz 命令名 命令位置 幫助文件
grep
作用:正則表示式搜尋(檔案內容)
選項:
-i:忽略大小寫 -n:顯示行號
示例:
grep -n /bin/bash /etc/passwd 查詢/etc/passwd檔案中包含/bin/bash的行,並顯示行號 grep -i abc 2.py 在2.py中查詢包含abc的行,不考慮大小寫 ls /bin | grep '^m' 檢視/bin下以'm'開頭的命令
連結檔案
命令:ln
作用:建立一個檔案或目錄的連結
格式:
ln [-s] 原檔案 新檔案
檢視:ls -l結果集中的第一列就是檔案型別,為'l'的就是連結檔案
軟連結與硬連結
硬連結:使用ln時不加-s選項建立的連結,相當於一個檔案多起了一個名字而已,極少用到 1.不能給目錄建立 2.不能跨檔案系統 軟連結:使用ln是新增-s選項建立的連結,相當於windows中的快捷方式,比較常用 1.可以給目錄建立 2.可以跨檔案系統