導航:首頁 > 程序命令 > 文件管理命令

文件管理命令

發布時間:2023-04-02 20:50:05

A. linux 命令 read (文件管理)——想玩轉linux就請一直看下去

Linux read命令用於從標准輸入讀取數值。

read 內部命令被用來從標准輸入讀取單行數據。這個命令可以用來讀取鍵盤輸入,當使用重定向的時候,可以讀取文件中的一行數據。

參數說明:

1、簡單讀取

測試結果為:

2、-p 參數,允許在 read 命令行中直接指定一個提示。

測試結果為:

3、-t 參數指定 read 命令等待輸入的秒數,當計時滿時,read命令返回一個非零退出狀態。

執行程序不輸入,等待 5 秒後:

4、除了輸入時間計時,還可以使用 -n 參數設置 read 命令計數輸入的字元。當輸入的字元數目達到預定數目時,自動退出,並將輸入的數據賦值給變數。

該例子使用了-n 選項,後接數值 1,指示 read 命令只要接受到一個字元就退出。只要按下一個字元進行回答,read 命令立即接受輸入並將其傳給變數,無需按回車鍵。

只接收 2 個輸入就退出:

執行程序輸入兩個字元:

5、 -s 選項能夠使 read 命令中輸入的數據不顯示在命令終端上(實際上,數據是顯示的,只是 read 命令將文本顏色設置成與背景相同的顏色)。輸入密碼常用這個選項。

執行程序輸入密碼後是不顯示的:

6.讀取文件

每次調用 read 命令都會讀取文件中的 "一行" 文本。當文件沒有可讀的行時,read 命令將以非零狀態退出。

通過什麼樣的方法將文件中的數據傳給 read 呢?使用 cat 命令並通過管道將結果直接傳送給包含 read 命令的 while 命令。

測試文件 test.txt 內容如下:

測試代碼:

執行結果為:

使用 -e 參數,以下實例輸入字元 a 後按下 Tab 鍵就會輸出相關的文件名(該目錄存在的):

B. 怎麼使用批處理重命名文件,並編號

先在原文件上加彎凳伏p,再批量按編號重命名。

代碼如下:

cls

@echo off

color

:: note: change the image format input,default value is 'color'

:: option: color/yuv12/yuv21

set switch=color

::

:: don't change the following code!!!

set img_format=jpg

if %switch% EQU yuv12 (

set img_format=yuv

)

if %switch% EQU yuv21 (

set img_format=yuv

)

setlocal EnableDelayedExpansion

for /F "tokens=*" %%f in ('dir *.jpg /A:-D /B') do (

ren "%%f" "p%%f"

echo "rename %%f --> p%%f"

)

set num=0

for /F "tokens=*" %%f in ('dir *.jpg /A:-D /B') do (

ren "%%f" "!num!.%img_format%"

echo "rename %%f --> !num!.%img_format%"

set /A num = !num! + 1

)

(2)文件管理命令擴展閱讀:

1、批處理echo 命令語法:

echo [{on|off}] [message]

Sample:@echo off / echo hello world

在實際應用中會把這條命令和重定向符號(也稱為管道符號,一般用粗伍> >> ^)結合來實現輸入一些命令到特定的文件中。

2、文件管理命令:

(1)type 顯示文本文件的內容。

(2) 將一份或多份文件復制到另一個位置。

(3)del 刪除一個或數個文件。

(4)move 移動文件埋攜並重命名文件和目錄。

(5)ren重命名文件。

(6)replace 替換文件。

(7)attrib 顯示或更改文件屬性。

(8)find 搜索字元串。

(9)fc 比較兩個文件或兩個文件集並顯示它們之間的不同。

C. 文件管理與重定向

Linux的 文件系統分層結構標准 :FHS Filesystem Hierarchy Standard

參考文檔: http://www.pathname.com/fhs/ 其中對每個文件目錄有詳細說明

/ :根目錄,最頂級目錄,也是 管理員的家目錄

/boot:引導文件、內核文件(vmlinuz)、引導載入器(bootloader, grub)都存放於此

/bin: 所有用戶 使用的基本命令(二進制文件)

