濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Linux下一些常用的Shell腳本整理

Linux下一些常用的Shell腳本整理

熱門(mén)標(biāo)簽:奧維互動(dòng)地圖標(biāo)注參數(shù) 衛(wèi)星地圖標(biāo)注地名 聯(lián)通電話(huà)機(jī)器人怎么接 電銷(xiāo)機(jī)器人 劍魚(yú) 申請(qǐng)公司400電話(huà)要注意什么 安裝外呼系統(tǒng)費(fèi)用 寧波智能外呼系統(tǒng)公司 地圖標(biāo)注輻射圖案 曲阜400電話(huà)辦理

如何計(jì)算當(dāng)前目錄下的文件數(shù)和目錄數(shù)
   
   

 # ls -l * |grep "^-"|wc -l ---- to count files
  
  # ls -l * |grep "^d"|wc -l ----- to count dir

   
    如何只列子目錄?
   

  ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
  
  ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)

   
    如何實(shí)現(xiàn)取出文件中特定的行內(nèi)容
  
    如果你只想看文件的前5行,可以使用head命令,
  
    如: 

head -5 /etc/passwd

   
    如果你想查看文件的后10行,可以使用tail命令,
  
    如: 

tail -10 /etc/passwd

   
    你知道怎么查看文件中間一段嗎?你可以使用sed命令
  
    如:

sed -n '5,10p' /etc/passwd 

這樣你就可以只查看文件的第5行到第10行。
  
    如何查找含特定字符串的文件
  
    例如查找當(dāng)前目錄下含有"the string you want find…"字符串的文件:
   
    

$find . -type f -exec grep "the string you want find…" {} ; -print

   
    如何列出目錄樹(shù)
  
    下面的短小的shell程序可以列出目錄樹(shù), 充分利用了sed強(qiáng)大的模式匹配能力。
  
    目錄樹(shù)形式如下:
   

  .
  
  `--shellp
  
  `--updates
  
  `--wu-ftpd-2.4
  
  | `--doc
  
  | | `--examples
  
  | `--src
  
  | | `--config
  
  | | `--makefiles
  
  | `--support
  
  | | `--makefiles
  
  | | `--man
  
  | `--util

   
    腳本如下:
   
  

 #!/bin/sh
  
  # dtree: Usage: dtree [any directory]
  
  dir=${1:-.}
  
  (cd $dir; pwd)
  
  find $dir -type d -print | sort -f | sed -e "s,^$1,," -e "/^$/d" -e "s,[^/]*/([^/]*)$,`----1," -e "s,[^/]*/,| ,g"

   
    如何實(shí)現(xiàn)取出文件中特定的列內(nèi)容
  
    我們經(jīng)常會(huì)遇到需要取出分字段的文件的某些特定字段,例如/etc/password就是通過(guò)":"分隔各個(gè)字段的。可以通過(guò)cut命令來(lái)實(shí)現(xiàn)。例如,我們希望將系統(tǒng)賬號(hào)名保存到特定的文件,就可以:
   
    

