Linux簡易教學 | 基本指令 | 作業系統

前言

Linux 的進階用戶,基本上都是透過 Terminal 和指令/命令 (command) 來操控電腦運作的。
甚至有些電腦沒有熒幕,也只能用指令來控制,例如伺服器、raspberry pi等。
因此,如果你想更了解更多關於Linux或command line interface的操作,那麼就繼續看下去吧



介紹

其實電腦的指令大部分都是在進行文件目錄之間的處理,例如比如把文件 B 移動到 資料夾A, 新建文件 C, 改寫文件 B 的內容等等。
試想像有黑客入侵了你的電腦,多數就是為了找到你電腦裏重要的文件,然後複製過去他的電腦。
其實整個互聯網都是一個文件傳輸器,它能將你的網頁以文件的形式發送到你的電腦。
因此,學會如何在Linux擺弄文件十分重要。接下來的內容,我們就介紹一些基礎的處理文件方法:
以下內容會從 目錄管理、文件管理、資料夾管理、文件查看與編輯 方面進行介紹,讀者可從左邊目錄查詢相關指令內容


目錄管理


pwd 顯示目前目錄

打開Terminal,我們第一件事需要知道現在自己的路徑在哪,輸入pwd後按Enter即可立即查看
pwd 是 Print Working Directory 的縮寫,也就是顯示目前所在目錄的命令。

1
2
root@icthk:~$ pwd
/home/kit

ls 列出目錄資訊

1
2
root@icthk:~/home/icthk$ ls
file1.txt folder1

透過輸入ls命令,可以看到我的目錄下有file1.txt文件和folder1資料夾
我們也可以給命令加上不同的參數,使用更進階的功能,例如
1)輸出詳細資訊 -l (long 的簡寫) 這個指令會打印出文件的權限、用戶名、文件大小、修改日期、文件名

1
2
3
4
root@icthk:~/home/icthk$ ls -l
total 4
-rw-rw-r-- 1 icthk icthk 0 Jul 19 07:30 file1.txt
drwxrwxr-x 2 icthk icthk 4096 Jul 19 07:30 folder1

2) 顯示所有文件 -a (all 的簡寫) 這裏會顯示隱藏的文件 (以.開頭的文件)

1
2
$ ls -a
. .. file1 folder1 .hidden_file

3)人性化顯示 -lh (human) 這裡的文件大小使用了 K、MB、GB換算顯示,為了方便給人觀看

1
2
3
4
$ ls -lh
total 4.0K
-rw-rw-r-- 1 icthk icthk 0 Jul 19 07:38 file1.txt
drwxrwxr-x 2 icthk icthk 4.0K Jul 19 07:38 folder1

4)還有很多不同的功能,我們可以通過 –help 來查看

1
$ ls --help

cd 切換目錄

介紹完顯示目錄,和查看文件的命令之後,當然要試試如何去到另外一個目錄(地方)了,這裡我們會介紹cd指令
cd 就是change directory的簡稱,其實每次打開Terminal,它都會默認你在用戶目錄 (Home)路徑
而Terminal 中的 ~ $ 就是說你輸入指令將在 ~ 這個目錄下執行,而 ~ 這個符號代表的是你的 Home 目錄
想從 Home 去 Documents 這個資料夾的話,輸入下面的命令就可以了

1
~$ cd Downloads

接著你會看到它在下一行跳出了以下這個東西,在 $ 前面的 ~/Documents 就說明你現在已經在 Documents 這個資料夾裡了,你現在要執行的命令將會在這個目錄下生效
1
~/Downloads$

接著我們來列舉其他常用的 cd 指令:

1)返回上一级目录

1
2
~/Documents$ cd ..
~$

2)前往子資料夾

1
2
~$ cd Documents/folder1/
~/Documents/folder1$

3)返回你剛剛所在的目錄

1
2
3
4
~/Documents/folder1$ cd -
/home/icthk
~$
<br>

4)向上返回兩次

1
2
~/Documents/folder1$ cd ../../
~$

5)去往Home

1
2
~/Documents/folder1$ cd ~
~$

6)去往任何一個資料夾(目錄),需要絕對路徑

