實用的linux指令
- env 顯示目前系統中主要的預設變數內容
set 顯示目前系統中全部的變數內容 (環境檔 /etc/profile)
- cp -arfu 來源檔 目的(檔) a維持原屬性 r遞迴複製(目錄複製用) f強制 u是目標檔案與來源檔案有差異時才會複製
- userdel -r 刪除帳號連同資料夾
passwd -d username 刪除密碼
- ls 使用說明
-lS 依檔案大小排序
-lr 反向排序
-lt 依建檔時間排序
- head / tail -20 顯示文字檔案前/後之資料20筆
- wc -clw (位元組數/行數/字數)
- grep -r 'how are you' /doc 在/doc資料夾中搜尋字串
grep 'how are you' t1.txt 在t1.txt文件中搜尋字串
grep -v '字串' 檔案 搜尋檔案中不為字串的資料
- find -maxdepth 3 -name '*.jpg' 在三層資料夾中尋找副檔名為jpg的檔案(參閱資料)
-mtime n :n 為數字,意義為在 n 天之前的『一天之內』被更動過內容的檔案;(0代表1天內發生的事)
find -name '*.jpg' -exec rm {} + 找到副檔名為jpg的檔案並刪除
- -user username
- -name filename
- nmap [掃瞄類型] [掃瞄參數] [hosts 位址與範圍]
- nmap -O 或 nmap -A 可偵測遠端主機之作業系統
- [掃瞄類型]:主要的掃瞄類型有底下幾種:
-sP:以 ping 的方式進行掃瞄,並列出有回應的IP,不作進一步測試。
-sS:掃瞄 TCP 封包帶有 SYN 標籤的資料,列出有回應的網路服務埠(預設tcp)。
-sT:掃瞄 TCP 封包已建立的連線,預設的掃瞄方式。
-sU:以 UDP 的封包格式進行掃瞄
-sO:以 IP 的協定 ( protocol ) 進行主機的掃瞄
- [掃瞄參數]:主要的掃瞄參數有幾種:
-PT:使用 TCP 裡頭的 ping 的方式來進行掃瞄,可以獲知目前有幾部電腦存活(較常用)
-PI:使用實際的 ping (帶有 ICMP 封包的) 來進行掃瞄
-p :這個是 port range ,例如 1024-, 80-1023, 30000-60000 等等的使用方式
- [Hosts 位址與範圍]
192.168.0.100 :僅檢查一部;
192.168.0.0/24 :為 C Class 的型態,
192.168.0.0-50,60-100,103,200 :這種是變形的主機範圍
- 範例
nmap localhost 使用預設參數掃瞄本機所啟用的 port ( 預設情況下, nmap 僅會掃瞄 TCP 的協定)
nmap -sTU localhost (分析本機之TCP/UDP兩種通訊協定)
nmap -sP 172.16.0.0/16 區域網路追蹤哪些電腦存活
nmap -sS 172.16.0.0/16 列出區域網路有回應的網路服務埠
nmap -sT -p 80 172.16.3.3-100 掃描某段網路port80
- 壓縮工具(壓縮 解壓縮 副檔名)
- gzip gunzip .gz
- bzip2 bunzip2 .bz2
- zip -r xxx.zip 資料夾 -->壓縮一個資料夾
- unzip xxx.zip --->解壓縮
- fdisk指令說明
- m顯示指令說明
p切割情形
n建立新分割區
t改變檔案系統類型
d刪除分割區
w寫入
- 範例
- fdisk /dev/sdb
n , t , w
- 格式化
mkfs -t ext4 /dev/sdb1 格式化成ext4格式
- 掛載某個目錄
mkdir /home1
mount -t ext3 /dev/hdb1 /home1
umount /home1 ->卸載home1
fdisk -l 觀看分割表
- 開機自動掛載
- vi /etc/fstab
分割區 掛載的目錄 ext4格式 執行dump備份時,0代表不備份,1代表備份 執行fsck檢查檔案是否毀損,0不檢查,1優先檢查,2次之
- mount -a 安裝所有裝置以測試 (建議)
- 建立與管理使用者空間
- vim /etc/fstab
LABEL=/home /home ext4 defaults,usrquota,grpquota 1 2
- 重開機
- cd /home
guotacheck -guva -->產生aquota.user aquota.group (若無法產生,可先touch aquota.user , touch aquota.group,再guotacheck -guva兩次),建議定期檢測磁碟配額
- edquota -u spider (edquota spider) 編輯容量
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 4997096 5000000 5000000 12722 0 0
- 複製設定予其他成員
edquota -p spider ully 複製設定予ully
edquota -p spider * -->複製至全部成員 ,每個分割區目錄都有一個lost+found,需想辦法避開
- quotaon -guva 執行quota
- repquota -a | grep ully --> 檢視ully容量
- 啟用與停用
quotaon -vaug | quotaoff -vaug
- 查詢網域DNS架構
host -a wles.chc.edu.tw
- free -m / -g 查看記憶體使用情形(MB / GB)
- uptime 開機多久了
- last 查看登入記錄
- hostname 查看主機名稱
- chkconfig --list 顯示全部的服務
- 列出Apache Log之訪客IP取出IP欄位 ( cut ) 排序 ( sort ) 取出重複資料只顯示一次 ( uniq )cat access_log | cut -d ' ' -f 1 | sort | uniq
- 利用sftp上傳資料夾
- sftp user@ip
- put -r 本地端dir/. (. 記得加上) 或是 put -r 資料夾 上傳整個資料夾
lpwd lls(本地端)、pwd ls(遠端)
- 利用scp上傳資料(如果已知道伺服器上的檔案檔名適用)
- 選項與參數:-p :保留原本檔案的權限資料-r :複製來源為目錄時,可以複製整個目錄 (含子目錄)
- scp [-pr] 檔案(資料夾) user@ip:資料夾 -->本地端上傳
scp [-pr] user@ip:資料夾 檔案(資料夾) -->遠端下載
- systemctl的用法(詳閱systemd說明)
- systemctl enable / disable 服務(例如smb nmb),一開機自動啟動服務
- systemctl start / stop / restart 服務(例如smb nmb),啟動/停止/重新啟動服務
- systemctl list-units 列出全部已啟用的服務(或systemctl即可)
- systemctl list-units --type=service 只列出 service 類型的服務(常用)