shell2.0

1.     脚本三种执行方式

①  chmod a+x .文件名    ./文件名

②  bash 文件名

③  source 文件名 或者 .文件名

 

2.      第一行指明了Shell脚本使用哪个Shell进行解释执行

#!/bin/bash

3.     单行注释  #

多行注释: << !   

 !

4.     用户帐号 /etc/passwd

用户密码 /etc/shadow

5. 命令

(1)ls

-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)

-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

-r 将文件以相反次序显示(原定依英文字母次序)

-t 将文件依建立时间之先后次序列出

-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)

-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加"/"

-R 若目录下有文件,则以下之文件亦皆依序列出

 

(2) cd

命令用于切换当前工作目录至 dirName(目录参数)。

另外,“回车”"~" 也表示为 home 目录的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录,“-”切换到上次工作目录

 

(3)touch

如果指定的文件不存在,则将创建一个新的空白文件

 

(4)mkdir 创建子目录

-p 确保目录名称存在,不存在的就建一个。

 

(5)rm 删除一个文件或目录

-i 删除前逐一询问确认。

-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

-r 将目录及以下之档案亦逐一删除。

 

(6)rmdir 删除空目录

-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

 

(7)su 用户 切换用户

 

(8)tar 命令用于备份文件

 tar-czvf test.tar.gz a.c   //压缩 a.c文件为test.tar.gz

 tar-tzvf test.tar.gz   //列出压缩文件内容

 tar-xzvf test.tar.gz a.c   //解压文件

-c--create 建立新的备份文件。

-z--gzip--ungzip 通过gzip指令处理备份文件。

-v--verbose 显示指令执行过程。

-f<备份文件>--file=<备份文件> 指定备份文件。

-t--list 列出备份文件的内容。

-x--extract--get 从备份文件中还原文件。

 

(9)grep

 

(10)sed

 在sed中需要用两根/(斜线)将规则括起来

sed  -n   ‘/^#/p’  /etc/rc.local

 


(11)awk

每条记录的域从1开始编号;$0表示所有域(行)

awk支持“?”和“+”两个扩展元字符。

命令语法: 
awk '{pattern + action}'  input-file

 

http://www.runoob.com/linux/linux-comm-awk.html

 

 

(12)sort

-b :忽略最前面的空格符部分;

-c:测试文件是否已经被排序

-f :忽略大小写的差异,例如A 与 a 视为编码相同;

-k :以某个区间 (field)字段键值(key)进行排序

-n :使用『纯数字』进行排序(默认是以ASCII排序);

-u :去除重复行,(unique唯一的),相同的数据中,仅出现一行代表;*

-t :分隔符,默认是用 [tab] 键来分隔;*

-r :逆向排序;

-o   文件名:将排序后结果输出到文件;

 

(13)wc

wc(word count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

-c 统计字节数。

-l 统计行数。

-m 统计字符数。这个标志不能与-c 标志一起使用。

-w 统计字数。

 

 (14)uniq

-i :忽略大小写字符的不同;

-c :进行计数 ;

-d:  只显示重复记录,每个记录出现1次

-u :只显示唯一的行(非重复)*

 

(15)kill 终止后台进程

ctrl+c 终止前台进程

bg 前台转后台

fg 后台转前台

(16)cp

复制文件或目录

-a:该选项通常在复制目录时使用,递归地将源目录下的所有子目录及其文件都复制到目标目录,并且保留文件链接和文件属性不变,等效于-dpr(all)

-f:(force)强行复制文件或目录,不论目标文件或目录是否已存在。

-i:(interactive)覆盖既有文件之前先询问用户。

-p:保留源文件或目录的属性。

-r:递归处理,将指定目录下的文件与子目录一并处理。

rm删除文件或目录。

-f:(force)强制删除文件或目录

-r:(recursive)递归处理,将指定目录下的所有文件及子目录一并处理

-i:(interactive)删除既有文件或目录之前先询问用户

 (17)mv

删除文件或目录

-i:覆盖前先行询问用户(interactive)

-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录(force)

(18)重定向

http://www.runoob.com/linux/linux-shell-io-redirections.html

管道(连接两个进程)

(19)tab键 联想

 

5.     vi的三种模式

http://www.runoob.com/linux/linux-vim.html

 

6.     $?前面的变量 

第一个参数用$1表示,第二个参数$2表示……以此类推。

注意:$0表示脚本文件名。

另外一个在shell编程中经常用到 的是“$@”这个代表所有的参数,可以用一个循环来遍历这个参数。for args in $@

 

$# 参数数量  $* 传递所有前面的参数组成的字符串

7.     *、?、+ 在正则表达式中代表什么?

*,它用来匹配任何字符串,包括空串

?,它用来匹配任意一个字符,0次或1次

+ 前面字符至少出现一次

[],它用来匹配方括号内里列出的某个单个字符

 

8.     文件类型

 

9.     循环

1)if语句

①if   [  条件命令  ]

then

   命令1

   命令2

   …

fi

②if…else…fi结构

if  [  条件命令  ]; then

   命令列表1

else

   命令列表2

fi

③if…elif…fi结构

if  [  条件命令1  ];then

   命令列表1

elif  [  条件命令2  ]; then

   命令列表2

else

    命令列表3

fi

④嵌套的if语句

if   [  条件命令1  ];then

    if [  条件命令2  ];then

        命令列表1

     else

        命令列表2

     fi

else

      命令列表3

fi

 

2)case

case  变量值  in

  模式1)

   命令列表1;;

  模式2)

   命令列表2;;

……

  *)

   命令列表n;;  

esac

 

3)for循环

①for   变量   in  {字符串列表list }

do

     命令列表

done

②for   变量  

do

     命令列表

done

③for ((表达式1;表达式2;表达式3)) 

do

     命令列表

done

 

4)while循环

 

 

10.  环境变量 echo

 $PATH规定了一个命令执行时所搜寻的路径

$PWD当前工作目录的绝对路径名

$USER当前登录用户 

$LOG_NAME登录名

$HOME 用于保存注册目录的全部路径名

 

11.  动态显示进程 top

静态        ps

12.  Linux命令提示符  # 超级用户 $非超级用户

13.   { 前后的空格


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PP_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值