Linux的 Bash 简介和使用方法

发布于:2022-11-13 ⋅ 阅读:(625) ⋅ 点赞:(0)

目录

Shell 的作用

shell的分类

基本使用

变量相关

特殊符号

数据流重导向

/dev/null 垃圾桶黑洞设备

管线命令

文本分析/摘取命令

cut

grep


Bash是shell的一种。

Shell 的作用

通过壳程序 (shell) 来跟核心沟通,如同鸡蛋的外壳一样,以让核心(kernel)达到我们所想要达到的工作。

壳程序的功能只是提供使用者操作系统的一个接口,因此这个壳程序需要可以调用其他软件。、包括 man, chmod, chown, vi, fdisk 等等指令都是独立的应用程序, 但是我们可以通过壳程序 (就是命令行界面) 来操作这些应用程序,让这些应用程序调用核心来运行所需的工作。
只要能够操作应用程序的接口都能够称为壳程序。狭义的壳程序指的是命令行方面的软件,包括本章要介绍的 bash 等。 广义的壳程序则包括图形接口的软件,因为图形接口其实也能够操作各种应用程序来调用核心工作。
也就是说 windows 下的各种窗口软件都可以称之为 壳程序

shell的分类

由于早年的 Unix 年代,发展者众,所以由于 shell 依据发展者的不同就有许多的版本,例如常听到的 Bourne SHell (sh) 、在Sun 里头默认的 C SHell、 商业上常用的 K SHell、, 还有 TCSH 等等,每一种 Shell 都各有其特点。至于 Linux 使用的这一种版本就称为“ Bourne Again SHell (简称 bash) ”,这个Shell 是 Bourne Shell 的增强版本

基本使用

使用 bash shell 的时候只需要操作键盘。

ctrl + a = home 

ctrl + e = end

变量相关

echo 配合 钱字号$ 读取变量

echo $variable 获取变量的值

echo $PATH 
var=value  设置变量var的值为 value ,注意=前后不能有空格
unset var 取消变量var的设置

 

比如 ~就代表当前用户的主文件夹

可以将自己频繁使用的路径设置为变量,这样在使用Linux时效率更高。

特殊符号

数据流重导向

通过 <  >  >>  << 等符号将原本屏幕输出的内容  保存到文件中,或者从文件读取内容输出到屏幕。

1. 标准输入 (stdin) :代码为 0 ,使用 < 或 << ;

2. 标准输出 (stdout):代码为 1 ,使用 > 或 >> ;
3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;

1> :以覆盖的方法将“正确的数据”输出到指定的文件或设备上;
1>>:以累加的方法将“正确的数据”输出到指定的文件或设备上;
2> :以覆盖的方法将“错误的数据”输出到指定的文件或设备上;
2>>:以累加的方法将“错误的数据”输出到指定的文件或设备上;

/dev/null 垃圾桶黑洞设备

在调用某些写好的库时,它本身里面会输出一些日志信息,只需要在后面连接上

> /dev/null 即可忽略

> /dev/null 可以将正确的数据(正常执行后的响应) 忽略

 

 

管线命令

管线命令“ | ”仅能处理经由前面一个指令传来的正确信息,也就是 standard output 的
信息,对于 stdandard error 并没有直接处理的能力。

所以在使用时需要注意:

管线命令仅会处理 standard output,对于 standard error output 会予以忽略
管线命令必须要能够接受来自前一个指令的数据成为 standard input 继续处理才行

所以less, more, head, tail都属于管线命令,而ls, cp, mv 等就不是管线命令。

文本分析/摘取命令

文本的摘取通常都是一行一行进行分析的。

cut

export会显示当前的环境变量,可以通过cut对export输出的规整的文本进行处理并输出。

cut -c start-end  以字符 为的单位取出固定字符区间 [start, end]

 

 

grep

支持的语法很多,可以用来搜索关键字。

type -a grep
grep 是 `grep --color=auto' 的别名
grep 是 /bin/grep

 同样可以对export 的内容进行检索,找到其中包含"/usr/"的文本行

 

本文含有隐藏内容,请 开通VIP 后查看