1、ls指令ls: 列出當(dāng)前目錄內(nèi)容代碼語言:JavaScript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# lsLesson
ls -l:顯示詳細(xì)信息(權(quán)限、大小、修改時(shí)間等)。代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# ls -ltotal 4drwxr-xr-x 3 root root 4096 Jan 14 17:24 Lesson
ls -a:顯示所有文件,包括隱藏文件(以.開頭的文件)。代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# ls -a. .. .bash_logout .bash_profile .bashrc .cache .cshrc Lesson .pip .pydistutils.cfg .ssh .tcshrc .viminfo
ls -a -l:顯示所有文件的詳細(xì)信息代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# ls -a -ltotal 52dr-xr-x---. 6 root root 4096 Jan 14 17:25 .dr-xr-xr-x. 18 root root 4096 Jan 14 16:38 ..-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrcdrwx------ 3 root root 4096 Jun 28 2024 .cache-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrcdrwxr-xr-x 3 root root 4096 Jan 14 17:24 Lessondrwxr-xr-x 2 root root 4096 Jun 28 2024 .pip-rw-r--r-- 1 root root 206 Jan 14 16:38 .pydistutils.cfgdrwx------ 2 root root 4096 Jun 28 2024 .ssh-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc-rw------- 1 root root 674 Jan 14 17:25 .viminfo
2、pwd指令pwd :顯示當(dāng)前所處工作目錄的絕對(duì)路徑代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# pwd/root
Linux目錄結(jié)構(gòu)
學(xué)習(xí)cd指令前,我們需要了解linux下的樹狀目錄結(jié)構(gòu)

在 / (根目錄)下使用 ls 命令,可以看到如下目錄
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ /]# ls -a -ltotal 68dr-xr-xr-x. 18 root root 4096 Jan 14 16:38 .dr-xr-xr-x. 18 root root 4096 Jan 14 16:38 ..-rw-r--r-- 1 root root 0 Jun 28 2024 .autorelabellrwxrwxrwx. 1 root root 7 Jun 28 2024 bin -> usr/bindr-xr-xr-x. 5 root root 4096 Jun 28 2024 bootdrwxr-xr-x 19 root root 2980 Jan 14 16:40 devdrwxr-xr-x. 80 root root 4096 Jan 14 16:50 etcdrwxr-xr-x. 2 root root 4096 Apr 11 2018 homelrwxrwxrwx. 1 root root 7 Jun 28 2024 lib -> usr/liblrwxrwxrwx. 1 root root 9 Jun 28 2024 lib64 -> usr/lib64drwx------. 2 root root 16384 Jun 28 2024 lost+founddrwxr-xr-x. 2 root root 4096 Apr 11 2018 mediadrwxr-xr-x. 2 root root 4096 Apr 11 2018 mntdrwxr-xr-x. 2 root root 4096 Apr 11 2018 optdr-xr-xr-x 95 root root 0 Jan 14 16:38 procdr-xr-x---. 6 root root 4096 Jan 15 02:22 rootdrwxr-xr-x 26 root root 780 Jan 14 16:50 runlrwxrwxrwx. 1 root root 8 Jun 28 2024 sbin -> usr/sbindrwxr-xr-x. 2 root root 4096 Apr 11 2018 srvdr-xr-xr-x 13 root root 0 Jan 17 08:51 sysdrwxrwxrwt. 8 root root 4096 Jan 17 03:20 tmpdrwxr-xr-x. 13 root root 4096 Jun 28 2024 usrdrwxr-xr-x. 19 root root 4096 Jun 28 2024 var
以下是對(duì)這些目錄的解釋:

/bin: bin 是 Binaries (二進(jìn)制文件) 的縮寫, 這個(gè)目錄存放著最經(jīng)常使用的命令。/boot: 這里存放的是啟動(dòng) Linux 時(shí)使用的一些核心文件,包括一些連接文件以及鏡像文件。/dev : dev 是 Device(設(shè)備) 的縮寫, 該目錄下存放的是 Linux 的外部設(shè)備,在 Linux 中訪問設(shè)備的方式和訪問文件的方式是相同的。/etc: etc 是 Etcetera(等等) 的縮寫,這個(gè)目錄用來存放所有的系統(tǒng)管理所需要的配置文件和子目錄。/home: 用戶的主目錄,在 Linux 中,每個(gè)用戶都有一個(gè)自己的目錄,一般該目錄名是以用戶的賬號(hào)命名的,如上圖中的 alice、bob 和 eve。/lib: lib 是 Library(庫) 的縮寫這個(gè)目錄里存放著系統(tǒng)最基本的動(dòng)態(tài)連接共享庫,其作用類似于 Windows 里的 DLL 文件。幾乎所有的應(yīng)用程序都需要用到這些共享庫。/lost+found: 這個(gè)目錄一般情況下是空的,當(dāng)系統(tǒng)非法關(guān)機(jī)后,這里就存放了一些文件。/media: linux 系統(tǒng)會(huì)自動(dòng)識(shí)別一些設(shè)備,例如U盤、光驅(qū)等等,當(dāng)識(shí)別后,Linux 會(huì)把識(shí)別的設(shè)備掛載到這個(gè)目錄下。/mnt: 系統(tǒng)提供該目錄是為了讓用戶臨時(shí)掛載別的文件系統(tǒng)的,我們可以將光驅(qū)掛載在 /mnt/ 上,然后進(jìn)入該目錄就可以查看光驅(qū)里的內(nèi)容了。/opt: opt 是 optional(可選) 的縮寫,這是給主機(jī)額外安裝軟件所擺放的目錄。比如你安裝一個(gè)oracle數(shù)據(jù)庫則就可以放到這個(gè)目錄下。默認(rèn)是空的。/proc: proc 是 Processes(進(jìn)程) 的縮寫,/proc 是一種偽文件系統(tǒng)(也即虛擬文件系統(tǒng)),存儲(chǔ)的是當(dāng)前內(nèi)核運(yùn)行狀態(tài)的一系列特殊文件,這個(gè)目錄是一個(gè)虛擬的目錄,它是系統(tǒng)內(nèi)存的映射,我們可以通過直接訪問這個(gè)目錄來獲取系統(tǒng)信息。 這個(gè)目錄的內(nèi)容不在硬盤上而是在內(nèi)存里,我們也可以直接修改里面的某些文件,比如可以通過下面的命令來屏蔽主機(jī)的ping命令,使別人無法ping你的機(jī)器: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all/root: 該目錄為系統(tǒng)管理員,也稱作超級(jí)權(quán)限者的用戶主目錄。/sbin: s 就是 Super User 的意思,是 Superuser Binaries (超級(jí)用戶的二進(jìn)制文件) 的縮寫,這里存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序。/srv: 該目錄存放一些服務(wù)啟動(dòng)之后需要提取的數(shù)據(jù)。/sys:這是 Linux2.6 內(nèi)核的一個(gè)很大的變化。該目錄下安裝了 2.6 內(nèi)核中新出現(xiàn)的一個(gè)文件系統(tǒng) sysfs 。 sysfs 文件系統(tǒng)集成了下面3種文件系統(tǒng)的信息:針對(duì)進(jìn)程信息的 proc 文件系統(tǒng)、針對(duì)設(shè)備的 devfs 文件系統(tǒng)以及針對(duì)偽終端的 devpts 文件系統(tǒng)。該文件系統(tǒng)是內(nèi)核設(shè)備樹的一個(gè)直觀反映。當(dāng)一個(gè)內(nèi)核對(duì)象被創(chuàng)建的時(shí)候,對(duì)應(yīng)的文件和目錄也在內(nèi)核對(duì)象子系統(tǒng)中被創(chuàng)建。/tmp: tmp 是 temporary(臨時(shí)) 的縮寫這個(gè)目錄是用來存放一些臨時(shí)文件的。/usr: usr 是 unix system resources(unix 系統(tǒng)資源) 的縮寫,這是一個(gè)非常重要的目錄,用戶的很多應(yīng)用程序和文件都放在這個(gè)目錄下,類似于 windows 下的 program files 目錄。/usr/bin: 系統(tǒng)用戶使用的應(yīng)用程序。/usr/sbin: 超級(jí)用戶使用的比較高級(jí)的管理程序和系統(tǒng)守護(hù)程序。/usr/src: 內(nèi)核源代碼默認(rèn)的放置目錄。/var: var 是 variable(變量) 的縮寫,這個(gè)目錄中存放著在不斷擴(kuò)充著的東西,我們習(xí)慣將那些經(jīng)常被修改的目錄放在這個(gè)目錄下。包括各種日志文件。/run: 是一個(gè)臨時(shí)文件系統(tǒng),存儲(chǔ)系統(tǒng)啟動(dòng)以來的信息。當(dāng)系統(tǒng)重啟時(shí),這個(gè)目錄下的文件應(yīng)該被刪掉或清除。如果你的系統(tǒng)上有 /var/run目錄,應(yīng)該讓它指向 run。
路徑的認(rèn)識(shí):
Linux系統(tǒng)中,磁盤上的文件和目錄被組成?棵目錄樹,每個(gè)節(jié)點(diǎn)都是目錄或文件其中普通文件?定是目錄樹的葉子節(jié)點(diǎn)目錄可能是葉子(空目錄), 也可能是路上節(jié)點(diǎn)理解路徑存在的意義: 樹狀組織方式,都是為了保證快速定位查找到指定的文件,而定位文件就需要具有唯?性的方案來定位文件。其中任何?個(gè)節(jié)點(diǎn),都只有?個(gè)父節(jié)點(diǎn),所以,從根目錄開始,定位指定文件,路徑具有唯?性絕對(duì)路徑:?般從/開始,不依賴其他目錄的定位文件的方式相對(duì)路徑:相對(duì)于當(dāng)前用戶所處目錄,定位文件的路徑方式絕對(duì)路徑?般不會(huì)隨著用戶的路徑變化而喪失唯?性,?般在特定服務(wù)的配置文件中經(jīng)常被使用相對(duì)路徑因?yàn)樗谋憬菪裕?般在命令行中使用較多