/sbin:管理類的基本命令 (僅由root執行)

​ /bin與/sbin:不能關聯至獨立分區,OS啟動即會用到的程序

/etc 配置文件目錄

/home/USERNAME:各個用戶家目錄,存放用戶數據

/proc: 用於輸出內核與進程信息相關的虛擬文件系統

/sys:用於輸出當前系統上硬體設備相關信息虛擬文件系統

/usr: universal shared, read-only data (通用只讀文件)
lib:32位使用
lib64:只存在64位系統
include: C程序的頭文件(header files)
share:結構化獨立的數據,例如doc, man等
local:第三方應用程序的安裝位置
bin, sbin, lib, lib64, etc, share

/var: variable data files (可變數據)
cache: 應用程序緩存數據目錄
lib: 應用程序狀態信息數據
local:專用於為/usr/local下的應用程序存儲可變數據
lock: 鎖文件
log: 日誌目錄及文件
opt: 專用於為/opt下的應用程序存儲可變數據
run: 運行中的進程相關數據,通常用於存儲進程pid文件
spool: 應用程序數據池
tmp: 保存系統兩次重啟之間產生的臨時數據

/dev:設備文件及特殊文件存儲位置

/tmp:臨時文件存儲位置

/srv:系統上運行的服務用到的數據

/media:攜帶型移動設備掛載點(優盤)
/mnt:臨時文件系統掛載點

/opt:第三方應用程序的安裝位置

注意:CentOS 7 以後版本目錄結構變化 (以下兩者相同)

/bin 和 /usr/bin
/sbin 和 /usr/sbin
/lib 和/usr/lib
/lib64 和 /usr/lib64

範例:

二進製程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
庫文件: /lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
配置文件: /etc, /etc/DIRECTORY, /usr/local/etc
幫助文件: /usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

用 ll 命令查看首字母:

(-) 普通文件
d 目錄文件
b 塊設備
c 字元設備
l 符號鏈接文件
p 管道文件pipe
s 套接字文件socket

每個shell和系統進程 都有一個當前的工作目錄(current work directory,簡稱CWD)

顯示當前shell CWD的絕對路徑: 使用pwd命令 (printing working directory)

範例:

[圖片上傳失敗...(image-8b8689-1596285623724)]

基名 :basename,只取文件名而不要路徑
目錄名 :dirname,只取路徑,不要文件名

範例:

命令 cd : change directory 改變目錄(可以使用絕對或相對路徑)

選項:-P 切換至物理路徑

切換至父目錄 : cd ..
切換至當前用戶家目錄: cd
切換至上一個工作目錄 : cd -

相關的環境變數:
PWD:當前目錄路徑
OLDPWD:上一次目錄路徑

文件相關信息:metadata(屬性,元數據), data(數據內容)

每個文件有三個時間戳: (touch創建已存在的文件時,刷新3個時間戳)
access time 訪問時間,atime,讀取文件內容
modify time 修改時間,mtime,改變文件內容(數據)
change time 改變時間,ctime,元數據發生改變(屬性)

mtime的改變必然引起ctime的改變

執行ll命令默認顯示mtime

範例:

用來匹配符合條件的多個文件,方便批理管理文件

通配符采有特定的符號,表示特定的含義,此特符號稱為 元字元

範例:只顯示文件夾

別外還有在Linux系統中預定義的字元類:命令man 7 glob可以查看

使用以上通配符,需要雙重中括弧!!!!!!!!!!!!!!

{a..e} 與 [a - e] 排序內容不相同!!!

範例:

範例: 創建一個以昨天日期命名的.log文件

cp 命令格式:

默認cp=cp -i,提示是否覆蓋

範例:

1、將/etc/目錄下所有文件,備份到/data獨立的子目錄下,並要求子目錄格式為 backupYYYY-mm-dd,備份過程可見

2、創建/data/rootdir目錄,並復制/root下所有文件到該目錄內,要求 保留原有許可權

mv 命令可以實現文件或目錄的 移動和改名

常用選項:
-i 互動式
-f 強制
-b 若目標存在,覆蓋前先備份

