基本指令
查看日期與日歷
data 指令
顯示日期
- 用法1:data
- CST:China Standard Time 時區,中國標準時間
- 用法2: data +指定格式
常用格式:- “+%Y-%m-%d”(%F): 2025-06-16
- “+%H:%M:%S”(%T): 20:19:45
- “+%F%T”
- 用法3:date -d “-1 day”
獲取之前或者之后的某個時間(備份)
符號可選值:+(之后)或者-(之前)
單位的可選值:year,month,day,hour,minute,second - 格式參數
- %F:表示完整的時間年月日
- %T:表示完整的時分秒
- %Y:表示四位年份
- %m:表示兩位月份
- %d:表示日期
- %H:表示小時
- %M:表示分鐘
- %S:表示秒數
cal 指令
calendar,顯示日歷
- 用法1:#cal
含義:顯示當前月份的日歷。等價于 #cal -1 - 用法2:#cal -3
含義:顯示上一個月+本月+下個月的日歷 - 用法3:#cal 年份
含義:顯示某年的日歷 - 用法4:#cal 月份 年份
含義:顯示某年某月的日歷
關機與重啟
reboot 指令
重新啟動計算機
shutdown 指令
關機 (慎用)
- 用法1:shutdown -h now “關機提示” 或者 shutdown -h 21:30 “關機提示”
如果想要取消關機計劃的話,則可以按照下面方式嘗試: - shutdown -c
- 取消關機計劃
其他指令
clear指令/ctrl + l快捷鍵
清除終端(把之前的信息的隱藏到了最上面)
man指令
manual,手冊(包含了 Linux 中全部命令手冊,英文)
語法:#man 命令 (退出按下q鍵)
service 指令
控制一些軟件的服務啟動/停止/重啟
- 用法:#service 服務名 start/stop/restart
vim 編譯器
一、 vi和vim
vi 編輯器是所有 Unix 及 Linux 系統下標準的編輯器,類似于 Windows 系統下的記事本。很多軟件默認使用 vi 作為他們編輯的接口。vim 是進階版的 vi,vim 可以視為一種程序編輯器。
復制 /etc/passwd 文件到自己的目錄下(不要直接修改 /etc/passwd),后面使用 passwd 文件演示 vim 命令
cp /etc/passwd ./passwd
- cp 是復制命令
- /etc/passwd 是源文件
- ./passwd 表示復制到當前目錄,命名為 passwd
下載 vim:sudo apt-get install vim
- 用法1:vim 文件路徑
含義:打開指定的文件 - 用法2:vim +數字 文件的路徑
含義:打開指定的文件,并且將光標移動到指定行 - 用法3:vim +/關鍵詞 文件的路徑
含義:打開指定的文件,并且高亮顯示關鍵詞,快速定位到文件中的某個關鍵詞,便于查找內容 - 用法4:vim 文件路徑1 文件路徑2 文件路徑3
含義:同時打開多個文件,比較多個文件或同時編輯多個文件。 - 用法5:vim -d 文件路徑1 文件路徑2
含義:兩個文件顯示不同
用法 | 作用 | 說明 | 示例 |
---|---|---|---|
vim 文件 | 打開單個文件 | 直接打開并編輯指定文件 | vim /etc/passwd |
vim +行數 文件 | 定位到特定行 | 打開文件后跳到特定行 | vim +20 myfile.txt |
vim +/關鍵詞 文件 | 定位關鍵詞 | 高亮顯示關鍵詞,并跳轉 | vim +/function main myfile.c |
vim 文件1 文件2 文件3 | 打開多個文件 | 在同一實例中編輯多個文件 | vim a.c b.c |
vim -d 文件1 文件2 | 文件差異比對 | 打開兩個文件進行差異比較 | vim -d v1.txt v2.txt |
二、 vim三種模式
vim 中存在三種模式:命令模式、編輯模式(輸入模式)、末行模式。
- 命令模式:打開文件之后默認進入該模式,可以輸入快捷鍵進行一些操作:刪除、復制、粘貼、移動光標等
- 編輯模式:可以對文件的內容進行編輯
- 末行模式:可以在末行輸入命令來對文件進行操作:搜索、替換、保存、退出、撤銷、高亮等
模式切換按鍵說明:
- 進入編輯模式:
- i:insert,光標處
- I:行首(第一個非空字符)
- a:append,下一個字符
- A:行尾
- o:open,下邊插入一空行
- O:上邊插入一空行
- s:subst,取代當前字符
- S:取代當前行
- 退回命令模式:[Esc]
- 進入末行模式:
- :
- / 或 ?:進入末行模式,后面接字符串進行查找
- 退出 vim:
- q:退出
- wq:保存并退出
- q!:強制退出
- x:文件沒有修改時直接退出,在文件修改的情況下保存并退出(不要使用X,X是文件進行加密)
異常退出:在編輯文件之后并沒有正常 wq(保存退出),而是遇到突然關閉終端或者斷電的情況,則會顯示下面的效果,這個情況稱之為異常退出
解決辦法:刪除隱藏的臨時文件(以 .swp 結尾)
三、命令模式
打開文件之后默認進入該模式
1. 光標移動
- 光標上下左右移動:方向鍵 或 kjhl
- 光標上下左右移動指定行或字符:[數字]方向鍵 或 [數字]kjhl
- 光標移動到行首:^
- 光標移動到行尾:$
- 光標移動到首行:gg
- 光標移動到末行:G
- 自動格式化程序:gg=G
- 光標移動到指定行:[數字]G 或 [數字]gg
- 向上翻屏:按鍵 ctrl + b 或 PgUp
- 向下翻屏:按鍵 ctrl + f 或 PgDn
2. 復制/粘貼/剪切
- 復制光標所在行:yy
- 光標所在行的下一行新開一行粘貼(paste):p
- 以光標所在行為準(包含當前行),向下復制指定的行數:[數字]yy
- 剪切/刪除光標所在行(剪切了不粘貼就是刪除)(delete):dd
- 剪切/刪除光標所在行為準(包含當前行),向下剪切/刪除指定行:[數字]dd
- 剪切/刪除光標所在的當前行之后的內容:D
- 可視化操作(view):v(可視模式)、V(可視行)、ctrl + v(可視塊),然后按下方向鍵來選中需要操作的區塊按下 y 復制或按下 d 刪除
3. 撤銷/恢復
- 撤銷(undo):u 或者 :u (末行模式)
- 恢復(取消)之前的撤銷操作:ctrl + r
四、 末行模式
1. 保存與退出文件
- 保存操作(write)
- 保存::w
- 另存為::w 路徑
- 退出(quit)::q
- 保存并退出::wq
- 強制執行:!
- 不保存,強制退出::q!
- 強制保存退出::wq!
2. 查找與替換
- 查找:/關鍵詞 或 ?關鍵詞
- 在搜索結果中切換上/下一個結果(next):N/n
- 取消高亮(no highlight)::nohl
- 替換
- 替換光標所在行第一條原數據:: s/原數據/新數據
- 替換光標所在行全部原數據:: s/原數據/新數據/g
- 替換整個文件每行第一條原數據::%s/原數據/新數據
- 替換整個文件全部原數據::%s/原數據/新數據/g
- 符號含義:
- %表示整個文件
- g表示全局(global)
3. 顯示行號
- 顯示行號(臨時)(number)::set nu
- 取消顯示行號::set nonu
4. 執行 shell 指令
- 執行 shell 指令::![shell 指令]
舉例::!ls /
當外部命令執行結束之后按下任意鍵回到 vim
5. 切換文件
- 查看當前已經打開的文件名稱::files
- 切換指定文件::open 已經打開的文件名
- 切換到上一個文件(back prev)::bp
- 切換到下一個文件(back next)::bn
五、分屏查看
1.啟動分屏
vim可以實現分屏操作,一個屏幕被多個文件給分占,有左右和上下兩種分屏的方式。
- 啟動左右分屏:vi -On 文件1 文件2
- 啟動上下分屏:vi -on 文件1 文件2
2.編輯器中分屏
- 上下分割當前打開的文件
ctrl+w s
- 上下分割,并打開一個新的文件
:sp filename
- 左右分割當前打開的文件
ctrl+w v
- 左右分割,并打開一個新的文件
:vsp filename
3.關閉分屏
- 關閉當前窗口
ctrl+w c
- 關閉當前窗口,如果只剩最后一個,則退出vim
ctrl+w q
4.分屏間光標的移動
vim中的方向鍵是h,j,k,l,要在各個屏之間切換,只需要先按一下ctrl+w
- 把光標移動到上邊的屏
ctrl+w k 或者 ctrl+w 上方向鍵
- 把光標移動到下邊的屏
ctrl+w j或者 ctrl+w 下方向鍵
- 把光標移動到右邊的屏
ctrl+w l或者 ctrl+w 右方向鍵
- 把光標移動到左邊的屏
ctrl+w h或者 ctrl+w 左方向鍵
- 把光標移動到另一個屏
ctrl+w w
六、vim的配置
sudo vim /etc/vim/template.c
#include<stdio.h>
#include<string.h>
#include<unistd.h>
#include<pthread.h>
#include<fcntl.h>int main(int argc, char* argv[])
{return 0;
}
sudo vim ~/.vimrc
set number
" 突出顯示當前行
set cursorline
" 設定 tab 長度為 4
set tabstop=4
" 搜索時高亮顯示被找到的文本
set hlsearch
" 開啟新行時使用智能縮進
set smartindent
" 顯示命令
set showcmd
" 命令行高度
set cmdheight=2
" 設置頭文件及主函數模板
autocmd BufNewFile *.c 0r /etc/vim/template.c
- 臨時配置:末行模式下輸入的配置
- 全局配置文件:/etc/vim/vimrc(不需要修改)
- 個人配置文件:~/.vimrc
在 /etc/vim/template.c 中寫入模板:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <sys/mman.h>
#include <mqueue.h>
#include <time.h>
#include <semaphore.h>int main(int argc, char *argv[])
{return 0;
}