?
🪐🪐🪐歡迎來到程序員餐廳💫💫💫
? ? ? ? ??主廚:邪王真眼
主廚的主頁:Chef‘s blog??
所屬專欄:c++大冒險
總有光環在隕落,總有新星在閃爍
這個是我們今天要用到的初始文件結構:
首先提一句,很多指令都是英文單詞的縮寫(敲代碼之余還可以背單詞,真不錯)
01. ls 指令
ls概括
全稱:
list? directory contents
功能 :
對于目錄,該命令列出該目錄下的所有子目錄與文件。對于文件,將列出文件名以及其他信息。
語法:
- 使用格式:
ls [-選項] [目錄或文件]
- 基礎功能:
1.不加選項、目錄、文件
只是寫下“ls”其他都不加,就會輸出當前目錄下所有目錄和文件(藍色的是目錄,白色的是文件)

2.不加選項,加目錄名
寫下“ls ?目錄名”其他都不加,就會輸出當該目錄下所有目錄和文件
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls project1
test1 test2 test3 test4
3.不加選項、加文件名
寫下“ls 文件名”其他都不加,就會輸出該文件名
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls d.txt
d.txt
- 進階功能:
選項-a
列出目錄下的所有文件,包括以 . 開頭的隱含文件。
- ls指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt project1 project2
- ls -a指令結果?
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc .code.c.swp d.txt .lesshst project1 project2 .viminfo
可以發現,ls? -a下的文件多了一堆以"."開頭的文件,我們稱之為隱藏文件
選項-d(d是指directory)
將目錄像文件一樣顯示,而不是顯示其下的文件。?
- ls指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls project1
test1 test2 test3 test4
- ls-d指令結果?
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -d project1
project1
選項-l
列出該目錄下的文件以及子目錄的的詳細信息
- ls指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt project1 project2
- ls-l指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ll
total 8
-rw-rw-r-- 1 qingguo qingguo 0 May 14 21:43 d.txt
drwxrwxr-x 6 qingguo qingguo 4096 May 14 21:25 project1
drwxrwxr-x 2 qingguo qingguo 4096 May 14 21:29 project2
選項-r
對目錄反向排序。
- ls指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt project1 project2
- ls -r指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -r
project2 project1 d.txt
選項-s
在 l 文件名后輸出該文件的大小。(大小排序,如何找到目錄下最大的文件)
- ls指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt project1 project2
- ls -s指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -s
total 8
0 d.txt 4 project1 4 project2
?選項-R? ? ? ?
? 列出所有子目錄下的文件。(遞歸)
- ls指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt project1 project2
- ls -R指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -R
.:
d.txt project1 project2./project1:
test1 test2 test3 test4./project1/test1:
a.txt b.txt c.txt./project1/test2:./project1/test3:./project1/test4:./project2:
?選項-1
一行只輸出一個文件。
- ls指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt project1 project2
- ls -1指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -1
d.txt
project1
project2
選項-F
在每個文件名后附上一個字符以說明該文件的類型,
- ls指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt project1 project2
- ?ls -F指令結果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -F
d.txt project1/ project2/
- 普通文件:沒有任何字符
- 目錄:以斜杠 / 結尾
- 可執行文件:以星號 * 結尾
- 符號鏈接:以 @ 符號結尾
- 套接字文件:以等號 = 結尾
- 命名管道(FIFO):以豎線 | 結尾
02 pwd指令
全稱:
Print Working Directory
功能:
顯示用戶當前所在的目錄?
展示:
此時我們就在/home/qingguo的目錄中
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ pwd
/home/qingguo
03. cd 指令
cd概括
Linux 系統中,磁盤上的文件和目錄被組成一棵目錄樹(如上圖),每個節點都是目錄或文件
全稱:
Change Directory
功能 :
改變工作目錄。將當前工作目錄改變到指定的目錄下。
語法:
- 使用格式:
cd 目錄名
cd .. : 返回上級目錄
- 當前目錄:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ pwd
/home/qingguo/project1/test1
- 使用cd..后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ cd ../
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ pwd
/home/qingguo/project1
可以看出回到了上一層目錄
cd /home/litao/linux/ : 絕對路徑
進入到該絕對路徑下的目錄中
- 當前目錄:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ pwd
/home/qingguo/project1/test1
- 使用cd /home/litao/linux/ : 絕對路徑后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ cd /home/qingguo/project1
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ pwd
/home/qingguo/project1
cd ../day02/ :相對路徑
進入到該相對路徑下的目錄中
- 當前目錄:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ pwd
/home/qingguo/project1/test1
- 使用cd ../day02/ :后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ cd ../project2
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project2]$ pwd
/home/qingguo/project2
cd ~:
進入用戶家目
- 當前目錄:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ pwd
/home/qingguo/project1/test1
- 使用cd ~后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ cd ~
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ pwd
/home/qingguo
cd -:
返回最近訪問目錄,并打印該目錄
- 當前目錄:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z home]$ cd qingguo
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ cd project1
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ pwd
/home/qingguo/project1
- 使用cd -后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ cd -
/home/qingguo
04. touch指令
語法 :touch?[ 選項 ]...? 文件 ...
基礎功能:
touch 命令參數可新建一個不存在的文件。
注意:我們建立的是文件不是目錄,與后面的mkdir指令分開
- 使用該指令之前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tree ./
./
├── test1
│?? ├── a1
│?? ├── a.txt
│?? ├── b.txt
│?? └── c.txt
├── test2
├── test3
├── test4
└── test5
- 使用該指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ touch test6.txt
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tree ./
./
├── test1
│?? ├── a1
│?? ├── a.txt
│?? ├── b.txt
│?? └── c.txt
├── test2
├── test3
├── test4
├── test5
└── test6.txt
進階功能
touch 命令參數可更改文檔或目錄的日期時間,包括存取時間和更改時間
常用選項 :
- -a???或--time=atime或--time=access或--time=use只更改存取時間。
- -c???或--no-create? 不建立任何文檔。
- -d? 使用指定的日期時間,而非現在的時間。
- -m???或--time=mtime或--time=modify? 只更改變動時間。
- -r? 把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同。
- -t? 使用指定的日期時間,而非現在的時間
05.mkdir指令:
語法 : mkdir?[ 選項 ]?dirname...
基礎功能:
mkdir -?目錄名
- 使用該指令前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tree ./
./
├── test1
│?? ├── a1
│?? ├── a.txt
│?? ├── b.txt
│?? └── c.txt
├── test2
├── test3
└── test4
- 使用該指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ mkdir test5
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tree ./
./
├── test1
│?? ├── a1
│?? ├── a.txt
│?? ├── b.txt
│?? └── c.txt
├── test2
├── test3
├── test4
└── test5
在當前目錄下創建一個名為 “dirname”的目錄
常用選項:
-p,?--parents?
可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統將自動建立 好那些尚不存在的目錄,即一次可以建立多個目錄
mkdir –p test/test1 :?通過 遞歸的方式建立多個目錄
- 使用ls -?p指令前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
├── project1
│?? ├── test1
│?? │?? ├── a.txt
│?? │?? ├── b.txt
│?? │?? └── c.txt
│?? ├── test2
│?? ├── test3
│?? └── test4
├── project2
│?? ├── a.out
│?? └── test1.c
└── project3└── test1└── a
- 使用ls -p后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ mkdir -p project4/test1/a1
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
├── project1
│?? ├── test1
│?? │?? ├── a1
│?? │?? ├── a.txt
│?? │?? ├── b.txt
│?? │?? └── c.txt
│?? ├── test2
│?? ├── test3
│?? └── test4
├── project2
│?? ├── a.out
│?? └── test1.c
├── project3
│?? └── test1
│?? └── a
└── project4└── test1└── a1
總結:
ok,現在我們也是正式邁入linux的大門了,今天算是淺淺的學習了五個指令,下期博客繼續和你一起探索linux指令的奧秘,