centos基礎命令及shell編程基礎

1.Tab 2下 補全命令

文件、目錄操作
1.mkdir -p japan/canglas -p代表遞歸創建
  rm -rf japan  r代表目錄,f代表強制    
2.cp -a anaconda /tmp/ana -a代表全部屬性包括時間,/tmp/後跟ana代表複製後改名
3.ls -l == ll
4.mv janpan /tmp/japan1 剪切命令,不需要加-r
  mv japan japan1 剪切命令當成重命令使用
5.ln -s 
軟鏈接文件:類似windows快捷方式,有自己的i節點號,鏈接文件記錄源文件的i節點,源文件必須寫絕對路徑
ln -s /root/test /tmp/test.soft
硬鏈接文件:同一i節點號,可以不同名,不能跨分區,不能針對目錄使用

說明:
/,/usr 下的bin爲存儲公用命令,sbin存儲root命令

搜索
1.locate 文件名  在/var/lib/mlocate數據庫中搜索,缺點數據庫非實時更新,一天更新一次且僅能按照文件名搜索
  updatedb 立即更新數據庫
  /etc/updatedb.conf內的配置文件決定搜索範圍

2.whereis command   
  whatis command(可顯示命令等級)==man -f command
  說明:僅用於命令查找
  which command(輸出當前生效命令的位置 )
3.find / -name command
模糊搜索通配符
*  匹配任意內容
? 匹配任意一個字符
[] 匹配括號內指定任意一個字符
''代表文本名
""代表表示變量
``代表命令執行後的結果 aa=`ls` 等效與bb=$(ls)

#不區分大小寫
find /root -iname install.log
#按照所有者搜索·
find /root -user root
find /root -nouser
#按照時間
find /var/log/ -mtime +10
-5 往前5天內
5往前第5天
+5往前6-10天
#按照大小(整數)
find . -size 25k  (k小寫)
find /root -size 2M  (M大寫)
#按照i節點
find . -inum 262422 
#邏輯組合 a(與) o(或)
find /root -size +25k -a -size -50k
#找到後處理命令
find /root -size +25k -a -size -50k -exec rm -rf {} \;

#查找文件內容,包含size的行
grep "size" filename
-i 忽略大小寫
-v 排除字符


幫助命令
1.#幫助手冊
man ls
#顯示命令幫助等級,
man -f command == whatis command
#模糊搜索幫助命令查找
man -k command == apropos command
2.#shell命令幫助
help cd
3.詳細幫助
Info command

壓縮命令
1.常用壓縮格式:.zip
#-r 壓縮文件夾 
zip longzls.zip longzls
#解壓縮
unzip jp.zip
2.gzip(不可壓縮目錄)
#壓縮後源文件消失 
gzip file 
#解壓
gzip -d file
gunzip file
3.bz2
bzip jp
bunzip jp.bz2
4..tar.gz
.tar.bz2
tar -zcvf jp.tar.gz jp
tar -zxvf jp.tar.gz
tar -jcvf /tmp/jp.tar.bz2 jp
tar -jxvf jp.tar.bz2 -C /tmp/
#查詢
tar jtvf filename.tar.bz2


關機和重啓
shutdown
-r 重啓
-c 取消前一個關機
-h 關機
shutdown -r 05:30 &
shutdown -r now

reboot
logout

其他命令
掛載命令
#查看已經掛載目錄
mount
#根據/etc/fstab配置自動掛載
mount -a
#掛載cd
mount /dev/sr0 /mnt/cdrom/
#卸載命令
umount /dev/sr0
umount /mnt/cdrom/
#u盤掛載
mount -t vfat /dev/sdb1 /mnt/usb/
#查看登錄用戶信息
who
w
last
lastlog


shell編程
#echo顏色輸出
echo -e "\e[1;31m woailzls \e[0m"
#腳本擡頭
#!/bin/bash
#直接執行腳本
bash command
#命令別名查詢
alias    
alias vi=vim(臨時生效)
unalias vi
vi /root/.bashrc(修改環境變量永久生效)
說明:.bashrc環境變量文件根據使用者不同位置於不同目錄下


快捷鍵
ctrl c
ctrl l 清屏clear
ctrl u 光標刪除到命令行首
ctrl a 光標移動到命令行首
ctrl e 光標移動到命令行尾
ctrl z 命令放到後臺
歷史命令
ctrl r 在歷史命令中搜索(位於.bash_history)
說明:.bash_history 只包含了上次註銷前寫入的使用過的命令,因此直接history會比上次多,寫入本次命令爲history -w
     刪除歷史命令使用history -cfins
/etc/profile 可配置歷史命令保存數量
!!重複執行上一條命令
!字符 重複執行最後一條以字符開頭的命令

TAB
命令補全依賴於PATH
文件補全依賴於目錄

輸出重定向
ls > test.log(覆蓋)
ls >> test.log(追加)

ls 2> test.log(標準錯誤輸出重定向覆蓋)
ls 2>> test.log(標準錯誤輸出重定向追加)

ls >test2.log 2>&1 (正確錯誤均寫入文件覆蓋)
ls >> test2.log 2>&1 (正確錯誤均寫入文件追加)***

ls &> test3.log(正確錯誤均寫入文件覆蓋)
ls &>> test3.log(正確錯誤均寫入文件追加)***

ls &> /dev/null(該位置類似回收站,系統黑洞,人間蒸發)

cat xdy >> access.log  2>>error.log    (分開存放正確和錯誤的日誌)***


輸入重定向
wc < test.log

邏輯符
command1;command2 順序執行 
command1&&command2 邏輯與1執行正確2才執行
command1||command2 邏輯或   1正確2就不執行,1錯誤2就執行
應用:ls && echo yes || echo no(監測命令是否正常執行)

管道符
ls /etc/ | more  (命令1的結果傳給命令2)
netstat -an | grep ESTABLISHED

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