1
2
~$ cd /home/icthk/Documents/folder1
~/Documents/folder1$



文件管理

接下來就要介紹的功能是文件管理中最主要的 新建、複製、移動、移除功能

touch 新建

touch 的使用很簡單,我們先cd到 Documents 的資料夾,裏面已經有了 folder1 和 file1.txt文件了
如果我們想新建一個file2.txt文件的話,使用下面的語句就好,一個空文件就建立好了。

1
$ touch file2.txt

如果你想同時新建多個文件也是可以的
1
$ touch file3.txt file4.txt file5.txt

cp 複製

cp (copy) 是覆制文件或者資料夾的指令,常用的方式是從 “舊文件名” 複製出 “新文件名”
1)我們用之前建立好的 file1.txt 來舉例, 將 file1.txt 複製出 file1copy.txt

1
$ cp file1.txt file1copy.txt

2)複製到資料夾

1
$ cp file1.txt folder1/

3)複製資料夾,需要加上 -r (recursive)

1
$ cp -r folder1 folder2

4)複製多個指定文件,例如下面把file1copy和file2.txt 複製到 folder1/,它 會默認最後一個選項是複製去的資料夾

1
$ cp file1copy.txt file2.txt folder1/

mv 移動(+重命名)

在了解了 cp 和 mv後就好理解多了,因為操作和概念大致相同
1)移動file1.txt文件到folder1資料夾

1
$ mv  file1.txt folder1/

2)重新命名文件
想像成移動文件到原來的地點,但是以不同的文件名,這樣=重命名!

1
$ mv  file1.txt file1rename.txt

rm 移除文件

想要移除單個文件,我們可以使用 rm 命令來實現。但要注意,執行了 rm 以後是不能進行返回操作的
因此,在移除文件前必須要仔細確認,而且也別嘗試執行像這樣的操作 rm /,這會清空你的電腦!
1)移除單個文件

1
$ rm file1.txt

2)-i (interactive) 避免誤刪
避免直接刪除文件,我們在 cp 後面加一個選項 -i,在這句問句後面打上 “Yes”, “Y”, 或者任何大小寫形式的 “y” 和 “yes”,它將進行移除操作。直接回車或者打其他字母, 就會放棄這項操作。

1
2
$ rm -i file1.txt
rm: remove regular empty file 'f1'?

3)-r (recursive) 移除資料夾
此命令可以一次移除資料夾以及資料夾內的文件,與rmdir不同

1
$ rm -r folder1



資料夾管理

mkdir建立資料夾

mkdir (make directory) 照字面解釋就是創建一個資料夾的意思

1
$ mkdir folder2

若想在folder2內再新建一個文件也是可以的

1
$ mkdir folder2/folder3

rmdir 移除資料夾

rmdir (remove directory) 命令可移除資料夾,但前提是要移除的資料夾必須是空的,否則會失敗

1
$ rmdir folder3

若要刪除整個資料夾(包括裡面的文件),需要使用 rm -r 命令

1
$ rm -r folder3



查看以及編輯文件

接著,我們想要了解的是在 linux 中,怎樣可以查看和編輯文件內容,這裡將會介紹nano 和 cat 指令完成基本操作

nano 文字編輯工具

nano 是 linux自帶的一款文字編輯工具,我們使用它做為最基本的 terminal 端的文本編輯,甚至可以寫代碼 (比vi編輯器容易上手)
下面我們用 touch 創建一個txt文件,然後用nano編輯其內容

1
$ nano script.txt



然後輸入你想編輯的內容!按 “Ctrl + x” 來保存和退出,如果提示你保存,你就按一下 “y” 鍵,然後Enter確認文件名就可以保存了


cat 顯示文件內容

現在,我們可以用cat (catenate) 來顯示剛才編輯過的文件內容了

1
$ cat script.txt

而文件內容便會隨即顯示在Terminal中!

是不是很方便呢!學習了那麼多指令,接下來換你去嘗試和探索了!

文章作者: icthk
文章鏈接: https://icthk.github.io/5_Linux_Commands.html
版權聲明: 本博客所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 ICTHK Blog