linux文件和目錄管理

文件管理主要命令
cd 切換目錄
pwd 顯示當前目錄
mkdir 新建目錄
rmdir 刪除空目錄

. 代表當層目錄
.. 代表上一層目錄

  • 代表前一個工作目錄
    ~ 代表用戶身份所在的主文件夾
    ~account 代表account這個用戶的主文件夾

文件管理類的命令

ls [-aAdfFhilnrRst] 目錄名稱
ls [--color={never,auto,always}] 目錄名稱
ls [--full-time] 目錄名稱
-a 全部文件,隱藏文件也一起列出
-A 全部文件,隱藏文件也列出,不包括. 和..兩個目錄
-d 列出目錄本身,文件數(shù)據(jù)不列出
-f 直接列出結果,不排序
-F 根據(jù)文件,目錄等給予附加的目錄結構,比如 *:代表可執(zhí)行文件,/: 代表目錄 ,=:代表socket文件 ,|:代表FIFO文件
-h 文件容量已人類易讀的方式列出來
-i 列出inode號碼
-l 列出場數(shù)據(jù)傳,包含文件和權限,比較蟬蛹
-n 列出UID和GID,非用戶與用戶組的名稱
-r 排序結果反響輸出
-R 目錄的子目錄也顯示出來
-S 文件容量大小排序,不是文件名排序
-t 時間排序,不是文件名
--color=never 必要根據(jù)文件特性給予顏色顯示
--color=always 顯示顏色
--color=auto 讓系統(tǒng)自行根據(jù)設置判斷是否給予顏色
--full-time 用完整的時間模式輸出
--time 輸出訪問時間或者改變權限屬性時間,不是內(nèi)容更改時間

cp 復制文件或者目錄
基本格式

  1. cp [-adfilprsu] 源文件(source) 目標文件(destination)
    2.cp [options] source1 source2 ... directory

-a 相當于pdr的意思
-d 如果源文件為連接文件屬性(link file) 復制連接文件屬性,非本身
-f 強制,如果目標文件已經(jīng)存在,并且無法開啟,那么刪除目標文件在嘗試一次
-i 如果目標文件已經(jīng)存在,覆蓋的時候會先詢問操作的先行,比較常用
-l 進行硬連接(hard link)的創(chuàng)建,而非復制文件本身
-p 連同文件屬性一起復制過去,而非使用默認屬性
-r 遞歸持續(xù)復制,用于目錄的復制行為
-s 復制成為括號的鏈接文件
-u 若destination比source舊才更新,否則不更新

cp不加任何參數(shù),復制的是源文件,而非連接文件
復制文件注意一下幾點
1.是否需要保證來源文件信息
2.源文件是否為軟連接文件
3.源文件是否為特殊文件
4.源文件是否為目錄

rm(移除文件或者目錄)

基本格式
rm [-fir] 文件或者目錄

-f force的意思,忽略不存在的文件,不會出現(xiàn)警告
-i 互動模式,刪除之前會詢問用戶是否操作
-r 遞歸刪除,相當危險,最常用的目錄刪除

mv (移動文件與目錄,或更名)

-f 強制的意思,如果目標文件存在,不會詢問直接覆蓋
-i 目標文件存在,會詢問是否覆蓋
-u 如果目標文件存在,source比較新,會更新目標文件

文件內(nèi)容查閱

cat 從第一行顯示文件內(nèi)容
tac 從最后一行開始顯示文件內(nèi)容,tac是cat的倒寫
nl 顯示的時候,順便輸出行號
more 一頁一頁顯示文件內(nèi)容
less 相對more的又是,可以往前翻頁
head 只看投機航
tail 只看結尾幾行
od 用二進制的方式讀取文件內(nèi)容

1.cat命令
格式 cat [-AbEnTv]
-A : 相當-vET的整合參數(shù),可列出特殊字符,而不是空白
-b:列出行號,僅針對非空白做行號顯示,空白行不標記行號
-E:將結尾的斷行字符$顯示出來
-n:打印出行號,空白也會有行號
-T:將tab按鍵用^I 顯示出來
-v:列出一些看不出來的特殊字符

2.nl 命令
格式:nl [-bnw] 文件
-b:指定行號的指定方式
-b a :表示無論是否為空行,也同樣列出行號,類似cat -n
-b t :如果有空行,空的哪一行不要列出行號
-n:列出行號的表示方法
-n ln:行號在屏幕的最左邊演示
-n rn:行號在屏幕的最右邊顯示
-n rz:行號在最左邊,加0顯示

ex:nl -b a -n rz filename

3.more命令

格式 :more filename

