# 查詢應用

指令範例說明特別說明範例
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]登入 ftpftp 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;「群組」為 user2chown 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 * Ndd 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-DDat 23:59 2019-12-30
atq列出目前系統上面的所有該使用者的 at 排程順序atq
atrm [n]刪除一個在 at 排程中的工作刪除的排程順序為 natrm 1
at -c [n]列出工作的實際指令內容列出的排程順序為 nat -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]指定防火牆允許 portfirewall-cmd --add-port=80/tcp --permanent
firewall-cmd --remove-port=[port]/tcp [--permanent]指定防火牆不允許 portfirewall-cmd --remove-port=80/tcp --permanent
firewall-cmd --reload重新讀取設定檔firewall-cmd --reload