1 ;分号

  格式:命令1;命令2;命令3

  说明:命令之间用分号隔开是顺序执行,命令之间没有任何逻辑关系

2  &&  逻辑与

  格式:命令1 && 命令2

  说明:命令1正确执行,命令2才会执行;命令1执行失败,则命令2不会执行

3  || 逻辑或

  格式:命令1 || 命令2

  说明:命令1执行错误,则命令2才会执行;命令1执行正确,则命令2不会执行

4  复制磁盘

  dd if=输入文件 of=输出文件 bs=字节数  count=个数

  说明:if->输入文件 指定源文件或源设备

      of-> 输出文件,指定目标文件或目标设备

      bs->字节数 指定一次输入/输出多少字节,即这些字节看做一个数据块

5 判断命令是否执行正确

  命令 && echo yes || echo no

  说明:命令执行正确无误,输出yes,执行有错误输出no

6 | 管道符

  格式:命令1 | 命令2

  作用:命令1的正确输出作为命令2的操作对象,要求命令1必须有正确输出

7 grep [选项] '搜索内容' 文件名

  作用:搜索

  参数:

  -i 忽略大小写

  -n 输出行号

  -v 反向查找

  --color=auto 颜色显示

  通配符及其他特殊符号

  ?->匹配一个任意字符

  *->匹配0个或多个任意字符

  []->匹配中括号中任意一个字符 例如:[abc] 表示匹配a或者b或者c

  [-]->代表一个范围匹配范围中的任意一个 例如:[1-9] 匹配1-9中的任意一个数字

  [^]->匹配不是中括号中的一个字符 例如:[^0-9] 匹配一个不是数字的字符

8 bash中其他的特殊字符

  '' 单引号  单引号中的任何特殊字符均没有意义

  "" 双引号  双引号中除 $ ` \ 外其他的特殊字符都没有特殊意义 ,$ 调用变量 `引用系统命令 \转移字符

  `` 反引号  反引号括起来的内容是系统命令,会先执行系统命令

  $() 和反引号一样,用来引用系统命令

  $ 取变量的值,不带$是变量  带上$是去变量的值

9 变量

  变量的默认类型都是字符串类型

  变量用=连接,=两侧不能有空格,如果变量值中有空格需要用引号引起来

  name=$(date) 将当前时间赋值给变量name

  环境变量名建议大写,便于区分

10 变量分类

  用户自定义变量

  环境变量 ->是和系统操作环境相关的数据

  位置参数变量 ->这种变量主要用来向脚本中传递参数和数据的,变量名不能自定义,变量作用是固定的

  预定义变量 ->是bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的

  其中位置参数变量也属于预定义变量

11 set 

  作用:查看系统中的所有变量

12 unset 变量名

  作用:删除变量,删除环境变量也用这个命令

13 pstree

  作用:查看系统中使用的shell的层级树

14 设置环境变量

  export 变量名=变量值 设定环境变量 例如:export age=18  添加一个环境变量age 并赋值为18

  name='zhaolili'  添加本地变量并赋值为 zhaolili

  export name 这样就把本地变量name变成了环境变量

15 env

  作用:查询环境变量

16 环境变量PS1

  作用:定义系统提示符的变量

  参数:

  \d 显示日期,格式为"星期 月 日"

  \h 显示简写主机名,默认为localhost

  \t 显示24小时时间制,格式为 "HH:MM:SS"

  \T 显示12小时时间制,格式为"HH:MM:SS"

  \A 显示24小时时间制,格式为"HH:MM"

  \u 显示当前用户名

  \w 显示当前工作目录的完整路径

  \W 显示当前工作目录的最后一层目录

  \# 执行的第n个命令

  \$ 提示符 root用户是# 其他用户是$

17 位置参数变量

  $n  ->n为数字 $0代表命令本身 $1-$9代表第一都第9个参数 10以上的参数用大括号 ${10}  ${11}

  $*  -> 代表命令中的所有参数,$*把所有参数看做一个整体

  $@  ->代表命令中所有参数,$@把所有参数区分对待

  $#  -> 代表命令中所有参数的个数

  这个循环一次

  for in "$*"

    do

      echo $i

    done

  这个循环多次

  for y in "$@"

    do

      echo $y

    done

18 预定义变量

  $?  最后一次执行命令的返回状态 如果这个命令执行的结果为0 则证明上一个命令执行正确 否则 执行失败

  $$  当前进程的进程号(PID)

  $!  后台运行的最后一个进程的进程号(PID)

