Linux歸檔及壓縮、重定向與管道操作、find精確查詢、vim高階使用
一、 環境準備
開啟CentOS虛擬機器
二、 歸檔及壓縮
作用:1.將零散的資料進行歸檔 2.減少佔用磁碟空間的大小
歸檔的含義
– 將許多零散的檔案整理為一個檔案
– 檔案總的大小基本不變
壓縮的含義
– 按某種演算法減小檔案所佔用空間的大小
– 恢復時按對應的逆向演算法解壓
Linux常見的壓縮格式
.gz gzip #壓縮速度快
.bz2 bzip2
.xz xz #壓縮比例最高
tar 整合備份工具
– -c:建立歸檔
– -x:釋放歸檔
– -f:指定歸檔檔名稱,必須放在所有選項的最後
– -z、-j、-J:呼叫 .gz、.bz2、.xz 格式的工具進行處理
– -t:顯示歸檔中的檔案清單
– -C:指定釋放路徑
tar 打包格式
tar 選項 /路徑/壓縮包名字 /路徑/被歸檔壓縮的資料……
-c:建立歸檔 -f:指定壓縮包名字
-z、-j、-J:呼叫 .gz、.bz2、.xz 格式的工具進行處理
]# tar -zcf /opt/nsd01.tar.gz /home /etc/passwd
tar: 從成員名中刪除開頭的“/”
]# ls /opt/
]# tar -jcf /opt/file.tar.bz2 /home/ /etc/passwd
]# ls /opt/
]# tar -Jcf /opt/abc.tar.xz /home/ /etc/passwd
]# ls /opt/
– -t:顯示歸檔中的檔案清單
[root@localhost ~]# tar -tf /opt/nsd01.tar.gz
[root@localhost ~]# tar -tf /opt/file.tar.gz
[root@localhost ~]# tar -tf /opt/abc.tar.gz
tar 解包格式
tar 選項 /路徑/壓縮包的名字 -C(大寫) /路徑/釋放位置
]# mkdir /stu01 /stu02 /stu03
]# tar -xf /opt/nsd01.tar.gz -C /stu01/
]# ls /stu01/
]# ls /stu01/etc/
]# ls /stu01/home/
]# tar -xf /opt/file.tar.bz2 -C /stu02/
]# ls /stu02/
]# tar -xf /opt/abc.tar.xz -C /stu03/
]# ls /stu03/
案例1:建立一個備份包
使用 tar 工具完成以下備份任務:
– 建立一個名為 /root/backup.tar.bz2 的歸檔檔案
– 其中包含 /usr/local 目錄中的內容
– tar 歸檔必須使用 bzip2 進行壓縮
]# tar -jcf /root/backup.tar.bz2 /usr/local/
tar: 從成員名中刪除開頭的“/”
]# ls /root/
]# tar -tf /root/backup.tar.bz2 #檢視tar包內容
三、 重定向與管道操作
重定向:將命令輸出重新定向,寫入文字檔案中
:覆蓋重定向
:追加重定向
[root@localhost ~]# cat --help > /opt/test.txt
[root@localhost ~]# cat /opt/test.txt
[root@localhost ~]# hostname
[root@localhost ~]# hostname > /opt/test.txt
[root@localhost ~]# cat /opt/test.txt
[root@localhost ~]# ifconfig >> /opt/test.txt
[root@localhost ~]# less /opt/test.txt
[root@localhost ~]# echo 123456 > /opt/5.txt
[root@localhost ~]# cat /opt/5.txt
[root@localhost ~]# echo hello >> /opt/5.txt
[root@localhost ~]# cat /opt/5.txt
[root@localhost ~]# echo hahaixixi >> /opt/5.txt
[root@localhost ~]# cat /opt/5.txt
管道 | :將前面命令輸出,傳遞給後面命令,作為後面命令的引數
顯示/etc/passwd檔案內容的8到12內容
]# head -12 /etc/passwd | tail -5
]# head -12 /etc/passwd | tail -5 | cat -n
]# cat -n /etc/passwd | head -12 | tail -5
顯示/etc/passwd檔案內容的第10行內容
]# head -10 /etc/passwd | tail -1
]# cat -n /etc/passwd | head -10 | tail -1
]# ifconfig | less
]# ifconfig | head -2
四、 find基本使用
根據預設的條件遞迴查詢對應的檔案
find [查詢目錄] [條件]
常用條件表示:
-type 型別(f、d、l)
-name “文件名稱”
-size +|-檔案大小(k、M、G)
-user 使用者名稱
-mtime 修改時間
-type 型別(f檔案、d目錄、l快捷方式)
[root@localhost ~]# find /root -type f #查詢是檔案
[root@localhost ~]# find /root -type d #查詢是目錄
[root@localhost ~]# find /boot -type d
[root@localhost ~]# find /etc -type l
-name “文件名稱”
]# find /etc/ -name “passwd”
]# find /etc/ -name “tab"
]# find /etc/ -name ".conf”
]# mkdir /root/nsd2007
]# touch /root/nsd05.txt
]# touch /root/nsd06.txt
]# find /root -name “nsd*”
]# find /root -name “nsd*” -type d #以nsd開頭必須是目錄
]# find /root -name “nsd*” -type f #以nsd開頭必須是檔案
-size +或-檔案大小(k、M、G)
]# find /boot/ -size +300k
]# find /boot/ -size +10M
]# find /boot/ -size -1024M
-user 使用者名稱(按照資料的所有者使用者)
]# useradd student
]# find /home -user student
]# find / -user student #在整個系統中進行查詢
/proc:不佔用磁碟空間,反映記憶體的資料
]# find / -user student -type d
-mtime 按照修改時間 #都是過去時間
-mtime +10 #10天之前的資料
-mtime -10 #最近10天之內的資料
]# find /root/ -mtime -1
]# find /root/ -mtime +1000
五、 find高階使用
處理查詢的內容
– find [範圍] [條件] -exec 處理命令 {} ;
– -exec:額外操作的開始,傳遞引數一次傳遞一個
– {}:代表find查詢的每一個結果
– ; : 額外操作的結束
]# rm -rf /opt/*
]# ls /opt/
]# find /boot/ -size +10M
]# find /boot/ -size +10M -exec cp {} /opt ;
]# ls /opt/
案例3:查詢並處理檔案
1.利用find查詢所有使用者 student 擁有的必須是檔案,把它們拷貝到 /root/findfiles/ 資料夾中
]# useradd student
]# mkdir /root/findfiles
]# find / -user student -type f
]# find / -user student -type f -exec cp {} /root/findfiles/ ;
]# ls -A /root/findfiles/
六、 vim編輯技巧
三個模式:命令模式、插入模式、末行模式
命令模式技巧:
[root@localhost ~]# cp /etc/passwd /opt/p.txt
[root@localhost ~]# vim /opt/p.txt
游標跳轉
操作型別 按鍵指令 用 途
移動游標 、、、 上、下、左、右
游標行內跳轉 Home 鍵 或 ^ 或 數字 0 跳轉到行首
End 鍵 或“$”鍵 跳轉到行尾
全文翻頁 PgUp 鍵、PgDn 鍵 向上翻頁、向下翻頁
游標行間跳轉 1G 或 gg 跳轉到檔案的首行
G 跳轉到檔案的末尾行
複製/貼上/刪除
操作型別 按鍵指令 用 途
複製 yy、#yy 複製游標處的一行、#行
貼上 p、P 貼上到游標處之後、之前
刪除 x 或 Delete鍵 刪除游標處的單個字元
dd、#dd 刪除游標處的一行、#行
d^ 從游標處之前刪除至行首
d$或D 從游標處刪除到行尾
撤銷:按u進行撤銷
查詢/撤銷/儲存
操作型別 按鍵指令 用 途
文字查詢 /word 向後查詢字串“word”
n、N 跳至後/前一個結果
撤銷編輯 u 撤銷最近的一次操作
U 撤銷對當前行的所有修改
Ctrl + r 取消前一次撤銷操作
儲存退出 ZZ 儲存修改並退出
末行模式操作
儲存/退出/檔案操作
操作型別 設定指令 用 途
存檔及退出 :w 儲存當前檔案
:q! 放棄已有更改後強制退出
:wq 或 :x 儲存已有修改後退出
檔案操作 :w /root/newfile 另存為其它檔案
:r /etc/filesystems 讀入其他檔案內容
[root@localhost ~]# echo 123 > /opt/7.txt
[root@localhost ~]# echo abc > /opt/8.txt
[root@localhost ~]# vim /opt/8.txt
末行模式下 :r /opt/7.txt
末行模式下 :r /etc/passwd
字串替換
操作型別 設定指令 用 途
行內替換 ?/root/new 替換游標所在當前行第一個“root”
?/root/new/g 替換游標所在當前行所有的“root”
區域內替換 :1,8 s/root/new/g 替換第1-8行所有的“root”
:% s/root/new/g 替換檔案內所有的“root”
[root@localhost ~]# cp /etc/passwd /opt/pass.txt
[root@localhost ~]# vim /opt/pass.txt
開關引數的控制
操作型別 設定指令 用 途
編輯器設定 :set nu或set nonu 顯示/不顯示行號
:set ai或set noai 啟用/關閉自動縮排
七、 grep命令補充內容
]# grep root /etc/passwd
]# grep ^root /etc/passwd #必須以root開頭的行
]# grep bash$ /etc/passwd #必須以bash結尾的行
^KaTeX parse error: Expected 'EOF', got '#' at position 8: :表示空行 ]#̲ cat /etc/defa… /etc/default/useradd
]# grep -v ^$ /etc/default/useradd #去除空行
在Linux系統中,大多數配置檔案內容,以#開頭的行為註釋行
顯示/etc/login.defs配置有效配置(去除註釋行,去除空行)
]# grep -v ^# /etc/login.defs
]# grep -v ^# /etc/login.defs | grep -v ^$
]# grep -v ^# /etc/login.defs | grep -v ^$ > /opt/12.txt
]# cat /opt/12.txt
相關文章
- linux 查詢檔案命令 findLinux
- Hive高階操作-查詢操作Hive
- 檔案編輯、打包壓縮與查詢命令
- Linux下檔案的壓縮與解壓Linux
- oracle 精確查詢和模糊查詢Oracle
- Linux科研武器庫 - 檔案壓縮與解壓縮 - zip / unzipLinux
- Linux 查詢檔案的正確方式Linux
- Linux 檔案壓縮Linux
- Linux中檔案的壓縮和解壓縮Linux
- Linux tar分卷壓縮與解壓縮Linux
- 高階查詢
- linux檔案壓縮和解壓命令Linux
- SpringBoot操作ES進行各種高階查詢Spring Boot
- Linux常用命令之檔案壓縮與解壓縮命令詳解Linux
- python檔案查詢之find命令Python
- 如何使用find和xargs查詢和處理檔案
- Mongodb高階查詢MongoDB
- SQL高階查詢SQL
- ❖ MongoDB 高階查詢MongoDB
- linux 下面壓縮、解壓.rar檔案Linux
- Linux使用者資訊查詢及磁碟與檔案系統管理命令!Linux
- linux批次find查詢檔案並批次替換覆蓋該檔案Linux
- 【Linux進階】使用grep、find、sed以及awk進行文字操作Linux
- linux 高效壓縮工具之xz的壓縮解壓使用Linux
- python資料庫-mongoDB的高階查詢操作(55)Python資料庫MongoDB
- Linux下對於檔案或者目錄的打包及壓縮、解壓Linux
- Linux中重定向和管道介紹Linux
- Linux的管道機制和重定向Linux
- 資料庫高階查詢之子查詢資料庫
- Linux 常用的壓縮與解壓縮命令詳解Linux
- Linux 學習筆記--檔案打包與解壓縮Linux筆記
- 使用Java API進行tar.gz檔案及資料夾壓縮解壓縮JavaAPI
- Linux大檔案重定向和管道的效率對比總結Linux
- 教你如何在 Linux 中使用 unzip 解壓縮檔案Linux
- 檔案壓縮和解壓縮
- 命令列技巧:使用 find 和 xargs 查詢和處理檔案命令列
- linux系統壓縮,解壓檔案筆記Linux筆記
- linux中查詢find命令的複雜用法Linux