Linux 學習筆記(入門篇)

vim的使用

一般模式下command(常用)

command     作用

ctrl+f            等于Page Down

ctrl+b       等于Page Up

0或^或[Home]   移动到行首

$或[End]     移动到行尾

G         移动到文件最后一行

1G或gg      移动到文件第一行

n          下移n行

/word       查找某个字

:n1,n2s/word1/word2/g     在第n1行与n2行之间的word1替换成word2

:1,$s/word1/word2/gc    文件的全部word1替换成word2,替换前由用户确认

x          向后删除一个字元

X          向前删除一个字元

dd          删除此行

nd          向下删除n行

dG          删除光标至文件末

d1G          删除光标至文件首

yy                             复制某行

nyy          复制n行

p           在光标下一行贴上

P                       在光标上一行贴上

u            复原前一个动作

Ctrl+r         重做上一个动作

.            重复前一个动作

指令模式

:r file          将某文件的内容增加到光标后面

:! command       暂时离开执行某个命令

set nu         设置行号

set nonu        取消行号

 

 

vim 會主動的將你曾經做過的行為登錄下來,好讓你下次可以輕鬆的作業啊! 那個記錄動作的檔案就是: ~/.viminfo  

 整體 vim 的設定值一般是放置在 /etc/vimrc 這個檔案

vim 會在與被編輯的檔案的目錄下,再建立一個名為 .filename.swp 的檔案

 

bash

中文编辑:LANG=zh_TW.big5 utf8
語系編碼轉換 

iconv -f utf8 -t big5 vi.utf8 |  iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o vi.gb.utf8

attention:
  • 雙引號內的特殊字元如 $ 等,可以保有原本的特性,如下所示:

    『var="lang is $LANG"』則『echo $var』可得『lang is en_US』
  • 單引號內的特殊字元則僅為一般字元 (純文字),如下所示:

    『var='lang is $LANG'』則『echo $var』可得『lang is $LANG』
  • 若該變數需要在其他子程序執行,則需要以 export 來使變數變成環境變數:

    『export PATH』
  • 取消變數的方法為使用 unset :『unset 變數名稱』例如取消 myname 的設定:

    『unset myname』
  • 可用跳脫字元『 \ 』將特殊符號(如 [Enter], $, \, 空白字元,
    '等)變成一般字元;

  • 用 env 觀察環境變數與常見環境變數說明
  • 用 set 觀察所有變數 (含環境變數與自訂變數)
  • 影響顯示結果的語系變數 (locale)
  • 當啟動一個 shell,作業系統會分配一記憶區塊給 shell 使用,此記憶體內之變數可讓子程序取用
  • 若在父程序利用 export 功能,可以讓自訂變數的內容寫到上述的記憶區塊當中(環境變數);
  • 當載入另一個 shell 時 (亦即啟動子程序,而離開原本的父程序了),子 shell 可以將父 shell
    的環境變數所在的記憶區塊導入自己的環境變數區塊當中。
變數鍵盤讀取、陣列與宣告: read, array, declare
與檔案系統及程序的限制關係:ulimit
變數內容的刪除與取代:echo ${path#/*kerberos/bin:}         
  • # :符合取代文字的『最短的』那一個;
  • ##:符合取代文字的『最長的』那一個
  • #:從最前面開始刪除; %:從最後面開始刪除
login shell 的設定檔讀取流程

圖 4.3.1、login shell 的設定檔讀取流程source :讀入環境設定檔的指令

變數設定方式說明
${變數#關鍵字}
${變數##關鍵字}
若變數內容從頭開始的資料符合『關鍵字』,則將符合的最短資料刪除
若變數內容從頭開始的資料符合『關鍵字』,則將符合的最長資料刪除
${變數%關鍵字}
${變數%%關鍵字}
若變數內容從尾向前的資料符合『關鍵字』,則將符合的最短資料刪除
若變數內容從尾向前的資料符合『關鍵字』,則將符合的最長資料刪除
${變數/舊字串/新字串}
${變數//舊字串/新字串}
若變數內容符合『舊字串』則『第一個舊字串會被新字串取代』

若變數內容符合『舊字串』則『全部的舊字串會被新字串取代』

  • stdout
  • 1> :以覆蓋的方法將『正確的資料』輸出到指定的檔案或裝置上;
  • 1>>:以累加的方法將『正確的資料』輸出到指定的檔案或裝置上;
  • stderr
  • 2> :以覆蓋的方法將『錯誤的資料』輸出到指定的檔案或裝置上;
  • 2>>:以累加的方法將『錯誤的資料』輸出到指定的檔案或裝置上;
  • standard input : < 與 <<
  • <  :將原本需要由鍵盤輸入的資料,改由檔案內容來取代
  • << :結束的輸入字元

命令執行的判斷依據: ; , &&, ||

 

  • 管線命令僅會處理 standard output,對於 standard error output 會予以忽略
  • 管線命令必須要能夠接受來自前一個指令的資料成為 standard input 繼續處理才行。
  • cut 、grep、
 cut -c 字元區間 <==用於排列整齊的訊息
選項與參數:
-d :後面接分隔字元。與 -f 一起使用;
-f :依據 -d 的分隔字元將一段訊息分割成為數段,用 -f 取出第幾段的意思;
-c :以字元 (characters) 的單位取出固定字元區間;
grep [-acinv] [--color=auto] '搜尋字串' filename
選項與參數:
-a :將 binary 檔案以 text 檔案的方式搜尋資料
-c :計算找到 '搜尋字串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字串' 內容的那一行!
--color=auto :可以將找到的關鍵字部分加上顏色的顯示喔!
 sort [-fbMnrtuk] [file or stdin]
選項與參數:
-f :忽略大小寫的差異,例如 A 與 a 視為編碼相同;
-b :忽略最前面的空白字元部分;
-M :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;
-n :使用『純數字』進行排序(預設是以文字型態來排序的);
-r :反向排序;
-u :就是 uniq ,相同的資料中,僅出現一行代表;
-t :分隔符號,預設是用 [tab] 鍵來分隔;
-k :以那個區間 (field) 來進行排序的意思


 

    

转载于:https://www.cnblogs.com/milo85/archive/2010/01/24/1655038.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值