Linux学习笔记

1.文件权限

7=rwx全1      5=rw位为1     1=x 位为1 

root用户拥有最高权限

1.1对目录而言

默认权限:

目录默认最大权限为777

查看umask值默认为0022(第一个0位特殊权限)

做差值:777-022=755

创建目录的默认权限为:最大权限和差值做二进制与运算得755

r:可以查看 (ls)

w:可以修改目录结构(mv touch rm cp)(最高权限)

x:可以进入目录(cd

一般赋予0(无操作权限)    5(可进入可查看)    7(所有权限)

1.2对文件而言

默认权限:

文件默认最大权限为666(默认不能建立为执行文件)

查看umask值默认为0022(第一个0位特殊权限)

做差值:666-022=644

创建文件的默认权限为:最大权限和差值做二进制与运算得644

r:可查看文件内容

w:可修改文件内容(不代表可以删除文件,属于目录权限)

x:可执行文件脚本(最高权限)

/etc/profile中有关umask设置的脚本

根据脚本内容可知:UID>199的用户umask为002,小于的umask为022(root用户uid=0)

修改umask的值

临时修改:umask 0002

永久修改:vi  /etc/profile

2.脚本执行方式

分为2种执行方式:1.sh

2.1 通过bash脚本执行(不需要执行权限也可执行)

[root@wh ~]# bash 1.sh


2.2 直接通过文件路径访问执行(需要赋予执行权限)

[root@wh ~]# ./1.sh

-bash: ./1.sh: 权限不够

[root@wh ~]# chmod 755 1.sh

[root@wh ~]# ./1.sh    (或者绝对路径访问)

3.文件以及文件夹复制

复制文件 

 cp source des

复制文件夹

将整个文件夹复制:

cp 源文件夹/ 目标文件夹/

将文件夹内文件复制:

cp 源文件 夹/. 目标文件夹/

3.shell编程之迷惑行为

3.1 $()和 ` ` 

在 bash shell 中,$( ) 与` ` (反引号) 都是用来做命令替换用(commandsubstitution)的。

例如   version=$(uname -r)和version=`uname -r`都可以是version得到内核的版本号

各自的优缺点:

1. `  ` 基本上可用在全部的 unix shell 中使用,若写成 shell script ,其移植性比较高。但反单引号容易打错或看错。

2. $()并不是所有shell都支持。

3.2 ${ } 

${ }用于变量替换。一般情况下,$var 与${var} 并没有啥不一样。但是用 ${ } 会比较精确的界定变量名称的范围。

3.3 $[] $(())

它们是一样的,都是进行数学运算的。支持+ - * / %:分别为 “加、减、乘、除、取模”。但是注意,bash只能作整数运算,对于浮点数是当作字符串处理的。

3.4 [ ] :

即为test命令的另一种形式。 

 但要注意许多:

 1.你必须在左括号的右侧和右括号的左侧各加一个空格,否则会报错。

 2.test命令使用标准的数学比较符号来表示字符串的比较,而用文本符号来表示数值的比较。很多人会记反了。使用反了,shell可能得不到正确的结果。 

 3.大于符号或小于符号必须要转义,否则会被理解成重定向。 

3.5 (( ))及[[ ]] :

它们分别是[ ]的针对数学比较表达式和字符串表达式的加强版。

其中(( )),不需要再将表达式里面的大小于符号转义,除了可以使用标准的数学运算符外,还增加了以下符号:


你可能感兴趣的:(Linux学习笔记)