bash shell

bash shell

什么是bash?

用户和Linux内核交互的工具,yong用户通过bash操作内核完成系统的使用和管理。

bash 是shell的一种。

shell 的种类:

/bin/sh(已经被/bin/bash代替)

/bin/bash(默认的shell)

/bin/ksh(源自贝尔实验室,兼容bash)

/bin/tcsh(整合C shell,功能更为强大)

/bin/csh(已经被tcsh取代)

/bin/zsh(源自ksh功能更为强大)

功能类似,语法稍有不同。

 

bash shell 变量

Linux 有自定义变量(local)和环境变量(environment);

自定义变量和环境变量的作用范围不同;

可以使用一下指令查看所有变量:

set-查看所有变量;set |more 逐行查看

env-查看所有环境变量;


bash shell 设置方式:

 1、通过自定义变量设置:

VARIABLE=value设置,eg: num=1, 

ehco $VARIABLE 获取变量的值,eg: echo $num

变量不能以数字和特殊字符开头,如果包含空格要用双引号或者单引号括起来;但是如果要进行变量的嵌套引用必须用双引号。单引号只会显示文本。

字符拼接 KEY=$KEY1---

用途:可以设置变量,方便进行目录的切换。

unset VARIABLE释放变量;

常见变量:

HISTFILESIZE:记录历史指令保存的最大值;set |grep HIST

history查看最近命令

COLUMNS:终端窗口显示的宽度

LINES:终端窗口显示的高度;

PS1:设置提示符号前面的内容样式(\d,\h,\t,\u,\w,\!,\$,\l)

2、通过别名(Aliases)设置:

type ll ;ll is aliased to 'ls -l --color=tty'

alias cls='clear

alias查看所有别名; alias cls 查看指定别名

type -a alias 查看

unalias 别名 删除别名

 ps -ef | grep adb查看进程

3、通过set指令设置:

set自身查看所有的变量值

设置shell内部的属性值(set -o noclobber, set -o vi)

cal 查看日历

set -o noclobber重定向的时候显示文件冲突

4、通过环境变量设置:

自定义变量只能在当前的shell环境中有效;

环境变量会在整个主机下的shell环境中生效;

使用$export [variable name]来设置

常见变量:

HOME:指向当前用户的家目录

LANG:应用程序使用何种语言来显示界面;

PWD:指向用户当前的工作目录路径;

PATH环境变量:

系统预设的环境变量,执行一些没有指定路径的指令的时候会去该路径中找。

PATH=$PATH.:将隐藏的路径设置到PATH中,会带来安全性问题。所以不要加点

PATH=$PATH:/mysql/bin

which adb 查找命令所在的路径



shell startup scripts  :login shell和non-login shell


重定向、管道命令

标准输入输出,错误输出

stdin 代码0,使用<或者<<。默认是键盘;

stout 代码1,使用>或者>>,默认是屏幕;

stderr代码2,使用2>或者2>>,默认屏幕。

ls -la /dev/std*

&>全部【012】

多个指令执行的判断方法:bash1&&bash2(前者执行成功才会执行后者)   bash1||bash2(前者执行完毕,并且失败才会执行后者)

mkdir test&&cd test &&touch conf.txt

管道命令:

ls -la | more

能够接受标准输入,如:tail/more/grep

能够接受来自前一个指令的数据正确的输出成为stdin进行处理(前一个正确的输出)

sort指令:排序 sort [-fbknrtu] filename

-f:忽略大小写;-b:忽略最前面的空格; -M:以月份英文名字排序; -n:使用数字排序;-r:逆向排序; -t:分隔符,默认是tab分割; -k:以第几列来排序

ls -l |sort

ls -l |  

ls -l |sort -t ' ' -k 5 -n [-r]


wc指令:wc [-lwm] filename ,统计功能。-l:统计行;-w:统计词;-m:统计字符;

 




你可能感兴趣的:(bash shell)