按此前往linux完整教學目錄

 

 

UIDGID

所謂UID(user ID),是linux中每個使用者的帳號在創立時,系統就會將每個使用者做的編號,每個使用者都有一個屬於自己的編號,作為識別用。而GID(group ID),則是每個群組在創立時系統給予的編號。

通常,系統管理員(root)UID0,而系統帳號的UID範圍為1~499,一般使用者帳號的UID範圍為500以上(500)

註:系統帳號(bindaemonsync…等等),是作業系統在安裝時便已經內建的,常以例行性工作來執行系統內各部分的控管,負責系統的秩序與穩定。這些系統帳號並不需要登入(他們使用所謂的「non-login shell」作為操作環境),而使用者也無法切換身分為系統帳號。

 

 

上一篇:vim教學 暫存備份檔

下一篇:linux 帳號資訊紀錄檔

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

vim的暫存備份檔:

(1) 在使用者使用vim來編輯檔案的時候,vim會自動在當前目錄下建立一個暫存備份檔」,其為隱藏檔,副檔名會加上swp。如用vim編輯一個vtest.txt檔案,其暫存備份檔的檔名就是vtest.txt.swp

(2) 這個暫存備份檔的功用,是為了避免使用者在編輯檔案時因為當機、停電等原因而不正常關閉vim所導致的資料遺失。若使用者正常關閉vim,則暫存備份檔在關閉之後就會自動消失;但若使用者不正常關閉vim,則暫存備份檔在關閉之後仍會存在。若使用者重新編輯檔案,則會進入一個「詢問模式」,詢問使用者要做什麼動作。說明如下:

<O>:以唯獨的方式開啟該檔案。

<E>:用一般的方法開啟該檔案,但不載入暫存備份檔的內容。

<R>:用一般的方法開啟該檔案,且載入暫存備份檔的內容,可以將不正常關閉vim之前、沒有儲存到的資料給還原。要注意,還原資料後,暫存備份檔並不會被刪除(所以下次編輯此檔案時還是會進入詢問模式)。若不欲再進入詢問模式,可以手動將暫存備份檔刪除。

<D>:刪除該暫存備份檔,且不載入暫存備份檔的內容。

<Q>:什麼動作都不做,就離開詢問模式、關閉vim

 

 

上一篇:vim教學 開啟多檔案

下一篇:linux帳號管理 uid與gid

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

利用vim同時開啟多個檔案:

shell的命令列,語法為:vim 檔案一 檔案二 檔案三

例如:vim vtest1.txt vtest2.txt vtest3.txt

就可以同時開啟vtest1.txtvtest2.txtvtest3.txt這三個檔案。由於vim一次只能操作一個檔案,故一進入vim之後,會先操作第一個開啟的檔案(在上例即是vtest1.txt)

若要查看目前有幾個檔案被vim開啟,可進入指令模式,使用:<:>files<enter>

若要操作下一個開啟的檔案,可進入指令模式,使用:<:>n<enter>

若要操作上一個開啟的檔案,可進入指令模式,使用:<:>N<enter>

 

 

上一篇:vim 基本操作

下一篇:vim教學 暫存備份檔

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

前註:

本篇中,<>是鍵盤按鍵的意思,如<ctrl>代表ctrl鍵,<enter>代表enter鍵,<a>代表英文字母a那個按鍵。

此外,大小寫也要注意。<a>即是按下小寫狀態的a鍵,<A>即是按下大寫狀態的a鍵。

<按鍵1>+<按鍵2>,表示按住按鍵1不放,接著再按住按鍵2的按法。

<按鍵1><按鍵2>,表示按下按鍵1後放掉,接著再按下按鍵2的按法。

 

1. vim,是linux中常用的文書編輯器。使用vim建立一個文字檔案,或開啟一個已存在的文字檔案,其用法為:

vim 檔案名稱

如:vim vtest1.txt

在使用vim開啟檔案之後會進入一個黑色背景的畫面,以顯示出內容文字。要注意,在這個黑色背景畫面之中,除最後一行之外都是內容文字。而最後一行是vim用來提示使用者一些訊息(譬如行數)的訊息框、也是提供使用者輸入命令的命令列。

 

