有關Linux Shell的學習筆記

1. 查詢目前的目錄下所有沒有尾碼名的檔案:    find . -type f -and ! -name "*.*" 2. 查詢當前檔案夾下所有用Windows分行符號(CRLF)並且沒有尾碼名的檔案,使用-m參數後則轉換成unix format (LF).#!/bin/bashTERM=linuxexport TERM#for i in $(find . -type f -and ! -name "*.*" ); do# if file $i | grep CRLF ; then#

Linux之shell編程-條件測試

 1.測試檔案狀態表1 檔案狀態測試- d 目錄- s 檔案長度大於0、非空- f 正規檔案- L 符號串連- r 可讀- x 可執行- s 檔案長度大於0、非空- w 可寫- u 檔案有s u i d位設定- x 可執行 2.測試時使用邏輯操作符-a 邏輯與,操作符兩邊均為真,結果為真,否則為假。-o 邏輯或,操作符兩邊一邊為真,結果為真,否則為假。例子:[ -r t.txt -a -w t.txt ]echo $?0 3.字串測試= 兩個字串相等。!= 兩個字串不等。-z 空串。-n

學習Unix Shell常用命令

今天,我們來學習下Unix Shell常用命令的知識。大家都知道Unix shell 不但是使用者互動介面,還是一門程式設計語言,系統註冊進入時就會執行一個Unix shell命令檔案 .profile ,下面對Unix shell中的常用命令作簡單介紹。$n shell 程式命令列中的第n 個參數,n為0-9,當n 為0時表示命令名$# 命令列中參數的個數$$ 本shell 命令的進程號$! 最後一個後台進程的代號$* 所有命令列參數$@ 與$*相似,但其值不同$HOME

Shell 中環境變數的範圍

shell 與 export命令使用者登入到Linux系統後,系統將啟動一個使用者shell。在這個shell中,可以使用shell命令或聲明變數,也可以建立並運行shell指令碼程式。運行shell指令碼程式時,系統將建立一個子shell。此時,系統中將有兩個shell,一個是登入時系統啟動的shell,另一個是系統為運行指令碼程式建立的shell。當一個指令碼程式運行完畢,指令碼shell將終止,返回到執行該指令碼之前的shell。 從這種意義上來說,使用者可以有許多

shell指令碼調試

調了半個下午的shell指令碼。。shell真是一個NB的工具。。多謝一個空格,少寫一個空格都能讓人調到死。。1、有些很詭異的錯誤,執行的時候報錯的位置並不一定正確,下午在初始定義變數的時候最後少寫了",結果執行的時候報的是跟這行隔的很遠的一行syntax error near unexpected token `(',這個可以用-x來調試發現2、echo "some thing" > $file當使用重新導向符號>將輸出資料流定位到file的時候,若file不存在則自動建立。但是!

shell awk正則式匹配問題

