1. 程式人生 > >linux運維 .文本處理工具

linux運維 .文本處理工具

mkdir stream 常用選項 壓縮工具 文件拷貝 一行 rpm包安裝 --nodeps 復制文件

tar工具
tar(Tape ARchive,磁帶歸檔的縮寫)
tar [OPTION]...
(1) 創建歸檔
tar -cpvf /PATH/FILE.tar FILE...
(2) 追加文件至歸檔: 註:不支持對壓縮文件追加
tar -r -f /PATH/FILE.tar FILE...
(3) 查看歸檔文件中的文件列表
tar -t -f /PATH/FILE.tar
(4) 展開歸檔
tar -x -f /PATH/FILE.tar
tar -x -f /PATH/FILE.tar -C /PATH/
(5) 結合壓縮工具實現:歸檔並壓縮
-j: bzip2, -z: gzip, -J: xz
tar工具
-exclude 排除文件
-T 選項指定輸入文件 -X 選項指定包含要排除的文件列表
split:分割一個文件為多個文件

cpio 功能:復制文件從或到歸檔
cpio命令是通過重定向的方式將文件進行打包備份,還原恢復的工具,它“.cpio”或者“.tar”結尾的文件
cpio [選項] > 文件名或者設備名
cpio [選項] < 文件名或者設備名
選項-o 將文件拷貝打包成文件或者將文件輸出到設備上
-O filenam 輸出到指定的歸檔文件名
-A 向已存在的歸檔文件中追加文件
-i 解包,將打包文件解壓或將設備上的備份還原到系統
-I filename 對指定的歸檔文件名解壓
-t 預覽,查看文件內容或者輸出到設備上的文件內容

-F filename 使用指定的文件名替代標準輸入或輸
-d 解包生成目錄,在cpio還原時,自動的建立目錄 顯示打包過程中的文件

rpm包管理
CentOS系統上使用rpm命令管理程序包:
安裝、卸載、升級、查詢、校驗、數據庫維護
安裝:
rpm {-i|--install} [install-options] PACKAGE_FILE…
-v: verbose
-vv:
-h: 以#顯示程序包管理執行進度
rpm -ivh PACKAGE_FILE
rpm包安裝
[install-options]
--test: 測試安裝,但不真正執行安裝,即dry run模式
--nodeps:忽略依賴關系
--replacepkgs | replacefiles

--nosignature: 不檢查來源合法性
--nodigest:不檢查包完整性
--noscripts:不執行程序包腳本
%pre: 安裝前腳本 --nopr
%post: 安裝後腳本 --nopost
%preun:卸載前腳本 --nopreun
%postun: 卸載後腳本 --nopost

rpm包升級
升級:rpm {-U|--upgrade} [install-options] PACKAGE_FILE...
rpm {-F|--freshen} [install-options] PACKAGE_FILE...
upgrade:安裝有舊版程序包,則“升級” 如果不存在舊版程序包,則“安裝”
freshen:安裝有舊版程序包,則“升級” 如果不存在舊版程序則不執行升級操作
rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
--oldpackage:降級
--force: 強制安裝

處理文本的工具sed
Stream EDitor, 行編輯器
sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時
緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的
內容,處理完成後,把緩沖區的內容送往屏幕。然後讀入下行,執行下一個循環。
如果沒有使諸如‘D’的特殊命令,那會在兩個循環之間清空模式空間,但不會清
空保留空間。這樣不斷重復,直到文件末尾。文件內容並沒有改變,除非你使用重
定向存儲輸出。
功能:主要用來自動編輯一個或多個文件,簡化對文件的反復操作,編寫轉換程序等

sed工具用法:
sed [option]... ‘script‘ inputfile...
常用選項:
-n 不輸出模式空間內容到屏幕,即不自動打印
-e 多點編輯
-f /PATH/SCRIPT_FILE 從指定文件中讀取編輯腳本
-r 支持使用擴展正則表達式
-i.bak 備份文件並原處編輯

sed工具編輯命令:
d 刪除模式空間匹配的行,並立即啟用下一輪循環
p 打印當前模式空間內容,追加到默認輸出之後
a []text 在指定行後面追加文本,支持使用\n實現多行追加
i []text 在行前面插入文本
c []text 替換行為單行或多行文本
w /path/file 保存模式匹配的行至指定文件
r /path/file 讀取指定文件的文本至模式空間中匹到的行後
= 為模式空間中的行打印行號
! 模式空間中匹配行取反處理

高級編輯命令
P: 打印模式空間開端至\n內容,並追加到默認輸出之前
h: 把模式空間中的內容覆蓋至保持空間中
H:把模式空間中的內容追加至保持空間中
g: 從保持空間取出數據覆蓋至模式空間
G:從保持空間取出內容追加至模式空間
x: 把模式空間中的內容與保持空間中的內容進行互換
n: 讀取匹配到的行的下一行覆蓋至模式空間
N:讀取匹配到的行的下一行追加至模式空間
d: 刪除模式空間中的行
D:如果模式空間包含換行符,則刪除直到第一個換行符的模式空間中的文本,
並不會讀取新的輸入行,而使用合成的模式空間重新啟動循環。如果模式空間
不包含換行符,則會像發出d命令那樣啟動正常的新循環

pv管理工具
顯示pv信息
pvs:簡要pv信息顯示
pvdisplay
創建pv
pvcreate /dev/DEVICE
刪除pv
pvremove /dev/DEVICE

使用LVM快照
為現有邏輯卷創建快照lvcreate -l 64 -s -n data-snapshot -p r /dev/v
掛載快照mkdir -p /mnt/snapmount -o ro /dev/vg0/data-snapshot /mnt/
恢復快照 umount /dev/vg0/data-snapshot umount /dev/vg0/datalvconvert --merge /dev/vg0/data-snapshot
刪除快照
umount /mnt/databackup
lvremove /dev/vg0/databackup

linux運維 .文本處理工具