9-7 通配符
2015-09-27
通配符
? 匹配一个任意字符
* 0个或任意多个
[] 匹配中括号内其中一个字符
[-] -代表一个范围 [a-z]代表匹配一个字母
[^] 逻辑非 表示匹配不上中括号内的一个字符 [^0-9]代表匹配一个不是数字的字符
其他特殊符号
'' 特殊符号都没有特殊意义,原样输出
"" $ ` \ 都具有特殊意义
`` 包含系统命令 执行后赋值给变量 等同于 $()
$ 用于调用变量的值 (变量名=变量值)
# shell脚本中,#开头的行代表注释
\ 转义符 跟在\之后的特殊符号失去意义,变为普通字符
2
采集 13
9-6 管道符
2015-09-27
";"连接命令 顺序执行
"&&"连接命令 逻辑与执行 第一条执行 第二条执行 第一条错误 第二条不执行
"||"连接命令 逻辑或执行 第一条执行 第二条不执行 第一条错误 第二条执行
脚本中的应用:命令 && echo yes || echo no 命令正确yes 错误no
注意&& echo yes || echo no 顺序不能颠倒,不然命令出错的时候会同时输出no yes
more [文件名] "分页显示文件内容"
"|" 管道符 命令1|命令2 命令1正确的结果 作为命令2的操作对象
例如 ls -l > /etc/ | more “用于分页显示命令执行结果”
netstat -an | grep ESTABLISHED | wc -l "用于查看当前连接本机的客户端 并 统计客户端数量"
0
采集 3
9-5 输出重定向
2015-09-26
输出重定向
(显示电脑处理的结果)
标准输入输出
键盘 /dev/stdin 0 标准输入
显示器 /dev/sdtout 1 标准输出
显示器 /dev/sdterr 2 标准错误输入
输出重定向
标准输出重定向
命令 > 文件
以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中.
命令 >> 文件
以追加的方式
标准错误输出重定向
错误命令 2>文件
以覆盖的方式,把命令的错误输出输出到指定的文件或设备当中.
错误命令 2>>文件
以追加的方式
正确输出和错误输出同时保存
命令 > 文件 2>&1
命令 &> 文件
以覆盖的方式,把正确的输出和错误输出都保存到一个文件当中
命令 >> 文件 2>&1
命令 &>> 文件
以追加的方式
ls &> /dev/null (回收站)
命令 >> 文件1 2>> 文件2
正确的追加到文件1,错误的追加到文件2
输入重定向
wc [选项] [文件名]
-c 统计字节数
-w 统计单词数
-l 统计行数
ctrl+d 中断统计
命令 < 文件
#把文件作为命令的输入
命令 << 标识符
#标识符其中的内容作为该命令执行的内容
0
采集 13
9-2 脚本执行方式
2015-09-25
echo输出命令和脚本执行
格式:echo [选项] [输出内容]
选项: -e:支持反斜线控制的字符转换
echo "bols he cangls ni xihuan nayige"
\a - 输出警告音
\b - 退格符
\n - 换行符
\r - 回车键
\t - 制表符,也就是tab键
\v - 垂直制表符
\0nnn - 按照八进制ASCII码输出字符
\xhh - 按照十六进制ASCII表输出字符
echo -e "bols he cangls ni\b xihuan nayige"
echo -e "hell\bo"
echo -e "h\te\tl\nl\to\t"
echo -e "\x68\t\x65\t\x6c\n\x6c\t\x6f"
echo -e "\e[1;31m嫁人就要嫁凤姐\e[0m"
#输出颜色 \e[1;##m - 开启颜色显示; \e[0m - 关闭颜色显示
#30m=黑色,31m=红色,32m=绿色,33m=黄色
#34m=蓝色,35m=洋红,36m=青色,37m=白色
0
采集 4
7-1 Linux中关机与重启命令
2015-09-23
shutdown [选项] 时间
-h 关机 -r 重启 -c 取消全一个关机命令 shutdown -r now #立马重启
halt poweroff inti 0 也都可以关机 但不安全
reboot init 6 也可以重启
runlevel查看运行级别 前级别 当前级别
logout退出当前用户,也就是注销
shutdown命令:
【shutdown -h 05:30】 设定凌晨05:30关机
【shutdown -h now】 立即关机
【shutdown -r 05:30】 设定凌晨05:30重启
【shutdown -r now】 立即重启
【shutdown -c】 取消前一个关机或重启命令
注:
1、以上定时关机或重启命令执行后,计算机就会卡在那里,当前用户和其他登录的用户都将无法操作,直到关机或重启。这个时候,如果当前用户按【ctrl+c】可以取消本次关机或重启的操作,而其他用户如果按【ctrl+c】的话,则不会取消关机或重启操作,但可以退出中断,继续进行其他操作。
2、如果想要关机命令后台运行的话,可以在命令后面输入&,例如:【shutdown -h 05:30 &】,这样当前用户和其他登录用户的前台就不会中断了(若中断的话,按一下回车即可);
3、任何时候,不管哪个用户输入【shutdown -c】命令都可以取消关机或重启操作。
4、后面的时间可以使用【+m】格式,表示多少分钟后执行。也可以使用【hh:mm】格式,表示指定的时间执行,该时间是24小时制的;
5、若远程登录的话,最后不要执行关机命令,因为开机需要到机房开机才行。重启也尽量少执行,若必须运行,则应关闭正在运行的服务;
26
采集 65
6-1 Linux中 压缩命令1
2015-09-22
.zip格式压缩(在window下和linux下是可以互通的)
1、zip 压缩文件名 源文件
#压缩文件
2、zip -r 压缩文件名 源目录
#压缩目录
3、unzip 压缩文件
#解压缩.zip文件
.gz格式压缩
1、gzip 源文件
#压缩为.gz格式的压缩文件,源文件会消失
2、gzip -c 源文件 > 压缩文件
#压缩为.gz格式,源文件保留
例如: gzip -c cangls > cangls.gz
3、gzip -r 目录
#压缩目录下所有的子文件,但是不能压缩目录
4、gzip -d 压缩文件
#解压缩文件
5、gunzip 压缩文件
#解压缩文件
6、gunzip -r 压缩文件夹
#解压缩文件夹
.bz2格式压缩
1、bzip2 源文件
#压缩为.bz2格式,不保留源文件
2、bzip2 -k 源文件
#压缩之后保留源文件
*注意:bzip2命令不能压缩目录
3、bzip2 -d 压缩文件
#解压缩,-k保留压缩文件
4、bunzip2 压缩文件
#解压缩,-k保留压缩文件
6
采集 28
4-4 Linux中 grep命令
2015-09-22
grep命令 字符串搜索
grep [选项] 字符串 文件名
gerp "size" anaconda-ks.cfg
-v 取反
-i 忽略大小写
find 在系统当中搜索符合条件的文件名,可以使用通配符来实现完全匹配
grep 在文件当中搜索符合条件的字符串,可以使用正则表达式来实现包含匹配
文件名称 通配符(完全匹配)
文件数据 正则表达式(包含匹配)
0
采集 1
4-3 Linux中 find命令
2015-09-22
1、find [搜索范围] [搜索条件]
#搜索文件
2、find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find 是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配。
文件搜索命令find
1、find [搜索范围] [搜索条件]
#搜索文件
2、find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find 是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配。
Linux中的通配符
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
find /root -name "ab[cd]" 将会搜索出abc 和abd
find /root -iname install.log #不区分大小写
find /root -user root #按照所有者搜索
find /root -nouser #查找没有所有者的文件
find /var/log -mtime +10
#查找10天前修改的文件
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
find . -size 25k
#查找文件大小是25k的文件
find . -size -25k
#查找当前目录下小于25k的文件
find . -size +25k
#查找当前文件目录下大于25k的文件
find . -inum 262422
#查找i节点是262422的文件
find /etc -size +20k -a -size -50k
#查找/etc/目录下,大于20KB并且小于50KB的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
find /etc -size +20k -a -size -50k -exec ls -lh {}\;
#查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
#-exec/-ok 命令 {}\; 对搜索结果执行操作
1
采集 9
4-1 Linux中文件搜索命令locate
2015-09-19
1、locate 文件名
1-1)在后台数据库中按文件名搜索,搜索速度更快
1-2)对于新建的文件,由于数据库没有更新,使用locate 不能查到。可以使用 updatedb强制更新数据库后即可查到。
1-3)可使用 locate locate 搜索locate相关文件,可看到locate数据库。
1-4)在不同linux中,该数据库名字稍微不同,例如,locatedb、slocate、mlocate。
2、/var/lib/mlocate (保存的搜索数据库)
2-1)#locate 命令所搜索的后台数据库
2-2)数据库不是实时的,更新频率大概一天更新一次
3、updatedb
3-1)更新数据库
4、缺点:只能按照文件名进行搜索,但常用。
5、配置文件
5-1)touch /root/cangls
touch /tmp/cangls
updatedb
locate cangls
显示为 /root/cangls 只有一条,而/tmp下的cangls没有显示出来,原因在于locate搜索遵循配置文件 /etc/updatedb.conf, 在PRUNEPATHS 中配置了/tmp/目录不进行搜索。所以没有进行查找。
5-2)/etc/updatedb.conf 配置文件
5-2-1)PRUNE_BIND_MOUNTS = "yes"
#开启搜索限制,yes为后面三项都生效。no为 后面三项都不生效
5-2-2)PRUNEFS =
#搜索时,不搜索的文件系统
5-2-3)PRUNENAMES =
#搜索时,不搜索的文件类型
5-2-4)PRUNEPATHS =
#搜索时,不搜索的路径
0
采集 14
9-4 历史命令
2015-09-26
history 历史命令
history [选项] [历史命令保存文件]
-c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
#默认保存1000条
HISTSIZE=1000
#vi /etc/profile 环境变量配置文件
基本调用
上下箭头来重复调用
!n 来执行第n条历史命令
!! 重复执行上一条命令
!字符串 重复执行后一个该串开头的命令
Tab键
进行命令(环境变量)和目录补全(操作路径)
15
采集 50
举报
0/150
提交
取消

