sed 的幾個應用

 

sed全名是 stram editor,官方的網址是:

https://www.gnu.org/software/sed/manual/sed.html

之前有寫過一個 -i 的參數,標準的 sed 是不會修改原始檔案,這是個買保險的作法,但是,有時候就是需要直接修改原始檔案,就可以加上 -i  的參數,直接修改原始檔案。

以下是幾個 sed 的 Use case,先準備一個測試用的檔案【由於 -i 參數會直接修改原始檔案,所以,以下的案例,都是先備份到 /tmp/data.file,再copy還原到 /root/data.file】

northwest       NW      Joel Craig      3.0 .98 3       4
western         WE      Sharon  Kelly   5.3 .97 5       23


southwest       SW      Chris Foster    2.7 .8  2       18
southern        SO      May Chin        5.1 .95 4       15
southeast       SE      Derek Johnson   5.0 .70 4       17

eastern         EA      Susan Beal      4.4 .8  5       20
northeast       NE      TJ Nichols      5.1 .94 3       13
north           NO      Val Shultz      4.5 .89 5       9
central         CT      Sheri Watson    5.7 .94 5       13

image

sed '/^$/d' data.file

sed '/./!d' data.file

^是正規表示式的行首,$是正規表示式的行尾,行首行尾之間沒東西,那就是空白行,梅加上 -i 參數,則不修改原始檔案,只會輸出的 STDOUT

image

sed -i '/north/d' data.file

-i 會直接修改原始檔案,刪除檔案中,有出現north關鍵字的一整行,並直接寫回原始檔案

image

 

其他相關 sed 用法,可以參考:

https://www.opencli.com/linux/sed-delete-file-whole-line

廣告
張貼在 CentOS 6, CentOS 7, Linux, RHEL 6, RHEL 7, ubuntu | 發表留言

觀察那些 KVM 虛擬機,設定成為開機自動啟動?

 

之前的文章 – 將KVM的虛擬機設定成為開機後自動啟動 有提到,將 KVM 虛擬機,設定成為開機自動啟動的指令為

virsh autostart node2

image

取消則是加上 –disable

virsh autostart –disable node2

image

但是,該要如何觀察哪些 KVM 虛擬機,設定成為開機後自動啟動呢?

ls -l /etc/libvirt/qemu/autostart/

image

將兩個指令結合起來測試一下,將【node2】虛擬機,設定成為開機後自動啟動,並觀察結果

virsh autostart node2

ls -l /etc/libvirt/qemu/autostart/

image

倒過來,取消虛擬機開機後自動啟動,並觀察

virsh autostart –disable node2

ls -l /etc/libvirt/qemu/autostart/

image

張貼在 Bookmark, CentOS 6, CentOS 7, Linux, RHEL 6, RHEL 7, ubuntu | 發表留言

NFS 的參數 – no_root_squash vs root_squash

 

太久沒用,參數忘的一乾二淨了…

在 NFS server【node1】的 /etc/exports,分別用預設值、root_squash、no_root_squash 測試

cat /etc/exports
/tmp    172.25.0.0/255.255.0.0(rw,sync,root_squash)

從 NFS client【node2】mount 之後,分別寫入檔案觀察 owner 跟 group

-rw-r–r–. 1 nfsnobody nfsnobody   0 May 23 16:33 nfs_default
-rw-r–r–. 1 root            root              0 May 23 16:34 nfs_no_root_squash
-rw-r–r–. 1 nfsnobody nfsnobody   0 May 23 16:35 nfs_root_squash

image

預設值,不帶參數時,就是 root_squash,會置換成 nfsnobody

加上 no_root_squash 參數時,會保留原來的 UID

張貼在 CentOS 6, CentOS 7, Linux, RHEL 6, RHEL 7, ubuntu | 發表留言

Ext2fd – 在 Windows 10,寫入 ext3/4 的 USB

 

在 Windows 10 要透過 USB,copy檔案到 Linux,是有點小麻煩的…

FAT32,Windows 跟 Linux 都支援,可惜單一檔案不得超過 2GB

exFAT/NTFS,Red Hat Enterprise Linux 不支援

ubuntu 倒是認識 NTFS,真是一大福音…

ext2/3/4,Windows 不認識…

Ext2fd【https://sourceforge.net/projects/ext2fsd/】就是在 Windows 10 底下,能夠直接寫入 ext3/4 的工具

官網下載,現在的版本是 0.69

https://sourceforge.net/projects/ext2fsd/files/Ext2fsd/0.69/

image

安裝完成之後,先將 USB 拿到 Linux,格式化為 ext3

mkfs -j /dev/sdb1

將USB插回到 Windows 10,就會看到一個 E:

image

使用檔案總管,就可以將檔案 copy 到 ext3/4 的 USB 了

image

張貼在 CentOS 6, CentOS 7, Linux, RHEL 6, RHEL 7, ubuntu, Windows, Windows 10, Windows 2016 | 發表留言

在Linux下,轉換有 ^M 的檔案

 

DOS/Windows 跟 Unix/Linux 的檔案格式差異,有些檔案傳到 Linux 之後,會遇到 ^M 的問題…

用 cat 檢查,是不會發現甚麼異常的…

image

但是,執行的時候就會出問題…

image

方法一:使用 tr 將多個 ^M 置換掉…

tr -d ‘\r’ < readfile3.sh > readfile3-new.sh

readfile3.sh 是原來的檔案名稱

readfile3-new.sh 是新的檔案名稱

這樣就可以正常執行

image

但是,要另存新檔,有點小麻煩,使用 dos2unix 就直接改原來的檔案

方法二:使用 dos2unix

要先安裝 dos2unix RPM套件

image

然後就直接置換,連參數都不用加…

image

 

dos2unix 好像是比較簡單一點…

張貼在 CentOS 6, CentOS 7, COBOL, 虛擬化, Linux, ubuntu, VMware | 發表留言

Windows 10【1809】 iso檔 下載

 

紀錄一下,微軟的 Windows 10 iso 檔 下載

https://www.microsoft.com/zh-tw/software-download/windows10

點選【立即下載工具】,先下載一個工具

image

執行檔名稱是【MediaCreationTool1809.exe】

image

不用安裝,直接執行即可

image

選第二項,下載 iso 檔

image

image

選 iso 檔

image

選擇要存放的路徑+檔名之後,就開始下載啦~~~

這是 1809 的版本。

張貼在 Bookmark, Windows, Windows 10 | 發表留言

CentOS 7: Firewalld Concepts and Examples –> bookmark

 

找資料的時候看到的介紹,雖然是 CentOS7,但是,Red Hat Enterpries Linux 7 一樣也適用。

CentOS 7: Firewalld Concepts and Examples [RHCSA7/RHCE7]

https://www.youtube.com/watch?v=TyMallqnWiw

張貼在 Bookmark, CentOS 7, Linux, RHEL 7 | 發表留言