1 输出重定向:ll > aaa 将输出内容 添加到aaa文件中

  ll >> aaa将输出内容追加到aaa中

  ll &>> abc 将输出内容不论正确或错误都保存在aaa中

  ll &> aaa 将输出内容不论正确或者错误都追加保存在aaa中

  ll >> aaa 2>>bbb 正确输出保存在aaa文件中,错误输出保存在bbb中

2 多命令顺序执行

  命令1;命令2  执行完命令1后执行命令2 ;命令1的结果对命令2 没有影响

  命令1&&命令2  执行命令1,命令1执行成功后执行命令2

  命令1||命令2  执行命令1,命令1执行错误才会执行命令1

3 管道符

  命令1 |命令2  命令1正确执行后,结果作为命令2的参数

  grep  搜索; grep 'xxx' /xxx

4 通配符

  ?:匹配一个字符

  *:匹配0个或者任意多个字符

  [abc]:匹配中括号中任意一个字符

  [a-z]:匹配任意一个小写字母

  [^0-9]:匹配非数字的一个字符

5 shell 中变量用$标记

  string$valstring $val为变量;

  输出时间:date +%Y-%m-%d

  输出前一天:date -d yesterday +%Y-%m-%d;

  输出前n天:date -d -nday +%Y-%m-%d

  输出上n个月:date -d -nmonth +%Y-%m-%d;

  后面的日期只需要将-n变为整数即可

  字符串中加加入时间直接加上$(date ......),即可。

  date日期参数详细:

    %a : 星期几 (Sun..Sat)

     %A : 星期几 (Sunday..Saturday)

    %b : 月份 (Jan..Dec)

    %B : 月份 (January..December)

    %c : 直接显示日期与时间

    %d : 日 (01..31)

    %D : 直接显示日期 (mm/dd/yy)

    %h : 同 %b

    %j : 一年中的第几天 (001..366)

    %m : 月份 (01..12)

    %U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)

    %w : 一周中的第几天 (0..6)

    %W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)

    %x : 直接显示日期 (mm/dd/yy)

    %y : 年份的最后两位数字 (00.99)

    %Y : 完整年份 (0000..9999)

  输出时间戳:date +%s

6 判断语句

 1) if [ xxxx ]  #xxxx与[]之间必须要有空格

      then do something.... #返回rue是执行的语句

      fi  #if结束标志

 2)  if [ xxxx ]

      then do something....

      elif [ xxxx ] #elseif

        then do something....

      elif [ xxxx ] #elseif

        then do something....

    fi

7 test命令;检查文件和比较值

  test(a1 -a b1) 当a1和b1都为真的时候,该表达式返回true,否则返回false;&&

  test(a1 -o b1)当a1和b1中有一个为真的时候返回true。否则返回false;||

  详细:

1)判断表达式

  if test  (表达式为真)

  if test !表达式为假

  test 表达式1 –a 表达式2                  两个表达式都为真

  test 表达式1 –o 表达式2                 两个表达式有一个为真

  2)判断字符串

  test –n 字符串                                   字符串的长度非零

  test –z 字符串                                    字符串的长度为零

  test 字符串1=字符串2                    字符串相等

  test 字符串1!=字符串2               字符串不等

  3)判断整数

  test 整数1 –eq 整数2                        整数相等

  test 整数1 –ge 整数2                        整数1大于等于整数2

  test 整数1 –gt 整数2                         整数1大于整数2

  test 整数1 –le 整数2                         整数1小于等于整数2

  test 整数1 –lt 整数2                          整数1小于整数2

  test 整数1 –ne 整数2                        整数1不等于整数2

  4)判断文件

  test  File1 –ef  File2        两个文件具有同样的设备号和i结点号

  test  File1 –nt  File2        文件1比文件2 新

  test  File1 –ot  File2        文件1比文件2 旧

  test –b File        文件存在并且是块设备文件

  test –c File        文件存在并且是字符设备文件

  test –d File        文件存在并且是目录

  test –e File        文件存在

  test –f File         文件存在并且是正规文件

  test –g File        文件存在并且是设置了组ID

  test –G File        文件存在并且属于有效组ID

  test –h File        文件存在并且是一个符号链接(同-L)

  test –k File        文件存在并且设置了sticky位

  test –b File        文件存在并且是块设备文件

  test –L File        文件存在并且是一个符号链接(同-h)

  test –o File        文件存在并且属于有效用户ID

  test –p File        文件存在并且是一个命名管道

  test –r File        文件存在并且可读

  test –s File        文件存在并且是一个套接字

  test –t FD        文件描述符是在一个终端打开的

  test –u File        文件存在并且设置了它的set-user-id位

  test –w File        文件存在并且可写

  test –x File        文件存在并且可执行

