zoukankan      html  css  js  c++  java
  • 认识与学习bash

    认识与学习bash

    认识bash这个shell

    1. 硬件,内核与shell
    • 硬件:整个系统中的实体工作者,包含硬盘,显卡,网络卡,cpu等。
    • 内核:真正控制硬盘工作的,有cpu进程,内存管理,磁盘输入输出等工作。
    • shell:狭义的shell只命令行方面的软件;广义的是指只要能够操作应用程序接口的都叫做shell,本文讲的是命令行界面的shell(bash)。
    1. bash shell的功能
    • 命令记忆功能:(history)
    • 命令补全功能 :(tab)键
    • 命令别名设置功能:(alias)
    • 作业控制,前台,后台控制
    • 程序脚本:shell script
    1. bash shell的内置命令查询:type

    shell的变量功能

    1. 什么是变量:以一组文字或符号等,来代替比较复杂或者容易变动的数据。
    2. 变量的显示:echo 例如:echo $PATH
    3. 变量的设置规则:
    • 变量名只能是英文字母与数字,但不能以数字开头
    • 变量名与变量内容之间用=号连接,不能直接接空格字符
    • 变量内容若有空格符,可使用单引号或双引号,注意单引号不解析变量,原样输出
    • 可使用转义字符“”转义特殊字符
    • 该变量增加变量内容时,例如:PATH="$PATH":/home/zj
    • 若该变量需要在其它子进程执行,则需要以export来使变量变成环境变量,例如:export PATH
    • 取消变量:unset 变量名
    1. 环境变量的功能
    • 查看环境变量:env
    • 自定义变量转成环境变量:export
    • 子进程仅会继承父进程的环境变量,不会继承父进程的自定义变量
    1. 变量键盘读取,数组与声明:read,array,decla
    2. 变量内容的删除,替代与替换:

    从前面开始删除:

    • #:删除最短的 例如:echo ${path#/:} 把path中/到:最短的删除,号为通配符
    • ##:删除最长的 例如:echo ${path##/:} 把path中/到:最长的删除,号为通配符,即前面的目录都删除了,仅保留最后一个目录。

    从后面开始删除:

    • %:删除最短的 例如:echo ${path%/:} 把path中/到:最短的删除,号为通配符
    • %%:删除最长的 例如:echo ${path%%/:} 把path中/到:最长的删除,号为通配符

    变量的替换:

    例如:把path变量中的sbin替换为大写的SBIN
    echo ${path/sbin/SBIN} 只替换第一个
    echo ${path//sbin/SBIN} 替换所有
    
    
    1. 命令别名与历史命令:alias , unalias,history

    bash shell的操作环境

    1. 路径与命令的查找顺序
    • 以相对绝对路径执行命令
    • 由alias找到命令来执行
    • 由bash的内置命令来执行
    • 通过$PATH这个变量的顺序找到的第一个命令来执行
    1. bash的环境配置文件
    • loginshell 取得bash时需要完整的登入流程,需要用户输入登入账号与密码:系统整体设置文件/etc/profile与~/.bash_profile
    • non-login shell 取得bash的接口方法不需要重复登入,以图形界面启动终端机,并不需要再次输入账号与密码:~/.bashrc

    数据流重定向

    1. 标准输入(stdin):代码为0,使用<或<<
    2. 标准输出(stdout):代码为1,使用>或>>
    3. 标准错误输出(stderr):代码为2 ,使用2>或2>>
    4. 命令执行的判断依据:;,&&,,||

    管道命令

    1. 选取命令:cut,grep
    2. 排序命令:sort,wc,uniq
    3. 双向重定向:tee
    4. 字符转换命令:tr,col,join,paste,expand
    5. 参数代换:xargs
    6. 关于减号-的用途:某些命令需要用到文件名来进行处理时,该stdin与stdout可以利用减号来代替
    tar -cvf - /home | tar -xvf -
    将home里面的文件打包经管道传送给后面的tar -xvf -
    
  • 相关阅读:
    通过编程添加Outlook联系人和通讯组
    一个比较完整的WindowsFormsApplication实现
    读书笔记:《粘住:为什么我们记住了这些,忘掉了那些?》
    最新购书
    新买的2本书都不错
    压榨机器,Hack,设计极限强度的网络应用
    方向越来越明确了
    思想上激进,行为上保守
    一种遗失了很久的感觉正在慢慢回归
    物极必反,滥用闭包的结果就是回归结构化编程
  • 原文地址:https://www.cnblogs.com/emptyCup/p/13067614.html
Copyright © 2011-2022 走看看