由第一行開始顯示內容
cat filename
僅處理一次便結束排程 使用at 需要 atd 這個服務支援 atd在CentOS預設為啟動 其他的有可能無啟動
crontab所設定之工作會一直循環的進行下去,時間可為分鐘、小時、每週、每月、每年等等 除了指令執行外 可編輯/etc/crontab來支援.需要crond此服務來生效
指令
查詢自己的crontab內容
crontab -l
查看指定使用者的 crontab
sudo crontab -u 使用者 -l
編輯自己的crontab
crontab -e
編輯制定使用者的crontab
sudo crontab -u 使用者 -e
刪除crontab內容
crontab -r
分 時 日 月 星期幾 path/to/command
個人設定檔:MIN HOUR DOM MON DOW CMD
系統設定檔:MIN HOUR DOM MON DOW USER CMD
可使用特殊字元
星號*:代表任意時間
逗號,:分隔多個不同時間
減號一:代表區間
斜線加數字(/n):代表每隔n時間
一般排程範例:
30 08 * * * 每天早上8.30
30 18 * * 0 每週日下午18.30
30 18 * * Sun 每週日下午18.30
30 08 10 06 * 每年六月十號早上8.30
30 21 1,15,29 * * 每月1,15,19號晚上21.30
*/10 * * * * 每隔十分鐘
00 09-18 * * * 從早上9到晚上18 必須為整點
特殊排程(以@開頭)範例:
@reboot 每次重新開機執行一次
@yearly(@annually) 每年執行一次等同0011*
@monthly 每月執行一次 001**
@weekly 每週執行一次 00**0
@daily 每天執行一次 00***
@hourly 每小時執行一次 0****
透過HTTP Protocol(HTTP HyperText Transfer Protocol)定義取得網路資源的協定 使用client/server模式來取得
在終端機輸入 curl 網址 即可獲得該網址的response HTML,JSON,XML等格式
下載圖片 只要加上-o以及檔名
若是要直接使用下載網址的檔案檔名 則使用-O不用加上檔名 網址後需有明確檔名
可利用迴圈多次下載
下載中斷要從中斷處繼續的話使用-C
跟隨網址redirect 使用-L
追蹤curl過程 將結果存入txt 使用 –trace-ascii,可使用cat 來顯示該txt儲存之過程
-X/–request [GET|POST|PUT|DELETE|PATCH] 使用指定的 http method 來發出 http request
-H/–header 設定 request 裡所攜帶的 header
-i/–include 在 output 顯示 response 的 header
-d/–data 攜帶 HTTP POST Data
-v/–verbose 輸出更多的訊息方便 debug
-u/–user 攜帶使用者帳號、密碼
-b/–cookie 攜帶 cookie(可以是參數或是檔案位置)
curl URL 空格 URL
範例:curl -X POST –data "email=test@example.com&press=%20OK%20" URL
curl -X POST -F 'file=@./[file]' URL…
curl -X GET "URL…"
curl -X [request] -H "Content-Type:application/json -d '{json內容}' "URL…"
指令中輸入cookie
範例:curl –cookie "name=Jack" URL
從檔案讀取cookie
curl –cookie stored_cookies_file_path URL
攜帶User Agent
curl –user–agent "Mozilla/<version> (<system-information>) <platform> (<platform-details>) <extensions>" URL
若存取之網頁有使用Basic Authentication
curl -i –user username:password URL
tail [parameter][file]
預設10行
常用參數
-f 持續顯示最尾部的內容
-q 不顯示處理訊息
-v 顯示詳細處理訊息
-c數字 顯示從尾部數來幾字元
-n數字 顯示從尾部數來幾行
-z 使用gzip壓縮
-v 顯示建立tar的過程
-P 使用絕對路徑
-f 指定tar檔案名稱 通常放參數的最後
tar -czvfv filename.tgz 來源檔案
將來源檔案壓縮後 打包成filename.tgz的壓縮檔 來源可以是檔案或目錄
來源檔案可以使用多個 利用空白分隔
tar -czvf filename.tgz 來源1 來源2
檢視 解開
複製目錄
tar -cvf - 來源目錄 | tar - xvf -
grep 關鍵字 file1 file2…
可搭配*搜尋多個檔案
grep 關鍵字 /etc/*.conf 在etc目錄下所有conf檔案中尋找test
篩選含有關鍵字的檔案
ls 目錄路徑 | grep 關鍵字
預設會分大小寫 若要不分大小寫必須加上-i 顯示匹配行號要加上-n
除了關鍵字以外的資料加上-v 在某目錄下的所有檔案搜尋關鍵字可加上-r
特定檔案中尋找關鍵字使用-r搭配–include
grep -r –include="*.conf" 關鍵字 目錄
不顯示錯誤訊息 將錯誤訊息指/dev/null
grep -r 關鍵字 目錄 2>/dev/null
-A 代表after 後面接數字 顯示找到的關鍵字後面行數
-B before 之前行數
_C Context 前後之行數
關閉顏色標示加上 –color=always 或 –color=never 或 –color=auto
grep "^a" 以a開頭
grep "b$" 以b結尾
grep "^[ab]" a或b開頭
次數指定
*代表出現0次以上
?代表0次或1次
+代表1次以上
精準篩選
範例:"<net>" network就會被排除 只會出現有net的結果
ps 參數
最常使用到ps-aux 再利用管道符號導向到grep 去查詢特定的程序
awk '條件類型1{動作1},條件類型2{動作2}…'filename
cat filename | awk…
NF : 每一行 $0 擁有的欄位總數
NR : 目前awk所處理的第幾行資料
FS : 目前的分隔字元 預設為空白鍵
利用print列印時 非變數都需要用雙引號來定義
{}中如果要多個指令時需要用enter或;分開
範例:test.txt
a b c d
c o d e
A:W:C:D
O:G:W:C
Q W E R
cat /home/harry-li/桌面/test | awk'BEGIN{FS=":"}{print $1 "\t lines:"NR"\t columns:"NF $3}'
結果:
a b c d lines:1 columns:1
C O D E lines:2 columns:1
A lines:3 columns:4C
O lines:4 columns:4W
Q W E R lines:5 columns:1
資訊說明:
PID — 行程id(Process ID)
USER — 該行程使用者ㄏ
PR — 行程優先順序
NI — nice值(值越小優先權優高)
VIRT — 該行程使用的虛擬記憶體總量,單位kb(VIRT=SWAP+RES)
RES — 該行程程使用的、未被使用的實體記憶體大小,單位kb(RES=CODE+DATA)
SHR — 共用記憶體大小(單位kb)
S — 行程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程
%CPU — 上次更新到現在的CPU時間佔用百分比
%MEM — 行程使用的實體記憶體百分比
TIME+ — 行程使用的CPU時間總計,單位1/100秒
COMMAND — 行程名稱
top 參數
-b 只會吐出純文字內容無法按鍵互動
-d (秒,毫秒)更新時間差
-h top的參數以及版本代號
-i 顯示閒置的process
-n 刷新的次數
互動模式
進入top互動模式之後可以按下以下按鍵調整顯示模式
按下 b 開啓 highlight 模式
B 開啓 反白 highlight 模式
z 可以讓畫面變成彩色
Z 可修改彩色模式的顏色設定值
l 顯示/關閉 load avg 資訊
t 顯示/關閉 task/cpu 資訊
m 顯示/關閉 memory 資訊
f 可選擇要顯示的 column
o 調整顯示的欄位的位置 (透過連按該欄位的代號可調整位置)
F or O 選擇 排序的欄位
< or > 變換排序的欄位 < 換成當前排序的左邊一欄排序 > 換成當前排序的右邊一欄排序
R 昇序/降序 調整
x highlight 當前排序欄位 (需將highlight模式開啓)
y highlight 資源使用資訊 (需將highlight模式開啓)
u 選擇顯示某個user的所創立的process
n or # 設定只顯示幾列資訊
k 在top 視窗中kill process by pid
r 在top 視窗中調整process priority
d or s 調整更新時間
W 儲存當前的顯示模式設定 (排序,顯示欄位…等) ,之後執行top 指令就會載入該設定檔調整顯示模式
檔案將會存在 /home/<username>/.toprc
如要修改全域設定請先手動建立 /etc/toprc 檔案 再行輸入設定值h
按下 q 離開top
範例:
自動監看最新的網頁伺服器錯誤訊息 watch tail /var/log/httpd/error_log
調整更新速度 -n (秒) 最低不可低於0.1秒
標示差異處 -d
加上顏色 -c 最後加上--color
關閉標頭行 -t
監看管件串接 用引號將管線串接的指令包起來
從網頁伺服器記錄檔篩選來自192.168.0.123的最新瀏覽紀錄
watch grep -F 192.168.0.123 /var/log/httpd/access_log
如果只是要登陸別台機器 只需要安裝openssh-client(ubuntu有默認安裝)
若是本機要開放則要安裝openssh-server
查看是否安裝ssh指令
dpkg -l | grep ssh
安裝openssh-server
sudo apt-get install openssh-server
確認是否啟動
ps -e | grep ssh
顯示sshd 代表已啟動
ssh 該使用者username@ip
若無法登入成功檢查被連接者的防火牆
sudo afw status 若 22 被阻擋 則 使用 sudo ufw allow 22/tcp
若使用虛擬機必須先關掉Ubuntu,在VirtualBox 檔案->主機網路管理員 建立一張網路卡 再從設定->網路->介面卡2去設定 最後抓這張卡的IP即可
[Tunnel](https://blog.gtwang.org/linux/ssh-tunnel-socks-proxy-forwarding-tutorial
控制用戶對文件的權限的命令
分成三級 : 文件持有者 (Owner),用戶組(Group),其他用戶(Other Users)
只有文件持有者及超級用戶可以修改文件或目錄的權限
chmod [-cfvR] [–help] [–version] mode fiel…
權限設定格式如下
[ugoa…][[±=][rwxX]…][,…]
u 表示该文件的拥有者,
g 表示与该文件的拥有者属于同一个群体(group)者,
o 表示其他以外的人,
a 表示这三者皆是。
+表示增加权限
-表示取消权限
=表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
其他参数说明:
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本
# | 權限 | rwx | 二進制 |
---|---|---|---|
7 | 讀 寫 執行 | rwx | 111 |
6 | 讀 寫 | rw- | 110 |
5 | 讀 執行 | r-x | 101 |
4 | 讀 | r– | 100 |
3 | 寫 執行 | -wx | 011 |
2 | 寫 | -w- | 010 |
1 | 執行 | –x | 001 |
0 | 無 | –- | 000 |
將file.txt 設為所有人皆可讀取
chmod ugo+r file.txt
chmod a+r file.txt
將file.txt 與 file2.txt設為文件擁有者 與其所屬同一團體可寫入其他人不可
chmod ug+w,o-w file.txt file2.txt
將ex1.py 設為只有該文件擁有者可執行
chmod u+x ex1.py
將目前目錄下所有文件及子目錄都設為任何人可讀取
chmod -R a+r *
chmod abc file(chmod 777 file)
abc 各為一個數字 r=4 w=2 x=1 7=r+w+x 以此類推
可以先用ls -l 查詢每個檔案與目錄的擁有者與群組
更改擁有者
sudo chown 擁有者 filename
更改群組
sudo chown : 群組名 filename
同時更改
sudo chown 擁有者:群組 filename
若要輸出執行結果可加上-v 若不要回報錯誤訊息可加上-f