2. vim的操作:

當使用者開啟或建立一個文字檔後、進入黑色背景畫面後,使用者可以透過鍵盤按鍵來移動游標、移動頁面,亦可對內容文字進行複製、刪除、貼上等操作。說明如下:

(1) 移動游標:

<>:游標往上。<k>也可使游標往上。

<>:游標往下。<j>也可使游標往下。

<>:游標往左。<h>也可使游標往左。

<>:游標往右。<l>也可使游標往右。

此外,亦有組合按鍵。即利用鍵盤左方的數字鍵(不是鍵盤右方的數字鍵盤)輸入數字,再按方向鍵,其效果等於執行此方向鍵多次。例如:<1><0><0><>,會使游標往下100行。又如:<2><0><>,會使游標往右20格。

<ctrl>+<f>:游標往下(也就是往前)移動一整頁。<page down>也有此功能。

<ctrl>+<b>:游標往下(也就是往後)移動一整頁。<page up>也有此功能。

<0>:將游標移到當前行內最開頭(也就是最左邊)的字元。<home>也有此功能。

<$>:將游標移到當前行內最末尾(也就是最右邊)的字元。<end>也有此功能。

<G>:將游標移動到整個檔案最後一行、最開頭的字元。

此外,亦有組合按鍵。即利用鍵盤左方的數字鍵(不是鍵盤右方的數字鍵盤)輸入數字,再按<G>,其效果等於將游標移至某一行。例如:<1><0><0><G>,會使游標移到本檔案的第100行。

<g><g>:將游標移動到整個檔案第一行、最開頭的字元。

(2) 內容文字的刪除、複製、貼上:

<x>:刪除游標目前所在的字元。

<d><d>:刪除游標目前所在的那一行。

亦有組合按鍵。如:數字<d><d>,可以刪除多行文字。如<5><d><d>,會以游標所在那一行為第1行,連續往下刪除5行。

<d><1><G>:將「檔案開頭字元、游標所在字元之間的字元」給刪除。

<d><G>:將「游標所在字元、到檔案最後字元之間的字元」給刪除。

<d><$>:將「游標所在字元、到該行最後字元之間的字元」給刪除。

<y><y>:將游標目前所在的那一行給複製下來。

亦有組合按鍵。如:數字<y><y>,可以複製多行文字。如<5><d><d>,會以游標所在那一行為第1行,連續往下複製5行。

<y><1><G>:將「檔案開頭字元、游標所在字元之間的字元」給複製。

<y><G>:將「游標所在字元、到檔案最後字元之間的字元」給複製。

<y><$>:將「游標所在字元、到該行最後字元之間的字元」給複製。

<P>:將複製的檔案,在當前游標處貼上。

(3) 內容文字的選擇、選擇後操作:

<v>:按下<v>之後移動游標,將游標經過的字元選擇起來,被選擇的字元會反白。若要取消選取,可按<esc>

<V>:按下<V>之後移動游標,將游標經過的字元選擇起來,被選擇的字元會反白。若要取消選取,可按<esc>

<ctrl>+<v>:按下<ctrl>+<v>之後移動游標,以當前游標位置與初始游標位置當作舉行的對角頂點,將此矩形內包含的字元選擇起來,被選擇的字元會反白。若要取消選取,可按<esc>

<y>:將所選取的內容給複製。

<d>:將所選取的內容給刪除。

 

(4) 動作的還原與重作:

在此,所謂的「動作」,可以是指上述所有按法的任何一種。

<u>:將最近一次動作的效果給取消,讓該文件回到沒做此動作前的狀態。亦稱為對動作的「還原」。

<ctrl>+<r>:若已經對動作進行還原,則此按法會重做此次動作,也是就會讓該文件到做了此動作之後的狀態。

(5) 進入編輯模式:

<i>:進入編輯模式以插入文字。在此模式下,vim螢幕中的最後一行會顯示「-- INSERT --」字樣。只有在此模式中,才可以在文件上直接打字。此外,<I>也有同樣功能。若要從編輯模式中退出、回到原先的模式,請按<esc>

