天天看點

馬哥linux shell 筆記2

變量替換:用變量的值替換變量名:echo"$AGE"

指令替換:用指令的執行結果替換指令:$(COMMAND)='COMMAND'

echo "Today is 'date+%F'"

touch file-'date+%F-%H-%M-%S'

seq 用來列出一系列數

seq 5   1 2 3 4 5

seq 1 10 1 2 3 4 5 6 7 8 9 10

seq 10 2 100

NUMSEQ=’seq 1 10'

echo $NUSEQ

變量:配置檔案

bash:

   全局:

    /etc/profile,/etc/profile.d/*, /etc/bashrc

   個人

    ~/.bash_profile ~/.bashrc ~/.bash_history

bash的運作方式:

    互動式:先讀取/etc/profile-->/etc/profile.d/*--

>.bash_profile-->~/.bashrc-->/etc/bashrc

    非互動式:~/.bashrc-->/etc/bashrc-->/etc/profile.d/*

profile 類

      設定環境變量

      運作指令或腳本

bashrc類

       設定本地變量

       設定指令别名

source 檔案名 = . 檔案名  讓bash重新讀取配置檔案

指令别名:

  alias cls=clear 将clear換為cls

  unalias cls     将cls撤銷

  alias cdnet="cd /etc/sysconfig/"

bash腳本解釋器:

shell腳本:

每一個腳本第一行必須加#!/bin/bash

練習:

#!/bin/bash

mkdir /tmp/test

touch /tmp/test/file-'date +%F-%H-%M-%S'

cp -r /etc/profile.d /tmp/test2

DESTDIR='/tmp/test'

mkdir $DESTDIR

touch %DESTDIR/file-'date+%F-%H-%M-%S'

cp -r /etc/profile.d/ $DESTDIR

nuset DESTDIR 撤銷變量

輸入輸出重定向.管道

程式的預設輸入裝置,叫标準輸入,stdin,鍵盤,0

程式的預設輸出裝置,叫标準輸出,stdout,minitor,1

程式的預設錯誤資訊輸出裝置,标準錯誤輸出,stderr ,minitor,2

輸出重定向:

command>FILE 覆寫輸出(慎重)

set -C 關掉标準輸入輸出

set +C 打開标準輸入輸出

set >|強制覆寫

command >>FILE 追加輸出

/dev/null 資料黑洞

date >/dev/null

echo $? 顯示為0,則表示執行成功

/dev/zero 泡泡機,吐0

/dev/urandom 随機數生成器

輸入重定向

COMMAND <FILE

tr 'a-z' 'A-Z' </etc/passwd

COMMAND <<"EOF"

echo -e "the fist line.\nwww.baidu.com.\nwww.qq.com" >/tmp/test

cat >>/tmp/test1

<the fist line

<www.baidu.com

<www.qq.com

<EOF

錯誤輸出:

COMMAND 2>FILE

COMMAND 2>>FILE

正确或錯誤統統重定向

COMAND >FILE 2>&1

COMMAND &>FILE

管道:隻傳遞正确資訊

COMMAND1 |command2 |COMMAND3

ehco "the first line " |tr 'a-z' 'A-Z'

echo "the first line " |tr 'a-z' 'A-Z' |cut -d" " -f2|tr 'A-Z'

'A-Z'

RESULT=echo "the first line " |tr 'a-z' 'A-Z'

echo $RESULT

file 'ls /var/log' |cut -d: -f2|tr -d' ' |sort

uniq 對于連續的内容,隻保留一個

tee

command |tee file |command

ls /etc |tee /tmp/tee.out |gr 'a-z' 'A-Z'

本文轉自 穿越防火牆 51CTO部落格,原文連結:http://blog.51cto.com/sjitwant/1399186

繼續閱讀