Linux基本操作 9----- 认识与学习bash

简介: 一 认识bash这个shell      1 管理整个计算机硬件的其实就是操作系统的内核,这个内核是需要被保护的,所以我们一般用户就只能通过shell来跟内核通信,以让内核达到我们所想打到的工作。


一 认识bash这个shell

     1 管理整个计算机硬件的其实就是操作系统的内核,这个内核是需要被保护的,所以我们一般用户就只能通过shell来跟内核通信,以让内核达到我们所想打到的工作。

     2 只要能够操作应用程序的接口度能够称为shell

     3 bash shell 的功能

        命令记忆功能history

        命令与文件补全功能

        命令别名设置功能(alias)

        作业控制,前台,后台控制

        程序脚本

        通配符

     

 二 shell的变量功能

      1 环境变量例如PATH,HOME,MAIL,SHELL等,为了区别与自定义变量的不同,环境变量通常以大写字符来表示

      2 我们可以利用echo这个命令来显示变量,但是变量在被显示时,前面必须加上字符$才行

      3 基本上,命令运行的顺序可以这样看

         1 以相对/绝对路径执行命令

         2 由alias找到该命令执行

         3 由bash内置的命令来执行

         4 通过$PATH这个变量的顺序找到一个命令来执行

      4 bash默认的组合键

         Ctrl+C 终止目前的命令

         Ctrl+D 输入结束EOF

         Ctrl+M 就是Enter

         Ctrl+S 暂停屏幕的输出

         Ctrl+Q 恢复屏幕的输出

         Ctrl+U 在提示符下,将整行命令删除

         Ctrl+Z 暂停目前的命令

      5 通配符与特殊符号

         * 代表0个到无穷多个任意字符

         ? 代表一定有一个任意字符

         [] 同一代表一定有一个在中括号内的字符,例如[abcd]代表这四个中一个

         [-] 例如[0-9]代表0-9之间的所有数字

         [^] 例如[^abc]表示的是非abc的其它字符

      

 三 数据流重定向

      1 标准输出指的是命令执行所回传的正确的信息,而标准错误输出可理解为命令执行失败后,所回传的错误信息

      2 标准输入stdin:代码为0,使用<或<<

         标准输出stdout:代码为1,使用>或>>

         标准错误输出stderr:代码为2,使用2>或2>>

      3 1>:以覆盖的方法将正确的数据输出到指定的文件或设备上

         1>>:以累加的方法将正确的数据输出到指定的文件或设备上

         2>:以覆盖的方法将错误的数据输出到指定的文件或设备上

         2>>:以累加的方法将错误的数据输出到指定的文件或设备上

      4 && 和|| 的执行情况

         cmd1 && cmd2 若cmd1执行完毕且正确执行,则开始执行cmd2;若cmd1执行完毕为错误,则cmd2是不执行

         cmd1 || cmd2 若cmd1执行完毕且正确执行,则cmd2不执行;若cmd1执行完毕且为错误,则开始执行cmd2

      

 四 管道命令

      1 管道命令|仅能经由前面一个命令传来的正确的信息,也就是标准输出的信息,对于标准错误输出是没有处理能力

      2 在每个管道后面接的第一个数据必定是命令,而且这个命令必须是能够接收标准输入的数据才行,这样的命令才可以是管道命令

      3 一般来说,选取信息通常是针对“行”来分析的,并不是整篇信息分析的

      4 cut命令可以将一段信息的一段切出来,处理的信息是以行为单位

      5 grep是抓取我们所需要的信息

      6 sort可以进行文本数据来排序

      7 uniq是可以将重复的数据仅列出一个显示,但是要求必须先排好序

      8 wc可以用来统计文件的行数和单词数

      9 tee命令可以用来双向重定向,同时将数据流送与文件与屏幕

      


目录
相关文章
|
1月前
|
Ubuntu 安全 Unix
【Linux学习】零基础学习Linux
【Linux学习】零基础学习Linux
|
1月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
2天前
|
Unix Linux Windows
Linux的学习之路:3、基础指令(2)
Linux的学习之路:3、基础指令(2)
24 0
|
1天前
|
Java Shell Linux
【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?
【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?
|
1天前
|
Java Linux Shell
【Linux】bash: /home/stefan/jdk1.7.0_55/bin/java: /lib/ld-linux.so.2: bad ELF interpreter
【Linux】bash: /home/stefan/jdk1.7.0_55/bin/java: /lib/ld-linux.so.2: bad ELF interpreter
6 0
|
2天前
|
消息中间件 Unix Linux
Linux的学习之路:17、进程间通信(1)
Linux的学习之路:17、进程间通信(1)
17 1
|
2天前
|
存储 安全 Linux
Linux的学习之路:9、冯诺依曼与进程(1)
Linux的学习之路:9、冯诺依曼与进程(1)
17 0
|
14天前
|
存储 Shell Linux
【攻防世界】unseping (反序列化与Linux bash shell)
【攻防世界】unseping (反序列化与Linux bash shell)
|
17天前
|
Linux 应用服务中间件 网络安全
小白学习Linux的学习建议和阶段
【4月更文挑战第5天】小白学习Linux的学习建议和阶段
46 0
|
4月前
|
Linux Shell Windows
4:Bash shell命令-步入Linux的现代方法
4:Bash shell命令-步入Linux的现代方法
53 0