shell用户和内核交互的接口,接受命令,或者是翻译器。
如 ls,shell接受命令,转化成二进制,内核识别到改二进制,调用硬件、显示器,再通过shell传给用户。
1. boursh shell: ksh sh psh bash(最常用的)
2. CShell: BSD的unix shell linux和unix的主要区别
echo -e 识别命令
echo -e " hello\b" 删掉了一个hello
\x 16进制
echo -e "\e[1;31m hello \e[0m"
chmod 755 hello.sh 或者 bash hello.sh直接执行
bash的基本功能
1. 别名与快捷键 alia ll = " "
命令行是临时临时生效,文件重启生效。使用source .bashrc可以马上生效。
unalias
执行顺序:1. 绝对路径或选对路径执行的命令 2.别名 3.bash内部命令 4. path中的命令 所以别名会覆盖原有命令。
2.历史命令
history -w重定向到文件bash_history中
-c 清空历史
环境变量文件:/etc/profile
3. 输出重定向 输入重定向
标准输入设备:键盘 /dev/stdin文件描述符:0
标准输出:显示器 /dev/stdout 1
标准输出:显示器 /dev/stderr 2
标准输出重定向: >
错误输出重定向:2>
正确错误都重定向 &>/dec/null 作用:不需要看到结果
wc -l 统计行号 -w 单词数
4. date; tar -zcvf file.tar.gz ;date 用于计时
管道命令 命令1 | 命令2 命令1的输出作为命令2的输入
ls | wc - l
ls -l | more
netstat 查看所有的网络连接
netstat -an | grep ESTABLISHED|wc -l
ps | grep pid
5. aa=123
echo $aa 123
echo '$aa' $aa 必须是英文 ‘ ’中的特殊符号都没有特殊含义,如$ 和·
echo "$aa" 123 除了$ `有特殊含义,其它都没有特殊含义
反引号 ` ` aa=`ls` $()=` ` 先执行命令,再把结果赋值给变量
$name echo $name 输出变量的值
\转义符 就没有特殊含义了