利用 rename 可以 批量修改文件名

範例: (改名對象打不打引號都可以)

使用rm 命令可以刪除文件

常用選項
-i 互動式
-f 強制刪除
-r 遞歸,對目錄進行操作時必須使用
--no-preserve-root 用來刪除根目錄

範例:刪除特殊文件

rm雖然刪除了文件,但是被刪除的文件仍然 可能被恢復
在安全要求較高的場景下,可以使用shred安全刪除文件

補充技巧: 防止rm造成嚴重後果,定義別名進行備份 (修改配置文件永久有效)

配置文件目錄:/root/.bashrc

顯示目錄樹 tree

常見選項:
-d: 只顯示目錄
-L level: 指定顯示的層級數目
-P pattern: 只顯示由指定wild-card pattern匹配到的路徑

常見選項:
-p: 存在於不報錯,且可自動創建所需的各目錄 (用於一次創建多層目錄)
-v: 顯示詳細信息
-m MODE: 創建目錄時直接 指定許可權!!!!!!!!!!

rmdir 只能刪除空目錄 ,如果想刪除非空目錄,可以使用rm -r 命令遞歸刪除目錄樹

常見選項:
-p 遞歸刪除父空目錄
-v 顯示詳細信息

練習
(1) 如何創建/testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a,
/testdir/dir1/y/b

(2) 如何創建/testdir/dir2/x, /testdir/dir2/y, /testdir/dir2/x/a, /testdir/dir2/x/b

(3) 如何創建/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir6, /testdir/dir5/dir7

inode = (index node)

每個文件的屬性信息,比如:文件的大小,時間,類型等,稱為文件的 元數據
這些元數據存放在 inode表中

inode 表 中有很多條記錄組成, 第一條記錄保存元數據,包括以下信息:

inode number 節點號(身份證號)
文件類型
許可權
UID
GID
鏈接數(指向這個文件名路徑名稱個數)
該文件的大小和不同的時間戳
指向磁碟上文件的數據塊指針
有關文件的其他數據

一般情況下inode表會佔用系統磁碟inode總量的1%

節點號表示 文件的唯一編號 !!!整個系統中 節點號是有限的
當節點號用盡時,即使還有儲存空間,也會提示無剩餘空間 !!!!!!

目錄 是個特殊文件,目錄的元數據保存了 目錄中文件的列表及節點號的對應關系!!!

系統引用文件是 使用 inode號
實際用戶是 通過文件名 來引用一個文件
目錄是 目錄下的文件名和文件inode號之間的映射

執行cp命令:

執行rm 命令:

執行mv命令:

硬鏈接本質上就 給一個文件起一個新的名稱 ,實質是同一個文件

範例:對文件f1.log創建新的名稱f1link.log,兩者inode都是132

硬鏈接特性

目錄的鏈接數至少為2,因為目錄中的 . 即為自身
創建子目錄會導致鏈接數增加!

一個符號鏈接指向另一個文件, 就像windows中的快捷方式

軟鏈接特點:

關於源文件相對路徑:只有跨分區創建軟鏈接時才有此問題!

案例一:
提示空間不足 No space left on device,但是 df 查看磁碟空間剩餘很多

案例二:
提示儲存空間不足,刪除無用的大文件後,空間並未釋放,什麼原因?如何解決?

讀入數據:Input
輸出數據:Output

打開的文件都有一個 fd : file descriptor (文件描述符)

Linux給程序提供 三種 I/O 設備

I/O重定向:將默認的輸入,輸出或錯誤 對應的設備進行修改,指向新的目標

STDOUT和STDERR可以被重定向到指定文件,而非默認的當前終端

支持的操作符號包括:

把STDOUT重定向到文件或其他終端

重定向到文件時,若文件不存在則創建,若文件存在則覆蓋內容
再次重定向到同一文件,內容再次覆蓋

若 > 符號之前不輸入命令,則效果為生成空文件或清空目標文件
是迅速清空文件內容的一種方式

藉助/dev/null也可實現同樣的功能

磁碟空間不足時,大文件被佔用不能停,而且rm刪除無法立即騰出空間,應使用 > 或/dev/null >

