文件系統 文件系統結構 tip:[start]僅舉例常見內容tip:[end] / 根目錄 bin 可執行文件命令 (ls,...) etc 配置文件 (nginx代理伺服器配置文件,...) var 日誌log文件 lib 存頭文件/安裝包 home 用戶的家目錄 (/home/acs,...) ...
文件系統
文件系統結構
tip:[start]僅舉例常見內容tip:[end]
/
根目錄bin
可執行文件命令 (ls,...)etc
配置文件 (nginx代理伺服器配置文件,...)var
日誌log文件lib
存頭文件/安裝包home
用戶的家目錄 (/home/acs,...)proc
進程信息文件 (cpuinfo系統資源,...)
路徑
- 絕對路徑:從根目錄開始描述
/home/acs/main.cpp
- 相對路徑:從當前路徑(在home下)開始描述
acs/main.cpp
- 當前目錄:
./
- 上級目錄:
../
- 家目錄:
~/
==/home/acs
- 根目錄:
/
文件管理常用指令
-
homework n show/create/test [n]
:僅在acwing伺服器中適用,作業相關 -
ctrl c
:取消命令,並且換行,關掉當前進程 -
history
:顯示歷史操作 -
ctrl u
:清空本行命令 -
tab
:可以補全命令和文件名,如果補全不了快速按兩下tab鍵,可以顯示備選選項 -
ls
:列出當前目錄下所有文件,藍色的是文件夾,白色的是普通文件,綠色的是可執行文件ls -l
:文件長信息 許可權 大小 修改時間ls -lh
:人性化輸出長信息(帶h的都是長信息)ls -a
:隱藏文件也可以看(文件要是.開頭就是隱藏文件)ls -A
:不顯示當前和上一級目錄ll
:是ls -la的簡寫
-
pwd
:顯示當前路徑(絕對路徑) -
cd XXX
:進入XXX目錄下,目錄可以是相對路徑也可以是絕對路徑cd ..
:返回上層目錄cd -
:返回上一次訪問的目錄,一直用就是兩個目錄來回切換cd
:不管在什麼地方 cd就會返回家目錄
-
cp XXX YYY
:將XXX複製成YYY,XXX和YYY可以是一個路徑/文件cp a/tmp.txt b
:複製+粘貼文件cp a/tmp.txt b/tmp2.txt
:複製+粘貼+重命名cp a b -r
:複製+粘貼a文件夾到b文件夾下cp a c -r
:將a在當前文件夾下複製一份命名為c(此時c不存在)
-
mv XXX YYY
:將XXX文件移動到YYY,和cp命令一樣,XXX和YYY可以是一個路徑,重命名也是用這個命令mv a/tmp.txt b
:剪切+粘貼+重命名- 與cp用法相同
-
mkdir XXX
:創建目錄XXXmkdir y c
:創建y和c兩個文件夾,帶空格要加轉義字元\
mkdir y\ c
:創建y c一個文件夾mkdir a/b/c -p
:創建一串目錄,-p有就跳過沒有就創建
-
rm XXX
:刪除普通文件rm XXX -r
:刪除文件夾rm tmp1.txt tmp2.txt
:刪除多個文件- 支持正則:
rm *.txt
刪除全部以txt為尾碼的文件 rm * -r
:刪除全部文件rm a/*
:刪除a目錄下全部文件,不刪除文件夾rm a/* -r
:刪除a目錄下全部文件,不刪除保護文件rm a/* -rf
:刪除a目錄下全部文件,包括保護文件(危!)rm /* -rf
:刪除所有文件,'/'表示根目錄!
- 支持正則:
-
touch XXX
:創建一個文件 -
cat XXX
:展示文件XXX中的內容 -
複製文本
- windows/Linux下:
Ctrl + insert
- Mac下:
command + c
- windows/Linux下:
-
粘貼文本
- windows/Linux下:
Shift + insert
- Mac下:
command + v
- windows/Linux下:
練習
(0) 創建好作業後,先進入文件夾/home/acs/homework/lesson_1/
acs@07e1e01d2ed1:~$ homework 1 create
acs@07e1e01d2ed1:~$ cd ~/
acs@07e1e01d2ed1:~$ ls
homework
acs@07e1e01d2ed1:~$ cd homework
acs@07e1e01d2ed1:~/homework$ ls
lesson_1
acs@07e1e01d2ed1:~/homework$ cd lesson_1/
(0) 進入homework_0文件夾,分別創建文件夾dir_a, dir_b, dir_c
acs@07e1e01d2ed1:~/homework/lesson_1$ ls
homework_0 homework_2 homework_4 homework_6 homework_8
homework_1 homework_3 homework_5 homework_7 homework_9
acs@07e1e01d2ed1:~/homework/lesson_1$ cd homework_0
acs@07e1e01d2ed1:~/homework/lesson_1/homework_0$ mkdir dir_a dir_b dir_c
acs@07e1e01d2ed1:~/homework/lesson_1/homework_0$ ls
dir_a dir_b dir_c
(1) 進入homework_1文件夾,將a.txt, b.txt, c.txt 分別複製成: a.txt.bak, b.txt.bak, c.txt.bak
acs@07e1e01d2ed1:~/homework/lesson_1/homework_0$ cd ../homework_1
acs@07e1e01d2ed1:~/homework/lesson_1/homework_1$ ls
a.txt b.txt c.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_1$ cp a.txt a.txt.bak
acs@07e1e01d2ed1:~/homework/lesson_1/homework_1$ cp b.txt b.txt.bak
acs@07e1e01d2ed1:~/homework/lesson_1/homework_1$ cp c.txt c.txt.bak
(2) 進入homework_2文件夾,將a.txt, b.txt, c.txt 分別重命名為: a_new.txt, b_new.txt, c_new.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_1$ cd ../homework_2
acs@07e1e01d2ed1:~/homework/lesson_1/homework_2$ mv a.txt a_new.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_2$ mv b.txt b_new.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_2$ mv c.txt c_new.txt
(3) 進入homework_3文件夾,將dir_a文件夾下的a.txt, b.txt, c.txt分別移動到文件夾dir_b下
acs@07e1e01d2ed1:~/homework/lesson_1/homework_2$ cd ../homework_3
acs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ mv dir_a/a.txt dir_b
acs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ mv dir_a/b.txt dir_b
acs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ mv dir_a/c.txt dir_b
acs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ ls dir_b/
a.txt b.txt c.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ ls dir_a
(4) 進入homework_4文件夾,將普通文件a.txt, b.txt, c.txt刪除
acs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ cd ../homework_4
acs@07e1e01d2ed1:~/homework/lesson_1/homework_4$ rm a.txt b.txt c.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_4$ ls
(5) 進入homework_5文件夾,將文件夾dir_a, dir_b, dir_c刪除
acs@07e1e01d2ed1:~/homework/lesson_1/homework_4$ cd ../homework_5
acs@07e1e01d2ed1:~/homework/lesson_1/homework_5$ rm dir_a dir_b dir_c -r
acs@07e1e01d2ed1:~/homework/lesson_1/homework_5$ ls
(6) 進入homework_6文件夾,查看task.txt的內容,並按其指示進行操作
acs@07e1e01d2ed1:~/homework/lesson_1/homework_5$ cd ../homework_6
acs@07e1e01d2ed1:~/homework/lesson_1/homework_6$ cat task.txt
將task.txt重命名為done.txt, 創建目錄dir_a,將done.txt移動到目錄dir_a下
acs@07e1e01d2ed1:~/homework/lesson_1/homework_6$ mv task.txt done.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_6$ mkdir dir_a
acs@07e1e01d2ed1:~/homework/lesson_1/homework_6$ mv done.txt dir_a/
acs@07e1e01d2ed1:~/homework/lesson_1/homework_6$ ls dir_a/
done.txt
(7) 進入homework_7文件夾,創建文件夾dir_0, dir_1, dir_2,
將a.txt, b.txt, c.txt複製到dir_0下,重命名為a0.txt, b0.txt, c0.txt;
將a.txt, b.txt, c.txt複製到dir_1下,重命名為a1.txt, b1.txt, c1.txt;
將a.txt, b.txt, c.txt複製到dir_2下,重命名為a2.txt, b2.txt, c2.txt;
acs@07e1e01d2ed1:~/homework/lesson_1/homework_6/dir_a$ cd ../homework_7
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ mkdir dir_0 dir_1 dir_2
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ ls
a.txt b.txt c.txt dir_0 dir_1 dir_2
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp a.txt dir_0/a0.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp b.txt dir_0/b0.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp c.txt dir_0/c0.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ ls
a.txt b.txt c.txt dir_0 dir_1 dir_2
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp a.txt dir_1/a1.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp b.txt dir_1/b1.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp c.txt dir_1/c1.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ ls
a.txt b.txt c.txt dir_0 dir_1 dir_2
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp a.txt dir_2/a2.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp b.txt dir_2/b2.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp c.txt dir_2/c2.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cd dir_0
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7/dir_0$ ls
a0.txt b0.txt c0.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7/dir_0$ cd ../
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ ls dir_1
a1.txt b1.txt c1.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ ls dir_2
a2.txt b2.txt c2.txt
(8) 進入homework_8文件夾,分別在dir_a, dir_b, dir_c文件夾下查看task.txt的內容,並分別按照指示進行操作
acs@07e1e01d2ed1:~/homework/lesson_1$ cd homework_8
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ ls
dir_a dir_b dir_c
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ ls
dir_a dir_b dir_c
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ cat dir_a/task.txt
將a.txt刪除
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ rm dir_a/a.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ cat dir_b/task.txt
將b.txt重命名為b_new.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ ls dir_b
b.txt task.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ mv b.txt b_new.txt
mv: cannot stat 'b.txt': No such file or directory
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ mv dir_b/b.txt dir_b/b_new.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ cat dir_c/task.txt
將c.txt複製成c.txt.bak
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ cp dir_c/c.txt dir_c/c.txt.bak
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ ls dir_c
c.txt c.txt.bak task.txt
(9) 進入homework_9文件夾,將其中所有txt類型的文件刪除
acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ cd ../homework_9
acs@07e1e01d2ed1:~/homework/lesson_1/homework_9$ ls
file_0.dmg file_12.dmg file_16.dmg file_2.doc file_23.txt file_27.txt file_4.dmg file_8.dmg
file_1.ppt file_13.ppt file_17.ppt file_20.dmg file_24.dmg file_28.dmg file_5.ppt file_9.ppt
file_10.doc file_14.doc file_18.doc file_21.ppt file_25.ppt file_29.ppt file_6.doc
file_11.txt file_15.txt file_19.txt file_22.doc file_26.doc file_3.txt file_7.txt
acs@07e1e01d2ed1:~/homework/lesson_1/homework_9$ rm *.txt -r
acs@07e1e01d2ed1:~/homework/lesson_1/homework_9$ ls
file_0.dmg file_12.dmg file_16.dmg file_2.doc file_22.doc file_26.doc file_4.dmg file_8.dmg
file_1.ppt file_13.ppt file_17.ppt file_20.dmg file_24.dmg file_28.dmg file_5.ppt file_9.ppt
file_10.doc file_14.doc file_18.doc file_21.ppt file_25.ppt file_29.ppt file_6.doc
(10) homework 1 test 可以評測lesson_1的所有作業
acs@07e1e01d2ed1:~/homework/lesson_1/homework_9$ cd ../../../
acs@07e1e01d2ed1:~$ homework 1 test
homework_0 is Right!
homework_1 is Right!
homework_2 is Right!
homework_3 is Right!
homework_4 is Right!
homework_5 is Right!
homework_6 is Right!
homework_7 is Right!
homework_8 is Right!
homework_9 is Right!
score: 100/100