bash命令視窗下的快速鍵

    以下表列是從“Ubuntu Pocket Guide and Reference”書中整理出來的,雖然這本書是在說Ubuntu的,但是bash下的東西是相通的,透過一些簡單的組合快速鍵,會讓整個操作更流暢。

    這本書有實體書和PDF格式電子檔,實體書在Amazon買得到,而PDF電子檔在作者的Blog中有提供下載點,電子版是免費的,對Ubuntu有興趣的朋友可以下載來看,或從Amazon訂購實體書。雖然是用英文寫的,但是全篇是針對新手而寫的,使用的字句都不難,也可以練練英文,真的不錯,值得推薦。










































































Key combinationDetails
Up/down cursor keyScroll through command history
Ctrl+left/right cursor keyMove cursor from word to word
TabAutocomplete command or filename/path
Ctrl+AMove to beginning of line
Ctrl+EMove to end of line
Ctrl+W/Alt+BackspaceDelete word behind cursor
Alt+DDelete word in front of cursor
Ctrl+UDelete to beginning of line
Ctrl+KDelete to end of line
Ctrl+YRestore text you’ve deleted
Ctrl+LClear screen (actually, this simply moves the prompt
to the top of the screen; existing commands are still visible
if the terminal window is scrolled)
Ctrl+CQuit current program
Ctrl+ZSwitch current program to background (see Job
Management section)
Ctrl+RSearch through command history
Ctrl+DLogout (technically, terminate input)
Ctrl+TSwap the two characters behind cursor


vim的功能鍵說明

這篇是一邊跟著vim本身提供的教學做一邊寫下的vim筆記

vim其實本身自帶了一個教學功能,對於新手來說真的是很有幫助。他是一步步的教導該如何使用vim。

個vim的教學程式是包含在vim-common內的,這個教學的教材內容是有多國語言版本的,也包含了中文,甚至有正體中文和簡體中文。可惜的是正體中
文的教材內容只有big5編碼,而簡體中文的教材是gb2312編碼。以現在較新的linux版本而言,系統預設都是utf8,所以在使用前我們要先做個
小動作,就是改教材的編碼。

先到“/usr/share/vim/vim71/tutor”下找一個檔名為
“tutor.zh.big5”和“tutor.zh.euc”這兩個檔案。如果你的系統裡沒有這個目錄,試著在“/usr/share/vim/”目錄
下找個以vim開頭後面又有跟著數字的目錄。先將“tutor.zh.euc”複製一份起來,再使用“iconv”指令將“tutor.zh.big5”
轉換成utf8編碼並且用“tutor.zh.euc”為檔案存起來。


# echo tutor.zh.big5 | iconv -f big5 -t utf8 -o tutor.zh.euc

在做以上動作時,必須要有root的權限哦!!!這樣就完成了

使用以下指令啟動教學程式


# vimtutor zh


接下來就昰各位自己跟著教程好好學了。這裡以下是我的筆記,也算是功能鍵的記錄


移動游標


h
j
k
l


<ESC> :q! <Enter>  =>
離開並且放棄修改

<ESC> :wq <Enter> => 存檔後離開

正常模式下
VIM刪除類命令
x刪除一個字
i在游標所在處插入輸入字元
dw從游標處開始刪除一個單字/詞
d$刪除從游標處開始到該行行末
dd刪除游標所在處的一整行
u撤消最後執行的指令
U撤消一整行所有修改的指令
Ctrl - R 撤消以前的撤消命令,恢復以前的操作結果
置入類命令
p將最後一次刪除的內容置入光標之後的下一行
替換類命令
r輸入 r 和一個字符替換光標所在位置的字符。
R可連續替換多個字符。
更改類命令
cw要改變一個單字/單詞的部分或者全部
定位及文件狀態
CTRL-g顯示當前編輯文件中當前光標所在行位置以及文件狀態信息。
SHIFT-G輸入您曾停留的行號,然後按下
SHIFT-G。就可以到達指定的行號。注意︰輸入行號時,行號是不會在屏幕上顯示出來的。若未輸入行號直接按SHIFT-G,將會到達文件的最後一行。
搜索類命令
//字串,繼續往下找相同字串按 n ,往上找則按 Shift - N。
?逆向查找字串。
設置類命令
:set ic在搜索字串時下達此指令可使搜尋的字串怱略大小寫,ic即Ignore Case的縮寫。
:set hlshlsearch
:set isincsearch
配對括號的查找
可以查找配對的括號 )、]、}
修正錯誤的方法之一
:s/old/new/g將一整行的old替換為new。
:s/old/new可以替換 old 為 new,但只替換游標所在行的第一個符合條件的字串。
:%s/old/new/g將整個文件中的old改為new。
:#,#s/old/new/g#為行號,在兩個行號之間進行替換old為new。
:%s/old/new/gc進行全文替換時詢問用戶確認每個替換需添加 c 選項
在 VIM 內執行外部命令的方法
:!外部命令執行該外部命令。
:w filename將文件存檔為檔名filename
選擇性的保存命令
:#,# w FILENAME將兩行之間的內容以檔名FILENAME存檔。
提取和合並文件
:r filename讀取filename的文件內容,並從所在位置處開始置入。
打開類命令
o在游標的下方開出新的一行並進入編輯模式
O在游標的上方開出新的一行並進入編輯模式
插入類指令
a在游標後插入內容
A在游標所在行的行末插入內容
<F1> or :help開啟說明文件,要結束此說明文件請使用 : q
e打開指定的文件檔名