3、cd指令cd ~ 返回家目錄代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ Winter]# pwd/root/Lesson/Practice/Winter[root@iZbp1dkpw5hx2lyh7vjopaZ Winter]# cd ~[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# pwd/root
cd /path/to/Directory進(jìn)入指定目錄。代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# pwd/root[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# cd Lesson/Practice/Winter/day1[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# pwd/root/Lesson/Practice/Winter/day1
cd ..返回上一級(jí)目錄。代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# pwd/root/Lesson/Practice/Winter/day1[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# cd ..[root@iZbp1dkpw5hx2lyh7vjopaZ Winter]# pwd/root/Lesson/Practice/Winter[root@iZbp1dkpw5hx2lyh7vjopaZ Winter]# cd ..[root@iZbp1dkpw5hx2lyh7vjopaZ Practice]# pwd/root/Lesson/Practice[root@iZbp1dkpw5hx2lyh7vjopaZ Practice]# cd ..[root@iZbp1dkpw5hx2lyh7vjopaZ Lesson]# pwd/root/Lesson
Linux文件概覽
在 Linux 系統(tǒng)中,文件是信息存儲(chǔ)和管理的核心。Linux 的文件系統(tǒng)具有高度的結(jié)構(gòu)化和層次化,所有的資源(包括硬件、目錄、設(shè)備等)都被視為文件或文件的形式進(jìn)行管理。理解 Linux 下的文件,有助于更好地掌握系統(tǒng)操作和管理。概括為一句話就是,Linux下一切皆文件!

