Linux 命令列指令

系統架構:

/bin, /sbin

/bin 主要放置一般使用者可以操作的指令,/sbin 放置系統管理員可以操作的指令。連結到 /usr/bin,/usr/sbin


/boot

主要放置開機相關檔案


/dev

放置 device 裝置檔案,包話滑鼠鍵盤等


/etc

主要放置系統檔案


/home, /root

/home 主要是一般帳戶的家目錄,/root 為系統管理者的家目錄


/lib, /lib64

主要為系統函式庫和核心函式庫,若是 64 位元則放在 /lib64。連結到 /usr/lib, /usr/lib64


/proc

將記憶體內的資料做成檔案類型


/sys

與 /proc 類似,但主要針對硬體相關參數


/usr

/usr 全名為 unix software resource 縮寫,放置系統相關軟體、服務(注意不是 user 的縮寫喔!)


/var

全名為 variable,放置一些變數或記錄檔


/tmp

全名為 temporary,放置暫存檔案


/media, /mnt

放置隨插即用的裝置慣用目錄, /mnt 為管理員/使用者手動掛上(mount)的目錄


/opt

全名為 optional,通常為第三方廠商放置軟體處


/run

系統進行服務軟體運作管理處


/srv

通常是放置開發的服務(service),如:網站服務 www 等


檔案與目錄管理指令

1. ls:list,查看檔案及子目錄


列出基本資料夾資料:ls

列出詳細資料和隱藏資料:ls -la

列出部分檔案:ls *.js

2. pwd:print work directory,印出目前工作目錄:pwd

3. cd:change directory,移動進入資料夾

移動到目前資料夾下的 home資料夾:cd ./home

移動到家目錄:~:cd ~

移動到上一層目錄 ..:cd ..

移動到根目錄 /:cd /

4. mkdir:make directory,創建新資料夾:mkdir test

5. cp:copy,複製檔案:cp test.txt

6. mv:move (rename) files,移動檔案或是重新命名檔案

移動檔案:mv test.txt /test/test.txt

重新命名:mv test.txt test_my.txt

7. rm:remove file,刪除檔案:rm test.txt

刪除目前資料夾下副檔名為 .js 檔案:rm *.js

刪除資料夾和所有檔案:rm -f test

8. touch:用來更新已存在文件的 timestamp 時間戳記或是新增空白檔案:touch test.txt

9. cat:將文件印出在終端機上:cat test.txt

10. tail:顯示檔案最後幾行內容:tail  test.txt

持續顯示更新內容,常用於 web server 看 log debug 使用:tail -f test.txt

11. more:將檔案一頁頁印在終端機上

可以使用上下移動換頁,按 q 離開:more test.txt

12. file:檢查檔案類型:file  test.txt

編輯文字檔案

1. nano:在終端機編輯文字檔案

編輯或是新增文字檔案:nano test.txt

啟動編輯完後可以使用 Ctrl + X 離開,Ctrl + V 移動到上一頁,Ctrl + Y 移動到下一頁,Ctrl + W 搜尋文字內容

2. vim:在終端機編輯文字檔案:vim test.txt

啟動後,使用 i 進入編輯,esc 離開編輯模式,:q 不儲存離開,:wq 儲存離開,:q! 強制離開

檔案權限設定

在 Linux 系統中,每一個 Linux 檔案都具有四種存取權限:

(1) 可讀取(r,Readable),用數字 4 表示

(2) 可寫入(w,writable),用數字 2 表示

(3) 可執行:(x,eXecute),用數字 1 表示

(4) 無權限(-),用數字 0 表示

系統管理者依據使用者需求來設定檔案權限,若我們想檢視檔案權限可以使用 ls -l 來查看

a. 第一欄:使用者權限
由 10 個字元組成,第一個字元表示檔案型態(- 為檔案,d 表示目錄,1 表示連結檔案)。字元 2、3、4 表示檔案擁有者的存取權限。字元 5、6、7 表示檔案擁有者所屬群組成員的存取權限。字元 8、9、10 表示其他使用者的存取權限

舉例來說 -rwxrwxr--,代表這是一格檔案,擁有者和群組都具備讀取、寫入和執行權限,其他使用者只擁有讀取權限

b. 第二欄:檔案數量

c. 第三欄:擁有者

d. 第四欄:群組

e. 第五欄:檔案大小

f. 第六欄:檔案建立時間

g. 第七欄:檔案名稱

1. chmod:修改檔案權限

將權限設為 rw-rw-r--:chmod 664 test.txt

將檔案的使用者和群組加入執行權限:chmod ug+x test.txt

2. chown:修改檔案擁有者與群組:chown www-data:www-data test.txt

系統管理

1. sudo:使用最高權限(superuser)執行指令,會要求輸入自己密碼,使用上必須非常小心:sudo git clone xxx.java

2. su:su 指令可以讓一般的 Linux 使用者輸入 root 密碼取得 root 權限,暫時取得 root 權限的使用者就如同 root 一樣可以對系統進行各種變更動作:su

3. kill:根據 Process ID 指定要終止程式:kill PID

立即強制執行:kill -9 PID

4. killall:直接使用程式的名稱來指定要終止的程式:killall hello.sh

套件管理

1. apt-get:套件管理工具

更新套件資料庫列表:sudo apt-get update

升級套件並下載安裝套件:sudo apt-get upgrade

搜尋相關軟體套件(使用名稱):apt-cache search --names-only fortune

安裝套件:sudo apt-get install fortune

移除套件:sudo apt-get remove fortune

網際網路相關操作

1. ping:網路檢測工具,透過發送 ICMP ECHO_REQUEST 的封包,檢查自己與特定設備之間的網路是否暢通,速度是否正常:ping google.com

2. traceroutes:檢查從你的電腦到網路另一端的主機是走的什麼路徑:traceroute google.com

3. nslookup:查詢 DNS 回應是否正常:nslookup google.com

其他

1. man:查詢 Linux 線上手冊(man page):man

可以使用 man 來查詢 ls 的使用用法: man ls

2. find:查詢檔案

在目前目錄下尋找檔名為 test.txt 檔案:find . -name test.txt

3. grep:強大文件字串搜尋工具grep '找這個字串' file_name

找所有目錄(含子目錄)下檔案:grep -r '字串' *

4. crontab:crontab:例行性工作排程

編輯 crontabcrontab -e


資料來源:http://b00.tw/f2Ic4

留言

熱門文章