- vim? 文本編輯器
- ?command(命令模式) 默認模式
ZQ強制退出不保存
ZZ保存并退出
G:跳到最后一行
gg:跳到第一行
numG 或 :num 回車 跳到指定行
Ctrl+f: 向文件尾部翻一屏
Ctrl+b: 向文件首部翻一屏
Ctrl+d: 向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
~:轉換大小寫
J:刪除當前行后的換行符
r:單個字符的替換
dd 剪切一行
p 在當前行的下一行粘貼
P 在當前行的上一行粘貼
dw 剪切一個單詞
d$ 剪切光標所在位置到行尾
d^ 剪切光標所在位置到行首
num d: 剪切當前行及其向下指定數量的行
yy 復制一行
yw 復制一個單詞
y$ 復制光標所在位置到行尾
y^ 復制光標所在位置到行首
num y: 復制當前行及其向下指定數量的行
v 選擇模式
p 粘到光標所在處之后
P 粘到光標所在處之前
V 多行選擇模式
p 在當前行的下一行粘貼
P 在當前行的上一行粘貼
insert(插入模式) 編輯文本內容
i ESC回到命令模式
I 光標跳至行首并進入插入模式
A 光標跳至行尾并進入插入模式
a 光標向后移動一個字符并進入插入模式
o 光標向下插入一個新行并進入插入模式
O 光標向上插入一個新行并進入插入模式
exit(退出模式) 保存,退出 :
w保存
q退出
q!強制退出不保存
wq保存并退出
w!強制保存:
1.root
2.文件的owner
3.當前用戶對當前文件所在目錄有wx權限時,實際會刪除該文件再新建。
x=wq
x!
回到命令模式
EscEsc
Esc 等一會
Enter
:r /etc/issue 讀取文件內容,將內容輸入到當前文本的最后
:! ifconfig ens33 將命令的輸出結果顯示,并不存入文件,按q結束命令輸出
:r! ifconfig ens33 將命令的輸出結果輸入到當前光標所在行的下一行
:.! ifconfig ens33 將命令的輸出結果輸入到前當行,替換原有內容
:%s/\<root\>/rooter/g
:%s/\(\<r..t\>\)/\1er/gi 支持基本正則表達式 不加g時每行的第一個關鍵字替換,加g則全替換
地址定界
:start_pos,end_pos
# 具體第#行,例如2表示第2行
#,# 從左側#表示起始行,到右側#表示結尾行
#,+# 從左側#表示的起始行,加上右側#表示的行數
:2,+3 表示2到5行
. 當前行
$ 最后一行
.,$-1 當前行到倒數第二行
% 全文, 相當于1,$
:%s/\/bin\/bash/\/sbin\/nologin/g 或使用:%s@/bin/bash@/sbin/nologin
test用法 [ ]
== 表示字符串是否相同
-eq 表示兩個整數是否相等(可以為負,不能為浮點數)
-gt 大于左邊的數是否大于右邊的數
-ge 大于等于
-lt 小于
-le 小于等于
-ne 不等于
字符串比較
== 是否相同
!= 或 <> 表示是否不同
~= 左側字符串是否能夠被右側的PATTERN所匹配
[[ ab =~ a ]]
>
[[ b > a ]] 表示在默認編碼表中的順序,排后面的是較大的。
<
[[ a < b ]]
文件判斷
-a 或 -e filename 判斷文件是否存在,若存在則為真
-b 判斷文件是否為塊設備
-c 判斷文件是否為符號設備
-d FILE:是否存在且為目錄文件
-f FILE:是否存在且為普通文件
-h FILE 或 -L FILE:存在且為符號鏈接文件
-p FILE:是否存在且為命名管道文件
-S FILE:是否存在且為套接字文件
文件權限測試:
-r FILE:是否存在且可讀
-w FILE: 是否存在且可寫
-x FILE: 是否存在且可執行
文件特殊權限測試:
-u FILE:是否存在且擁有suid權限
-g FILE:是否存在且擁有sgid權限
-k FILE:是否存在且擁有sticky權限
文件大小測試:
-s FILE: 是否存在且非空
文件是否打開:
-t fd: fd 文件描述符是否在某終端已經打開
-N FILE:文件自從上一次被讀取之后是否被修改過
-O FILE:當前有效用戶是否為文件屬主
-G FILE:當前有效用戶是否為文件屬組
雙目測試:
FILE1 -ef FILE2: FILE1是否是FILE2的硬鏈接
FILE1 -nt FILE2: FILE1是否新于FILE2(mtime)
FILE1 -ot FILE2: FILE1是否舊于FILE2
find
根據屬主、屬組查找:
-user USERNAME:查找屬主為指定用戶(UID)的文件
-group GRPNAME: 查找屬組為指定組(GID)的文件
-uid UserID:查找屬主為指定的UID號的文件
-gid GroupID:查找屬組為指定的GID號的文件
-nouser:查找沒有屬主的文件
-nogroup:查找沒有屬組的文件
根據文件類型查找:
-type TYPE:
f: 普通文件
d: 目錄文件
l: 符號鏈接文件
s:套接字文件
b: 塊設備文件
c: 字符設備文件
p: 管道文件
根據文件大小來查找:
-size [+|-]#UNIT
常用單位:k, M, G,c(byte)
#UNIT: (#-1, #]
如:6k 表示(5k,6k]
-#UNIT:[0,#-1]
如:-6k 表示[0,5k]
+#UNIT:(#,∞)
如:+6k 表示(6k,∞)
據時間戳:
以“天”為單位;
-atime [+|-]#,
#: [#,#+1)
+#: [#+1,∞]
-#: [0,#)
-mtime
-ctime
以“分鐘”為單位:
-amin
-mmin
-cmin
根據權限查找:
-perm [/|-]MODE
MODE: 精確權限匹配
/MODE:任何一類(u,g,o)對象的權限中只要能一位匹配即可,或關系,+ 從centos7開始淘汰
-MODE:每一類對象都必須同時擁有指定權限,與關系
0 表示不關注
bzip2
-k 保持原文件或原壓縮包不變
-d 或 bunzip2 解壓
-c 文件名 > 壓縮包 壓縮后保持原文件不變,但權限會根據umask變化
-cd 壓縮包 > 文件名 或 bzcat 壓縮包 > 文件名 解壓后保持壓縮包不變,但權限會根據umask變化
-v 詳細信息
-# 表示指定壓縮比,默認是9,數字越小,表示壓縮比越小,速度越快。反之,數字越大,壓縮比越大,速度卻越慢。
xz
-k 保持原文件或原壓縮包不變
-d 或 unxz 解壓
-c 文件名 > 壓縮包 壓縮后保持原文件不變,但權限會根據umask變化
-cd 壓縮包 > 文件名 或 xzcat 壓縮包 > 文件名 解壓后保持壓縮包不變,但權限會根據umask變化
-v 詳細信息
-# 表示指定壓縮比,默認是6,數字越小,表示壓縮比越小,速度越快。反之,數字越大,壓縮比越大,速度卻越慢。
tar ***
-可以不要
-c 創建包
-v 詳細過程
-f 指定生成后的文件名 源文件……
tar -tvf mage.tar 預覽歸檔文件
tar -r /etc/fstab -f mage.tar 往歸檔中增加文件
tar –delete etc/fstab -f mage.tar 從歸檔中減少文件
tar -xv passwd -f mage.tar 從歸檔中解出指定的文件
tar -xvf mage.tar 從歸檔中解出所有文件
tar xvf mage.tar -C /app2 解壓到指定目錄,默認為當前目錄
-j 使用bzip2 壓縮或解壓縮(可省略)
-J 使用xz 壓縮或解壓縮(可省略)
-z 使用gzip 壓縮或解壓縮(可省略)
tar jcvf mage.tar.bz2 *
tar xvf mage.tar.bz2
rpm
-i 安裝
–test 僅測試,不安裝
–nodeps 忽略依賴性
–replacepkgs 重復安裝已安裝過的包,文件覆蓋
–replacefiles 將要安裝包的部分文件與其他已安裝的包文件沖突,可繼續安裝
–noscripts:不執行程序包腳本
%pre: 安裝前腳本; –nopre
%post: 安裝后腳本; –nopost
%preun: 卸載前腳本; –nopreun
%postun: 卸載后腳本; –nopostun
–oldpackage 已裝新的,再裝舊的
–force 等同于–replacepkgs –replacefiles –oldpackage
-U 更新 如果裝的有舊的,則升級,如果未裝舊的,則安裝新的。
-F 更新 如果裝的有舊的,則升級,如果未裝舊的,不安裝新的。
-v 詳細信息
-vv 更詳細信息 *
-h 顯示進度
-ivh 安裝并詳細顯示進度 ***
-q 查詢
-qa 查詢安裝的所有包
rpm -qa scr*
rpm -qa |grep ^scr
-qf 查詢指定的文件由哪一個rpm包提供(文件用路徑表示)
-qp 指定未安裝的rpm包
-q –provides 軟件包名 查看指定的軟件包提供了哪些能力
可以使用-a 顯示當前系統中由已安裝過的包提供的所有能力
-q –whatprovides webserver 查看指定的能力由哪一個軟件包提供
-q –whatrequires CAPABILITY 查詢指定的CAPABILITY被哪個包所依賴
-qR 軟件包名 查看指定的軟件包依賴哪些能力
-qc 軟件包名 查看配置文件
-qd 軟件包名 查看幫助文檔
-ql 軟件包名 查看該軟件包所提供的所有文件
-qi 軟件包名 查看軟件包的信息
-q –scripts 軟件包名 查看軟件包的安裝腳本
-V 查看指定包所提供的文件是否發生過改變
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P capabilities differ
-K|checksig rpmfile 檢查包的完整性和簽名
–nosignature: 不檢查來源合法性
–nodigest:不檢查包完整性
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99961