刪除命令 d 的格式

[number] 

object    
或者     d 
[number]   object

    number - 代表執行命令的次數(可選項,預設設置為 1 )。

    d - 代表刪除。

    object - 代表命令所要操作的對象(下面有相關介紹)。


  一個簡短的對象列表︰

    w - 從當前光標當前位置直到單字/單詞末尾,包括空格。

    e - 從當前光標當前位置直到單字/單詞末尾,但是 *不* 包括空格。

    $ - 從當前光標當前位置直到當前行末。



正常模式的命令格式

     
[number]   command 
object   
或者     command
[number]   object

     其意是︰

       number -
代表的是命令執行的次數

       command -
代表要做的事情,比如 d 代表刪除

       object -
代表要操作的對象,比如 w 代表單字/單詞,$ 代表到行末等等。

              
$ (to the end of line), etc.


[FC8]設置屬於自己的鍵盤捷徑

    蠻多人喜歡直接用鍵盤來操作,因為在某些操作上使用鍵盤比使用滑鼠還來得快迅而且簡便,不用在選單中不斷的切換,只需要一組捷徑就可以很快的叫出所需要的
功能。在windows下也有許多捷徑可以使用,linux中也有這樣的設定,而且在設定上比windows還靈活,自由度更大。你可以在以下的選單中做
出自己專用的捷徑,讓你的工作更有效率。
啟動"kde控制中心"=>“區域性與易用性”=>“鍵盤捷徑”


用Avidemux來截取DVD字幕和轉檔成srt格式

   
目前在Linux環境下要將DVD字幕抓出來然後轉換成srt格式,似乎沒有太多的選擇。這裡介紹其中的一種-使用Avidemux來做這件事。
Avidemux除了是個簡單易用的影像編輯和轉檔軟體之外,還內含了一個簡單的OCR,除了可以做字幕的截取外,還可以做到簡易的辨視功能。因為在
DVD內的字幕其實是以影像的形態存在的,所以一般都會先將DVD內的字幕以VobSUB格式先抓出來,再透過OCR功能轉換成我們可以看得懂的srt格
式。其實以VobSUB格式抓出來的字幕檔,已經可以直接拿來用了,但是srt格式的佔用空間小和容易編輯,使得大家都愛用,而且srt格式的被支援度比
VobSUB格式還高。以下介紹分成兩部份,第一步先轉成VobSUB格式。然後再轉換成srt格式。

首先開啟Avidemux,然後在選單中的“Tools”裡點選“Vob -> VobSUB”選項,如下圖所示:圖一
pic01


然後會出現一個像下圖一樣的視窗:圖二
pic02
可以直接在紅框中填入檔案位置和名稱,或透過旁邊的“Browse..”按鈕來選取所需要的檔案。
第一個紅框請選出DVD中要抓取字幕的VOB檔(副檔名是VOB)。
第二個紅框請選出DVD中要抓取字幕的IFO檔(副檔名是IFO)。
第三個紅框請填入抓出來的字幕檔要存放在那個目錄和要命名的檔名。
最後請按下確定,順利的話就會接著看到以下的畫面。圖三
pic03
    看到上圖中的畫面就表示已經開始抓取字幕了,等到100%完成時,截取成VobSub格式字幕檔的這個步驟就完成了。如果還需要轉成srt格式的話,請再接下去。


