一.shell的功能
1.命令记忆功能 (.bash_history)
2.命令补全功能 tab
3.命令别名设定功能 (alias)
4.批处理 shell scripts
5.通配符
二.bash shell常用命令
1.type -tpa 命令名
不加参数:显示出命令是外部还是内部命令
-t :将以以下三种类型显示命令类型:
file :表示为外部指令
alias:表示为命令别名所设定的名称
builtin :表示bash内建的指令
-p :会显示完整文件位置(外部命令)
-a :将由path变量定义的路径中,所有含有命令名的指定都列出来
2.显示变量 :echo $变量名
3.清空变量 :unset 变量名
4.列出环境变量 :env
5.列出当前shell下变量 :set
6.将自定义变量转为环境变量 :export 变量名
7.查看语言编码 : locale �Ca
8.读取来自键盘输入变量: read �Cpt 变量名
-p :后接提示字符
-t :后接等待秒数
9.声明变量属性declare /typeset
declare
-a :将后面的变量定义为数组
-i :将后面的变量定义为整数
-x :将后面的变量定义为环境变量
-r :将一个变量设置为只读
10.设置盲UB�令别名 alias
设置rm别名 :alias rm="’rm �Crf’
查看当前别名 :alias
清除别名 :unalias rm
11.查看历史命令: history
三.通配符与特殊符号:
1.通配符
* :通配符,代表 0 个或多个字元(或数字)
? :万用字元,代表『一定有』一个字母
# :注解,这个最常被使用在 script 当中,视为说明!
\ :转义符号,将『特殊字符或通配符』还原成一般字符
| :分隔两个管道命令;
; :连续性命令的界定(注意!与管线命令并不相同)
~ :使用者的家目录
$ :变量之前需要加的变量替换值
& :将命令变成后台工作
! :逻辑运算意义上的『非』 not 的意思!
/ :路径分隔的符号
>, >> :输出导向,分别是『取代』与『累加』
' :单引号,不具有变量置换的功能
" :具有变数置换的功能!
` ` :两个『 ` 』中间为可以先执行的指令!
( ) :在中间为子 shell 的起始与结束
[ ] :在中间为字符的组合
{ } :在中间为命令区块的组合!
2. 组合按键
Ctrl + C 终止目前的命令
Ctrl + D 输入结束(EOF),例如邮件结束的时候;
Ctrl + M 就是 Enter
Ctrl + S 暂停屏幕的输出
Ctrl + Q 恢复屏幕的输出
Ctrl + U 在提示字元下,将整列命令删除
Ctrl + Z 『暂停』目前的命令
四.数据流重导向命令
1.标准输入:代码为0 ,使用<或<<;
2.标准输出:代码为1 ,使用>或>>;
3.标准错误输出:代码为2,使用2>或2>>;
4.将正确和错误的信息分别输出
find /home �Cname test >list_right 2>list_error
5.只要正确信息不要错误信息:
find /home �Cname test >list_right 2> /dev/null
6.将正确和错误信息都入在同一文件中
find /home �Canme test >list 2>&1
7.将输入信息写入文件
a.写一行数据 echo hello,how are you> test.txt
b.写多行数据到文本
cat > test.txt
hello,
how are you.
ctrl + d
8.将一个文件中的数据导入另一个文件中:
cat >file1.txt <file2.txt 将file2数据导入file1
cat >test.txt <<eof
hello,
how are you.
eof(退出)
四.命令执行的判断符号:
1.; :命令按顺序执行 sync;shutdown �Ch now
2. && :前一个命令执行成功后运行后一个命令 ls /test && cd /test
3. || :前一个命令失败后执行后一个命令 ls /test || mkdir /test
五:管道命令: | (将前一个命令的输出做为后一个命令的输入)
1.cut 将信息的某一段切出来
cut �Cd '分隔符’ �Cf n(第几段)
-d :接分隔符,与-f 一起使用
-f : 根据-d的分隔符将一段消息分为几段,-f取出第几段
-c :以字符为单位取出固定的字符范围
echo $PATH | cut �Cd ‘:’ �Cf 5 以:为分隔符取出第五段
echo $PATH | cut �Cd ‘:’ �Cf 3,5 以:为分隔符取出第三段与第五段
echo $PATH | cut �Cc 12-
2.grep 分析消息,将需要的信息取出
grep �Cacinv ‘ 搜索字符’ 文件名
-a :将二进制文件以文本文件方式搜索数据
-c :计算找到’搜索字符串的次数’
-i :忽略大小写
-n :输出行号
-v :反向选择”找出没有指定字符的行”
last | grep ‘root’
本文出自 “天知道的技术博客” 博客,转载请与作者联系!