Shell基础(一):入门基础

1、Shell是什么?

Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的系统级程序。

Shell还是一个功能强大的编程语言,易编写,易调试,灵活性强。Shell是解释执行的语言,能直接调用Linux系统命令。

2、分类:

Bourne Shell:sh、ksh、Bash、psh

C          Shell:csh、tcsh

3、echo命令

echo   [选项]   “输出内容”

选项:-e 支持反斜杠控制符

\a:输出警告音

\n:换行符

\r:回车符

\b:退格键

\t:水平制表符

\v:垂直制表符

\x:16进制ASCII码输出字符

echo -e "\e[1;31m  hello world  \e[0m"              用红色显示hello world

\e[1; 开启颜色命令\e[0m 关闭颜色命令

30m黑色 31m红色 32m绿色 33m黄色 34m蓝色 35m洋红 36m青色 37m白色

4、别名

alias   查看系统中已有的别名

alias ls=‘ls --color=auto'    设置别名,要永久生效需将该命令放入~/.bashrc文件中

unalias ls    删除别名


命令生效顺序:

绝对路径或相对路径执行的命令

别名

Bash内部命令

按$PATH变量的目录顺序进行查找命令

5、Bash中常用快捷键

Ctrl-c     强制终止

Ctrl-l 清屏

Ctrl-u 从光标位置删到行首

Ctrl-a 从光标位置移到行首

Ctrl-e 从光标位置移到行尾

Ctrl-z 命令放到后台

6、多命令顺序执行

命令1;命令2           分号;表示多个命令顺序执行
命令1&&命令2           逻辑与,命令1执行正确则执行命令2,命令1执行错误则不执行2
命令1||命令2           逻辑或,命令1执行正确则不执行2,命令1执行不正确则执行命令2

7、重定向

标准输出重定向

命令 > 文件      覆盖的方式写入
命令 >> 文件     追加的方式写入

标准错误输出重定向

错误命令 2> 文件
错误命令 2>> 文件     (注意:2和>之间无空格)

正确和错误信息同时重定向

命令 > 文件 2>& 1
命令 >> 文件 2>& 1
命令 &>> 文件
命令 >> 文件1 2>> 文件2                      正确和错误信息分开保存

ls &> /dev/null            不想要的打印信息全部重定向到/dev/null下,“系统黑洞”输入到此的文件全被系统丢掉

输入重定向

wc < a.log                     统计文件中的行数、单词书、字节数 

8、管道符

命令1 | 命令2 命令1的正确输出作为命令2的输入

例:

ls -lh /etc | more                         用more命令分屏显示ls的输出结果
netstat -an | grep ESTABLIASHED netstat    命令查看系统网络连接情况,grep从搜索结果中查看已经连接的对象(连接标志为ESTABLIASHED)
netstat -an | grep ESTABLIASHED | wc -l    查看行数,有几行就有几个连接对象


9、通配符

?       匹配任意一个字符
*        匹配任意内容
[]       匹配括号内任意一个字符
[0-9]    -表示范围,匹配其中一个
[^0-9]   逻辑非^,匹配非括号内内容

Bash中其它符号:
$       调用变量的值
\       转义符,跟在\之后的特殊符号将失去特殊含义,如 \* 就是输出*号
#       Shell中表示注释
$()     用来引用系统命令

10、历史命令

Bash的历史命令保存在~/.bash_history里

history        命令显示历史命令
history -c     清空历史命令
history -w     将本次开机以来的命令写入历史命令文件

11、简单的执行跟踪

set -x命令打开跟踪功能,在此之后shell会显示每条被执行的命令,前面附带+号

set +x 关闭跟踪功能

例:

#!/bin/bash
set -x
echo 1 hello
set +x
echo 2 hello

执行结果:
+echo 1 hello
+set +x
echo 2 hello

12、特殊文件:

/dev/null 系统黑洞(前面以讲过)

/dev/tty 系统当前终端

tty命令:

tty -echo             关闭自动打印输入的字符的功能 

tty echo              打开自动打印输入的字符的功能








你可能感兴趣的:(linux)