输入输出重定向*
输出重定向 原本输出到屏幕的信息如写入到指定文件中
标准
清空写入 >
追加写入 >>
错误
错误清空 2>
报错的追加写入 2>>
全部
全部输出 &>
全部错误输出 &>>
举例
[root@linuxprobe ~]# uptime >> ChongDingXiang
[root@linuxprobe ~]# ls -l xxxx 2>> ChongDingXiang
*
输入重定向 将文件导入到命令里
举例
[root@linuxprobe ~]# wc -l < readme.txt
管道命令符
命令 A | 命令 B 任意门
把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入
举例
[root@linuxprobe ~]# ls -l /etc/ | more
[root@linuxprobe ~]# grep “/sbin/nologin” /etc/passwd | wc -l
应用
修改密码
[root@linuxprobe ~]# echo “linuxprobe” | passwd --stdin root
通配符
通配符号
- ——通配所用 (有内容或者无内容空值)
?——必须要通配除一个字符
[1,3]——匹配有就显示没有就不现实
举例
[root@linuxprobe ~]# ls -l /dev/sda*
[root@linuxprobe ~]# ls -l /dev/sda?
[root@linuxprobe ~]# ls -l /dev/sda[0-9]
常用的转义字符
反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。
单引号(’’):转义其中所有的变量为单纯的字符串。
双引号(""):保留其中的变量属性,不进行转义处理。
反引号(``):把其中的命令执行后返回结果。
举例
[root@linuxprobe ~]# echo “price is $PRICE”
price is 5
[root@linuxprobe ~]# echo “price is $$PRICE”
price is 2512PRICE
[root@linuxprobe ~]# echo “price is $$PRICE” \变量消除
price is $5
[root@linuxprobe ~]# echo ‘uname -a’
uname -a
[root@linuxprobe ~]# echouname -a
[root@linuxprobe ~]# echouptime
23:23:15 up 1:05, 2 users, load average: 0.06, 0.07, 0.07
重要的环境变量
1.绝对路径+命令名称
举例
/etc/bin
/usr/bin/uptime
2.别名
alias 别名=“命令”
查看alias清单 直接alias
举例
3.内部命令和外部命令
用户大多输入的都是外部命令
外部命令99% 内部命令1%
使用type命令名称来判断是外部命令还是内部命令
4.PATH 变量 bash小助手
env查看所用变量
HOME 用户的主目录(即家目录)
SHELL 用户在使用的Shell解释器名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称 造成远程乱码
RANDOM 生成一个随机数字
PS1 Bash解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器
如何防止定义的变量防止修改–写复杂一点
让变量永久生效 ?
使用export命令把一般变量转换成全局变量
Vim文本编辑器
通用性高于bash的vim
vim vi–>vi m:提升了着色功能,颜色变化
命令模式:控制光标移动,可对文本进行yy复制、p粘贴、dd删除、u撤销和查找等工作。
输入模式:正常的文本录入。
末行模式:保存或退出文档,以及设置编辑环境。
a光标移到下一位 i光标当前位置 o光标下一列
举例
vim abc 默认编辑的文件是什么格式
与touch abc的模式格式是什么
应用
编写文档
配置主机名称
配置网卡信息
配置yum软件仓库
编写Shell脚本
组成
#!/bin/bash 脚本声明 【必写】
脚本注释【可选】
命令