一、Linux Shell基础编程
视频1
1.1.查看你系统shell信息
$ cat /etc/shell 命令可以获取Linux系统里面有多少种shell程序
$ echo $SHELL 命令可以查看当前你所使用的shell是哪一个
1.2.查看文件信息,ls
$ ls -l 查看文件信息:文件类型、文件权限、文件硬链接数、文件所属用户、文件所属组、文件大小、文件最近修改时间、文件名
1.3.改变文件权限,chmod
只有root用户或者文件的所有者能改变文件的权限
例子:$ chmod u=rwx,g+w,o+r myfile 这个命令的含义是为myfile文件的所属用户添加rwx权限,为同组的其他用户添加w权限,为不同组的其他用户添加r权限
例子:$ chmod 644 myfile r:4, w:2, x:1
?rwx权限位之外s位和t位具体是什么意思?
1.4.改变文件的所属用户,chown
例子$ chown owner.group myfile 改变myfile的拥有者为owner,所属组为group
例子$ chown .group myfile 改变myfile的所属组为group
要想同时改变目录以及该目录下所有文件的所属用户/组,用-R, 例如chmod -R owner.group mydir;如果不用-R参数,那么只能更改该目录的所属用户/组,而不会对该目录下的其他文件或目录产生影响
1.5.改变文件的所属组,chgrp
例子$ chgrp group myfile 改变myfile的所属组为group
1.6.查看或更改生成文件的默认权限,umask
例子,查看生成文件的默认权限$ umask 如果输出结果是022,就表明用户在创建一个文件后,该文件默认的权限是644,也就是rw-r--r--;创建的目录的权限是755,也就是rwx-r-xr-x,可以看下面的表格给出的规则
umask | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
文件 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 0 |
目录 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
例子,更改生成文件的默认权限$ umask 000,就是改为000,具体规则参照上面的表格。
其实umask的值是在/etc/profile这个配置文件里设置的,对于特定的用户,可以在$HOME/.profile或者$HOME/.bash_profile设置自己的umask
1.7.符号链接,ln
硬链接,$ ln resource destination
软链接,$ ln -s resource destination
1.8.学习shell脚本的yuanyin
shell脚本功能强大,比如对于一些重复性较多的操作,完全可以将个人解放出来,让计算机去做那些复杂的、重复的、浪费时间的、没有创造力的工作,而我们个人应该去做那些创新性的工作,不要傻不拉几地重复劳动
1.9.shell脚本的基本元素
#!/bin/bash 是shell脚本的第一行
# 表示注释
变量
流量控制结构
1.10.下面给出一个简单的shell脚本的例子,保存为hello.sh
#!/bin/shell #这是一个打印hello world的shell脚本 printchar="hello world" echo $printchar;
首先执行命令$ chmod u+x hello.sh,让文件所属者有可执行权限。如果没有可执行权限,那么就不能执行这个脚本。
输出命令$ ./hello.sh就可以执行这个shell脚本
1.11.shell的特性
别名;管道;命令替换;重定向;后台处理;模式匹配;变量;特殊字符;
1.12.
二、Linux Shell高级编程