Linux 常用命令

在日常工作學習中,總是忘記 linux 命令怎麼敲,特此做一下記錄,方便翻閱查詢

1、定時任務

向 /etc/crontab 新增一條定時任務

service crond start 啟動服務

service crond stop 關閉服務

service crond restart 重啟服務

service crond reload 重新載入配置

Linux 常用命令

定時配置說明

在以上任何值中,星號(*)可以用來代表所有有效的值。譬如,月份值中的星號意味著在滿足其它制約條件後每月都執行該命令。

整數間的短線(-)指定一個整數範圍。譬如,1-4 意味著整數 1、2、3、4。

用逗號(,)隔開的一系列值指定一個列表。譬如,3, 4, 6, 8 標明這四個指定的整數。

正斜線(/)可以用來指定間隔頻率。在範圍後加上 / 意味著在範圍內可以跳過 integer。

譬如,0-59/2 可以用來在分鐘欄位定義每兩分鐘。間隔頻率值還可以和星號一起使用。例如,*/3 的值可以用在月份欄位中表示每三個月執行一次任務。

開頭為井號(#)的行是註釋,不會被處理

例項 1:每 1 分鐘執行一次 command命令:* * * * * command例項 2:每小時的第 3 和第 15 分鐘執行命令:3,15 * * * * command例項 3:在上午 8 點到 11 點的第 3 和第 15 分鐘執行命令:3,15 8-11 * * * command例項 4:每隔兩天的上午 8 點到 11 點的第 3 和第 15 分鐘執行命令:3,15 8-11 */2 * * command例項 5:每個星期一的上午 8 點到 11 點的第 3 和第 15 分鐘執行命令:3,15 8-11 * * 1 command例項 6:每晚的 21:30 重啟 smb 命令:30 21 * * * /etc/init。d/smb restart例項 7:每月 1、10、22 日的 4:45 重啟 smb 命令:45 4 1,10,22 * * /etc/init。d/smb restart例項 8:每週六、週日的 1:10 重啟 smb命令:10 1 * * 6,0 /etc/init。d/smb restart例項 9:每天 18:00 至 23:00 之間每隔 30 分鐘重啟 smb 命令:0,30 18-23 * * * /etc/init。d/smb restart例項 10:每星期六的晚上 11:00 pm 重啟 smb 命令:0 23 * * 6 /etc/init。d/smb restart例項 11:每一小時重啟 smb 命令:* */1 * * * /etc/init。d/smb restart例項 12:晚上 11 點到早上 7 點之間,每隔一小時重啟 smb 命令:* 23-7/1 * * * /etc/init。d/smb restart例項 13:每月的 4 號與每週一到週三的 11 點重啟 smb 命令:0 11 4 * mon-wed /etc/init。d/smb restart例項 14:一月一號的 4 點重啟 smb 命令:0 4 1 jan * /etc/init。d/smb restart例項 15:每小時執行 /etc/cron。hourly 目錄內的指令碼命令:01 * * * * root run-parts /etc/cron。hourly說明:run-parts這個引數了,如果去掉這個引數的話,後面就可以寫要執行的某個指令碼名,而不是目錄名了

檢視是否有定時任務在執行: pgrep cron

開啟定時任務日誌

# 將/etc/rsyslog。d/50-default。conf 裡的 #cron。* 去掉註釋,重啟則可以在 /var/log/cron。log 可以檢視日誌service rsyslog restart

2、檢視檔案及目錄

ls -l(-l是字母不是“1”)就能展示出是檔案還是目錄,它的大小、修改日期和時間、檔案或目錄的名字以及檔案的屬主和它的許可權

ls -lh 組合選項,以易讀方式來顯示大小

ls -a 列出所有檔案包括以 ‘。’ 開頭的隱藏檔案

ls -ltr 組合選項能以檔案或目錄的最新修改時間的次序來顯示它們

ls -lS 組合選項能按檔案從大到小的次序顯示

ls -R 選項能列出非常長的目錄樹

ls -l /home 列出 /home 目錄下的檔案

3、定義別名

alias ls=“ls -l” 定義 ls 命令為 ls -l,以後執行 ls 時,就相當於執行 ls -l

alias 檢視當前定義的別名

unalias ls 刪除定義的別名

4、壓縮檔案和資料夾

。tar 是打包過的檔案,可以將多個檔案合併為一個壓縮包,但是該命令並沒有壓縮功能,需要與 gzip 或 bzip2 一同使用,。tar。gz 才是打包壓縮過的檔案

。tar。gz 常見於 unix 系統,在 ubuntu 或 macos 可以直接解壓,而 。zip 常見於 windows 系統,zip 在 linux 系統需要安裝才能使用

tar命令也提供了很多有用的選項,如下所示。-c:新建打包檔案;-t:檢視打包檔案中包含哪些檔名;-x:解包或解壓縮;-j:透過bzip2的支援進行壓縮/解壓縮;-z:透過gzip的支援進行壓縮/解壓縮;-C(大寫C):指定特定目錄解壓;-p:打包過程中保留原始檔的屬性和許可權;-v:輸出打包過程中正在處理的檔名。tar -zcvf FileName。tar。gz DirName # 打包並壓縮 目錄 DirNametar -zcvf FileName。tar。gz FileName # 打包並壓縮 檔案 FileNametar -zxvf FileName。tar。gz # 解壓tar -C DesDirName -zxvf FileName。tar。gz # 解壓到目標路徑

安裝 apt-get install zip unzip

壓縮檔案 zip -r pic。zip mypic。jpg

壓縮資料夾 zip -r pic。zip 。/*

解壓縮到當前目錄 unzip pic。zip

解壓縮到指定目錄 unzip -o -d /data pic。zip

5、刪除檔案和資料夾

rm -rf /tmp 刪除 tmp 資料夾及其下的所有檔案和目錄

rm -f /tmp/test。txt 刪除檔案

rm text。txt 刪除檔案

-r 向下遞迴,不管有多少級目錄,一併刪除

-f 直接強行刪除,沒有任何提示

6、建立檔案或資料夾

touch console。log

mkdir /home/app

7、開啟xftp, 傳輸檔案

上傳:拖動檔案到 Xshell 命令框,或者 put 【檔名】或者 put -r 【資料夾】

下載:get 【檔名】或者 get r 【資料夾】, 檢視下載路徑 lpwd

輸入 help 檢視命令幫助

也可以使用

rz(上傳) sz(下載)

工具來實現,

apt-get install lrzsz

推薦使用 WinSCP 軟體作為上傳下載工具

8、複製 | 移動 檔案

複製:cp -r 【資料夾|檔案】【資料夾】,-r 為遞迴所有檔案和目錄

移動:mv -f 【資料夾|檔案】【資料夾】,-f 為強制覆蓋同名物件

兩臺伺服器之間 copy 檔案

scp -r root@192。168。38。110:/root/index。js /home/dev/ops/data # 複製到本機scp -r /home/dev/ops/data/index。js root@192。168。38。110:/root # 複製到遠端

9、vim 編輯器使用

安裝 apt-get install vim

開啟檔案 vim /data/index。js

跳轉到行,輸入數字 120 再按 + 號

編輯輸入 按 insert

退出編輯 按 Esc

儲存 :wq 或 退出 :q,:wq! 、:q! 表示強制處理

10、cat 檢視檔案

cat /data/test。js

cat 。/src/article/api。js | tail -n +1000| head -n 500 (檢視從第1000行起的500行)

11、檢視當前時間

date

12、登入其他機器

ssh -p 22 root@172。17。38。110

13、查詢檔案

find /usr/share -name test。jpg // find [path] [option] [action]

14、開啟 gz 字尾檔案

vim -b /var/log/syslog。1。gz

15、向 。env 等檔案裡新增內容

# 追加一行echo NODE_ENV=dev >> 。env# 將所有環境變數匯入env >> 。env

16、檢視埠被佔用

# 檢視已經連線的服務埠(ESTABLISHED)netstat -a# 檢視所有的服務埠(LISTEN,ESTABLISHED)netstat -ap# 檢視指定埠,可以結合grep命令:netstat -ap | grep 8080

17、修改 ssh 埠

vim /etc/ssh/sshd_config# 修改埠:Port 12345# 再重啟 sshservice ssh restart# 注意,如果用的是雲主機,需要開啟相應的埠許可權

未完待續……