shell基础
一、什么是shell
1.是一个命令解释器,提供用户和机器之间的交互
2.支持特定语法,比如逻辑判断、循环
3.每个用户都可以有自己特定的shell
4.默认为bash(BourneAgin Shell)
5.还有zsh、ksh等
二、命令历史
1.命令
保存位置:/root/.bash_history
[root@yaoyaolinux ~]# ls /root/.bash_history
/root/.bash_history
[root@yaoyaolinux ~]# cat /root/.bash_history
ls
ls �Ct
2.最大存1000条
[root@yaoyaolinux ~]# echo $HISTSIZE
1000
3.[root@yaoyaolinux ~]# history �Cc
4.变量HISTSIZE
在/etc/profile 中修改,source/etc/profile之后生效
5.记录对应的命令是什么时候运行的
HISTTIMEFORMAT=”%Y%m%d%H:%M:%S”
6.永久保存 [root@yaoyaolinux~]# chattr +a ~/.bash_history
运行此命令别人只能追加,不会删除命令
7.!!命令表示执行上一条指令
[root@yaoyaolinux ~]# pwd
/root
[root@yaoyaolinux ~]# !!
pwd
/root
8. !n表示执行命令中的第n条指令
9. !word 表示执行命令历史中最近一次以word开头的命令
三、命令补全与别名
1. Tab键 敲一下:自动补全只有一个命令,敲两下:开头相同,后面有多个参数
参数补全需要安装:bash-completion
2. alias别名 给命令起个名字
4. /etc/profile.d .bashrc 等脚本定义alias别名
5. 自定义的alisa放到 ~/.bashrc
6. unalias restartnet 命令取消定义的alias别名
四、通配符
1. * 表示通配符
2. ls *.txt 表示列出.txt的全部文件
3. ls ?.txt 表示一个任意字符
4. ls [0-9].txt 表示列出代表“[”和“]”之间的某一个字符,比如[0-9]可以代表0-9之间的任意一个数 字,[a-zA-Z]可以代表a-z和A-Z之间的任意一个字母,字母区分大小写
5. ls {}.txt表示符合括号内包含的多个文件
6. ls [^.txt] 表示匹配结果取反的意思,注意这个通配符必须要在[]中使
常用文件重定向命令:
command >file:标准输出重定向到一个文件,错误仍然输出屏幕
command >>file:标准输出重定向到一个文件(追加)
command 1>file1:标准输出重定向到一个文件
command 2>>file2:标准错误重定向到一个文件(追加)
command 1>file 2>&1:标准输出和标准错误一起重定向到一个文件
command>>file 2>&1: 标准输出和标准错误一起重定向到一个文件(追加)
command < file1 >file2:以file1做为标准输入,file2做为标准输出
command <file:以file做为文件标准输入
注:上面的command>file 2>&1可以修改为command>file2>>file