您的位置:首页 > 运维架构 > Shell

day01

2012-10-18 08:51 218 查看
一.(1)shell是核心程序(kernel)之外的命令解析器,是一个程序,同时是一种命令语言和程序设计语言;

(2)shell的类型:ash、bash、ksh、csh、tcsh;

运行命令:cat   /etc/shells (可以看到系统装的所有shell程序)

运行命令:/bin/csh  (可以切换到csh)

运行命令:echo  $SHELL(可以看到用户当前所使用的shell)

(3)程序在shell中运行,shell中可以运行子shell

 

二、.存取权限与安全

文件和目录的权限(drwxrwxrwx)

setuid(suid/guid)(chmod u+s,g+s file)

chown和chgrp(chown user file / chgrp group file)

umask(umask nnn)

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

三、命令

1.chmod

chmod   [who]  operator   [permission]   filename

(1)who包括:u,g,o,a

(2)operator包括:+,-,=

(3)permission:r,w,x,s,t。其中s表示sid,t表示只有该文件的拥有者才能删除

 

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

-c : 若该档案权限确实已经更改,才显示其更改动作

-f : 若该档案权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本

2.chown

利用 chown 可以将档案的拥有者加以改变

chown [-cfhvR] [--help] [--version] user[:group] file...

        user : 新的档案拥有者的使用者 ID

  group : 新的档案拥有者的使用者群体(group)

  -c : 若该档案拥有者确实已经更改,才显示其更改动作

  -f : 若该档案拥有者无法被更改也不要显示错误讯息

  -h : 只对于连结(link),而非该 link 真正指向的档案

  -v : 显示拥有者变更的详细资料

  -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)

  --help : 显示辅助说明

  --version : 显示版本

(1)将档案 file1.txt 的拥有者设为 users,群体的使用者 jessie :

  chown users:jessie file1.txt

(2)将目录/home/test及其子目录 的拥有者设为 users,群体的使用者 jessie :

  chown -R users:jessie /home/test

 

3.ln

ln –s 源文件 目标文件

连接文件或目录。这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接有软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。

四、shell特性

1.别名:alias

语  法:alias[别名]=[指令名称]

补充说明:用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名。


新建一个别名: alias md='mkdir'

取消别名的方法是在命令前加\,比如 \md



 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell file path 语言 bash user