檔案編輯
nano vi/vim emacs gedit
nano 記憶體臨時建立
vim 三種模式:
命令模式:複製、裁剪、刪除、跳轉、貼上
插入模式:編輯檔案
末行模式:退出、儲存、重新命名、讀入檔案、搜尋檔案、跳轉
vim 編輯的命令
命令模式:
游標定位: hjkl 游標上下左右
shift+^$ 跳轉到所在行首和行尾
gg g 跳到行首和行尾
4g 4gg 跳的第四行
d 刪除 dd 3dd dgg dg
d^ 刪除當前字元到行首
d$ 刪除當前字元到行尾
d 從游標處刪除到行尾
p 貼上
x 刪除游標所在字元
u 撤銷、
dd 刪除
ddp 剪下貼上
/^d 以d開頭
/n$ 以n結尾
r 可以用來修改乙個字元
命令模式切換插入模式:
i 當前位置插入
o 下一行插入
a 當前字元之後插入
i 跳轉到行首
a 跳轉到行尾
s刪除當前字元後插入
s刪除當前整行插入
從插入模式進入末行模式
escq 退出
w 儲存 (w 檔案命 = 重新命名)
wq 儲存退出
x 儲存退出
! 強制
q! 強制退出
wq! 強制儲存退出
:10 進入第10行
: r /etc/passwd 讀入etc/passwd檔案
r 進入替換模式
ctrl v 進入可視模組
v 整行
臨時設定:
:set nu 設定行號
:set ic 不區分大小寫
:set list 顯示控制字元
:set ai 自動縮排
:set nonu 取消行號設定
:set' noic 取消不區分大小寫
:set noai 取消自動縮排
製表符設定
:set tabstop = 4 設定tab鍵為4個空格原有tab空格數也改動
:set softtabstop =4 原有的tab空格數不變,新內容改變
永久環境
/etc/vimrc 影響所有系統使用者
~/.vimrc 影響當前使用者
vim -o 檔案 檔案
橫向同時開啟兩個檔案 eg:vim -o 1.txt 2.txt
vin -o 檔案 檔案
縱向開啟
ctrl w 切換
替換:s/ab/**/ 替換游標所在行的第乙個ad替換為i**
:s/ab/**/g 當前行所有的ab都替換** g代表全域性、當前行
:%s/ab/**/g 替換整個檔案的ab為**
:3,6s/ab/**/gc 替換3到6行內所有的ab為**
:%s/^/#/g 給所有行新增注釋 %s/^#//g 取消注釋
:%s/ // 刪除每行的第乙個空格
:%s//\t/g 空格替換成製表符 \t製表符
:g/^$/d 刪除空行
:g/^\s*$/d 刪除所有空行
:%s/\n//g 把所有檔案合併成一行 \n換行符
set list 顯示出的$是結尾的意思。
檢視檔案資訊 wc
檢視檔案行數 wc -l
檢視檔案字元數 wc -c
文字內容的過濾 grep
grep "root" /etc/passwd
擷取檔案中帶有root的內容
grep "r..t" /etc/passwd
擷取檔案中以r開頭
grep "r[abc]t" /etc/passwd
擷取以r開頭中間【abc】中任意乙個字元以t結尾
grep "r[a-z]t" /etc/passwd
擷取以r開頭中間a-z字元任意乙個字元以t結尾
[a-z][a-z][0-9]
grep "[^0-9]" 檔案 [^] 取反
擷取不是數字的內容
grep "^[^a-b]" 檔案 ^開頭 $結尾 ^$空行
擷取開頭不以a-z開頭的檔案
特殊字符集:
[[:digit:]] 任意單個數字
[[:alpha:]] 任意單個字母
[[:upper:]] 任意單個大寫字母
[[:lower:]] 任意單個小寫字母
[[:alnum:]] 任意單個數字、字母
[[:space:]] 任意單個空白字元
[[:punct:]] 任意單個標點
eg: grep "r[[:upper:]]t" /etc/passwd
匹配字元出現的次數
*前乙個字元出現任意次
eg:grep "ro*" /etc/passwd
\? 第乙個字元出現次或次 ,可有可無
eg:grep "ro\?" /etc/passwd
\+ 前一字元出現次或者多次
eg:grep "r\+" /etc/passwd
\ 重複字元出現的次數精確 4次 \ \
eg:grep "o\" /etc/passwd
分組 \(ab\)
grep "\(ab\)\" /usr/share/dict/words
-i 忽略大小寫
eg:grep -i "^r" /etc/passwd
-o 僅顯示符合pattern的內容
eg:grep -o "r..t" /etc/passwd
-e 同時根據多個條件過濾內容
eg:grep -e "^#" -e "^$" /etc/fstab
-v 反向過濾
eg:grep -v "^#" /etc/fstab
grep -v -e "^#" -e "^$" /etc/fstab
-e 支援正規表示式
eg: grep -e "(ab)" /usr/share/dict/words
grep -e "bin|sbin" /etc/passwd
-a n 顯示符合條件的後n行內容 -b n 顯示後n行的內容
ip addr show ens33 | grep -a 1"ether"
查詢檔案目錄
find
-name 按檔名稱查詢
eg:find /etc/ -name passwd=(檔名)
find /etc/ -name "passwd$"
-size 按檔案大小查詢
eg:find /etc/ -size +15m=(檔案大小) +大於多少 -小於多少
建立檔案指定大小
dd if=/dev/zero of=/tmp/dd bs=1m count=20 建立乙個大小為20m的dd檔案
dd 建立指定大小的檔案
if=/dev/zero 零發生檔案
of=/tmp/dd 建立檔案的位置和名字
bs=1m 指定大小單位 m k g
count=20 塊 (塊*大小)
du -h 檢視指定檔案大小
du -sh 檢視指定目錄的大小
-type 按檔案型別查詢
eg:find /dev/ -type d=(檔案型別)
p 管道
f 普通檔案
d 目錄
s 套接字
b 塊裝置
| 鏈結
c 字元裝置
-mtime 按時間查詢檔案
eg:find / -mtime +5 》5天前
find / -mtime -5 》最近5天
-exec 對查詢的檔案執行操作
eg:find /test/ -name "*.txt" -exec rm -f {} \;
find /etc/ -size +2m -exec cp {} /tmp/ \;
將查詢的檔案發在{}裡對檔案執行操作
sort 對指定字段排序
sort -t 指定字段分隔符 eg:sort -t":"
sort -k 指定列排序 eg:sort -t":" -k3
sort -n 按數值,預設按字元排序 eg: sort -t":" -k3 -n
sort -r 逆序 eg:sort -t":" -k3 -n -r
eg:cut 取出指定字段
cut -d 指定分隔符
cut -f 指定字段 cut -d: -f1 /cut -d: -f1-3 /cut -d: -f1,3,5,7
cut -c 指定字元 cut -c 1 / cut -c 1,2,3 /cut -c 1-2,7
uniq 去重
uniq -u 只顯示沒有重複的值
uniq -d 顯示連續重複的值
uniq -c 統計重複次數
uniq -i 忽略大小寫
awk 列印指定字段
awk -f"" '' /路徑
-f 指定分隔符
$1 第乙個字段
$nf 最後乙個字段
$(nf-1)倒數第二個字段
linux 文字編輯器
vi編輯器 vi vim 命令模式 輸入模式 末行模式 命令模式 輸入模式 插入i 從游標的位置前面開始插入,並且游標隨著插入的內容向後移動 i從游標所在行的第乙個非空字元前面開始插入 新增a 從游標所在位置後面開始新增,游標隨著插入內容向後移動 a從游標所在行的最後的地方開始新增 開始o 從游標所...
Linux文字編輯器
一 命令列模式 任何時候,不管使用者處於何種模式,只要單擊 esc 鍵,即可使vi 進入命令列模式。使用者在shell環境下輸入並啟動vi 命令,進入編輯器時,也是處於該模式下。在該模式下,使用者可以輸入各種合法的 vi 命令用於管理自己的文件 二 文字輸入模式 在命令列模式下輸入 插入命令 i 附...
Linux 文字編輯器
vi o 可以同時開啟多個檔案 o 豎排多個檔案 ctrl ww切換不同檔案 不能鎖住介面。只有選單 命令模式 vi filename預設進入 所有鍵盤鍵入的字元,都有可能是命令iao iao可進入插入模式 i 游標前插入文字 i 在本行游標前插入文字 a 在游標後附加文字 a 在本行末附加文字內容...