鸟哥私房菜1-第11章:认识Bash Shell

鸟哥私房菜1-第11章:认识BashShell

read

declare/typeset

array

ulimit

userlimit

echo${vbird##/*/}

删除所有//之间数据

echo${vbird#/*/}

删除第一个//之间数据

echo${vbird%%/*/}

从后面删除所有//之间数据

这样匹配,需要最后一个字符是/

echo${vbird%%/*}

从后面删除所有/*之间数据

echo${vbird%/*}

从后面删除第一个有/*之间数据

echo${vbird/testing/TEST}

用TEST替换testing(仅仅第一个)

echo${vbird//testing/TEST}

用TEST替换testing(所有)

类似的操作符有

-/:-/+/:+/=/:=/?/:?

规则感觉比较奇怪

alias/unalias

history

~/.bash_history

!number执行第几条命令

!command最近命令往前搜索“命令行开头是command”的命令,并执行

!!执行上一个命令

登陆消息显示数据:

/etc/issue,/etc/motd

环境设置文件:

bashrc,~/.bashrc,~./profile,profile...,/etc/inputtrc,source

/etc/sysconfg/i18n

/etc/profile

/etc/bashrc

/etc/profile.d/*sh

/etc/man.config

~/.bash_profile,~/.bash_login,~/.profile

~/.bashrc

~/.bash_history

~/.bash_logout

登陆文件的读取

/etc/profile->/etc/profile.d,/etc/inputtrc->~/.bash_profile,

~/.bash_login,~/.profile->~/.bashrc

登陆shell,读取

~/.bash_profile,~/.bash_login,~/.profile

非登陆shell,仅仅读取

~/.bashrc

stty,set

sttyerase^C

Ctrl+D输入结束

Ctrl+S暂停屏幕输出

Ctrl+Q回复屏幕输出

Ctrl+Z暂停当前命令

Ctrl+C终止当前命令

数据流重导向

标准输入,代码0,<,<<

标准输出,代码1,>,>>

标准错误输出,代码2,2>,2>>

/dev/null

错误find/home-nametesting>list.txt2>list.txt

正确find/home-nametesting>list.txt2>&1

cat>cat_output.txt<cat_input.txt

cat>cat_output.txt<<eof

命令执行的判断根据:;,&&,||

sync;sync;shutdown-hnow

ls/tmp&&touch/tmp/testingagain

ls/tmp/vbird||touch/tmp/vbird

管道命令

管道命令"|"只能处理通过前面一个命令传来的正确信息,也就是标准输出信息,对标准错

误,并没有直接处理的能力

选取命令cut,grep

排序命令sort,wc,uniq

wc计算文件内容的工具

双向重导向tee

能同时输出到2个地方,可以能既输出到屏幕,又输出到文件

默认情况下,如果输出到文件,就不能输出到屏幕了

字符转换命令tr,col,join,paste,expand

tr删除一段消息中的文字,或者进行文字替换

last|tr'[a-z]''[A-Z]'将所有小写字母转成大写字母

col将tab键转换成对等的空格键

join处理2个文件时,有相同数据行,将他们加在一起

相关推荐