Linux 取代Windows 的換行 ^M

Linux 移除檔案 CONTROL-M 字符 Sam Tang 23 June 2015 Linux No Comments

當在 Windows 環境下傳送文字檔到 Linux 時, 有時會看到每一行結尾都會有 CONTROL-M (^M) 字符, 雖然不影響使用, 但在 Linux 下編輯時十分難看, 要移除 CONTROL-M (^M) 有多種方法, 以下提供的兩種方法不用安裝套件, 用內置的 vi 及 sed 的實現:

  1. vi / vim:

用 vi 或 vim 開啟檔案後, 按 ESC 鍵, 並輸入以下指令後按 Enter:

直接用vi/vim開啟文件,進入指令列命令模式
:%s/^M//g    其中^請按Ctrl+V,M請按Ctrl+M。

:%s/^M//g

  1. sed 指令:

sed 做 search & replace 很方便, 例如檔案名稱是 winfile.txt, 指令是這樣:

sed -e ‘s/^M//g’ filename
1
sed -e ‘s/^M//g’ filename
如果要大批更改, 可以用 “*”” 符號, 例如將所有 .php 副檔名的檔案裡的 ^M 移除, 可以這樣:

sed -e ‘s/^M//g’ *.php
1
sed -e ‘s/^M//g’ *.php

使用 Astra Child Theme 的好處

當不滿意佈景主題的版形、或是新增功能,嚐試跑去網站後台直接更改佈景主題的 CSS 或 PHP 程式碼,當一切都完成且滿意後。但是在佈景主題版本的更新後,發現在所有的 code 都被還原了,這時候就是使用子主題 Child Theme 的時候了。大部分 WordPress 的佈景主題都允許您使用它們的子主題,有的是官方提供,如沒有的話也可以自行制作,不過有一點點門檻,但不算太困難。

如何產生 Astra Child Theme

可以利用 Astra 官方網站提供的工具:

Astra Child Theme Generator – https://wpastra.com/child-theme-generator/

如何產生就不綴述。

安裝 Child Theme

如同使用 zip 檔安裝 Theme 一樣。

然後啟用 Child Thene。

複製 Child Theme 必備檔案

將會用到的檔案複製到 Child Theme 的資料夾。

一般來說,上傳完畢之後只會有兩個檔案:

  • functions.php
  • style.css

將會用到的必備檔案(看用途),複製到 Child Theme 的資料夾,常用到的如下:

  • 404.php
  • footer.php
  • header.php

使用佈景主題編輯器直接編輯

將要調整的部份或是新增的功能直接編輯寫入檔案。

以這個截圖案例,就是把所有 404 的頁面導向首頁。
<?php
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: ".get_bloginfo('url'));
    exit();
?>

結語

其他應用方式將在另外寫文章說明,如有任何問題,feel free to ask!

Linux 下的密碼產生器

這個武漢肺炎疫情下,造救出出好多駭客入侵的問題,先撇開漏洞,從加強密碼強度開始。

首先要安裝 pwgen(以 Ubuntu 為例子)

sudo apt insatall pwgen

pwgen 的使用方式

pwgen 16 8
  • 16 – 產生出 16 碼的密碼
  • 8 – 產生出八碼

產生出符號 + 密碼的指令

pwgen -y 16 8

說明可以省略了…

在網站中嵌入最輕量化的 Facebook 粉絲專頁

社群網站當道的現在,很多人都需要嵌入自己的粉絲專頁在官方網站上。嵌入方式百百種,為了符合 RWD,以下這是我的作法。

先到粉絲專頁外掛程式

粉絲專頁外掛程式,然後輸入你的粉絲專頁網址。

當然這是我的作法,減少大量的 Facebook 悲慘的 Waterfall。

取得程式碼

第一個紅線是放在 <body> 之後

當然看是用什麼程式或是 CMS 寫的,就是通則把以下這段放在 <body> 之後

第二個紅線,放置位置

<div class="fb-page" data-href="https://www.facebook.com/dachin1985/" data-tabs="" data-width="" data-height="" data-small-header="true" data-adapt-container-width="false" data-hide-cover="false" data-show-facepile="false"><blockquote cite="https://www.facebook.com/dachin1985/" class="fb-xfbml-parse-ignore"><a href="https://www.facebook.com/dachin1985/">大慶柴魚</a></blockquote></div>

看要放在測邊欄位或是底部隨人囉~

最後呈獻

移除沒再使用的 snap 套件

什麼是 snap

參考 wikipedia 的 snap 說明官方網站說明。

snap 的優略就很多,可以自行 Google:// 如,Linux Mint決定不支援Ubuntu Snap

snap 不會自己移除舊版

Ubuntu 用久了之後會有一堆舊版的 snap 套件,如下圖:

當然可以工人智慧手動一個一個移除,但如果 snap 安裝很多的時候勒?!

sudo snap remove google-cloud-sdk – revision 187

使用 shell script 一次移除舊版 snap

shell script 如下:

#!/bin/bash                                                                                                                     
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu

LANG=C snap list – all | awk '/disabled/{print $1, $3}' | while read snapname revision; do sudo snap remove "$snapname" – revision="$revision"
done

第一段會顯示多少 snap 要移除

snap list – all | awk '/disabled/{print $1, $3}'
google-cloud-sdk 187
core18 2066

將 shell script 存檔

vim snap_remove_eol.sh && chmod +x snap_remove_eol.sh

snap purge 用法

sudo ./snap_remove_eol.sh
回到頂端