一、输出输入重定向
1、输出: 把原本要输出到屏幕的数据写入到指定文件。
标准输出信息:文件相关权限、所有者、所属组、文件大小以及修改时间等信息
错误输出信息:报错提示信息。
(1)标准输出重定向:
仅重定向标准输出信息。“>”清空写入与">>" 追加
(2)错误输出重定向:
仅重定向错误输出信息。 “2>清空写入”与“2>>追加”
(3)标准/错误输出重定向:
不论是标准输出信息还是错误输出信息都能重定向。“&>清空写入”与“&>>追加”
2、输入:把文件导入到命令中,Linux命令可以从文件获取输入。
语法:命令 < 文件 查看文本的行数
二、管道符与通配符
1、管道符:把前命令的输出作为后命令的输入。
grep执行关键词搜索 | 查看文件并排行
更改密码: echo “密码” | passwd --stdin 用户
2、命令行中的通配符(区分大小写)
* | 空值或无限 |
---|---|
? | 单个字符(除空字符) |
[0-9]、[a-z]、[A-Z] | 数字、大小写字母 |
(1)*【空值或无限】
(2)?【单个字符除空字符】
(3)数字、大小写字母[ 范围]
三、转义字符
反斜杠(\): | 使反斜杠后面的一个变量变为单纯的字符串。 |
---|---|
单引号(’’): | 转义其中所有的变量为单纯的字符串。 |
双引号("") | 保留其中的变量属性,不进行转义处理 |
反引号(``) | 把其中的命令执行后返回结果。 |
$$用于显示当前进程ID号
四、环境变量
命令在Linux中的执行步骤:
第1步:判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是则直接执行。
第2步:Linux系统检查用户输入的命令是否为“别名命令”。
第3步:Bash解释器判断用户输入的是内部命令还是外部命令。若是内部命令则直接执行,若是外部命令则进入下一步。
第4步:系统在多个路径中查找用户输入的命令文件。
(1)命令别名
1>alias命令,为命令创建别名;语法:alias 命令=‘别名’
2>unalias命令,取消命令别名;语法:unalias 别名
(2)type命令;
用于判断用户输入的命令是内部命令还是外部命令。
type echo | 输出:echo is a shell builtin,说明echo命令是内部命令 |
---|---|
type rm | 输出:rm is aliased to ‘rm -i’,别名 |
type | 输出:mkdir is /usr/bin/mkdir,说明mkdir命令是外部命令 |
(3)PATH变量
(4)export命令(用于设置全局变量。格式:export 变量名。)
五、vim编辑器
用于编辑文本文件内容;与vi相比,vim编辑器具有代码着色
(1)命令模式 | 控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。 |
---|---|
(2)输入模式 | 正常的文本录入 |
(3)末行模式: | 保存或退出文档,以及设置编辑环境。 |
vim常用的命令:
参数 | 作用 |
---|---|
dd | 删除(剪切)光标所在行 |
ndd | 删除(剪切)从光标开始的n行 |
yy | 复制光标所在行 |
nyy | 复制光标开始的n行 |
p | 粘贴 |
u | 撤销上一次操作 |
n | 显示搜索命令定位到的下一个字符串 |
N | 显示搜索命令定位到的上一个字符串 |
末行常用的命令:
参数 | 作用 |
---|---|
: w | 保存 |
:q | 退出 |
:wq! | 强制保存退出 |
:set nu | 显示行号 |
:set nonu | 消除行号 |
:命令 | 执行命令 |
:整数 | 跳转到该行 |
: s/ha/hi | 将当前光标所在行的第一个ha替换成hi |
: s/ha/hi/g | 将当前光标所在行的全部ha替换成hi |
:%s/ha/hi/g | 将全文所有的ha换成hi |
?关键词 | 从上往下搜索 |
/关键词 | 从下往上搜索 |
六、shell脚本命令
脚本名格式:文件名.sh,后缀.sh为脚本文件;
脚本格式:#!——#脚本声明,告诉系统用哪种shell解释器执行该脚本
#——脚本注释
正文
(一)运行方式:
bash方式:bash 脚本位置/脚本名.sh
./方式:./ 脚本位置文件名.sh。这种方式需要有文件的执行权限(默认没 有)。要用chmod命令为文件增加执行权限。
chmod u+x 脚本名;增加执行权限
(1) bash方式 用脚本来查看桌面文件的详细信息
(2)./方式,一般要用chmod赋予权限才能运行
(二)Shell脚本内设的用于接收参数的变量:
变量 | 作用 |
---|---|
$0 | 当前脚本名称 |
$# | 总共有有几个参数 |
$* | 所有位置的参数值 |
$1、$2 | 分别对应第几个位置 |
$? | 显示上一次命令的执行返回值 |
$?查看上一次命令返回值