shell
来源:互联网 发布:魔爪软件下载 编辑:程序博客网 时间:2024/05/23 14:20
shell就是Linux中的交互界面;使外部程序和内核可进行交互
功能:命令解释器,让用户有操作界面,支持强大的编程语言的界面
1、vi etc/shells
2、进入sh:sh 退出:exit
编写shell脚本
1、vi hello.sh 加 sh 会有颜色标识
所有的shell脚本第一行:#!/bin/bash 该句不是注释,是告诉我们这是shell脚本。必须写!
2、脚本执行
赋予执行权限,直接执行:chmod 755 hello.sh ./hello.sh
通过Bash调用执行脚本 bash hello.sh
Problem:注意bash是小写。若出现bash:command not found 则sudo进入root用户,再gedit /etc/profile 在最末添加 PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin
Bash基本功能
1、历史命令:history
2、命令补全:tab,tab键可以自动补全命令
3、设别名 alias
alias 别名=‘原命令’,临时生效,永久生效则需写入:vi /root/.bashrc
命令执行顺序:用绝对路径或相对路径执行的命令 > 别名 > bash内部命令
4、删除别名:unalias 别名
5、Bash常用快捷键
6、输出重定向 0输入 1输出 2错误输出 (标准)
命令 > 文件 覆盖的方式输出到指定文件 >> 追加到...
7、正确输出和错误输出同时保存到同个文件
命令&>文件 覆盖 &>> 追加
8、输入重定向
wc [选项] 文件名 返回行数 l、单词个数 w、字节数 c
9、多命令顺序执行
命令1;命令2 互不影响
&& 逻辑与 1对则2,1错2不执行
|| 逻辑或 1错则2,1对2不执行
eg:命令 && echo yes || echo no
10、管道符
命令1 | 命令2 1的输出作为2的操作对象
11、grep [选项] “搜索内容” 文件名
-i 忽略大小写 -n 输出行号 -v 反向查找 --color=auto 搜索出的关键字用颜色显示
12、通配符
? 任意一个 * 0或多个任意字符 [ ] 匹配括号内任一个 [ - ] 如 [a-z] 匹配a-z的任意一个小写字母 [ ^0-9] ^表 非,匹配不是数字的一个字符。
eg:ls [0-9]*
13、特殊符号
bash变量
1、变量名不能用数字开头;变量默认为字符串型;用等号连接值,等号不能有空格,可使用单双引号;变量中可使用“\”转义符,使特殊符号失去意义;标量可叠加;命令结果可赋予变量,如:name=$(date);环境变量名建议大写,便于区分。
2、变量分类
用户自定义变量--本地变量
1、只在当前shell中生效
name=‘Lucy’ echo=$name 输出 Lucy
aa=123 aa="$aa"456 echo=$aa 输出123456 变量的叠加 或者aa=${aa}456 一样的
2、set 查看系统中所有变量
3、unset 变量名 删除变量 eg: unset name
环境变量
1、对当前shell,子shell都有效,若写入配置文件,对一个系列的shell生效
export 变量名=变量值
eg:name=sc 本地变量 export age=18 环境变量 sex=man export name 将name上升为全局变量,可用set查看
2、查看环境变量:env
3、删除: unset 变量名
4、PATH:系统查找命令的路径 echo $PATH
PATH="$PATH":/root 比如hello.sh放在root 下的,这样改后,/root 就在PATH下了,就可以直接运行 hello.sh了,但临时生效,需写入配置文件
5、PS1 自定义系统提示符
pstree 确定进程数
数值运算与运算符
aa=11
bb=22 求aa与bb的和
1、declare -i cc=$aa+$bb
2、expr : dd=$(expr $aa + $bb) 加号“ + ”左右两侧必须由空格
3、$((运算式)) 或 $[运算式]
ff=$(($aa+$bb))
gg=$[$aa+$bb]
4、运算符的优先级
变量测试与内容替换
环境变量配置文件
1、变量分类
配置文件
1、source 配置文件 或 . 配置文件 #是配置文件即刻生效
2、一些默认环境变量:PATH、HISTSIZE、PS1、HOSTNAME等
3、五个系统配置文件
/etc/profile /etc/profile.d/*.sh /etc/bashrc 对所有用户都有效
~/.bash_profile ~/.bashrc 对当前用户生效 “ .” 表示为隐藏文件
4、各配置文件的作用
5、后面的配置路径会覆盖前面的,如先令a=1,再a=2,最终输出a=2
/etc/bashrc → /etc/profile.d/*sh 表示no login shell ,不需要用户密码登录
其他配置文件
1、注销时生效的环境变量配置文件:~/.bash_logout
2、存放历史命令 : ~/bash_history
登录信息
1、远程终端欢迎信息: /etc/issue.net 转义符不能再该文件中使用
欢迎信息由ssh的配置文件 /etc/ssh/sshd_config决定 vi 此文件,找到 Banner ,在下面,添加 “ Banner /etc/issue.net ”,再重启SSH 服务器才能生效:service sshd restart
2、登陆后欢迎信息:/etc/motd 本地远程都可显示
- shell
- shell
- shell
- shell
- shell
- Shell
- shell
- Shell
- shell
- shell
- SHELL
- Shell
- shell
- shell
- shell
- shell
- shell
- shell
- 文章标题
- 回调函数
- PCA的数学原理
- 位、字、字节的区别 | 汇编伪指令db,dw,dd
- jquery ajax 使用demo
- shell
- SpannableString的基本用法
- ORACLE RMAN备份及还原
- Redis的安装和配置
- Tuxedo 超时控制(转贴)
- textField输入手机号时中间自动添加空格
- Mesos入门整理
- QT5-msvc2015代码布局
- 设置QListWidget 的边框设置为透明