shell 知识
自定义变量:可能只存在某一用户,在某一用户的环境下有效
环境变量:所有环境下都可以引用(全环境)
//变量
$变量=“adfa $其他变量”
//自定义变量升级成环境变量
export 变量名
//查看环境变量
env |grep 环境变量名
//删除环境变量注意权限,root用户才可以彻底删除
unset
//设置(自定义)变量//不用set也可以直接设置 变量=‘123123’ 没有$符号
set $变量=‘123123’
//删除变量
unset $变量
//查看所有自定义变量值
set
//PATH变量是默认的指令会存在的目录
ls等命令会去PATH列出的目录中寻找
//增加PATH可能存在的bin目录(:用来分隔不同的目录)
PATH=$PATH:/其他bin目录
//输出值
echo $变量
//输出文件内容
cat 文件名
//查看历史操作记录
history
//设置别名命令
alias cdwww='cd /yjdata/www/www'
alias也可查看所有别名
//删除别名
unaries
//描述某一指令
type -a tomcat
//将输入内容重定向到某个文件,文件可以不存在(ls的结果将不显示,直接写入到list文件)
//多次重定向会覆盖原内容
ls >list
//设置文件不可覆盖
set -o noclobber
//追加写入
cal >>list
//查看日历
cal
//执行脚本source
source .bash_profile
//多个命令之间可以用&&来连接,但只有前面执行成功了后面才可以执行
cd Desktop &&touch test.txt (前者成功才执行后者&&)
//前者执行成功且失败才执行后者||
cd Desktop || touch test.txt
———————————————shell startup scripts 的原理和功能 ————————————
登录之后系统自动运行的脚本(login shell)
//上述定义变量、别名之类的命令重新登录后就会消失(所有变量都会消失,环境变量每次登录都要声明才能使用)
//所以登录linux之后会自动执行脚本/etc/profile,所以常用的命令我们才能识别
// /etc/bashrc如果存在一定会执行,因为/etc/profile写了的
// 然后还会执行/etc/profile.d/*.sh(颜色、语言、指令别名等)
// 所有我们自定义的一些变量、别名等可以写入到这些文件定义,这样一登陆就能识别了
用户登录运行的脚本
//用户登录后会运行~家目录下.bash_profile
//不同用户登录都会执行不同的.bash_profile
// 文件只要可以执行,就能写命令行执行命令
不需要登录即可运行的脚本(non-login shell)
//如su和原bash下的新bash动作
~/.bash_rc、 /etc/bashrc
用户注销登录时调用的脚本(~/.bash_logout)
//退出登录会执行,如果有的话
~/.bash_logout
—————————————输入输出
>是写入 >>是追加
//将正确的输出信息写入到文件
find /root test 1>file
//将错误的输出信息写入到文件
find /root test 2>file
//混合使用(正确信息倒入file,错误信息倒入cuowufile)
find /root test 1>file 2>cuowufile
—————————————管道命令(‘|’)只能接受前面的正确输出
//将全输出改为一行一行输出(ls的输出通过管道符号”|”,已经传递给more来显示了)
ls -la |more
//管道后还可以接管道(输出结果再传递给grep)
//grep过滤命令
ls -la |more|grep 过滤词
转载于:https://www.cnblogs.com/jikuiqianli/p/7122635.html