一般模式:
編輯模式:
指令行指令模式: 一般模式下輸入:/ ?都會進入指令行模式
我們寫vi指令中最常用的方法:
0 移動到這一行的最前面字元處
$移動到這一行的最後面字元處G 移動到這個檔案的最後一行
gg移動到這個檔案的第一行
n n為數字 光标向下移動n行
/word 從光标位置開始向下搜尋一個名為word的字元串
:n1. n2s/word1/word2/g n1 n2 為數字,在n1與n2行之間尋找word1,然後替換成word2
1.$s/word1/word2/g 從頭到尾搜尋并替換
1.$s/word1/word2/gc 替換的時候需要确認
x X :x是向後删除一個字元,X是向前删除一個字元
dd 删除光标所在的那一行
ndd :n為數字 從光标位置開始,删除向下n列
yy:複制光标所在的那一行
p,P:p是貼在光标的下一行,P是貼在光标的上一行。
u 複原上一個操作
[ctrl]+r 重做上一個操作
. 這個是小數點,意思是重複前一個操作,如果想重複删除,重複粘貼,按下小數點就可以
:set nu 顯示行号
變量設定的規定:
1. 變量與變量内容以=來連接配接
2. 等号兩邊不能直接接空格符
3. 變量名稱隻能是英文字母或者數字,但數字不能是開頭字元
4. 若有空格,可以使用雙引号或者單引号将變量内容結合起來,注意:蘇昂引号的特殊字元可以保持變量特性,單引号内的特殊字元僅為一般字元
5. 必要時需要以轉義字元\将特殊字元變成一般符号
6. 指令中套指令,用反引号
7. 若變量需要擴充變量内容可以這樣:$PATH:/home/staid這樣的形式擴充
8. 若改變兩需要在其他子程式中執行,則需要用export使變量變成環境變量,如export PATH
9. 通常大寫字元為系統預設變量,自行設定的變量可以使用小寫字母
10. 取消變量的方法為:unset 變量名稱
env列出目前shell環境下的所有變量及其内容
随機數:RANDOM, 這個變量的内容介于0~32767之間
declare –i 申明一個整型的數
[root@staid ~]# declare -i number=$RANDOM*10/32767;echo $number
除了env裡面的變量,還有可以用set列出來的變量。set的變量是目前shell下有效
$? 上一個指令執行的狀态傳回值,成功就是0,不成功就是不同的數,反正不會是0
自定義變量轉變為環境變量:export
declare
r 将變量配置為隻讀。
x 指定的變量會成為環境變量,可供shell以外的程式來使用。
i 将後面的變量定義為整數數字。
語系設定:locale
變量鍵盤讀取,數組 與聲明:read array declare
read 讀取來自鍵盤輸入或者檔案的變量
read
-p:後面可以接提示符
-t:後面可以接當代的秒數
[root@staid ~]# read -p "keyin your name:" -t 30 named;echo $named
與檔案系統及程式的限制關系:ulimit
ulimit
-H 必定不能超過設定的值
-S:可以超過,發警告資訊
[root@staid ~]# vbird="/home/staid/testing/test.x.sh"
[root@staid ~]# echo ${vbird}
/home/staid/testing/test.x.sh
[root@staid ~]# echo ${vbird##/*/}
test.x.sh
[root@staid ~]# echo ${vbird#/*/}
staid/testing/test.x.sh
[root@staid ~]# echo ${vbird%%/*}
[root@staid ~]# echo ${vbird%%/*/}
[root@staid ~]#
有個圖在這兒插入
history指令
history 5
history –c
環境設定檔案:bashrc ~/.bashrc ~/.profile profile…., /etc/inputrc source
/etc/sysconfig/i18n 設定語系
/etc/profile 設定變量
個人設定值(~/.bash_profile ~/.bash_login ~/.profile)
~/.bashrc
~/.bash_history
source /etc/profile 來讓新加入的變量生效
ls -lda /etc/*[35]*
ls –lad /etc/[!a-z]*
cut指令
[root@staid ~]# echo $PATH|cut -d ":" -f 5
/sbin
[root@staid ~]# echo $PATH|cut -d ':' -f 5
-d分隔符 –f 第幾段
last看看這個月的登入者的資訊
grep
-c 統計搜尋字元串的次數
-i忽略大小寫
-n順序輸出行号
-v反向選擇
sort
-f 忽略大小寫
-n使用純數字排序
-r反向排序
-u 就是相同的資料中,僅出現一行
-k 按照那個字段來進行排序
uniq
-c 統計計數
wc
-l 僅顯示多少行
-w 僅顯示多少字
-m多少字元
tee [–a](累加) file 既顯示到螢幕上又列印到file檔案裡
tr 可以用來删除一段消息中的文字,或者是進行文字消息的替換 、
tr –d SET1
-d 删除消息中的SET1字元串
tr –s
替換重複的字元
[root@staid ~]# last |tr '[a-z]' '[A-Z]' 小寫字母全部大寫
将DOS檔案的換行符^M符号删除:
[root@staid ~]# cat /home/test/dostxt|tr -d '\r'
\r指的是DOS換行符。
tar –cvf - /home |gra –xvf –
将home的檔案愛你打包但是打包的資料不記錄到檔案,而是傳送到stdout。
本文轉自guoli0813 51CTO部落格,原文連結:http://blog.51cto.com/guoli0813/350989,如需轉載請自行聯系原作者