把STDERR重定向到文件或其他終端

set - C 命令, 禁止將內容覆蓋已有文件,但可追加 (此時>|可以強制覆蓋)
set + C 命令,允許覆蓋

強制覆蓋

用 ( )或者{ }合並多個命令的out或err, 注意使用花括弧的格式!!!

使用 < 來重定向標准輸入:從文件中導入STDIN,代替當前終端的輸入設備

使用 單行或多行重定向 來創建新文件,並輸入指定內容

同時存在 < > ,優先進行 輸入運算

只能對新文件進行!!!!!

只能對新文件進行!!!!!

使用 "<<終止詞" 命令 把接下來輸入的多行內容進行重定向,
直到終止詞位置之前的所有文本都發送給STDIN

終止詞 可以是任何一個或多個符號,
比如:!,@,$,EOF(End Of File),mage等, 其中EOF比較常用

易錯點: tr命令實現的是 單個字元一一對應的轉換關系!!!!

基本格式:

常見用途: 全局大小寫轉換

-d 刪除 所有含有SET1的字元

-c 取字元集的補集,即 取反(一般與-d搭配使用)

-s 把 連續重復的單個字元 以單獨一個字元表示,即 去重

管道(使用符號「|」表示) 用來連接多個命令

功能說明:

注意:STDERR默認不能通過管道轉發,可利用2>&1 或 |& 實現,格式如下

因此, 當不確定命令的輸出結果,或者已知結果中存在error時 ,應該使用上述命令

範例:將 /home 裡面的 文件打包 ,不生成文件,而是傳送到 stdout,經過管道後,
將 tar -cvf - /home 傳送給後面的 tar -xvf - , 最後的這個 - 表示 取前一個命令的 stdout

利用tee命令 可以既重定向到文件,又顯示在屏幕

tee的功能:

基本用法

若後面不加命令2

D. linux用VI編輯後保存退出命令是什麼啊

先按ESC進入Command模式,然後輸入「:wq」,回車就可以保存並退出了。

vi的其他保存/退出命令:

:w 保存;

:w filename 另存為filename;

:wq! 保存並強制退出;

:wq! filename 註:以filename為文件名保存後強制退出;

:q! 強制退出;

:x 保存並退出(僅當文件有變化時保存)

(4)文件管理命令擴展閱讀:

vi有三種工作模式:命令模式、文本編輯模式和最後行模式。不同工作模式下的操作方法有所不同。

1、命令行模式

該模式是進入vi編輯器後的默認模式。任何時候,不管用戶處於何種模式,按下Esc鍵即可進入命令模式。

在命令模式下,用戶可以輸入vi命令,用於管理自己的文檔。此時從鍵盤上輸入的任何字元都被當做編輯命令來解釋。若輸入的字元是合法的vi命令,則vi在接受用戶命令之後完成相應的動作。但需注意的是,所輸入的命令並不回顯在屏幕上。若輸入的字元不是vi的合法命令,vi 會響鈴報警。

2、文本輸入模式

在命令模式下輸入插入命令i、附加命令a、打開命令o、修改命令c、取代命令r或替換命令s都可以進入文本輸入模式。

在該模式下,用戶輸入的任何字元都被vi當做文件內容保存起來,並將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按下Esc鍵即可。

3、末行模式

末行模式也稱 ex 轉義模式。在命令模式下,用戶按:鍵即可進入末行模式下,此時vi會在顯示窗口的最後一行(通常也是屏幕的最後一行)顯示一個:作為末行模式的說明符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩沖區的內容寫到文件中等)。

末行命令執行完後,vi 自動回到命令模式。

E. linux運維常用命令