8 read a ;停止从标准输入中读取一行,并把输入的一行字段赋值给a

9 后台运行php nohup php index.php start &

shell note的更多相关文章

  1. run commands in linux shell using batch file

    adb shell as root after device rooted once device rooted, we must perform "su" before we g ...

  2. Shell Script Basics

    https://developer.apple.com/library/mac/documentation/OpenSource/Conceptual/ShellScripting/shell_scr ...

  3. How to Use Android ADB Command Line Tool

    Android Debug Bridge (adb) is a tool that lets you manage the state of an emulator instance or Andro ...

  4. nvm

    nvm install stable #安装最新稳定版 node,现在是 5.0.0 nvm install 4.2.2 #安装 4.2.2 版本 nvm install 0.12.7 #安装 0.1 ...

  5. windows下安装git & 在git@OSC上推送代码

    第一部分 windows下安装git 1.下载最新版本的git:直接百度“git”,如图所示,点击立即下载. 也可以直接在官网下载最新版本的git:http://www.git-scm.com/dow ...

  6. Windows下Git安装指南

    参考<Git权威指南>安装整理,图书配套网址参见[1] 1. Cygwin下安装配置Git 1. 在Windows下安装配置Git有2种不同的方案 (1)msysGit, (2)Cygwi ...

  7. ant exec

    http://ant.apache.org/manual/Tasks/exec.html Exec Description Executes a system command. When the os ...

  8. 快速搭建 Node.js 开发环境以及加速 npm

    如何快速搭建 node 开发环境 npm 超慢 github 无法打开的问题 于是我觉得应该写一篇文章解答所有这些起步问题,让新同学也能顺顺利利入门. 快速搭建 Node.js 开发环境 如果你想长期 ...

  9. MongoDB - MongoDB CRUD Operations, Query Documents, Project Fields to Return from Query

    By default, queries in MongoDB return all fields in matching documents. To limit the amount of data ...

随机推荐

  1. Swift内存管理、weak和unowned以及两者区别

    Swift 是自动管理内存的,这也就是说,我们不再需要操心内存的申请和分配.当我们通过初始化创建一个对象时,Swift 会替我们管理和分配内存.而释放的原则遵循了自动引用计数 (ARC) 的规则:当一 ...

  2. input子系统

    input子系统:      像按键.键盘.鼠标.触摸屏.游戏摇杆等设备只有输入没有输出,而且在编程实现其对应的驱动程序时会有很多重复性的代码,内核的设计者将该部分代码抽象出来,驱动工程师只需要复用该 ...

  3. git错误:Target branch can't be blank

    一.问题描述 遇到一个问题:Target branch can't be blank 因为问题再没有重现,所以拿一张网上的图: 情况是,比如a是项目的owner,有一个项目a/Project. b从a ...

  4. [转]C#编程总结(三)线程同步

    本文转自:http://www.cnblogs.com/yank/p/3227324.html 在应用程序中使用多个线程的一个好处是每个线程都可以异步执行.对于 Windows 应用程序,耗时的任务可 ...

  5. Codeforces Round #285 (Div.1 B & Div.2 D) Misha and Permutations Summation --二分+树状数组

    题意:给出两个排列,求出每个排列在全排列的排行,相加,模上n!(全排列个数)得出一个数k,求出排行为k的排列. 解法:首先要得出定位方法,即知道某个排列是第几个排列.比如 (0, 1, 2), (0, ...

  6. 计算2的N次方&&计算e

    2的N次方 注意:这里在处理的时候并没有用循环来处理,而是用移位的做法.    n<<4  就是 n*2^4    ,所以在本例中只需要写 1<<time  (time是要求的 ...

  7. 第五章项目:QuickHit

    需求概述: 根据输入速率和正确率将玩家分为不同级别,级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高.如果玩家在规定时间内完成规定次数的输入,正确率达到规定要求,则玩家升级(为了简单起见, ...

  8. String的高级用法(String.Format)

    string.Format C#的String.Format的一般地我们可以直接使用string.format()或int.ToString()和float.ToString() 下面是一些Strin ...

  9. CF#345 (Div1)

    论蒟蒻如何被cf虐 以下是身败名裂后的题解菌=========== Div1 A.Watchmen 有n个点,每个点有一个坐标.求曼哈顿距离=欧几里得距离的点对数量. 只需要统计x或y一样的点对数量. ...

  10. Javascript 代码格式化(JsFormat)

    JsFormat 在GitHub 上的地址: https://github.com/jdc0589/JsFormat 这是一个sublime text 2 的插件. 安装: 先安装 sublime p ...