shell基础
/etc/shells这个文件存放了系统当前可以使用的shell/etc/passwd用户登陆时会默认取一个shell操作,而这个登陆取得的shell就记录在/etc/passwd这个文件内.bash_history记录前一次登陆以前所执行的命令,这一次的命令放在临时内存中,注销登陆后才写入文件- bash支持通配符查询与命令执行,如
ls -l /usr/bin/X*
变量的设置与使用
=设置变量,myname = virsecho显示变量,echo $PATH- 增加变量可以用
$变量名称增加,比如PATH="$PATH":/home/bin - 若该变量需要在其他子进程中使用,需要使用
export声明成环境变量export PATH,export也可以显示当前的环境变量 unset 变量名称可以取消变量的设置- linux中,双引号可以保持变量的内容,双引号里面的变量仍然变量,但是单引号里面的内容只是一般的字符,反单引号的作用是:在一串命令中反单引号里面的内容会被先执行,而执行的结果又会被当作外部输入信息,如
- ls -al `locate crontab`
env可以列出当前shell的所有环境变量,env是environment的缩写

set可以查看当前bash的所有变量,包括环境变量和自定义变量locale显示当前语系变量
反单引号的使用
反单引号是指(`)即数字键1左边的字符,其意义是:
- 在一串命令中,反单引号内部的命令会先执行,同时执行结果会作为外部输入信息替换掉原来的文本
如:
ls -l `locate crontab`,先执行locate crontab将文件名列出来,然后使用ls查看文件具体信息

变量的键盘读取、数组与声明:read,array,declare
read [-pt] variable
-p:后面可以接提示符-t :后面接等待的秒数,如果没有输入系统自动略过read -p "your input:" atest输入This is a test后echo $atest

declare [-aixr] variable
参数-a将后面的variable设置为数组(array)类型,可以存放字符串之类参数-i将后面的variable设置为整型(integer)类型参数-x将后面的variable设置环境变量参数-r将后面的variable设置readonly,变量不可更改也不可重设bash默认的变量类型为字符串类型- 数组类型的赋值
a[1]="sda",变量显示echo "${a[2]}"
数据流重定向
数据流重定向就是将原本在屏幕显示的信息传输到其他地方,比如文件、或者设备之类的,执行一个命令的时候涉及到输入与输出,而输出又分为标准输出与标准错误输出
标准输入(stdin):代码为0,使用 < 或 <<标准输出(stdout):代码为1,使用 > 或 >>标准错误输出(stderr):代码为2,使用 > 或 >>
>表示输出到文件,如果文件存在就把文件内容清空然后输入
>>表示输出到文件,但是如果文件存在,输入数据累加到文件后面
标准输出
find /home -name .bashrc > list_right 2> list_error,将正确数据输出到list_right,错误数据输出到list_errorfind /home -name .bashrc > list 2>&1
find /home -name .bashrc &> list,把正确和错误的数据输出到一个list文件里面- 不想要的输出可以丢到
/dev/null这个黑洞文件中
标准输入
cat > catfile,创建catfile文件并且由键盘输入文件的内容,输出结束按ctrl+dcat > catfille < ~/.bashrc,创建catfile文件,键盘输入由文件./bashrc代替,最终catfile的内容与.bashrc的内容一样cat > catfille << "eof"创建catfile文件并且由键盘输入文件的内容,指定’eof’为文件结束输入标志,文件内容写完后,再输入eof即可推出,不需要按ctrl+d
管道命令
后一个命令接收前一个命令传来的数据作为stdin(注意不接受stderr数据),然后执行输出
command1 | pipe | pipe.....
常用的有
选取命令grep、cut
cut命令用于切割字符,相当于splite
- 第一种用法
cut -d'分割字符' -f fields

- 第二种用法
cut -c 字符范围

使用cut命令略去开头的’declare -x’

grep命令用于挑选想要的信息,相当于正则表达式
语法:grep [-acinv] [–color=auto] ‘查找字符串’ filename
-a: binary文件以text文件方式查找
-c: 计算查询到字符串的次数
-i: 忽略大小写
-n: 输出行号
-v: 反向选择
--color=auto: 查找关键字加上颜色显示
filename: 指定查找文件

排序命令sort、wc、uniq
wc命令用于计数
参数:
-l:列出多少行
-w: 列出多少英文单词
-m: 列出多少字符
-c: 统计字节数,注意区别-m

其他命令
- 双向重定向
tee - 字符转换命令
tr、col、join、paste、expand - 切割命令
splite - 参数代换
xargs
875

被折叠的 条评论
为什么被折叠?