cut -d: -f 1 /etc/passwd >; /tmp/users

   
    -d用來(lái)定義分隔符,默認(rèn)為tab鍵,-f表示需要取得哪個(gè)字段。
  
    當(dāng)然也可以通過(guò)cut取得文件中每行中特定的幾個(gè)字符,例如:
   

  cut -c3-5 /etc/passwd

   
    就是輸出/etc/passwd文件中每行的第三到第五個(gè)字符。
  
    -c 和 -f 參數(shù)可以跟以下子參數(shù):
  
    N 第N個(gè)字符或字段
  
    N- 從第一個(gè)字符或字段到文件結(jié)束
  
    N-M 從第N個(gè)到第M個(gè)字符或字段
  
    -M 從第一個(gè)到第N個(gè)字符或字段
  
    在vim中實(shí)現(xiàn)批量加密
  
    密碼中還是不能帶空格,不管了,能加密就好,先這么用著。
   
   

 #!/bin/bash
  
  # Encrypt file with vim
  
  if (test $# -lt 2) then
  
  echo Usage: decrypt password filename
  
  else
  
  vim -e -s -c ":set key=$1" -c ':wq' $2
  
  echo "$2 encrypted."
  
  fi
  
  [weeder@SMTH weeder]$ for file in *.txt ; do encrypt test $file ; done
  
  test2.txt encrypted.
  
  test4.txt encrypted.
  
  test9.txt encrypted.
  
  kick.txt encrypted.
  
  echo "$2 encrypted."
  
  fi
  
  [weeder@SMTH weeder]$ for file in *.txt ; do encrypt test $file ; done
  
  test2.txt encrypted.
  
  test4.txt encrypted.
  
  test9.txt encrypted.
  
  kick.txt encrypted.
  
  too_old.txt encrypted.
  
  too_old_again.txt encrypted.
  
  bg5.txt encrypted.
  
  [weeder@SMTH weeder]$

   
    $@等特定shell變量的含義
  
    在shell腳本的實(shí)際編寫(xiě)中,有一些特殊的變量十分有用:
  
    $# 傳遞到腳本的參數(shù)個(gè)數(shù)
  
    $* 以一個(gè)單字符串顯示所有向腳本傳遞的參數(shù)。與位置變量不同,此選項(xiàng)參數(shù)可超過(guò)9個(gè)
  
    $$ 腳本運(yùn)行的當(dāng)前進(jìn)程ID號(hào)
  
    $! 后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程的進(jìn)程ID號(hào)
  
    $@ 與$#相同,但是使用時(shí)加引號(hào),并在引號(hào)中返回每個(gè)參數(shù)
  
    $- 顯示shell使用的當(dāng)前選項(xiàng),與set命令功能相同
  
    $? 顯示最后命令的退出狀態(tài)。0表示沒(méi)有錯(cuò)誤,其他任何值表明有錯(cuò)誤。
  
    如何使程序的執(zhí)行結(jié)果同時(shí)定向到屏幕和文件
  
    program_name |tee logfile
  
    這樣程序執(zhí)行期間的顯示都記錄到logfile同時(shí)顯示到標(biāo)準(zhǔn)輸出(屏幕
)。
  
    如何用sendmail給系統(tǒng)所有用戶(hù)送信
  
    首先在aliases文件里面建立一個(gè)alias:
   

  alluser: :include:/etc/mail/allusers

   
    并執(zhí)行newaliases使之生效,然后在/etc/mail/allusers里面列出所有用戶(hù),可以使用下面的命令:
   
    

awk -F: '$3 >; 100 { print $1 }' /etc/passwd >; /etc/mail/allusers

   
    如何查找某條命令的相關(guān)庫(kù)文件
  
    在制作自己的發(fā)行版時(shí)經(jīng)常需要判斷某條命令需要哪些庫(kù)文件的支持,以確保指定的命令在獨(dú)立的系統(tǒng)內(nèi)可以可靠的運(yùn)行。
  
    在Linux環(huán)境下通過(guò)ldd命令即可實(shí)現(xiàn),在控制臺(tái)執(zhí)行:
   

  ldd /bin/ls

   
    即可得到/bin/ls命令的相關(guān)庫(kù)文件列表。
  
    如何使用host命令獲得更多信息
  
    Host能夠用來(lái)查詢(xún)域名,然而它可以得到更多的信息。host -t mx linux.com可以查詢(xún)出Linux.com的MX記錄,以及處理Mail的Host的名字。Host -l linux.com會(huì)返回所有注冊(cè)在linux.com下的域名。host -a linux.com則會(huì)顯示這個(gè)主機(jī)的所有域名信息。
  
    如何停止終端多個(gè)進(jìn)程
  
    以下是腳本:
   
   

echo "系統(tǒng)當(dāng)前用戶(hù)"
  
  echo "---------------"
  
  who | awk '{print $2}'
  
  echo "---------------"
  
  echo "輸入要?dú)⑺澜K端的終端號(hào):"
  
  read $TTY
  
  kill -9 ${K}=`ps -t $TTY | grep [0-9] | awk '{print $1}'` 

您可能感興趣的文章:
  • linux shell數(shù)組深入學(xué)習(xí)理解
  • linux shell中 if else以及大于、小于、等于邏輯表達(dá)式介紹
  • Linux shell腳本編程if語(yǔ)句的使用方法(條件判斷)
  • linux shell腳本學(xué)習(xí)xargs命令使用詳解
  • linux shell命令行選項(xiàng)與參數(shù)用法詳解
  • Linux中執(zhí)行shell腳本的4種方法總結(jié)
  • Shell+Linux命令實(shí)現(xiàn)日志分析
  • 讓Linux下的cron以秒為單位執(zhí)行shell腳本的3種方法
  • 基礎(chǔ)的Linux Shell技巧小結(jié)
  • Linux shell知識(shí)點(diǎn)匯總

標(biāo)簽:三門(mén)峽 安康 遵義 上饒 大興安嶺 仙桃 江西 大慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux下一些常用的Shell腳本整理》,本文關(guān)鍵詞  Linux,下,一些,常用的,常,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux下一些常用的Shell腳本整理》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Linux下一些常用的Shell腳本整理的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    金秀| 莱西市| 梁河县| 富平县| 侯马市| 花莲市| 通辽市| 梅河口市| 突泉县| 长乐市| 柳江县| 南雄市| 天柱县| 剑川县| 潮安县| 民勤县| 招远市| 右玉县| 西安市| 阳东县| 巴彦县| 沂源县| 佛坪县| 海伦市| 松滋市| 罗城| 龙南县| 扎囊县| 上饶县| 博乐市| 惠州市| 宜阳县| 东莞市| 敦化市| 厦门市| 南开区| 哈巴河县| 开封市| 息烽县| 铜川市| 涿州市|