vi編程技巧:

h #向上
j #向左
k #向右
l #向下
a #插入
o #插入一行,並在行首開始
O #在當前行前插入一行,並在行首開始
dd #刪除當前行
x #刪除當前字符
yy #複製當前行
p #在當前行後面粘貼
P #在當前行前面粘貼
10G #光標到第10行
G #到文件末尾
0 #行首
u #撤銷
ctrl+v #多列操做
ctrl+r #撤銷剛纔的撤銷操做
ctrl+f/b #下一頁/上一頁
shift+# #查找當前單詞的下一個出現位置
:set nu #顯示行號 shell

 

b. 窗口切分:ubuntu

split/vsplit #垂直/水平切分
ctrl+w+w #切換窗口
:quitall #所有退出
:only #只保留當前窗口
:wall #所有保存
:edit file #打開文件file編輯
vi -o a.sh b.sh #打開a.sh和b.sh並切分窗口編輯

vim

  c. tags使用:數組

  1. :
    tags=tags file #指定tag文件
     
  2.  
    ctrl+] #跳轉到當前單次定義處
  3.  
    ctrl+T #跳轉回遠處</span>

awkbash

awk是一種功能強大的文本處理工具,它提供了極強大的功能,能夠樣式裝入,流控制,數學運算符,進程控制符號,內置變量和函數。ssh

sed -n '1,5p' file #只顯示1-5行
sed '1,5d' file #去除1-5行
sed '/^ *$/d' file #刪除空格行
cat file | tr " " "\t" > file1 #替換空格爲\t
sed '/[a-z]/d' file #刪除匹配行

#中文處理:
cat a | tr -d -c $'[a-z0-9\.\?\_ \r\t\n{}()!?]' #刪除文件中中文
cat file | grep -Po '(?<=")[^!-~]+' #提取文件中中文
tr -d $'[a-zA-Z\.\?\_+\r{}()!?,/\-"\':<>%]'
| sed 's/《//;s/「//;s/」//;s/、//;s/》//;s/》//;s/〕
//;s/(//;s/②//;s/①//;s/③//;s/《//;s/》//' 異步


#僅保留文件中中文函數

4.  ctags:工具

ctrl+z #當前任務切換到後臺執行
ctrl+d #結束輸入或退出shell
ctrl+s #暫停屏幕輸出
ctrl+q #恢復屏幕輸出
Ctrl+a #切換到命令行開始處
ctrl+e #切換到命令行末尾
ctrl+u #剪切清除光標以前的內容
ctrl+k #清除光標及光標之後的內容
ctrl+y #在光標處粘貼剪切的內容
ctrl+r #查找歷史命令
ctrl+t #調換光標與光標前字符,而且換光標到下一個字符
ctrl+x+u #撤銷操做ui

 

3、文件處理類:

mv #移動文件/重命名
cp #拷貝文件
rm #刪除文件夾 -rf 刪除目錄而且忽略提示
find ./ -name filename #查找文件
locate #所有計算機查找文件
find. | xargs grep -ri "IBM" #查找當前目錄下包含IBM的文件

4、用戶管理類:

useradd username -d /home/username -s /bin/bash -g usergroup -G useradditionalgroup #移動文件/重命名
passwd username #修改用戶密碼
userdel username #刪除用戶

 5、系統管理類:

du -d 1 -h * #查看當前目錄文件大小
netstat -nao #查看進程佔用端口號
mount /dev/sda3 /mnt/mount #加載硬/U盤
fdisk -l #查看電腦硬盤佔用狀況
df #查看電腦分區使用狀況
top #查看運行進程
kill/killall #殺死進程
ps -ef | grep processname | grep -v grep | cut -d " "-f 2 | xargs kill -s 9 #殺死進程
screen #終端屏幕管理工具
polysh #多機log管理工具

6、其餘: 

ctrl+z #把當前進程暫停,並切換到後臺
jobs #查看後臺運行進程
fg 1 #把第一個進程放置到前臺執行
bg 1 #把第一個進程放置到後臺執行
alias command1 command2 #把command1的別名設置爲command2

#vimdiff
zf #建立摺疊
za #切換摺疊狀態
zo #打開摺疊
zc #關閉摺疊
zr #打開全部摺疊
zm #關閉全部摺疊
zj/zk #下一折疊開始/上一折疊末尾
dp #拷貝另外一個文件的當前行到當前文件中
do #拷貝另外一個文件的內容到當前文件中

 

#crontab 定時任務
crontab -e #打開計劃任務管理界面
00 14 * * 7 cd pwd; sh execute.sh 1>log 2>err & #定時開啓計劃任務 分/時/日/月/星期

nohup sh execute.sh 1>log 2>err & #創建終端斷開仍會繼續執行的異步任務

dmesg 是一種程序,用於檢測和控制內核環緩衝。 

 

7、問題及解決辦法:

1. 去除字符串前面的0。

2.ubuntu 執行shell腳本,報錯Syntax error: "(" unexpected解決方法的方法: 
寫了一些簡單的shell腳本,簡單的數組處理,但是卻沒法編譯執行。


後來仔細檢查代碼和搜索發現:由於Ubuntu爲了加快開機速度,用dash代替了傳統的bash,是dash在搗鬼。如今咱們能夠 取消dash。
sudo dpkg-reconfigure dash 。而後在彈出的窗口中選擇否。

3. 重用ssh鏈接:ssh有一個功能,能夠在第一次打開之後一直保留這個ssh鏈接,後續繼續打開的ssh鏈接會繼續使用這個ssh鏈接的TCP鏈接,也就是下次不用輸入密碼了。

相關文章
相關標籤/搜索