文件類型:
普通文件 : 最常見的文件類型,用于存儲(chǔ)文本、數(shù)據(jù)或程序代碼。 標(biāo)識(shí):通常以 – 開頭 示例:文本文件、圖片文件、可執(zhí)行文件等。代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
-rw-r--r-- 1 root root 0 Jan 14 17:25 test.c
目錄文件: 存儲(chǔ)其他文件或目錄的文件類型。目錄本身不存儲(chǔ)數(shù)據(jù),而是存儲(chǔ)文件的名稱和路徑信息。 標(biāo)識(shí):以 d 開頭。 示例:代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
drwxr-xr-x 3 root root 4096 Jan 14 17:24 Lesson
文件權(quán)限: Linux 使用文件權(quán)限來控制用戶對(duì)文件的訪問。每個(gè)文件都有三個(gè)級(jí)別的訪問控制:
擁有者權(quán)限(User):文件的創(chuàng)建者或所有者對(duì)文件的控制權(quán)限。所屬組權(quán)限(Group):文件所屬組的成員對(duì)文件的控制權(quán)限。其他用戶權(quán)限(Others):系統(tǒng)中所有其他用戶對(duì)文件的控制權(quán)限。
每個(gè)級(jí)別的權(quán)限有三種類型:
讀權(quán)限(r):允許查看文件內(nèi)容。寫權(quán)限(w):允許修改文件內(nèi)容。執(zhí)行權(quán)限(x):允許執(zhí)行文件(如果是可執(zhí)行文件)。 例如:代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# lltotal 16-rwxr-xr-x 1 root root 8360 Jan 17 10:28 test-rw-r--r-- 1 root root 76 Jan 17 10:22 test.c
時(shí)間戳
時(shí)間戳是指某個(gè)事件發(fā)生的特定時(shí)間點(diǎn)的記錄,通常以一定的格式表示。它在計(jì)算機(jī)系統(tǒng)中被廣泛用于跟蹤文件的修改、訪問、創(chuàng)建等操作的時(shí)間。
在 Linux 中,時(shí)間戳通常與文件相關(guān)聯(lián),用來表示文件的三個(gè)主要時(shí)間信息:
訪問時(shí)間(access Time, atime) 定義:文件上次被訪問的時(shí)間。訪問可以是讀取文件內(nèi)容、執(zhí)行文件(如果它是可執(zhí)行文件)等。 用途:訪問時(shí)間用于表示文件的“最后讀取”時(shí)刻。比如,當(dāng)你查看文件內(nèi)容時(shí),文件的訪問時(shí)間會(huì)被更新。 修改時(shí)間(Modify Time, mtime) 定義:文件內(nèi)容最后一次被修改的時(shí)間。 用途:修改時(shí)間記錄的是文件內(nèi)容被改變的時(shí)刻。無論是對(duì)文件內(nèi)容的編輯、重寫還是替換,都會(huì)更新該時(shí)間。 狀態(tài)更改時(shí)間(Change Time, ctime) 定義:文件的元數(shù)據(jù)(如權(quán)限、所有者等)最后一次被修改的時(shí)間。注意,ctime 記錄的是文件的“狀態(tài)”變化,而不是文件內(nèi)容的變化。 用途:狀態(tài)更改時(shí)間用于記錄文件屬性的變化。例如,當(dāng)你修改文件的權(quán)限、所有者或文件名時(shí),ctime 會(huì)發(fā)生變化。
時(shí)間戳在文件中的表現(xiàn)形式: Linux 系統(tǒng)中的文件通常會(huì)有三個(gè)時(shí)間戳(atime、mtime、ctime),可以通過 stat 命令查看這些時(shí)間戳。 例如: 使用stat 查看時(shí)間戳:
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# stat test.c File: ‘test.c’ Size: 76 Blocks: 8 IO Block: 4096 regular fileDevice: fd01h/64769dInode: 922584 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2025-01-17 10:28:08.614020812 +0800Modify: 2025-01-17 10:22:13.117799536 +0800Change: 2025-01-17 10:22:13.119799610 +0800 Birth: -
時(shí)間戳的用途:
文件管理:可以根據(jù)時(shí)間戳來查看和管理文件的歷史版本或修改記錄。備份系統(tǒng):時(shí)間戳用于跟蹤文件的修改,幫助自動(dòng)化備份系統(tǒng)判斷文件是否發(fā)生變化,從而只備份修改過的文件。安全審計(jì):通過檢查文件的修改時(shí)間,可以識(shí)別文件是否被非法篡改或訪問。日志文件:系統(tǒng)日志、訪問日志等通常會(huì)使用時(shí)間戳來記錄每個(gè)事件的發(fā)生時(shí)間。
時(shí)間戳格式: 在計(jì)算機(jī)中,時(shí)間戳通常以數(shù)字格式存儲(chǔ),表示從某個(gè)基準(zhǔn)時(shí)間(通常是 Unix 時(shí)間戳自 1970 年 1 月 1 日 00:00:00 UTC 到當(dāng)前時(shí)間的秒數(shù))經(jīng)過的秒數(shù)。 例如: Unix 時(shí)間戳:這是一個(gè)自 1970 年 1 月 1 日(即 Unix 紀(jì)元)起的秒數(shù)。 比如,Unix 時(shí)間戳 1622541300 表示的是 2021 年 6 月 1 日 10:35:00 UTC。
4、touch指令
創(chuàng)建空文件:
如果文件不存在,touch 可以用來創(chuàng)建一個(gè)新的空文件代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
touch log.txt
如果 log.txt 文件不存在,touch 會(huì)在當(dāng)前目錄中創(chuàng)建一個(gè)空文件。如果文件已經(jīng)存在,touch 會(huì)更新文件的時(shí)間戳(即修改時(shí)間和訪問時(shí)間),但不會(huì)修改文件內(nèi)容。
更新文件的時(shí)間戳:
當(dāng)你執(zhí)行 touch 命令時(shí),它會(huì)更新文件的訪問時(shí)間(atime)和修改時(shí)間(mtime)為當(dāng)前系統(tǒng)時(shí)間 訪問時(shí)間(atime):文件的最后訪問時(shí)間。當(dāng)文件內(nèi)容被讀取時(shí),atime 會(huì)更新。 修改時(shí)間(mtime):文件的最后修改時(shí)間。當(dāng)文件內(nèi)容被修改時(shí),mtime 會(huì)更新。
設(shè)置文件的時(shí)間戳:
touch 還允許你設(shè)置文件的時(shí)間戳,而不僅僅是使用當(dāng)前時(shí)間。使用 -t 選項(xiàng),可以為文件設(shè)置特定的時(shí)間戳
時(shí)間格式為:[[CC]yy]MMDDhhmm[.ss],其中:
CC:世紀(jì)(可選)YY:年份MM:月份DD:日期hh:小時(shí)mm:分鐘ss:秒(可選)代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
touch -t 202301011200.00 log.txt
這條命令會(huì)將 log.txt 文件的時(shí)間戳設(shè)置為 2023 年 1 月 1 日 12:00:00。
創(chuàng)建多個(gè)文件:
touch也允許一次性創(chuàng)建多個(gè)空文件,只需要將多個(gè)文件名作為參數(shù)傳遞給 touch代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# touch log1.txt log2.txt log3.txt[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# ls -ltotal 16-rw-r--r-- 1 root root 0 Jan 17 12:00 log1.txt-rw-r--r-- 1 root root 0 Jan 17 12:00 log2.txt-rw-r--r-- 1 root root 0 Jan 17 12:00 log3.txt-rwxr-xr-x 1 root root 8360 Jan 17 10:28 test-rw-r--r-- 1 root root 76 Jan 17 10:22 test.c
5、 mkdir指令
mkdir是 Linux 中用于創(chuàng)建目錄的命令。使用 mkdir 可以創(chuàng)建新的目錄,從而幫助組織文件。
創(chuàng)建單個(gè)目錄:
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# mkdir Lesson1[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# ls -ltotal 4drwxr-xr-x 2 root root 4096 Jan 17 12:16 Lesson1
創(chuàng)建多層目錄(遞歸創(chuàng)建):
使用 -p 選項(xiàng),可以一次性創(chuàng)建多層目錄,即使父目錄不存在,mkdir 也會(huì)自動(dòng)創(chuàng)建它們代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# mkdir -p Lesson2/Practice/day1[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# tree Lesson2Lesson2└── Practice └── day12 directories, 0 files
如果 Lesson/Practice/目錄已經(jīng)存在,則 mkdir 會(huì)創(chuàng)建 day1目錄。如果某一部分路徑不存在,-p 選項(xiàng)會(huì)讓 mkdir 先創(chuàng)建缺失的父目錄。
創(chuàng)建多個(gè)目錄:
你可以一次性創(chuàng)建多個(gè)目錄,只需在命令中列出多個(gè)目錄名代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# mkdir Lesson1 Lesson2 Lesson3 [root@iZbp1dkpw5hx2lyh7vjopaZ day1]# ls -ltotal 12drwxr-xr-x 2 root root 4096 Jan 17 12:49 Lesson1drwxr-xr-x 2 root root 4096 Jan 17 12:49 Lesson2drwxr-xr-x 2 root root 4096 Jan 17 12:49 Lesson3
6、tree指令
tree 命令用于以樹形結(jié)構(gòu)展示目錄和文件
tree: 顯示當(dāng)前目錄及其子目錄代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# tree LessonLesson└── Practice └── Winter └── day1 ├── Lesson1 ├── Lesson2 └── Lesson3 6 directories, 0 files
tree -L
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# tree -L 2.└── Lesson └── Practice 2 directories, 0 files
tree -a: 顯示隱藏文件代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# tree -a.├── .bash_history├── .bash_logout├── .bash_profile├── .bashrc├── .cache│ └── pip│ ├── http│ │ ├── b│ │ │ └── b│ │ │ └── 8│ │ │ └── 7│ │ │ └── 6│ │ │ └── bb876b2e6a22c2739002e9ef3388ae978b7a6192a19fe67d8b0030f2│ │ └── f│ │ └── e│ │ └── d│ │ └── 0│ │ └── e│ │ └── fed0ed508030b766d5b0c2792132c8bf197804464765b46b361f93a4│ └── selfcheck.json├── .cshrc├── Lesson│ └── Practice│ └── Winter│ └── day1│ ├── Lesson1│ ├── Lesson2│ └── Lesson3├── .pip│ └── pip.conf├── .pydistutils.cfg├── .ssh│ └── authorized_keys├── .tcshrc└── .viminfo22 directories, 13 files
tree -d: 只顯示目錄,不顯示文件代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# tree -d .└── Lesson └── Practice └── Winter └── day1 ├── Lesson1 ├── Lesson2 └── Lesson37 directories
tree -F: 顯示文件類型后綴(如 / 表示目錄,* 表示可執(zhí)行文件)代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# tree -F.└── Lesson/ └── Practice/ ├── test.cpp └── Winter/ └── day1/ ├── Lesson1/ │ ├── log.txt │ ├── test* │ └── test.c ├── Lesson2/ └── Lesson3/7 directories, 4 files
7、rm指令
rm 是 Linux 中用 刪除文件和目錄 的命令。它是一個(gè)非常強(qiáng)大的命令,使用時(shí)需要小心,因?yàn)橐坏﹦h除,文件通常不能恢復(fù)。
基本語法:
rm [選項(xiàng)] 文件/目錄
刪除單個(gè)文件:
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ Practice]# rm test.cpprm: remove regular empty file ‘test.cpp’? y
輸入y后該命令會(huì)刪除 test.cpp 文件
刪除多個(gè)文件:
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ Lesson1]# rm log.txt test test.crm: remove regular empty file ‘log.txt’? yrm: remove regular file ‘test’? yrm: remove regular file ‘test.c’? y
這個(gè)命令會(huì)刪除 log.txt、test 和 test.cpp 文件。
遞歸刪除目錄及其內(nèi)容: (-r 或 -R)
如果需要?jiǎng)h除目錄及其內(nèi)部?jī)?nèi)容,可以使用 -r(遞歸)選項(xiàng):代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# cd ..[root@iZbp1dkpw5hx2lyh7vjopaZ Winter]# rm -r day1rm: descend into directory ‘day1’? yrm: remove directory ‘day1/Lesson1’? yrm: remove directory ‘day1/Lesson3’? yrm: remove directory ‘day1/Lesson2’? yrm: remove directory ‘day1’? y
這會(huì)刪除 day1 目錄及其內(nèi)部的所有文件和子目錄。
強(qiáng)制刪除文件或目錄 (-f) :
使用 -f 選項(xiàng)可以強(qiáng)制刪除文件或目錄,不會(huì)提示確認(rèn),且即使文件不存在也不會(huì)報(bào)錯(cuò)
遞歸并強(qiáng)制刪除 (-rf 或 -fr) :
使用 -rf 選項(xiàng)可以遞歸并強(qiáng)制刪除目錄及其中的所有內(nèi)容:代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ Lesson]# rm -rf Practice
刪除空目錄 (-d) :
使用 -d 選項(xiàng)可以刪除空目錄:只會(huì)刪除空的目錄,如果目錄內(nèi)有文件或其他目錄,會(huì)提示錯(cuò)誤代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ Practice]# rm -d Winterrm: remove directory ‘Winter’? y
注意:
rm 命令是 不可恢復(fù)的操作。一旦刪除文件或目錄,它們不會(huì)放入回收站,也無法通過普通方法恢復(fù)。在使用 rm -rf 時(shí)要非常小心,因?yàn)樗鼤?huì)刪除目錄及其所有內(nèi)容,沒有任何確認(rèn)步驟。8、cp指令
cp 命令是 Linux系統(tǒng)中用于復(fù)制文件和目錄 的命令。它是非常基礎(chǔ)且常用的文件管理命令之一,用于復(fù)制文件或目錄到指定的位置。
基本語法:
cp [選項(xiàng)] 源文件 目標(biāo)文件 源文件/目錄:要復(fù)制的文件或目錄。 目標(biāo)文件/目錄:復(fù)制到的位置。
復(fù)制單個(gè)文件:
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
cp test.cpp dst
這條命令會(huì)將 test.cpp文件復(fù)制到 dst,如果目標(biāo)是一個(gè)目錄,源文件會(huì)被復(fù)制到該目錄下。
復(fù)制多個(gè)文件到指定目錄:
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
cp test1.cpp test2.cpp test3.cpp dst
這條命令會(huì)將 test1.cpp test2.cpp test3.cpp文件復(fù)制到dst目錄中。
遞歸復(fù)制目錄 (-r ) : 使用 -r(遞歸)選項(xiàng),可以復(fù)制目錄及其內(nèi)容(包括子目錄和文件):
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
cp -r src dst
這條命令會(huì)將 src 目錄及其所有內(nèi)容遞歸復(fù)制到 dst。
交互式復(fù)制 (-i) :
使用 -i 選項(xiàng),當(dāng)目標(biāo)文件已存在時(shí),cp 會(huì)詢問是否覆蓋文件,避免不小心覆蓋重要文件:代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ Lesson]# cp -i test1.cpp test2.cppcp: overwrite ‘test2.cpp’? y
如果 dst 已經(jīng)存在,系統(tǒng)會(huì)提示確認(rèn)是否覆蓋
強(qiáng)制復(fù)制 (-f) :
使用 -f 選項(xiàng)可以強(qiáng)制覆蓋目標(biāo)文件,不會(huì)詢問確認(rèn):代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
cp -f src dst
保留文件屬性 (-p) :
使用 -p 選項(xiàng)復(fù)制文件時(shí),會(huì)保留文件的原有屬性,如修改時(shí)間、訪問時(shí)間、權(quán)限等:代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
cp -p src dst
顯示復(fù)制過程 (-v):
使用 -v(verbose)選項(xiàng),cp 會(huì)顯示詳細(xì)的復(fù)制過程,顯示正在復(fù)制的文件名:代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[root@iZbp1dkpw5hx2lyh7vjopaZ Lesson]# cp -v test1.cpp test2.cppcp: overwrite ‘test2.cpp’? y‘test1.cpp’ -> ‘test2.cpp’
9、mv指令
mv(move)命令是 Linux 系統(tǒng)中用于 移動(dòng)文件或目錄 的命令,也可以用于 重命名文件或目錄。
基本語法:
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
mv [選項(xiàng)] 源文件/目錄 目標(biāo)文件/目錄
移動(dòng)文件到指定目錄:
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
mv srcfile /path/to/destination/
這會(huì)將 源文件src 移動(dòng)到 /path/to/destination/ 指定目錄。
重命名文件:
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
mv old_file_name new_file_name
這會(huì)將文件 old_file_name 重命名為 new_file_name。如果目標(biāo)文件已經(jīng)存在,它將被覆蓋(沒有任何提示)
移動(dòng)多個(gè)文件到指定目錄:
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
mv srcfile1 srcfile2 srcfile3 /path/to/destination/
這會(huì)將多個(gè)文件(如srcfile1 srcfile2 和 srcfile3 )移動(dòng)到指定目錄。
遞歸移動(dòng)目錄 (-r 選項(xiàng)) :
mv 命令本身可以移動(dòng)目錄,但在某些情況下,你可能需要遞歸操作,尤其是在移動(dòng)子目錄時(shí)。雖然 mv 默認(rèn)支持遞歸,但如果需要,你可以加上 -r選項(xiàng)代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
mv -r src_directory /path/to/destination/
這會(huì)將 src_directory 及其內(nèi)容移動(dòng)到目標(biāo)路徑。
交互式移動(dòng) (-i 選項(xiàng)) :
使用 -i 選項(xiàng)可以在目標(biāo)文件已存在時(shí),提示用戶確認(rèn)是否覆蓋文件。防止意外覆蓋重要文件:代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
mv -i file1.txt file2.txt
如果 file2.txt 已存在,mv 會(huì)提示你是否確認(rèn)覆蓋。
強(qiáng)制移動(dòng) (-f 選項(xiàng)):
使用 -f 選項(xiàng)可以強(qiáng)制移動(dòng)文件或目錄,即使目標(biāo)位置已有同名文件也不會(huì)提示確認(rèn),直接覆蓋代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
mv -f file1.txt file2.txt
本文指令小結(jié)
命令
描述
常見選項(xiàng)
ls
列出當(dāng)前目錄下的文件和目錄
-l: 詳細(xì)列表-a: 顯示所有文件(包括隱藏文件)
pwd
顯示當(dāng)前工作目錄
無選項(xiàng)
cd
改變當(dāng)前工作目錄
無選項(xiàng)
touch
創(chuàng)建一個(gè)空文件或更新文件的時(shí)間戳
-t: 按時(shí)間排序-p: 保留文件屬性-i: 交互模式
mkdir
創(chuàng)建一個(gè)新的目錄
-p: 創(chuàng)建父級(jí)目錄-v: 顯示詳細(xì)過程
tree
以樹形結(jié)構(gòu)顯示目錄內(nèi)容
-L: 設(shè)置最大層級(jí)顯示-a: 顯示隱藏文件-v: 顯示詳細(xì)過程
rm
刪除文件或目錄
-r: 遞歸刪除-f: 強(qiáng)制刪除-i: 交互模式
cp
復(fù)制文件或目錄
-r: 遞歸復(fù)制-i: 交互模式-v: 顯示詳細(xì)過程-f: 強(qiáng)制覆蓋
mv
移動(dòng)或重命名文件或目錄
-i: 交互模式-f: 強(qiáng)制移動(dòng)-v: 顯示詳細(xì)過程
寫在最后