空格:向下翻一頁
enter:下滾動一行
/字符串:顯示內(nèi)容中,向下查詢字符串這個關鍵字
:f :立刻顯示文件名和目前顯示的行數(shù)
q :立即離開,不再顯示文件內(nèi)容
b:往回翻頁,只對文件有用,對管道無用

4.less命令
格式:less filename
pagedown:向下翻一頁
pageup:向上翻一頁
enter:下滾動一行
/字符串:顯示內(nèi)容中,向下查詢字符串這個關鍵字
?字符串:顯示內(nèi)容中,向上查詢字符串這個關鍵字
n:重復前一個查詢
N:反響重復前一個查詢
:f :立刻顯示文件名和目前顯示的行數(shù)
q :立即離開,不再顯示文件內(nèi)容

5.數(shù)據(jù)選取,head命令
格式:head [-n number] 文件
-n:后面接數(shù)字,代表顯示幾行的意思

6.數(shù)據(jù)選取, tail命令(常用)
-n :代表顯示幾行
-f:表示持續(xù)檢測后面所接的文件名,要等到按下ctrl-c才會結束tail的檢測

exp:如果不知道文件有幾行,但是執(zhí)行列出1000行以后的數(shù)據(jù)
tail -n +1000 filename

7.od [-t type] 文件
-t : 后面可以接很多類型為type的輸出
a:使用默認的字符來輸出
c:使用ascii字符來輸出
d:使用十進制來輸出數(shù)據(jù),每個證書占用size bytes
f:使用浮點數(shù)來輸出數(shù)據(jù),
o:使用八進制輸出數(shù)據(jù)
x:使用十六進制來輸出數(shù)據(jù)

od -t oCc filename表示將內(nèi)容和ascll中的內(nèi)容進行比較

8.touch命令
格式: touch [-acdmt] 文件
-a :僅修改訪問時間
-c :僅修改文件時間,如果文件不存在則不創(chuàng)建新文件
-d:后面可以接與修改的日期而不用目前的日期,也可以使用--date=“日期或者時間”
-m:僅修改mtime
-t:后面接與修改的時間而不用目前的時間

范例一:新建一個空的文件并且查看時間

9.umask
表示的是修改默認創(chuàng)建文件的權限接口
直接輸入表示查看默認創(chuàng)建文件的給予權限
ex 022 表示在group和other被拿掉w權限

要改變權限只需要
umask 002
表示拿掉other的w權限

每個選項總和為6

10.文件隱藏屬性 chattr(設置文件的隱藏屬性,理解為changeattribute)
格式:chattr [+-= ] [ASacdistu] 文件或目錄名稱
+:增加某一個特殊參數(shù),其他原本存在的參數(shù)不動
-:減少某一個特殊參數(shù),其他原本存在的參數(shù)不動
=:僅有后面接的參數(shù)

A:當設置了A這個屬性的時候,如果你訪問這個目錄或者文件時,他的訪問時間atime將不會被修改,可避免i/o慢的機器過渡訪問磁盤,對速度慢的計算機有幫助
S:一般文件是異步寫入磁盤,如果加上這個屬性,進行任何文件的修改,這個改動會同步寫入磁盤中
a:設置a之后,這個文件只能增加數(shù)據(jù),不能刪除也修改數(shù)據(jù),只有root才能設置這個屬性
c:這個屬性設置之后,將會自動將這個文件壓縮,讀取的時候會自動解壓,存儲的時候,將會進行先壓縮再存儲
d:dump程序被執(zhí)行的時候,設置d屬性可以將該文件不會被dump備份
i:最無敵的參數(shù),可以讓一個文件,不能被刪除,改名,設置連接也無法寫入,添加數(shù)據(jù),對系統(tǒng)安全幫助特別大,只有root可以設置這個屬性
s:文件中設置了s屬性,如果這個文件被刪除,將會完全從這個磁盤空間中刪除
u:和s相反,當使用u配置文件,如果文件被刪除了,數(shù)據(jù)的內(nèi)容其實還在磁盤中,可以使用來找回文件

exp:chattr +i filename
讓這個文件不能被刪除

10.lsattr(理解為listattribute)顯示文件隱藏屬性
格式:lsattr [-adR] 文件或者目錄
-a :將隱藏文件的屬性也展示出來
-d:如果連接的是目錄,僅僅列出目錄本身的屬性
-R:子目錄的屬性也展示出來

文件特殊權限SUID,SGID,SBIT

1.SUID
1.1 這個權限僅僅對二進制程序有效
1.2 執(zhí)行者對改程序要有x的執(zhí)行權限
1.3.本權限只在執(zhí)行過程中有效
1.4執(zhí)行者需要有程序所有者的權限

2.SGID
可以針對文件或者目錄設置
2.1 對二進制程序有用
2.2 程序執(zhí)行者對該程序來說,需要有x權限
2.3 執(zhí)行者執(zhí)行過程中會獲得程序用戶組支持

