马哥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‘




本文出自 “未来时空” 博客,请务必保留此出处http://sjitwant.blog.51cto.com/3661219/1399186

马哥linux shell 笔记2,布布扣,bubuko.com

马哥linux shell 笔记2

上一篇:Hibernate学习一 2014.04.20


下一篇:linux中最常用、最强大的查找命令find的使用