1、ls指令ls: 列出當前目錄內容代碼語言:JavaScript代碼運行次數:0運行復制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# lsLesson
ls -l:顯示詳細信息(權限、大小、修改時間等)。代碼語言:javascript代碼運行次數:0運行復制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# ls -ltotal 4drwxr-xr-x 3 root root 4096 Jan 14 17:24 Lesson
ls -a:顯示所有文件,包括隱藏文件(以.開頭的文件)。代碼語言:javascript代碼運行次數:0運行復制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# ls -a. .. .bash_logout .bash_profile .bashrc .cache .cshrc Lesson .pip .pydistutils.cfg .ssh .tcshrc .viminfo
ls -a -l:顯示所有文件的詳細信息代碼語言:javascript代碼運行次數:0運行復制
[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 :顯示當前所處工作目錄的絕對路徑代碼語言:javascript代碼運行次數:0運行復制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# pwd/root
Linux目錄結構
學習cd指令前,我們需要了解linux下的樹狀目錄結構

在 / (根目錄)下使用 ls 命令,可以看到如下目錄
代碼語言:javascript代碼運行次數:0運行復制
[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
以下是對這些目錄的解釋:

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

3、cd指令cd ~ 返回家目錄代碼語言:javascript代碼運行次數:0運行復制
[root@iZbp1dkpw5hx2lyh7vjopaZ Winter]# pwd/root/Lesson/Practice/Winter[root@iZbp1dkpw5hx2lyh7vjopaZ Winter]# cd ~[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# pwd/root
cd /path/to/Directory進入指定目錄。代碼語言:javascript代碼運行次數:0運行復制
[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# pwd/root[root@iZbp1dkpw5hx2lyh7vjopaZ ~]# cd Lesson/Practice/Winter/day1[root@iZbp1dkpw5hx2lyh7vjopaZ day1]# pwd/root/Lesson/Practice/Winter/day1
cd ..返回上一級目錄。代碼語言:javascript代碼運行次數:0運行復制
[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 系統中,文件是信息存儲和管理的核心。Linux 的文件系統具有高度的結構化和層次化,所有的資源(包括硬件、目錄、設備等)都被視為文件或文件的形式進行管理。理解 Linux 下的文件,有助于更好地掌握系統操作和管理。概括為一句話就是,Linux下一切皆文件!

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