選取選單中“Tools”內的“OCR (VobSub -> srt)”選項。如下圖:圖四
pic04

接著會出現以下視窗:圖五
pic05
請先點選紅框1的“Select idx file:”
然後會看到如下圖的視窗:圖六
pic06
再點選紅框中的“Select .idx”按鈕,選出剛剛抓出來的那個VobSub字幕的其中一個副檔名是idx的檔案。
如果檔案沒錯的話,圖六會出現變化,如下圖:圖七
pic07

以看到從圖六變成圖七那樣,可以選取要轉檔的字幕語言。這個會跟DVD的字幕國家一樣,如果DVD中就只有兩種語言,在這裡也將只會有兩種可以選。在這裡
先以英文做範例。請在“Select Language:”的下接式選單中選en(如果你的也有的話),然後按下確定。接下來會回到圖五。
pic05
圖五中的2號紅框是要填入轉換出來的srt檔要放在那裡,請同時填入位置和檔名(或用旁邊的“Browse...”來選也可以)
如果是第一次使用的話,3號紅框就不用填了,這個框框內所指的GlyphSet就是辨視圖檔時用到的資料庫,用來存放每個影像的字體和對應的字元,這個檔案內容越完備,待會要手動輸入的機會就越少。接下來選確定。

然後就會看到一個名叫Mini OCR的視窗跑出來。圖八
pic08
1號紅框顯示的就是系統現在分辨不出來,需要你在2號紅框內手動輸入這個字,輸入後他會把這個字記下來,下次出現就不會再問你了。如果發現1號紅框中的字被拆解得不完整,可以選下方的“Skip Glyph”來跳過這個不完整的字。

整個過程跑完後,最後會出現這個視窗。圖九
pic09

時候要存下的檔案就是在圖五中的3號紅框裡可以用的檔案,也就是說,Avidemux把這次辨視過程中學到的新字都放進去了,下次再辨視其他的字幕檔時,
只要在圖五的3號紅框中選出現在存的這個檔,這次的學習成果就可以一直的應用下去,最後隨著字庫越來越大,需要手動輸入的機會就越來越少,轉換所需的時間
也就相對減短了。

    因為一開始並沒有字庫檔,在轉換英文字幕時,只有26個字母和大小寫符號等變換,所以需要手動輸入的次數並不會太多。可
是中文就不同了,一開始真的很累,幾乎每個字都要輸入,而且Mini
OCR對中文的拆字不是很好,常會把一個字拆成好幾個。這個還有待改善。在英文辨認的過程中,很容易發生大寫的i和小寫的L或數字1搞混,數字0和字母O
搞混。因此出來的字幕檔還是會有很多錯字的,要解決這個很容易的,只要用Open office
writer開啟srt字幕檔,然後使用“拼字檢查”工具,這些問題很快的就會被改過來了。

    Avidemux也有附上一個小工具,可以編修字庫檔。在選單中的“Tools”內的“Edit Glyph”就是了。可以用來把字庫檔中學錯的字給刪除,或重新改成正確的字。


使用mplayer播放一般影片檔時可切換多個字幕檔較簡單的方法

一般在觀看DVD時是可以即時切換多國語言的字幕,但是當播放的不是DVD,而是一般的AVI影片檔或其他格式的影片檔時,似乎gmplayer預設只認
得和影片檔同樣檔名的字幕檔。所以除了使用指令參數"-sub"同時載入多個字幕檔外,就是要透過選單中的載入字幕功能一個個的去選。可是一但使用
mplayer指令後,想達到跟gmplayer(可透過界面操作mplayer)同樣效果的話,需下達的指令多到難以記下,而且需視情況而加以改變。
gmplayer一樣透過選選點點就可將設定處理好,不過似乎還不夠簡便,一個個選還是有點麻煩。在這裡提供一個小秘方。

在偶然的情況下發現gmplayer預設會讀取和影片檔相同主檔名的srt字幕檔之外,如果在srt字幕檔的主檔名(副檔名srt不可以哦)前後加上非字母和數字的符號字(前提是系統願意接受,像* ?之類的就不被系統接受為檔名)也會被同時載入。