| 線上查詢及幫助命令 |
man:全稱為manual,用於查看系統中自帶的各種參考手冊;
help:用於顯示shell內部命令的幫助信息;
| 文件和目錄操作命令 |
ls:全拼list,列出目錄的內容及其內容屬性信息;
cd:全拼change directory,切換當前工作目錄至dirName(目錄參數);
cp:全稱,復制文件或目錄;
find:用於在指定目錄及目錄下查找文件;
mkdir:全拼make directories,創建目錄;
mv:全拼move,移動或重命名文件;
pwd:全拼print working directory,顯示當前工作目錄的絕對路徑;
rename:可用字元串替換的方式批量改變文件名;
rm:全拼remove,刪除一個或多個文件或目錄。必須格外小心地使用該命令;
rmdir:全拼remove empty directories,刪除空目錄;
touch:修改文件或者目錄的時間屬性,包括存取時間和更改時間。若文件不存在,系統會建立一個新的文件;
| 查看文件及內容處理命令 |
cat:全拼concatenate,用於連接多個文件並且列印到屏幕輸出或重定向到指定文件中,可查看文件內容;
tac:cat的反向拼寫,因此命令的功能為反向顯示文件內容。文件內容的最後一行先顯示,第一行最後顯示;
less:可以隨意瀏覽文件,而more僅能向前移動,卻不能向後移動,而且less在查看之前不會載入整個文件;
head:顯示文件的開頭的內容。在默認情況下,head命令顯示文件的頭10行內容;
tail:查看文件尾部內容,有一個常用的參數-f常用於查閱正在改變的文件。可以看到最新的文件內容;
| 文件壓縮解壓縮命令 |
tar:tar命令是用來建立,還原備份文件的工具程序,它可以加入,解開備份文件內的文件;
unzip:用於解壓縮zip文件;
gzip:用於壓縮文件。gzip是個使用廣泛的壓縮程序,文件經它壓縮過後,其名稱後面會多出".gz"的擴展名;
zip:用來將文件壓縮成為常用的zip格式。

F. linuxcp命令詳解

cp命令是linux下的一個文件管理命令,通常是用於復制文件或目錄,cp命令主要有兩個功能,具體介紹如下:
1、能夠同時復制多個文件到一個指定的目錄中;
2、能夠將多個文件復制到一個具體的文件名或一個已經存在的目錄下。
參考例子:
復制目錄,具體命令為:
[root@linuxcool~]#cp-Rdir1dir2/
cp命令的具體語法格式為cp[參數][文件]。
參數:
-f若目標文件已存在,就會直接覆蓋原文件
-i若目標文件已存在,就會詢問是否覆蓋
-p保留源文件或目錄的所有屬性
-r遞歸復制文件和目錄
-d當復制符號連接時,將目標文件或目錄也建立為符號連接,並指向與源文件或目錄連接的原始文件或目錄
-l對源文件建立硬連接,而非復制文件
-s對源文件建立符號連接,而非復制文件
-b覆蓋已存在的文件目標前將目標文件備份
-v詳細顯示cp命令執行的操作過程


以上就是小編的分享了,希望能夠幫助到大家。
本文章基於ThinkpadE15品牌、centos7系統撰寫的。

G. linux文件管理命令有什麼

