1. 历史命令 history
    选项: -c 清空历史命令 -w 立即保存历史命令
    Linux 下输入过的历史命令,都会保存在根目录下的:~/root/.bash_history 文件中
    默认保存 1000 条,可在 /etc/profile 文件中修改环境变量
    !ser : 执行最后一条以 ser 开头的命令
    !! : 再次执行上一条命令
  2. 定义别名
    # alias vi = “vim” // 重启系统消失
    # unalias vi
    永久生效
    # vi /root/.bashrc
  3. 输出重定向
    标准输出重定向:命令 > 文件 覆盖的方式 命令 >> 文件 追加的方式
    标准错误输出重定向:错误命令 2> 文件 覆盖方式 错误命令 2>> 文件 追加方式
    a、以覆盖的方式,把正确输出和错误输出都保存到同一个文件
    格式:命令 > 文件 2>&1 
    命令 &> 文件
    b、以追加的方式,把正确输出和错误输出追加到同一个文件
    格式:命令 >> 文件 2>&1
    命令 &>> 文件
    c、把正确的输出追加到文件 1,错误输出追加到文件 2
    格式:命令 >> 文件 1 2>> 文件 2
  4. 脚本执行连接符
    ; 代表顺序执行 eg: 命令 1; 命令 2
    && 上一条命令成功执行了再执行下一条 eg: 命令 1&& 命令 2
    || 上一条命令执行不成功才执行 eg: 命令 1|| 命令 2
    | 命令 1 的正确输出作为命令二操作的对象 eg: 命令 1| 命令 2
  5. grep 命令
    # grep [选项] "搜索内容" 文件
    选项:
    -i : 忽略大小写
    -n:输出行号
    -v:反向查找
    –color=auto 搜索出的关键字用颜色显示
  6. 自定义变量
    变量可以由字母、数字、下划线组成,但是不能以数字开头
    变量的类型默认都为字符串类型,如果需要进行数值运算,必须修改变量类型为数值型
    变量用等号连接,等号2边都不能有空格,若变量值有空格,需要使用单引号包括
    如果需要增加变量的值,变量需要用双引号包含:“$变量名”或者用${变量名}包含
    如果把命令的结果作为变量值赋予变量,需要使用反引号或$()包含命令
    变量设置:a=123
    变量调用:echo $name
    变量查看:set
    变量删除:unset name
  7. 预定义变量

    预定义变量 作用
    $? 最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行,如果变量值非0,证明上一个命令执行不正确。 (echo $?)
    $$ 当前进程的进程号(PID)
    $!

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

    接收键盘输入
    # read [选项] [变量名]
    选项:
    -p "提示信息" 在等待read输入时,输出提示信息
    -t 秒数 read命令会一直等待用户输入,指定等待时间
    -n 字符数 read命令只会接受指定的字符数,就会执行
    -s 隐藏输入的数据,适用于密码输入
    代码例子:

    #! /bin/bash
    
    read -t  -p "please input your name: " name
    # 提示请输入姓名,等待10秒,将用户输入保存到变量名name中
    echo "Name is $name" read -s -t -p "please enter your age: " age
    # 年龄是隐私,用"-s" 选项隐藏输入
    echo -e "\n"
    echo "Age is $age" read -n -t -p "please select you gender[M/F]: " gender
    # 使用"-n 1" 选项只接收一个输入字符就会执行(不用回车)
    echo -e "\n"
    echo "Sex is $gender"

    Code

  8. declare声明变量类型

    # declare [+/-] [选项] 变量名

    选项:

    -:给变量设定类型属性

    +:取消变量的类型属性

    -i:将变量声明为整数型

    -x:将变量声明为环境变量

    -p:显示指定变量的被声明的类型

    其他方法:数值运算使用:cc = $(($aa+$bb))      或      cc = $[$aa+$bb]

  9. 只显示目录,横排显示
    ls -l |grep ^d |awk '{printf "%s  ",$9}'|sort -n
    竖排显示
    ls -l |grep ^d |awk '{{printf "%s \n",$9}}' |sort -n
  10. 求2个文件交集
    sort a b  | uniq -d (都存在)
  11. 求2个文件差集
    sort a b b | uniq -u (a存在 b不存在)