19 接收键盘的输入

  read [选项] [变量名]

  -p "提示信息"  在等待read时给出的提示信息

  -t 秒数  read命令会一直等待用户输入,使用此选项可以指定等待时间

  -n 字符数  read命令只接收指定的字符数,就会执行

  -S   隐藏输入的数据,使用于机密性的信息 比如密码

  例子:read -t 30 -p "Please input your name:" name  ->表示把输入的信息放入变量name中

  

Linux中的输入重定向,变量的更多相关文章

  1. linux中的输入从定向和输出重定向

    linux的标准的输入和输出为如下 我们在 linux中执行命令时,命令默认输出到console中,很多时候我们需要将命令输出到其他设备上如最常见的就文件中去,或者重文件中输入.那这时候就需要用到li ...

  2. linux中配置JDK环境变量

    使用的centos版本为 7.5 首先我们要把jdk拷到linux中,这里我们借助XShell工具,我们先来看看Xshell的用法 打开Xshell 后点击文件,“新建“,如下图: 起一个名称,主机填 ...

  3. Linux中的数据重定向

    重定向即指:将数据传送输出到别的地方,如设备.文件等等.那就涉及到将什么数据传送到什么地方的问题. 在linux中命令执行的起源和结果说起,看下图: Standard input和Standard e ...

  4. Linux中export导入环境变量的几种方式

    1.首先类似于windows中的设定系统环境变量的方式为,在/etc/profile中 export PATH=$PATH:....:... 注意间隔符为: 然后复用原来路径是$PATH的方式 2.用 ...

  5. Linux中涉及到环境变量的文件

    1. 系统级 (a) /etc/profile : 在用户登录操作系统时,定制用户环境的第一个文件,应用于登录的每一个用户 ==> 该文件一般调用/etc/bash.bashrc文件 (b)/e ...

  6. linux中输入输出和重定向问题

    输入输出解释 当我们执行shell的时候,每个进程都和三个打开的文件有关系,并使用文件描述符来引用这些文件.但这些文件不容易记忆,所以shell给了相应的文件名: 0:输入文件-标准输入(它的命令是输 ...

  7. Linux中的预定义变量

    解释: 主要是Bash中已经定好的变量,名称不能自定义,作用也是固定的 $? 最后一次执行的命令返回状态,0为成功,非0为失败 $$ 当前进程的进程号 $! 后台运行的最后一个进程的进程号 例子: [ ...

  8. Linux中的输出重定向

    标准输入输出: 键盘        /dev/stdin        0       标准输入 显示器    /dev/stdout      1       标准输出 显示器    /dev/st ...

  9. Linux中bash shell环境变量

    别名 别名是命令的快捷方式.为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用.语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令.重要的 ...

随机推荐

  1. appstore不能登陆

    Happened same with me. This is happening because the App Store is looking for a working connection o ...

  2. JPush API client library for C Sharp(极光推送API)

    概述 这是 JPush REST API 的 C# 版本封装开发包,是由极光推送官方提供的,一般支持最新的 API 功能. 对应的 REST API 文档:http://docs.jpush.io/s ...

  3. 头像上传,拖拽,裁切 (非HTML5)版本

    演示地址: http://codeman35.itongyin.com:19002/v2/web_demo.html 功能: 支持滚轴放大缩小,鼠标拖动,裁切可视区域,裁切和图片处理都是后端操作.

  4. Error:Execution failed for task ':app:dexDebug'.

    com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ...

  5. TransactionScope类的使用

    如果在C#中使用TransactionScope类(分布式事务),则须注意如下事项:1.在项目中引用using System.Transactions命名空间(先要在添加net组件的引用); 2.具体 ...

  6. 一张图说懂java中 private default protected public 的区别

    private:修饰完全隐藏类的成员,这样,就不能从类的外边直接访问他们,我们提供set和get方法,保证类中数据域的安全. default:指默认修饰符,什么都不加,实际上它限制的范围就是一个包内可 ...

  7. Ajax方法封装

    打算自己封装一个ajax方法,再不用jq库的情况下,直接引用: ajax作用:数据交互,在不刷新页面的情况下,发送请求,获取数据: 首页第一步常见一个ajax对象:XMLHttpRequest,之后会 ...

  8. EUI ViewStack实现选项卡组件

    一  TabBar+ViewStack实现 这个教程确实没看懂...贼麻烦... 二 RadioButton+ViewStack 在exml中拖动组件RadioButton和ViewStack 设置e ...

  9. 转: python如何安装pip和easy_installer工具

    原文地址: http://blog.chinaunix.net/uid-12014716-id-3859827.html 1.在以下地址下载最新的PIP安装文件:http://pypi.python. ...

  10. Content has been consumed

    if(response.getEntity() != null && response.getEntity().getContent() != null) { message = IO ...