14.bash(2) 与 环境变量
来源:互联网 发布:上海圣剑网络怎么样 编辑:程序博客网 时间:2024/05/29 10:17
变量内容的删除,替代和替换
删除:
echo ${path#/*kerberos/bin:}${variable#/*kerberos/bin:} // 代表从变量内容的最前面开始向右删除,且仅删除最短的那个echo ${path##/*:} //删除最长的那个因为在PATH中,每个目录以 : 隔开的,所以要从头删除目录就是介于斜线(/) 到冒号(:) 之间的数据。但是 PATH 中不止一个冒号(:) ,所以#,##就分别代表: # : 符合替换的字符的"最短的"那一个,从前面开始删除 ## : 符合替换字符,最长的一个$ : 从后面开始删除$$ :
替换:
将 path 的变量的 sbin 替换成大写 SBINecho ${path/sbin/SBIN} // 2个 //之间为旧字符串
命令别买和历史命令
命令别名设置: alias,unalias alias lm='ls -al | grep more' unalias
历史命令 : history -n : 数字,列出最近的n个命令 -c : 将目前shell 中所有的history全部删除
bash shell 的操作环境
路径与命令查找顺序: 1. 以相对或者绝对路径执行的命令,如 "/bin/ls" 2. 由 alias 找到的该命令 3. 由 bash 内置的命令来执行 4. 通过 $PATH 这个变量的顺序找到的第一个命令来执行通过 type -a ls ,可以查看 ls 执行的顺序
bash 的登录与欢迎信息: /etc/issue, /etc/motd/etc/issue.net 远程界面显示的信息/etc/motd //登录后,显示的信息
bash 的环境配置文件
login shell 与 non-login shell
login shell : 取得 bash 时,需要完整的登录流程,就称login shell。non-login shell : 取得 bash 接口不需要重复登录的举动。
login shell 会读取2个配置文件: 1. /etc/profile : 这是系统整体的设置,最好不要修改这个文件; 2. ~/.bash_profile 或~/.bash_login 或~/.profile:属于用户个人设置,你要修改自己的数据,就写入这里
/etc/profile (login shell 才会读取): - PATH : 根据 UID 决定 PATH 变量要不要包含有 sbin 的系统命令目录 - MAIL : 会依据账号设置好用户的 mailbox 到 /var/spool/mail/账号名 - USER : 根据用户的账号设置此变量 - HOSTNAME : 依据主机的 hostname 命令来决定此变量内容 - HISTSIZE : 历史命令的记录条数 - /etc/inputrc - /etc/profile.d/*.sh - /etc/sysconfig/i18n : 由 /etc/profile.d/lang.sh 调用
~/.bash_profile(login shell 才会读取):bash 读完整体环境设置后,会读取个人配置文件。依序分别是: 1. ~/.bash_profile 2. ~/.bash_login 3. ~/.profile其实 bash 的 login shell 设置只会读取上面3个文件中的一个。读取顺序如上,也就是说如果,~/.bash_profile 存在,则不读取其他的。
source : 读入配置文件的命令由于/etc/profile 和 ~/.bash_profile 都是取得 login shell 的时候才会读取配置文件,所以配置好文件后,需要注销。用 source 命令可以不用注销。source 配置文件 //等同于下面命令 . 配置文件 利用 source 或者小数点(.) 可以将配置文件读入目前的 shell 环境中。
~/.bashrc (no login shell 会读取)
其他配置文件
1. /etc/man.config : 规定了去哪里查找 man page 。以 tarball 方式安装,可能需要定义。 2. ~/.bash_history : 历史命令 3. ~/.bash_logout : bash 注销后的动作
终端机的环境设置: stty, set
stty -a //查看目前终端设置^ 代表 Ctrl 如果想用 ctrl + h 来进行字符删除stty erase ^h
数据重定向
standard output(标准输出,1, > 或 >>) : 命令执行所回传的正确信息standard input(标准输入,0) : < 或 << standard error(标准错误,2, 2>,或2>>) : 命令执行所回传的错误信息
/dev/null 垃圾桶黑洞设备与特殊写法
/dev/null 可以吃掉任何导向这个设备的信息。find /home -name .bashrc 2>>/dev/null如果要将正确与错误数据统统写入同一个文件: find /home -name .bashrc > list 2>list // 错误,2条数据可能交叉写入文件 find /home -name .bashrc > list 2>&1 //正确 find /home -name .bashrc &> list
standard input, < , <<cat > catfile <<"eof" // 如果输入 eof 代表输入结束
执行命令的判断依据: ; && ||
命令1 ; 命令2 // 分号前面的命令执行完会接着执行下面一个命令1 && 命令2 // 命令1对,执行2,错停止命令1 || 命令2 // 命令1对,不执行2,错,执行2
管道命令
ls -al | less //信息太多,用 less 查看管道命令 " | ",仅能处理前面一个命令传来的正确信息,也就是说标准错误处理不了。每个管道后的第一个数据必是 "命令",能够接收 标准输入的数据才行。
选取命令 : cut , grepgrep [-acinv] [--color=auto] '查找字符串' filename -a : 将 binary 文件以 text 文件的方式查找数据 -c : 计算找到 '查找字符串'的次数 -i : 忽略大小写 -n : 顺便输出行号 -v : 反向选择 --color=auto : 将找到的关键字上颜色last | grep root //取出有 root的last | grep -v root // 取出没有 root 的
排序命令 : sort, wc,uniqsort [-fbMnrtuk] [file or stdin]cat /etc/passwd | sortuniq [-ic] -i : 忽略大小写字符才不同 -c : 进行计数wc [-lwm] -l : 列出多少行 -w : 列出多少字 -m : 多少字符
双重定向:tee
tee [-a] file -a : 累加
字符转换命令
tr : last | tr ['a-z'] ['A-Z'] //将所有字母转换为大写
关于减号命令
stdin,stdout 可以用 - 代替tar -cvf - /home | tar -xvf - 将 /home 打包,不是记录到文件,而是传送到stdout,经过管道,传给 tar -xvf -
0 0
- 14.bash(2) 与 环境变量
- zsh与bash设置环境变量的不同点
- shell 变量 & 环境变量 (bash)
- Bash 的环境变量
- linux 环境变量和Bash
- bash学习之环境变量
- Bash的环境变量
- bash只读的环境变量
- bash csh 设置环境变量
- bash shell一些环境变量
- linux的bash环境变量
- Bash的环境变量
- bash初认识2环境变量和自定义变量
- bash变量-数值运算与运算符/变量测试与内容替换/环境变量配置文件
- Bash基本编程中的环境变量
- bash PS1环境变量的设置
- bash编程系列-环境变量
- bash shell 下的环境变量
- js学习笔记2016.12.26
- 异步任务神器 Celery 简明笔记
- JavaScript 诡异的全局变量和局部变量
- JS操纵属性的两种方法
- CentOS Linux解决Device eth0 does not seem to be present
- 14.bash(2) 与 环境变量
- 实例化Spring容器
- C PRIMER PLUS总结(一)
- postgresql 查看数据库,表,索引,表空间以及大小
- goto
- Composer笔记(三):composer.json文件配置
- Tutorial: 463. Island Perimeter
- 闪回查询和闪回版本查询实验
- jquery关闭当前页面,后台刷新父页面