(1)目錄管理命令
——ls:列出指定目錄下的內容
格式:ls [OPTION]... [FILE]...
-a:顯示所有文件包括隱藏文件
-A:顯示除.和..之外的所有文件
-l,--long:顯示文件的詳細屬性信息
-h:對文件大小進行單位換算,可能影響精度
-d:查看目錄本身而非其內部的文件
-r:逆序顯示文件
-R:遞歸顯示文件
示例:ls -lah / --詳細顯示/目錄下的所有文件(包括隱藏文件)
ls -ldh /etc --詳細顯示/etc目錄本身
ls -lhv / --倒序顯示/目錄下所有文件(包括隱藏文件)
ls -R /etc --遞歸顯示/etc下所有文件
——mkdir:創建目錄
格式:mkdir [OPTION]... DIRECTORY...
-p:自動按需創建父目錄
-m:創建目錄時給定許可權
示例:mkdir -p /data/test/A/B --在/data目錄下遞歸創建/test/A/B三個目錄
mkdir -m 711 -p /data/MODE/A --在/data目錄下遞歸創建MODE/A兩個目錄同時指定目錄A的許可權為711
——rmdir:刪除目錄
格式:rmdir [OPTION]... DIRECTORY...
-p:刪除目錄後如果其父目錄為空,則一並刪除
示例:rmdir -p /data/test/A --刪除A目錄後,test目錄為空,一並刪除
——cd:切換目錄
示例:cd ..:切換到上級目錄
cd ~:切換回自己的家目錄
cd -:在上一次目錄與當前目錄直接來回切換
——pwd:顯示當前目錄
(2)文件管理命令
——cp:復制
格式:單源復制:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在則創建,存在則覆蓋)
多源復制:cp [OPTION]... SOURCE... DIRECTORY(DEST必須為directory)
-i:互動式復制,即覆蓋前提醒用戶確認
-f:強制覆蓋目標文件
-r,-R:遞歸復制目錄
示例:cp -if /data/[1-3].txt /data/test --test必須為目錄,把三個文件一起復制到test中
cp -r /data /practice --把data目錄及目錄下的內容一起復制到practice中
——mv:剪切
格式:單源復制:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在則創建,存在則覆蓋)
多源復制:mv [OPTION]... SOURCE... DIRECTORY(DEST必須為directory)
-i:互動式復制,即覆蓋前提醒用戶確認
-f:強制覆蓋目標文件
示例:mv -i /data/[1-3].txt /practice --把/data目錄下三個txt文件剪切到/practice下
——rm:刪除
格式:rm [OPTION]... FILE...
-i:互動式復制,即覆蓋前提醒用戶確認
-f:強制覆蓋目標文件
-r,-R:遞歸處理,將制定目錄下的所有文件包括目錄一並刪除
示例:rm -rf /practice --遞歸刪除/practice目錄
(3)文本內容管理命令
——cat:正向查看文本內容
格式:cat [OPTION]... [FILE]...
-n:給顯示的文本行編號
-E:顯示行結束符號$
示例:cat -n /etc/fstab --查看/etc/fatab內容並顯示行號
——tac:倒敘查看文本內容
格式:tac [OPTION]... [FILE]...
示例:tac /etc/passwd --倒敘查看文本內容
——head:顯示文本內容,默認顯示頭10行
格式:head [OPTION]... [FILE]...
-n #:顯示文本頭#行內容
示例:head -5 /etc/passwd --顯示/etc/passwd文件頭5行內容
——tail:顯示文本內容,默認顯示後10行
格式:tail [OPTION]... [FILE]...
-n #:顯示文本後#行內容
-f:查看文件尾部內容結束後不退出,跟隨顯示新增的行
示例:tail -8 /etc/passwd --顯示/etc/passwd文件後8行內容
——more:分屏顯示文本內容,每次顯示一屏顯示完停止
格式:more [options] file [...]
Space鍵:顯示文本下一屏內容
Enter鍵:只顯示文本下一行內容
b鍵:顯示文本上一屏內容
q鍵:退出
——less:分屏顯示文本內容,不主動退出
格式:less [options] file [...]
Space鍵:顯示文本下一屏內容
Enter鍵:只顯示文本下一行內容
b鍵:顯示文本上一屏內容
q鍵:退出

閱讀全文

與文件管理命令相關的資料

熱點內容
pdf文件內容怎麼編輯 瀏覽:44
134壓縮機排氣溫度多少 瀏覽:252
unity等待編譯後 瀏覽:804
黑鯊手機鎖屏視頻在哪個文件夾 瀏覽:779
wow地圖解壓後怎麼壓縮 瀏覽:819
有pdf卻打不開 瀏覽:460
七星彩軟體app怎麼下載 瀏覽:217
32單片機的重映射哪裡改 瀏覽:816
為什麼前端不用刷演算法題 瀏覽:708
對稱加密系統和公鑰加密系統 瀏覽:428
歷史地理pdf 瀏覽:606
物聯網雲伺服器框架 瀏覽:648
sybaseisql命令 瀏覽:183
android權威編程指南pdf 瀏覽:663
哪些軟體屬於加密軟體 瀏覽:646
文件夾75絲什麼意思 瀏覽:470
最便宜sop8單片機 瀏覽:966
圖解周易預測學pdf 瀏覽:420
c盤莫名奇妙多了幾個文件夾 瀏覽:171
貴州花溪門票優惠app哪個好 瀏覽:803