(6) 進入指令模式:

所謂指令模式,就是可以輸入指令來達成某些功能。使用者輸入的指令,會被顯示在vim螢幕中的最後一行上,輸入完畢後按<enter>即可執行,且離開指令模式。在這個指令模式中,可以進行內容文字的搜尋、取代,以及檔案的儲存等。進入指令模式有三種方法,按下<:>、或按下</>、或按下<?>即可。進入指令模式後可以直接輸入指令,說明如下:

(6-1) 內容文字的搜尋:</>字串<enter>

可搜尋內容文字中,是否有該字串。如:</>make<enter>可搜尋內容文字中,是否有「make」這個字串,並在螢幕上顯示出來。<?>字串<enter>也有相似的功能。

(6-2) 內容文字的取代:<:>數字一,數字二s/字串1/字串2/g<enter>

可將檔案中,行數為數字一數字二的內容文字中,字串一給取代為字串二。如:<:>2,6s/a/A/g<enter>表示將26行中的小寫a給取代為大寫A。注意,數字2也可以為$,表示最後一行。如:

<:>2,$s/a/A/g<enter>表示將2到最後一行中的小寫a給取代為大寫A

(6-3) 儲存檔案:<:>w<enter>

(6-4) 在唯獨檔中強制儲存檔案:<:>w! <enter>

(6-5) 關閉vim<:>q! <enter>

(6-6) 儲存檔案後關閉vim<:>wq<enter>

(6-7) 另存新檔:<:>w 新檔案名稱<enter>

(6-8) 讀取某個檔案,並將讀取的結果顯示在當前檔案之中、當前游標位置:

<:>r 檔案名稱<enter>

(6-9) 顯示內容行號:<:>set nu<enter>

(6-10) 取消顯示內容行號:<:>set nonu<enter>

(6-11) 顯示目前vim的環境設定為何:<:>set all<enter>。如上述行號內容的顯示與否,就是一種環境設定。事實上,這些所謂的環境設定,可以在命令模式內由使用者自行設定(就如上述設定行號的顯示與否一樣)。此外,在顯示環境設定之後要回到vim,按下<q>即可。

(6-12) 若要不執行指令就離開指令模式,按下<esc>即可。

 

 

上一篇:bash 管線符號

下一篇:vim教學 開啟多檔案

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

利用管線命令、管線符號,來處理標準輸出:

管線(pipe)符號,指的是符號 |。語法:

命令一 | 命令二 | 命令三

其作用是,將命令一執行成功後的標準輸出,當作執行命令二時的標準輸入,經過命令二執行成功後成為標準輸出,又再被當作執行命令三時的標準輸入以此類推。

管線命令,就是可以透過管線符號|,將上一個命令的標準輸出當作標準輸入來執行的命令,常用於登錄檔的分析上。注意,管線符號只處裡標準輸出,而不處裡標準錯誤輸出。管線命令,介紹如下:

(1) cut:可以將標準輸入做分割,再做為標準輸出。用法有:

(1-1) cut -d "字元" -f N:將標準輸入以字元做為分割的依據,分割成好幾的片段,然後輸出第N個片段。N是正整數,從1開始數起。

例如,今有檔案名為persons,其內容為:weiwei,nunu,rain,A-du

命令列輸入:cat persons | cut -d "," -f 1 顯示:weiwei

命令列輸入:cat persons | cut -d "," -f 2 顯示:nunu

命令列輸入:cat persons | cut -d "," -f 3,4 顯示:rain,A-du

 (1-2) cut -c 範圍:標準輸入中的每一行,都只輸出範圍內的字元。範圍的寫法可為:

N:表示第N個字元。

M-N:表示第M到第N個字元。

M-:表示第M到最後一個字元。

-N:表示第1到第N個字元。

(2) grep 選項 第二選項 "字串":從標準輸入中,搜尋其內容具有字串的那些行(註:字串,也可以正規表示法的形式來寫)選項可以是:

-c :若其內容具有字串的行數為N行,就顯示N,不顯示這些行的具體內容。

-i :搜尋時,忽略字串的大小寫。

