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 表示
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:例行性工作排程
編輯 crontab:crontab -e
資料來源:http://b00.tw/f2Ic4
留言
張貼留言