9-7 通配符
2015-06-03
2.bash中其他特殊符号
符号 作用
'' 单引号,在单引号中所有的特殊符号,如"$"和"`"(反引号)都没有特殊意义
"" 双引号,在双引号中特殊符号都没有特殊含义,但是"$"、"`"和"\"是例外,拥有“调用变量的值”、“引用命令”和“转义符”的特殊含义。
`` 反引号。反引号括起来的内容是系统命令,在bash中会先执行它。和$()作用一样,不过推荐使用$(),因为反引号非常容易看错。
$() 和反引号作用一样,用来引用系统命令。
# 在shell脚本中,#开头的行代表注释
$ 用于调用变量的值,如需要调用变量name的值时,需要用$name的方式得到变量的值。
\ 转义符,给在\之后的特殊符号将失去特殊含义,编译普通字符。如\$将输出"$"符号,而不当做是变量引用
echo ls
echo dzp
aa=123
echo $aa
echo '$aa'
echo "$aa"
aa=`ls`
echo "$aa"
bb=$(ls)
echo $bb
echo $(date)
echo \$bb
0
采集 0
9-6 管道符
2015-06-02
1、多命令执行顺序:
;"连接命令 顺序执行 -- (date;ls;cd etc/;ls)分别执行,没有丝毫的逻辑相关
"&&"连接命令 逻辑与执行 第一条执行 第二条执行 第一条错误 第二条不执行 (要么全执行,要么全不执行)
aksjhdlakjsh && echo yes 第二条不执行
"||"连接命令 逻辑或执行 第一条执行 第二条不执行 第一条错误 第二条执行 (只执行一个)
aksjhdlakjsh && echo yes 第二条执行
ls && echo yes || echo no 命令正确执行 echo yes;命令不正确。执行echo no (类似与 a ? a || b)
脚本中的应用:命令 && echo yes || echo no 命令正确yes 错误no
注意&& echo yes || echo no 顺序不能颠倒,不然命令出错的时候会同时输出no yes
2、管道符:
"|" 管道符 命令1|命令2 ---》 #命令1正确的结果 作为命令2的操作对象
more [文件名] "分页显示文件内容"
例如 ls -l > /etc/ | more “用于分页显示命令执行结果”
netstat -an : 查看当前系统的网络连接
grep 查询当前结果的包含字符串的结果
ESTABLISHED 是连接状态
netstat -an | grep ESTABLISHED 判断服务器上链接了多少人
netstat -an | grep ESTABLISHED | wc -l 统计链接人数
netstat -an | grep ESTABLISHED | wc -l "用于查看当前连接本机的客户端 并 统计客户端数量"
0
采集 0
9-5 输出重定向
2015-06-02
标准输入输出 0 标准输入 1标准输出 2 标准错误输出
命令 > 文件(覆盖),命令 >> 文件(追加) 都是正确语句的重定向,
命令 > 文件 2>&1 (覆盖),命令 >> 文件 2>&1,正确错误信息输出都保存到同一个文件。
命令&>文件 (覆盖),命令&>>文件 (追加),正确错误信息输出都保存到同一个文件。
命令 >> 文件1 2>>文件2 把正确的输出追加到文件1中,错误输出追加到文件2中。
/dev/null 是系统预留的用来接受垃圾的文件,即任何东西写到这个文件里面都会消失即不存在。
例如: ls &> /dev/null
相应的把所有的 > 改为 < 即是输入重定向,不经常用。
wc 【选项】 【文件名】
【选项】
1.-c 统计字节数
2.-w 统计单词数
3.-l 统计行数
wc 回车后 可以输入数据,最后按ctrl+d结束后会统计行数、单词数和字节数。
wc < 文件名 会统计文件名的内容。
wc << ddy 回车后可以输入数据,直到下次输入ddy后统计中间输入的数据。
0
采集 0
9-4 历史命令
2015-06-02
****历史命令****
history 查看用户所有使用过的历史命令
history -w更新历史命令保存文件
history -c清空历史命令(错误信息及他人入侵的参考)
使用上、下箭头调用以前的历史命令
使用"!n"重复执行第n条历史命令
使用"!!"重复执行上一条命令
使用"!字串"重复执行最后一条以该字串开头的命令
0
采集 0
9-2 脚本执行方式
2015-06-02
1、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=白色
2、脚本执行:
方法1:赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh(或者绝对路径执行 /root/hello.sh)
方法2:通过Bash调用执行脚本
bash hello.sh
二、
#!/bin/Bash
不是注释,它标称下面的内容是linux的标准脚本程序
如果该脚本使用纯shell语句完成,不加#!/bin/Bash,运行没问题
但,脚本调用了其他语言,就会报错
14
采集 47
7-1 Linux中关机与重启命令
2015-06-01
shutdown
-c 取消前一个关机命令
-h 关机
-r 重启
shutdown -r 5:30 & #&的意思是将当前的命令放入计算机的后台执行,不占用当前的操作终端
服务器尽量避免关机,服务器一般都是放在远程机房,一旦远程关闭。。。怎么开机?虽然有些硬件可以支持远程开机,但不是通常的情况。 服务器是不能远程关机的,重启就够了
shutdown 会在关机和重启的时候保存正在运行的数据,更安全
服务器是成千上万的人在用,强制关机或重启出现问题的可能性较大,硬盘损坏,系统挂了,硬件之类的烧坏,所以游戏之类的,都会提前通知什么时间段不要登录之类的
其他关机命令:
halt poweroff init 0 这三个命令,不安全。
其他重启命令:
reboot init 6 前者相对安全
系统运行级别0~6 默认这7个运行级别
1 单用户和windows中的安全模式类似,启动最小的程序,不会启动图形界面,一般是修复系统的
2 不完全多用户,不包含NFS服务和普通的字符界面差不多
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 完全多用户,就是我们常用的字符界面
4 未分配
5 图形界面,前提得安装图形界面
0 重启
都可以通过init来调用这些运行级别
runlevel # N 3, 3代表当前的系统级别,N代表null,即进入3级别之前的系统级别为null
因为我们一直在3这个级别,所以3前面的级别是N
如果init 5进入了图形界面,然后在调用runlevel 就是 5 3
cat /etc/inittab #修改系统默认运行级别
id:3:initdefault:
如果同时有图形界面和字符界面,通过这个可以设置开机或重启时默认进入的界面
linux中一般使用X来代表图形界面
退出登录命令 logout
linux默认支持256个远程登录的用户,最大6w多个
如果是远程管理windowsXP,只能有一个用户,server2003一个,2008 4个到8个,如果每次登录都没正确退出,数量慢后就登不进去了,只能重启。
logout在windows叫注销,占用的远程登录的终端号就会释放,允许其他用户登录
0
采集 0
6-1 Linux中 压缩命令1
2015-05-31
.rar比.zip压缩比更高,压缩更快
.tar.gz .tar.bz2 .zip .gz .bz2 常见压缩格式
虽然linux不区分扩展名,但是写压缩文件时,一定要写上对应的压缩格式后缀,是给我们人来看的,不然不知道这文件到底是什么
.zip压缩格式
zip在linux和windows中是通用的
zip 压缩文件名 源文件 #压缩文件
zip -r 压缩文件名 源目录 #压缩目录
压缩一个空文件,压缩文件反而比源文件大,压缩文件是带压缩格式的,相当于编码集,如果源文件本身就很小,可能压缩后的文件比源文件大
linux中只要是软件包(不一定是压缩包)都是用红色标明的
unzip 压缩文件 #解压缩.zip文件
.gz格式 可以在windows中解压缩 .rar不能在linux中解压缩
gzip 压缩后,源文件会消失,但是可以使用 > 输出重定向的方式保存源文件
重定向,把命令结果写入指定的文件
gzip -c 源文件 #会把压缩结果输出到屏幕上,源文件不会有变化 再用重定向把压缩结果指定到压缩文件中
gzip -r 目录 #压缩后目录还存在,只是将里面的文件挨个压缩了
gzip -d 压缩文件 或者 gunzip 压缩文件 #解压缩文件 同样压缩包也不会保留
.bz2格式压缩
bzip2 源文件 #压缩为.bz2格式,不保留源文件
bzip2 -k 源文件 #压缩后保留源文件
bzip2命令不能压缩目录
bzip2 -d 压缩文件或者 bunzip2 压缩文件 #解压缩, k保留压缩文件
0
采集 0
4-3 Linux中 find命令
2015-05-31
find [搜索范围] [搜索条件]
搜索文件
如:find / -name install.log
通配符:
* :匹配任意内容
?:匹配任意一个字符
[]:匹配任意一个中括号内的自符
例如:find /root -name "install.log*"
find /root -iname install.log
不区分大小写
find /root -user root
按照所有者搜索
find /root -nouser
查找没有所有者的文件。垃圾文件:清除;外来文件;proc和sys中的文件
find /var/log/-mtime +10
查找10天前修改的文件,也可按照分钟
-10:10天内修改文件
10:10天当天修改的文件
+10:10天前修改的文件
atime:文件访问时间
ctime:改变文件属性
mtime:修改文件内容
find . -size 25k
查找文件大小是25kb的文件
-25k:小于25kb的文件
25k:等于25kb的文件
+25k:大于25kb的文件(k小写,M大写)
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命令{} \;对搜索结果执行操作
0
采集 1
4-1 Linux中文件搜索命令locate
2015-05-31
文件搜索命令:
1.locate 文件名
在后台数据库中按文件名搜索,搜索速度更快
2.后台数据库位置: /var/lib/mlocate(默认一天更新一次)
3.更新后台数据库命令: updatedb
优点:搜索速度快; 缺点:只能按文件文件名搜索
/etc/updatedb.conf 配置文件
1.PRUNE_BIND_MOUNTS = "yes"
开启搜索限制
2.PRUNEFS =
搜索时,不搜索的文件系统
3.PRUNENAMES =
搜索时,不搜索的文件类型
4.PRUNEPATHES =
搜索时,不搜索的路径
0
采集 0
1-7 Linux与Windows的不同
2015-05-26
1、Linux严格区分大小写
2、Linux中所有内容以文件形式保存,包括硬件(注:有些临时的可能不是以文件形式保存)
3、Linux不靠扩展名区分文件类型(根据权限进行区分)
以下只是约定俗成:
压缩包: “.gz” 、 "bz2" “。tar.bz2” , ".tgz" 等
二进制: ".rpm"
网页文件:“.html”,".php"
脚本文件: ".sh"
配置文件: ".conf"
4、windows下的程序不能直接在Linux中安装和运行
0
采集 0
举报
0/150
提交
取消