3.StickyBit
針對目錄有效,對文件已經(jīng)沒有效果
當用戶對這個目錄有wx權限
用戶在該目錄下創(chuàng)建文件或者目錄僅有自己和root可以刪除該文件

設置使用chmod,修改權限來設置,exp:chmod 4755 filename
4為 SUID
2為 SGID
1為 SBIT

文件相關

一.查看文件類型 file

exp : file filename 必須為當前路徑下文件,或者為全路徑

二.命令和文件的查詢

1.腳本文件名的查詢 which
尋找執(zhí)行文件
which [-a] command
-a:將所有由path目錄中可以找到的命令均列出,而不止第一個被找到的命令名稱

2.文件名的查找 whereis [-bmsu] filename
-b:只找二進制格式的文件
-m:只找在說明文件路徑下的文件
-s:只找source源文件
-u:查找不在上述三個選項的特殊文件

以后也會有find這個查詢文件的命令,但是find使用的時間會相對多很多,因為find是直接查找硬盤,如果你的硬盤老舊,那就要等很久,whereis可以加入?yún)?shù)查找相關的數(shù)據(jù),如果你要找可執(zhí)行的文件,那么加上-b就可以了,不加參數(shù)會展示所有數(shù)據(jù)

2.1 同樣是查找文件的命令
locate [-ir] keyword
-i 忽略大小寫的差異
-r 后面可以接正則表達式的顯示方程式

locate尋找的數(shù)據(jù)是由已經(jīng)創(chuàng)建的數(shù)據(jù)庫/var/lib/mlocate/里面的數(shù)據(jù)庫里面找到了,所以不用查詢硬盤,這個數(shù)據(jù)庫每天更新一次
如果要手動更新,那么輸入,updatedb就可以了

2.2 find 查找文件
find [path] [option] [action]
參數(shù):

  1. 與時間有關的參數(shù),有 -atime,-ctime,-mtime
    -mtime n :n位數(shù)字,意義為在n天之前的“一天之內(nèi)”被更改過的文件名
    -mtime +n :列出在n天之前,不含本身,被更改過的文件名
    -mtime -n 列出在n天之內(nèi),含本身,被更改過的文件名
    -newer file : file為一個存在的文件,列出比這個文件更新的文件名

exp: find / -mtime 0
find /etc -newer /etc/passwd

比如+4代表,大于等于五天之前的文件名
-4代表小于等于4天內(nèi)的文件名
4表示4-5天的哪一天的名字

2.和用戶和組名有關的參數(shù)
-uid n:n為數(shù)字,數(shù)字是用戶的賬號id,即uid

-gid n:n為數(shù)字,這個數(shù)字是用戶組名的ID,即GID,這個GID記錄在 /etc/group中

-user name: name為用戶賬號名稱
-group name:name為用戶組名,例如users

-nouser :找尋文件所有者不存在的人
-no group :找尋用戶組不存在的文件

  1. 和文件名有關的操作

-name filename:查找文件名為filename的文件
-size [+-] SIZE :查找比size還要大 + 或者小 - 的文件,這個size的規(guī)格有:
c:代表byte,k:代表1024yes,所以要找比50k還大的文件就是,-size +50k
-type TYPE: 查找文件的類型為type的,類型主要有,一般正規(guī)文件 f,設備文件 b,c
目錄 d,連接文件l,socket s,以及fifo p等屬性

-perm -mode:查找文件權限,剛好等于mode 的文件,這個mode為類似chmod 的屬性值,舉例來說 -rwsr-xr-x的屬性為4755

-perm+mode:查找文件權限,包含任一mode的權限的文件,舉例來說,我們查找 -rwxr-xr-x,即-perm +755時,但一個文件屬性為 -rw-------也會被列出來,因為有-rw屬性存在

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 處理目錄和文件的幾個常用命令 ls:展示目錄下的內(nèi)容 cd: 切換到某個目錄下 pwd:顯示目前的目錄 mkdir...
    any_young閱讀 501評論 0 0
  • 1 Linux的文件結構 Linux的文件結構類似于倒樹形結構。 絕對路徑:由根目錄(/)開始寫起的文件名或者目錄...
    被子十三閱讀 412評論 0 0
  • 原文地址:https://blog.qjm253.cn/?p=448 目錄與路徑 相對路徑與絕對路徑絕對路徑:由根...
    SunnyQjm閱讀 409評論 0 2
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,319評論 0 10
  • 01 他們都來機場接我,就像當初送我一樣,七大姑八大姨的,浩浩蕩蕩來了一隊的人。 所有的人都說我黑了、瘦了,大老遠...
    晚來舟閱讀 1,110評論 20 24

友情鏈接更多精彩內(nèi)容