Shell基础 - Bash基础功能的更多相关文章

  1. Shell编程——bash基础知识

    # Bash中自动补全时忽略大小写 # 编辑~/.inputrc(没有的话,就新建一个),在最后加一行: set completion-ignore-case on # 若要用方向键Up,Down来搜 ...

  2. linux笔记:shell基础-bash基本功能

    历史命令的调用: 命令和文件补全(如果当前有多个可选的补全,则按2次tab键,可以列出所有的可选项): 命令别名: 让别名永久生效: 删除别名: bash常用快捷键: 标准输入输出: 输出重定向: 输 ...

  3. Linux学习 -- Shell基础 -- Bash基本功能

    历史命令 history -c   clear -w   写入 ~/.bash_history 默认保存1000条, 可在/etc/profile中修改 调用 Tab补全 命令.目录.文件 命令别名 ...

  4. shell脚本语法基础汇总

    shell脚本语法基础汇总 将命令的输出读入一个变量中,可以将它放入双引号中,即可保留空格和换行符(\n) out=$(cat text.txt) 输出1 2 3 out="$(cat te ...

  5. cmd 与 bash 基础命令入门

    身为一个程序员会用命令行来进行一些简单的操作,不是显得很装逼嘛!?嘿嘿~ ヾ(>∀<) cmd 与 bash 基础命令入门       简介       CMD 基础命令          ...

  6. SHELL脚本--变量(基础)

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 变量存在于内存中.假设变量str,设置或修改变量属性时,不带$ ...

  7. linux的基本操作(shell 脚本的基础知识)

    shell 脚本的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本 ...

  8. shell 脚本编写基础

    在进行Linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入 ./smartzip就能运行脚本了.. 每行 ...

  9. Shell编程入门基础上

    前言 为什么学 Shell Shell 脚本语言是实现 Linux/UNIX 系统管理及自动化运维所必备的重要工具, Linux/UNIX 系统的底层及基础应用软件的核心大都涉及 Shell 脚本的内 ...

  10. SHELL脚本编程基础知识

    SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...

随机推荐

  1. [2018福大至诚软工助教]alpha阶段小结

    [2018福大至诚软工助教]alpha阶段小结 一.得分 1. 冲刺(7次 Scrum) 150分 1)第1篇(25分) 项目 评分标准 各个成员在 Alpha 阶段认领的任务 (6分)视详细程度给分 ...

  2. ARC 066D Xor Sum AtCoder - 2272 (打表找规律)

    Problem Statement You are given a positive integer N. Find the number of the pairs of integers u and ...

  3. Day13 Python基础之time/datetime/random模块一(十一)

    time模块 import time print(help(time)) time.time() #return current time in seconds since the Epoch as ...

  4. PS滤镜制作下雨照片特效

    原图 一.打开你想要添加下雨效果的照片,并新建一个图层,命名为雨,填充为黑色,对“雨”层执行:滤镜 > 杂色> 添加杂色,参数如图. 二.对“雨”层执行:滤镜 > 模糊 > 高 ...

  5. CRM系统(第四部分)

      阅读目录 1.引入权限组件rbac 2.分配权限 3.登录.引入中间件 1.引入权限组件rbac 1.settings配置app.中间件   INSTALLED_APPS = [ ... ... ...

  6. Swagger UI 用法

    Swagger - 简书https://www.jianshu.com/p/4115f2b53983 Swagger简介 - Ghost Stories - CSDN博客https://blog.cs ...

  7. html js 表单提交前检测数据

    通过使用form的onsibmit来控制是否提交数据 返回值为真是提交,其他不变,示例如下: JS部分 function check() { var newPwd = document.getElem ...

  8. # 【Python3练习题 007】 有一对兔子,从出生后第3个月起每个月都生一对兔子, # 小兔子长到第三个月后每个月又生一对兔子, # 假如兔子都不死,问每个月的兔子总数为多少?

    # 有一对兔子,从出生后第3个月起每个月都生一对兔子,# 小兔子长到第三个月后每个月又生一对兔子, # 假如兔子都不死,问每个月的兔子总数为多少?这题反正我自己是算不出来.网上说是经典的“斐波纳契数列 ...

  9. IdentityServer4【Topic】之登陆注册

    Sign-in 登陆注册 为了让标识服务器(identity server)代表用户发出令牌,该用户必须登录到标识服务器. Cookie authentication Cookie认证 身份验证是由来 ...

  10. Spark源码编译,官网学习

    这里以spark-1.6.0版本为例 官网网址   http://spark.apache.org/docs/1.6.0/building-spark.html#building-with-build ...