# 查詢應用
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
man [instruction] | 查詢指令相關說明 | 在裡面打 /[search] 可以搜尋 [search] | man ifconfig |
which [instruction] | 查詢指令所在的絕對路徑 | which shutdown | |
history | 查詢紀錄 | ||
ifconfig | 查詢網路 ip | ||
ip a | 查詢所有網路設備相關訊息 | ||
time vim [file] | 計時開啟檔案時間 | time vim ex1.txt |
# 查詢目標
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
ps aux | grep [Keyword] | 查詢程序關鍵字 | ps aux|grep ftp | |
history | grep [Keyword] | 查詢歷史紀錄關鍵字 | history|grep ftp |
# 目錄操作
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
cd [directory] | 移動到目錄 | . 代表此層目錄 .. 代表上一層目錄 - 代表前一個工作目錄 ~ 代表『目前使用者身份』所在的家目錄 ~account 代表 account 這個使用者的家目錄 | cd /root |
pwd [-P] | 顯示目前所在目錄 | -P 顯示完整路徑 | |
ll | 顯示所在目錄內容 | ||
ls | 展開目錄內容 | ||
ls -R* | 連同子目錄內容一起列出來 |
# 安裝應用
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
rpm [-i|v|h] [package] | 安裝套件 | -i 安裝 -v 細部的安裝資訊 + 顯示安裝進度 -h 顯示安裝進度 | rpm -ivh ex2.rpm |
yum install [package] | 線上下載且安裝套件 | yum install vsftpd | |
yum remove [package] | 反安裝套件 | yum remove vsftpd | |
yumdownloader [package] [--destdir] [--resolve] | 線上下載套件 | --resolve 下載相依套件 --destdir 選擇存放地 | yumdownloader vsftpd --destdir /etc/rpms/ --resolve |
# 檔案讀取
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
cat [file] | 讀取檔案 | cat text.txt | |
more [file] | 讀取檔案,並一段一段檢視 | more text.txt | |
less [file] | 同 more,些微差異 | less text.txt | |
./[file] | 執行檔案 | ./script.sh |
# 連線操作
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
su | 使用管理員權限 | su | |
su - [user] | 切換使用者,並到家目錄 | su - cin2a-99 | |
ssh [user]@[ip] | 使用遠端登入 | ssh cin2a-99@192.168.1.1 | |
ftp [ip] | 登入 ftp | ftp 192.168.1.1 |
# 使用者操作
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
新建使用者 | useradd cin2a-99 | ||
刪除使用者 | -r 代表連同刪除使用者檔案 | userdel -r cin2a-99 | |
更改目前使用者密碼 | passwd | ||
更改指定使用者密碼 | passwd cin2a-99 |
# 權限更改
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
u = 擁有者,g = 群組,o = 其他使用者,a = 上述三者全部 r = 讀取,w = 寫入,x = 執行,s=t = 短暫 root 權限 普通權限數字:r=4, w=2, x=1 特殊權限數字:u+s=4, g+s=2, o+t=1" | 目錄: r = 允許 讀取 該目錄底下檔案 w = 允許在該目錄底下 刪除 / 新增 的檔案 x = 允許 進入 該目錄 檔案: r = 允許 讀取 該檔案 w = 允許 修改 / 編輯 該檔案 x = 允許 執行 該檔案 | chmod 4777 test_dir | |
chmod a=rwx [directory] | 更改檔案擁有全部權限 | chmod a=rwx test_dir | |
chmod u=rwx,g=rwx,o=rwx [directory] | 更改檔案的「擁有者、群組、其他使用者」,擁有全部權限 | chmod u=rwx,g=rwx,o=rwx test_dir chmod 777 test_dir | |
chmod u-rwx,o+rwx [directory] | 更改檔案的「擁有者」去掉所有權;「群組」新增所有權 | chmod u-rwx,o+rwx test_dir | |
chown [user1].[user2] [directory] | 更改檔案的「擁有者」為 user1;「群組」為 user2 | chown cin2a-27.cin2a-28 test_dir |
# 資料操作
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
cp [-r] [source] [purpose] | 複製 檔案 / 資料夾 | -r 複製資料夾,及內容物 | cp test.txt ./ cp -r test/ ./ |
mv [source] [purpose] | 移動 檔案 / 資料夾 | 如果在 來源 跟 目的 位置一樣,則更改名字 | mv test/test.txt ./ mv test.txt test2.txt |
touch [file] | 建立檔案 | touch text.txt | |
dd if=/dev/zero of=[file] bs=[size] count=[N] | 建立檔案,指定檔案大小為 size * N | dd if=/dev/zero of=text bs=3M count=1 | |
mkdir [-p] [directory] | 建立資料夾 | -p 幫你建立所需要目錄 | mkdir test_dir |
rm [-r|f] [file] | 刪除檔案 | -r 刪除資料夾及內容物 -f 強制刪除 | rm -rf test_dir |
diff [file1] [file2] | 檢查檔案是否有差異 | diff text1 text2 |
# 壓縮與解壓縮
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
-v 顯示過程 -j 使用.tar.bz2 格式 -f 指定檔案名稱 | |||
tar [-c|v|j|f] [filename] [copylocation] | 壓縮檔案 | -c 壓縮 | tar -cvjf tar_test /tar_dir/* |
tar [-x|v|j|f] [filename] | 解壓縮檔案 | -c 解壓縮 | tar -xvjf tar_test |
# 工作排程
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
crontab [-e|l] | 下週期性的命令 | -e 為設定命令 -l 為查詢設定的命令 | crontab -e crontab -l |
at [TIME] | 下一次性的命令 | TIME 格式為 HH:MM YYYY-MM-DD | at 23:59 2019-12-30 |
atq | 列出目前系統上面的所有該使用者的 at 排程順序 | atq | |
atrm [n] | 刪除一個在 at 排程中的工作 | 刪除的排程順序為 n | atrm 1 |
at -c [n] | 列出工作的實際指令內容 | 列出的排程順序為 n | at -c 1 |
# 磁碟
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
xfs 為 xfsprogs 工具 | |||
df -h | 查詢分割區使用狀況 | df -h | |
lsblk | 查詢磁碟掛載 | lsblk | |
blkid | 列出裝置的 UUID 等參數 | blkid | |
parted [/dev/sdb] print | 列出磁碟的分割表類型與分割資訊 | parted /dev/sdb print | |
fdisk [/dev/sdb] | 磁碟分割,MBR 分割表格式 | fdisk /dev/sdb | |
gdisk [/dev/sdb] | 磁碟分割,GPT 分割表格式 | gdisk /dev/sdb | |
mkfs.xfs [/dev/sdb] | 格式化磁碟 | mkfs.xfs /dev/sdb | |
mount [/dev/sdb] [hd1] | 掛載磁碟 | mount /dev/sdb hd1 | |
mount -a | 將可掛載的全掛載 | mount -a | |
umount [/dev/hd1] | 卸載 | umount /dev/hd1 | |
quota | 查詢目前空間配額 | quota | |
repquota -a | 查詢全部使用者空間配額 | repquota -a | |
xfs_quota -x -c ’limit bsoft=[M1] bhard=[M2] [user]’ /[home] | 為使用者設定配額 | 軟配額 M1 硬配額 M2 指定配額位置 home | xfs_quota -x -c ’limit bsoft=2M bhard=3M cin2a-27’ /home |
# 介面更改
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
systemctl get-default | 查詢目前介面 | ||
systemctl set-default multi-user.target | 切換為文字介面 | ||
systemctl set-default graphical.targer | 切換為圖形介面 |
# 程序控制
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
systemctl status [name] | 查詢程序狀態 | systemctl status httpd | |
systemctl start [name] | 開啟程序 | systemctl start httpd | |
systemctl stop [name] | 停止程序 | systemctl stop httpd | |
systemctl restart [name] | 重新啟動程序 | systemctl restart httpd | |
systemctl enable [name] | 永久開啟程序 | systemctl enable httpd | |
systemctl disable [name] | 永久關閉程序 | systemctl disable httpd |
# 防火牆
指令範例 | 說明 | 特別說明 | 範例 |
---|---|---|---|
--permanent 為永久生效 | |||
firewall-cmd --add-service=[protocol] [--permanent] | 指定防火牆允許服務 | firewall-cmd --add-service=http --permanent | |
firewall-cmd --remove-service=[protocol] [--permanent] | 指定防火牆不允許服務 | firewall-cmd --remove-service=http --permanent | |
firewall-cmd --add-port=[port]/tcp [--permanent] | 指定防火牆允許 port | firewall-cmd --add-port=80/tcp --permanent | |
firewall-cmd --remove-port=[port]/tcp [--permanent] | 指定防火牆不允許 port | firewall-cmd --remove-port=80/tcp --permanent | |
firewall-cmd --reload | 重新讀取設定檔 | firewall-cmd --reload |