shell笔记
时间:2006-03-25 来源:ladsung
1.1 shell是核心程序(kernel)之外的指令解析器,是一个程序,同时是一种 命令语言和程序设计语言。
cat /etc/shells
查看系统有多少shell
echo $SHELL
查看当前shell
在当前shell下运行其他shell
/bin/csh
table键:命令补全
help:shell支持的命令 1.2存取权限与安全
ls -lh
权限第一位(文件类型)
- 普通文件
d 目录
l 链接文件
b 块设备文件 /dev目录下
c 字符设备文件 /dev
p 命名管道文件
s socket文件
ls -l /tmp/.X11-unix/X0 chmod命令
man chmod
info chmod
chmod [who] operator [permission] filename
who(u,g,o,a)
operator(+,-,=)
permission(r,w,x,s,t)
t粘性位,目录中出现t位,意味首该目录中的文件只能由文件属主删除,执行时放在交换分区。
chmod u=rwx,g+w,o+r
chown root.itlab myfile 4xxx u+s
6xxx g+s
7xxx t 符号模式
数字模式 chown
chgrp chown [-R] owner myfile
chown owner.group myfile
chown .group myfile
chgrp [-R] group myfile umask
默认权限
为022时
创建文件是权限是 644
创建目录权限是 755
可以/etc/profile 硬连接
软连接:类似快捷方式
ln [-s] source_path target_path shell 脚本基本元素 ×#!/bin/bash
-第一行
×#
-注释
×变量
×流程控制结构 示例
#!/bin/bash
#这是一个打印hello world的shell脚本 [code]
printchar="hello world"
echo ${printchar};
#这种情况下,大括号可有可无
echo $HOME
[/code] chmod +x后执行 shell特性
别名 管道
命令替换 重定向
后台处理 模式匹配
变更 特殊字符 别名:alias
alias ll='ls -alh' cat $HOME/.bashrc 命令替换: myfile 的内容:
-----
parm findfile
-----
ls `cat myfile` -al `是反引号 后台处理: nohup command & no hup tar -czf abc.tar.gz abc jobs -l:列出后台运行程序
变量
管道 ls |sort 重定向(<>) sort <myfile.txt
sort <myfile.txt>myfile1.txt 模式匹配 显示以txt为扩展名的文件或者。。。 ls *.txt 特殊字符 双引号":
用来使shell无法认出空格、制表符和其他大多数特殊字符,这样"David Medinets"表示一个值,而不是2个同样"David < Medinets"表示一个值 单引号':
用来使shell无法认出所有特殊字符 反引号`:
用来替换命令 反斜杆\:
用来使shell无法认出其后的特殊字符,使其后的字符失去了特殊的含义,如David\ Medinets [code]
touch David\ Medinets
ls David\ Medinets
[/code]
echo rtr saet
echo rtr * 分号;:
允许在一行上放多个命令
&:
命令后台执行
();
创建组成的命令。
{};
创建命令块
|:
管道表示符
<>:
表示重定向
*?[].!:
表示模式匹配
$:
变量名开头
#:
表示注释(第一行除外)
空格,制表符,换行符:
当作空白
查看系统有多少shell
echo $SHELL
查看当前shell
在当前shell下运行其他shell
/bin/csh
table键:命令补全
help:shell支持的命令 1.2存取权限与安全
ls -lh
权限第一位(文件类型)
- 普通文件
d 目录
l 链接文件
b 块设备文件 /dev目录下
c 字符设备文件 /dev
p 命名管道文件
s socket文件
ls -l /tmp/.X11-unix/X0 chmod命令
man chmod
info chmod
chmod [who] operator [permission] filename
who(u,g,o,a)
operator(+,-,=)
permission(r,w,x,s,t)
t粘性位,目录中出现t位,意味首该目录中的文件只能由文件属主删除,执行时放在交换分区。
chmod u=rwx,g+w,o+r
chown root.itlab myfile 4xxx u+s
6xxx g+s
7xxx t 符号模式
数字模式 chown
chgrp chown [-R] owner myfile
chown owner.group myfile
chown .group myfile
chgrp [-R] group myfile umask
默认权限
为022时
创建文件是权限是 644
创建目录权限是 755
可以/etc/profile 硬连接
软连接:类似快捷方式
ln [-s] source_path target_path shell 脚本基本元素 ×#!/bin/bash
-第一行
×#
-注释
×变量
×流程控制结构 示例
#!/bin/bash
#这是一个打印hello world的shell脚本 [code]
printchar="hello world"
echo ${printchar};
#这种情况下,大括号可有可无
echo $HOME
[/code] chmod +x后执行 shell特性
别名 管道
命令替换 重定向
后台处理 模式匹配
变更 特殊字符 别名:alias
alias ll='ls -alh' cat $HOME/.bashrc 命令替换: myfile 的内容:
-----
parm findfile
-----
ls `cat myfile` -al `是反引号 后台处理: nohup command & no hup tar -czf abc.tar.gz abc jobs -l:列出后台运行程序
变量
管道 ls |sort 重定向(<>) sort <myfile.txt
sort <myfile.txt>myfile1.txt 模式匹配 显示以txt为扩展名的文件或者。。。 ls *.txt 特殊字符 双引号":
用来使shell无法认出空格、制表符和其他大多数特殊字符,这样"David Medinets"表示一个值,而不是2个同样"David < Medinets"表示一个值 单引号':
用来使shell无法认出所有特殊字符 反引号`:
用来替换命令 反斜杆\:
用来使shell无法认出其后的特殊字符,使其后的字符失去了特殊的含义,如David\ Medinets [code]
touch David\ Medinets
ls David\ Medinets
[/code]
echo rtr saet
echo rtr * 分号;:
允许在一行上放多个命令
&:
命令后台执行
();
创建组成的命令。
{};
创建命令块
|:
管道表示符
<>:
表示重定向
*?[].!:
表示模式匹配
$:
变量名开头
#:
表示注释(第一行除外)
空格,制表符,换行符:
当作空白
相关阅读 更多 +