今天看到個shell指令碼裡面awk處理字串的,裡面有一句gsub("\\.[0-9]+$","",$2),而這個$2的格式是2013-08-07 00:12:13.333這種,這個gsub想要把.333給去掉,看著不太正常,感覺裡面的正則式應該是匹配不到.333的啊。\\轉義後就變成了一個\,而原來的.是沒有被轉義的,這樣就應該無法截取掉.333的,可實際運行了一下,的確可以正確運行,然後又去掉一個\試了下,也可以,但是提示awk: warning: escape sequence `\.'

shell中的顏色展示與行為控制

格式如下:# echo -e '\033[背景色;前景色彩;行為控制m字串\033[#m'# echo -e '\e[背景色;前景色彩;行為控制m字串\e[#m'# foreground | background : color#---------------------------------#     30     |     40     : black#     31     |     41     : red#     32     |     42     : green#    

理解Shell:>/dev/null 2>&1

轉自:http://xierongzhong1.blog.163.com/blog/static/5232328620102921658692/ shell中可能經常能看到:>/dev/null 2>&1 命令的結果可以通過%>的形式來定義輸出 /dev/null 代表空裝置檔案 > 代表重新導向到哪裡,例如:echo "123" > /home/123.txt 1

Shell十三問之二:shell prompt(PS1) 與Carriage Return(CR) 的關係

當你成功登入進一個文字介面之後,大部份情形下,你會在熒幕上看到一個不斷閃爍的方塊或底線(視不同版本而別),我們稱之為*遊標*(cursor)。遊標的作用就是告訴你接下來你從鍵盤輸入的按鍵所插入的位置,且每輸入一鍵遊標便向右邊移動一個格子,若連續輸入太多的話,則自動接在下一行輸入。假如你剛完成登入還沒輸入任何按鍵之前,你所看到的遊標所在位置的同一行的左邊部份,我們稱之為*提示符號*(prompt)。提示符號的格式或因不同系統版本而各有不同,在Linux 上,只需留意最接近遊標的一個可見的提示符號,

shell初學—幾個簡單的shell指令碼

例1#!/bin/shcase ${1##*.tar.} in bz2) tar jxvf $1 ;; gz) tar zxvf $1 ;; *) echo "wrong file type"esac$1 表示運行該指令碼時的第一個命令列參數${1##*.tar.} 表示第一個命令列參數去掉*.tar.後剩下的部分。比如運行指令碼時用 ./mytar.sh bak.tar.gz,

Shell十三問之一:什麼是shell?

在介紹 shell 是甚麼東西之前,不妨讓我們重新檢視使用者與電腦系統的關係,我們知道電腦的運作不能離開硬體,但使用者卻無法直接對硬體作驅動,硬體的驅動只能透過 一個稱為"作業系統(Operating System)"的軟體來控管,事實上,我們每天所談的 freebsd、netbsd、openbsd、linux等等 ,嚴格來說只是一個作業系統,我們稱之為"核心(kernel)"。然而,從使用者的角度來說,使用者也沒辦法直接操作 kernel ,而是透過 kernel

shell中的rpm -pi的意思

這些事rpm的常用參數!!! 你可以在linux下man 一下rpm就知道了!!! 不過是英文的,不然你可以百度一下rpm就知道了額!!! 下面我幫你貼幾個!!!!rpm 常用命令1.安裝一個包 # rpm -ivh 2.升級一個包 # rpm -Uvh 3.移走一個包 # rpm -e 4.安裝參數 --force 即使覆蓋屬於其它包的檔案也強迫安裝 --nodeps 如果該RPM包的安裝依賴其它包,即使其它包沒裝,也強迫安裝。 5.查詢一個包是否被安裝 # rpm -q <

shell指令碼練習

shell指令碼執行個體備忘:一些與傳遞給shell的參數相關的變數:$# 命令列參數的個數$? 調用命令的傳回值$$ 當前進程的進程號$! 最後一個後台命令的進程號$0 命令列的第一個參數,也就是命令名$n 命令列的第n個參數,如果要取超過9個參數${n}$* 所有的命令列參數,等於("$1 $2...""$@" 所有的命令列參數,等於("$1" "$2"...)$_

Linux shell 指令碼中變數的數學計算

首先從一個例子說起:x=1+1echo $x你是不是期待著輸出2啊?讓你失望了,這樣輸出的結果是1+1。為什麼呢?這是因為在shell script中變數類型預設為“字串”,所以若不指定變數類型,1+1是一個“字串”而不是“計算式”。那麼怎麼得到我們想要的結果呢?方法很多,但是總結起來就是兩種,一種就是生命變數的類型。另一種是對特定的計算式進行處理。1)首先看第一類方法:聲明變數的類型我對上述程式做出以下修改:declare -i xx=1+1echo

shell編程/【win/linux】其他相關的記錄

1. 擷取命令執行的傳回值同下?2. 擷取指令碼執行的傳回值#!/bin/bashecho "A test."exit 0執行指令碼後,echo $?,列印出:03. linux下後台執行程式windows上面用start 命令 並且指定/b 選項(如果有log輸出,後面加上重定位,如,2>log即可), linux下在命令後面加上& 符號4. strip的作用?strip處理過後,將去掉其中的調試資訊,執行文 件大小也將小很多。命令如下: # arm-linux-strip

Shell Scripts文法

  Shell指令碼類似於C語言,它也有固定的語言格式.簡而言之,Shell指令碼就像早期DOS年代的批次檔(.bat),最賤的功能就是將許多命令寫在一起,讓使用者很輕鬆的就能執行一個檔案的Shell指令碼,就能夠一次執行多個命令. (1)Shell指令碼第一行的格式   #!/bin/sh   符號#!用來指定該指令檔的解析程式,這裡使用的是bin目錄下的sh解析器.當編輯好指令碼後,如果要執行該指令碼,還必須使其具有可執行屬性,即:   chmod + x filename  

【shell】時間參數

參  數: %H  小時(以00-23來表示)。  %I  小時(以01-12來表示)。  %K  小時(以0-23來表示)。  %l  小時(以0-12來表示)。  %M  分鐘(以00-59來表示)。  %P  AM或PM。  %r  時間(含時分秒,小時以12小時AM/PM來表示)。  %s  總秒數。起算時間為1970-01-01 00:00:00 UTC。  %S  秒(以本地的慣用法來表示)。  %T  時間(含時分秒,小時以24小時制來表示)。  %X

[shell指令碼學習]指令碼作業 7.18-7.21

 寫一個指令碼:1、建立目錄/tmp/scripts2、切換工作目錄至此目錄中3、複製/etc/pam.d目錄至目前的目錄,並重命令為test4、將目前的目錄中的test及其裡面的檔案和子目錄的屬主改為redhat5、將test及其子目錄中的檔案的其它使用者的許可權改為沒有任何許可權#!/bin/bash#DIR='/tmp/csripts2'mkdir $DIRcd $DIRcp -rf /etc/pam.d ./testchown -R redhat ./testchmod -R o=---

shell指令碼學習:循序漸進程式選擇流與Regex

         shell指令碼和其他程式設計語言一樣提供了程式執行流if esle , do while ,for ,case,等。和其他程式設計語言一樣,shell指令碼的程式執行流的存在是為建立完整的邏輯思維,通過下面幾個指令碼來慢慢學習程式執行流。首先是if else迴圈與do while迴圈的格式:單分支:if CONDITION ; then                             //需要注意CONDITION語句的格式:[ command ]

總頁數: 301 1 .... 101 102 103 104 105 .... 301 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.