-n :顯示時,一併顯示出行號。

-v :顯示時,只顯示其內容不具有字串的那些行。

-E :若字串要用「延伸正規表示法」來寫,就必須有此選項,否則無效果。

第二選項,可以不寫,也可以是:

--color=auto:將搜尋結果中的字串用特殊顏色標明後再輸出。

舉例,設ls -l 顯示:

drwxr-xr-x  3   jjj     kkk  2048 Mar 13 04:52 D1

drwxr-xr-x 16    jjj     kkk  2048 May 19 11:53 D2

drwxr-xr-x  3    jjj  kkk  2048 Mar 14 04:16 D3

-rw-r--r--  1      jjj     kkk    62 Sep  5 09:22 f1

-rw-r--r--  1       jjj   kkk    21 Sep  5 09:15 f2

-rw-r--r--  1       jjj   kkk    54 Sep  5 09:28 f3

則輸入:ls -l | grep "Sep" ,顯示:

-rw-r--r--  1      jjj     kkk    62 Sep  5 09:22 f1

-rw-r--r--  1       jjj   kkk    21 Sep  5 09:15 f2

-rw-r--r--  1       jjj   kkk    54 Sep  5 09:28 f3

(重要!):若要用grep搜尋檔案內容,也可以不接在管線命令後面,而可以直接使用,如:

grep 選項 第二選項 "字串" 檔案名

可以接搜尋檔案內容。

(3) sort:將標準輸入的每一行進行排序後再輸出。排序的依據,預設是由字元的ASCII碼由小排到大。其常用的用法有:

(3-1) sort:以每一行行首字元來進行排序,後再輸出。例如,今有檔案名為persons_data,其內容為:

name:age:height

weiwei:18:160

nunu:22:164

rain:19:159

A-du:20:162

輸入:cat persons_data | sort,顯示:

A-du:20:162

name:age:height

nunu:22:164

rain:19:159

weiwei:18:160

結果就是依據每一行行首字元進行排序後再輸出。

(3-2) sort –t "字元" –k N:將每一行依字元來分割成片段,分割後的第N段子字串,作為排序依據。以上例的persons_data來舉例:

輸入:cat persons_data | sort -t ":" -k 2 ,顯示:

weiwei:18:160

rain:19:159

A-du:20:162

nunu:22:164

name:age:height

結果就是依據「用:分割後的第二個子字串」進行排序後再輸出。

sort sort –t "字元" –k N也可以不接在管線符號後面,而是其後面接檔案名,就會將檔案內容依據排序後再顯示出來。如:sort 檔案名 sort –t "字元" –k N 檔案名

(4) tee 選項 檔案:可將標準輸入的內容,存入檔案中,在原封不動送入標準輸出。若選項為空,代表要將檔案覆寫,若選項-a,表示要將檔案添寫。

(5) tr:可以將標準輸入的內容,刪除或是取代,然後送入標準輸出。用法有:

(5-1) tr "字串一" "字串二":將標準輸入的內容中,字串一轉換為字串二,然後輸出。

(5-2) tr -d  "字串":將標準輸入的內容中,字串給刪除之後輸出。常見的例子之一是為資料「接行」,以上例的persons_data為例,輸入:cat persons_data | tr -d "\r\n",顯示:name:age:heightweiwei:18:160nunu:22:164rain:19:159A-du:20:162

換行字元被刪除,則所有資料都變成單一行了。

(6) args 命令args 可以將標準輸入轉變成該命令的輸入參數,以執行此命令。其目的,是因為有許多的命令無法直接與管線符號搭配使用,為了使這些命令也能夠享有管線符號帶來的便利,故才有了args

範例如:設今有一檔,其名為dir_test,其內容為:

dir1 dir2 dir3

輸入命令:cat dir_test | xargs mkdir,即可將cat dir_test命令執行後的標準輸出當作mkdir命令的參數,於是便建立了dir1dir2dir3三個目錄。

 

 

上一篇:bash 連續執行命令

下一篇:vim 基本操作

文章標籤

埃伯 發表在 痞客邦 留言(1) 人氣()