下做個簡單的示範。假設影片檔名稱為video.avi,那麼預設的srt字幕檔應該是video.srt。一般常見到的多國語言字幕檔的命名格式來看的
話,英文字幕的命名應該是video.eng.srt,而正體中文的字幕檔名應該是video.cht.srt。可惜gmplayer的只會載入
video.srt,而不會去載入video.eng.srt和video.cht.srt。可是如果把video.cht.srt改名為
video.srt,而video.eng.srt改名為video_.srt。結果會變成gmplayer在啟動播放video.avi的同時會載入
video.srt和video_.srt兩個字幕檔,只要在播放的過程中按鍵盤的小寫"j"就可以達到切換字幕的目的。

如果你想同時載入的字幕有很多個,可以在字幕主檔名的前後加上多個字符。範例如下...


video__.srt
_video.srt
video#.srt
video###.srt

都會被同時載入。
目前我在Linux環璄下可使用的符號如下


~`!@#$%^&()-_=+[]{};',.

不過為了保險起見,儘量使用底線符號"_",他是這些字符中最常在檔名中出現的字。所以安全性也較高。

只要透過改檔名就可以讓gmplayer同時載入多個字幕檔,應該夠簡單了吧!


Comix - Linux下看漫畫圖檔的程式

    Comix是一個專門為了看漫晝圖檔而設計的程式,跟一般的看圖軟體不一樣的是Comix多了一些對於用電腦看漫畫的使用者來說很貼心的小功能,讓看漫畫
圖檔時更方便,也有一般在看實體書的雙頁瀏覽功能。在使用時可以直接讀取以zip丶rar丶tar等多種壓縮格式的檔案,不必手動解壓,可以把每一集用一
個壓縮檔來管理。還有局部放大鏡功能,常在電腦上看漫書的人不可少的好工具。本文並沒有要做教學的部份,只是簡單的介紹給大家這個簡單易用的方便軟體。

安裝方法可以直接透過fedora的檔案套件庫安裝。非常容易安裝的。


# sudo yum install comix

 


mplayer按鍵功能說明

基本功能
<- - 方向鍵左鍵,倒轉10秒
-> - 方向鍵右鍵,快轉10秒
up - 方向鍵上鍵,快轉1分鐘
down - 方向鍵下鍵,倒轉1分鐘
pgup - 快轉10分鐘
pgdown - 倒轉10分鐘
> - 撥放清單中的下一個影片
< - 撥放清單中的上一個影片
p or sapce - 暫停,按任意鍵後可繼續播放
+/- - 將聲音的播放延遲/提早0.1秒(影音出現不同步時,可直接調整)
o - 切換顯示在螢幕上的影片撥放資訊
x/z - 延遲/加速字幕0.1秒(字幕和影片出現不同步時,可直接進行微調,當使用的是別人製作的字幕檔時特別好用。)
r/t - 將字幕的位置往上/下移
/ or * - 改變音量的大小
9 or 0 - 改變音量的大小
q or ESE - 停步播放並且關閉mplayer
f - 全螢幕撥放的切換

進階功能
[ or ] - 增加或減少10%目前的播放速度
{ or } - 減半或加倍目前的播放速度
( or ) - 調節左右聲道的輸出
. - 步進模式,就是一格一格的播放(當有特定的畫面想要捕捉時特別好用)
Backspace - 恢復為正常的播放速度
a - 切換字幕的位置(上/中/下)
j - 切換DVD字幕的語言
m - 靜音
T - 將播放視窗停留在最上層
d - 切換frame dropping的功能(如果電腦比較慢的話,啟動此功能可讓影片播放比較順,但畫面容易出現不流暢的情形)
F - 強制使用sub格式的字幕
v - 切換是否顯示字幕
I - 在畫面上顯示撥放的檔案名稱
A - 切換DVD撥放的角度(必須要影片有支援多角度)

以下指令須視播放採用的模式或硬體的支援而定,不一定都支援
1 or 2 - 調整對比度
3 or 4 - 調整亮度
5 or 6 - 調整暖色程度
7 or 8 - 調整色彩飽和度

用ffmpeg來切割mp3

常在聽mp3或其他格式音樂的朋友,有時會有特別喜歡的片段,例如副歌的部份會想拿來做手機的鈴聲。這時候就需要一些處理音效的軟體,例如之前提過的Audacity。其實還有更簡便的方法,只要系統中有安裝好的ffmpeg,一行指令就OK了,相當簡單。讓我們分成兩步驟來完成他吧!

第一步先用播放軟體將想要處理的音樂檔案聽一次,把想獨立出來部份的時間記下來,看是幾分幾秒到幾分幾秒。記好後,第一步也就完成了。

第二步就是下指令了。


# ffmpeg -i input.mp3 -ss hh:mm:ss -t hh:mm:ss -acodec copy output.mp3

參數說明:
-ss : 指定從那裡開始
-t : 指定到那裡結束
-acodec copy : 編碼格式和來源檔案相同(就是mp3)


這方法不只是MP3可以用,其他的許多格式也都適用,只是輸出檔案的副檔名就要跟著改一改了。

以下舉個例子,如果我想把aa.mp3中的1分12秒到1分42秒的地方切出來,然後存成bb.mp3,指令如下


# ffmpeg -i aa.mp3 -ss 00:01:12 -t 00:01:42 -acodec copy bb.mp3


就是這麼簡單,而且處理速度超級快。一下子完成了。


ffmpeg常用轉檔參數

把影像檔案轉換成avi格式

# ffmpeg -i filename.flv -f avi -vcodec libxvid -acodec libmp3lame -ar 22050 filename.avi
參數說明:
-i : 指輸入的檔案名稱,只要系統中有相對應的codec,就能使用多種格式。
-f : 強迫輸出的檔案格式。
-vcodec : 指定影像的編碼格式,這裡的libxvid指的是一般所說的xvid。
-acodec : 指定聲音的編碼格式,libmp3lame就是常用的mp3格式。
-ar : 指定聲音的取樣頻率,一般預設是44100。(因為我是用在手機上,所以設比較低。)


把影像檔案轉換成3gp格式


# ffmpeg -i filename.avi -s qcif -vcodec h263 -acodec libfaac -ac 1 -ar 8000 -r 25 -ab 32  filename.3gp

參數說明:
-i : 指輸入的檔案名稱。
-s : 畫面的解析度。qcif指的是176x144,直接輸入長和寬也可以,格式是 wxh。
-vcodec : 指定影像的編碼格式。
-acodec : 指定聲音的編碼格式,libfaac就是指aac格式。
-ac : 設定聲音的聲道數。1指是的單聲道。
-ar : 指定聲音的取樣頻率。
-r : 設定fps。
-ab : 指定聲音的bitrate。


把影像檔轉換成flv格式


# ffmpeg -i filename.mpg -ab 56 -ar 22050 -b 500 -r 15 filename.flv

參數說明:
-i : 指輸入的檔案名稱。
-ab : 指定聲音的bitrate。
-ar : 指定聲音的取樣頻率。
-b : 指定影像的bitrate
-r : 設定fps。



將聲音檔案轉成mp3


# ffmpeg -i filename.wav -acodec libmp3lame -ar 44100 -ab 128k filename.mp3
參數說明:
-i : 指輸入的檔案名稱。
-ar : 指定聲音的取樣頻率。
-ab : 指定聲音的bitrate。
-acodec : 指定聲音的編碼格式,libmp3lame就是常用的mp3格式。如果輸出的檔案有指定mp3的話,其實這裡省略沒關係。
如果覺得原本的聲音檔音量太小的話,可以再加一個 -vol 200 的參數,會讓輸出的mp3音量變成200%,就兩倍大聲。200是百分比,可以隨意調整的。


以上幾個是很常用的格式,整理下來做成筆記,也供各位需要轉檔的人參考。
話說回來,在windows下,每次要轉檔都得想看看要找什麼軟體,比較好用的大都是要花錢買的,不過如果會用ffmpeg的話,差不多快天下無敵了,ffmpeg提供的轉檔格式和設定多到難以捉摸。現在想到要轉檔時,反而想到的是找找看ffmpeg的參數怎麼下。

當然也是有人做了一些介面來操作ffmpeg,不過對於喜歡簡便又不用裝太多東西的我來說,寫成shell script就很好用了。

也可以輸入影片檔案,指定輸出為聲音檔案。ffmpeg會幫你把影片中的聲音分離出來。


dnf upgrade fails with Error: GPG check FAILED

 OS: Fedora 36 今天在做  dnf  更新的時候,突然有很多 package 都出現簽章問題無法更新。類似如下的錯誤訊息 .... is not signed. ...... is not signed. ......... is not...