shell 编程

shell编程

什么是shell
 是核心程序(kernel)之外的指令解析器,是一个程序,同时也是一种命令语言和程序设计语言。
 echo(A扣) 
linux默认的是bash shell

存取权限与安全:

drwxrw-r--的含义,用数字怎么样表示,

1 2 4
x w r

drwxrw-r-- 1 root root 2,245 jun 4 01:12 disk
(d 目录
-普通文件
l链接文件
b块文件一般放在dev目录下面
c字符文件一般放在dev目录下面
p:命名管道文件。
s:socket文件
这一块参考书上说的。

)
含义
第二部分的1代表的是硬链接的数目。

文件权限的改变:
chmod命令。
man 和info得到命令使用方式。

chmod [who] operator [permission] filename
1.who(u.g.o.a)
2.operator(+,-,=)
3.permission(r.w.x.s.t)

s:setuid(suid/guid)(chmod u+s,g+s file)
chown 和chgrp(chown user file/chgrp [-R]group file)

chown root.zhenglang myfile -R
这句话什么意思,就是更改myfile的所有者为root,组为zhenglang。

umask(umask nnn)
符号链接(ln [-s] source_path target_path)


for example:
chmod u=rwx,g+w,o+r myfile
chmod改变文件属性
chown改变文件所有者
s:不必非要root的账号进入才能执行某一个带有s的文件
其他用户名也可以。
t位表示该 文件在被访问的时候是放在缓存区里面。


绝对模式就是chmod 744 myfile这种形式。


umask:文件缺省权限。


touch myfile
有就打开没有就创建。
777减去umask的值再减1就是文件的权限。


mkdir mmdireactory
创建目录。
777减去umask的值就是文件的权限。

ls -lda direactory1
这个命令的意思猜测一下就是只列举出目录文件,并且包含direactory1字符。


软连接和硬链接:
ln enerco.tar.gz enercotgz 硬链接
ln -s enerco.tar.gz enercotgz 软链接


shell 脚本基本元素:
第一行一定是
#!/bin/bash
#表示注释
变量
流程控制结构。

运行脚本./helloword.sh

 

别名:
alias ll='ls -alh'
放到$HOME/.bashrc里面。

命令替换:

ls `cat myfile` -al

后台处理:
什么是后台:
一个终端可以运行多个程序。
nohup command &

通过jobs -l看到后台的运行程序。


变量:

printchar="Hello world"
echo #printchar 有没有{}无所谓。
管道|
ls -l|sort 排序

重定向:(<>)
与管道相关,可以改变程序运行的输入来源和输出地点。
sort <myfile.txt
sort <myfile.txt>myfile_sort.txt

模式匹配:
双引号("):用来使Shell无法认出空格,制表符和其他大多数特殊字符,这样“David Medinets”表示一个值
而不是2个同样的“David<Medinets”表示一个值
单引号:用来使Shell无法认出所有特殊字符
反引号:用来替换命令
反斜杠:用来使Shell无法认出其后的特殊字符,使其后的支付失去了特殊的含义,如:David/Medinets
#touch David/Medinets
#ls David/Medinets
David Medinets
分号:允许在一行上放多个命令
&:命令后台执行
括号:创建成组的命令:
大括号:创建命令快
竖杆:管道表示符
<>&:表示重定向
*?[]!:表示模式匹配。
$:变量名的开头
#:表示注释(第一行除外)
空格,制表符,换行符:当做空白。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值