linux shell 筆記

vi的使用

h左,l右,j下,k上

dd刪除行,dG從當前刪除到最後

:2定位到第二行,:G定位到文檔最後

:/good搜索good,:%s/good/bad/g把good全部換成bad

:!執行shell命令,:r!把shell命令執行結果讀入文檔

:set nu設置行號,:set nonu取消行號,:1,10s/^/#/g在1到10行前加上#註釋,:1,10s/#/^/g,:1,10>>把1到10行向右移兩個TAB,<<向左移,:1,10d把1到10行刪除

r替換單個字符,R替換多個字符,u撤銷上次操作,ctrl+y恢復上次操作。

:w  a.txt另存爲a.txt

bash shell

Tab自動補全、歷史命令、命令別名、標準輸入輸出、重定向操作和管道功能。

history,history -c,!加字母。

alias,unalias查看別名,設置別名,取消別名。

1>,2>分別是正確輸出和錯誤輸出。

查看變量:echo $變量, Env用於查看全局變量,set所有變量

雙引號,單引號注意一下:

  1. [root@xiaoqi bin]# echo "111 $a 000" 
  2. 111 1000 000 
  3. [root@xiaoqi bin]# echo '111 $a 000' 
  4. 111 $a 000 

鍵盤鍵入變量

  1. [root@xiaoqi date]# read -p "please keyin your name:" -t 30 named 
  2. please keyin your name:xiaoqi 
  3. [root@xiaoqi date]# echo $named 
  4. xiaoqi 

環境變量配置文件/etc/profile我們可以通過path增加環境變量路徑,將該路徑下變量變爲全局變量

  1. [root@xiaoqi etc]# PATH=$PATH:/root 
  2. [root@xiaoqi etc]# echo $PATH 
  3. /usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/root 

 1、一個鍵盤交互的腳本

  1. #!/bin/bash 
  2. #test1.sh 
  3.  
  4. read -p "please input your name:" name 
  5. read -p "please input your name:" age 
  6. echo -e "\n your name and age:$name $age" 
  1. [root@xiaoqi date]# chmod 755 test1.sh 
  2. [root@xiaoqi date]# ./test1.sh 
  3. please input your name:xiaoqi 
  4. please input your name:25 
  5.  
  6.  your name and age:xiaoqi 25 

2、數值運算,()

  1. read -p "first number:" first 
  2. read -p "second number:" second 
  3. total=$(($first*second)) 
  4. echo -e "\n the result of $first X $second is ==> $total" 
  1. [root@xiaoqi date]# chmod 755 test2.sh 
  2. [root@xiaoqi date]# ./test2.sh 
  3. first number:8 
  4. second number:9 
  5.  
  6.  the result of 8 X 9 is ==> 72 

3、每隔三天對數據庫做一次備份,並記錄磁盤信息

  1. #!/bin/bash 
  2. DAY='date+%Y%m%d' 
  3. SIZE='du -sh /var/lib/mysql' 
  4. echo "Date: $DAY">> /tmp/dbinfo.txt 
  5. echo "Date Size: $SIZE">> /tmp/dbinfo.txt 
  6. cd /opt/dbbak 
  7. tar zxvf mysqlbak-${DAY}.tar.gz /var/lib/mysql /tem/dbinfo.txt 
  8. rm -f /tmp/dbinfo.txt 

沒環境,沒運行結果

經典命令

dd

  1. [root@xiaoqi date]# dd if=test1.sh of=test2.sh bs=1M count=1 
  2. 記錄了0+1 的讀入 
  3. 記錄了0+1 的寫出 
  4. 142字節(142 B)已複製,0.0002068 秒,687 kB/秒 
  5. [root@xiaoqi date]# vi test1.sh  
  6.  
  7. [7]+  Stopped                 vi test1.sh 
  8. [root@xiaoqi date]# vi test2.sh  
  9.  
  10. [8]+  Stopped                 vi test2.sh 
  11. [root@xiaoqi date]#  

用剛纔的test1.sh和test2.sh,運行後2的文件跟1一樣了。

把test2.sh裏的東西都刪掉,運行下面命令

  1. [root@xiaoqi date]# dd if=test1.sh of=test2.sh bs=1M conv=ucase 

然後test2.sh裏的內容是test1.sh裏的大寫的內容。

備份

  1. dd if=test1.sh of=test1.sh.bak1 bs=1k 

恢復

  1. [root@xiaoqi date]# dd if=test1.sh.bak1 of=test1.sh 

wc

統計行數

  1. [root@xiaoqi date]# wc -l test1.sh 
  2. 1 test1.sh 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章