欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Shell 之Bash 基础

程序员文章站 2022-04-23 10:44:58
...

Shell解释执行的脚本语言,可以直接调用Linux的所有命令。

 

echo 输出命令

-e:支持反斜线控制的字符转换


Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
 

eg1:echo -e 'ab\bc'    

删除左侧字符

 

eg2:echo -e 'a\tb\tc\nd\te\tf'

制表符与换行符输出

eg3:echo $PATH

查看linux下面的环境变量

 

history 命令

语法:history [选项] [历史命令保存文件]

选项

-c  清空历史命令

-w  把缓存中的历史命令写入历史命令保存文件

~/.bash_history 默认的保存地址

 

历史命令默认会保存1000条,可以在环境配置文件/etc/profile中进行修改。

 

历史命令调用

a,使用上、下箭头调用以前的历史命令

b,使用“!n”重复执行第n条历史命令

c,使用“!!”重复执行上一条命令

d,使用“!字符串”重复执行该字符串开头的命令

 

命令与文件补全

按“Tab”键就会自动进行补全。

 

alias  别名命令

语法:alias 别名=’原命令’

查看别名列表: alias

vi ~/.bashrc  让别名永久生效

删除别名:unalias 别名   

 

Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符


 

Linux中常用快捷键

Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符

蓝色的是常用的需要熟练的。

 

注意:字母不分大小

 

输入输出重定向

输出重定向

>  将控制台的信息输出到指定文件

>>


Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
 


Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符

eg1:df -h > log.txt  #正确输出重定向,覆盖

eg2:lst 2>> error.txt  #错误输出重定向,追加

eg3: ls &> log.txt #正确或错误输出重定向,覆盖

eg3: lst &>> log.txt #正确或错误输出重定向,追加 

 

输入重定向

<  把文件作为命令的输入。

eg1:wc -l < log.txt      #将log.txt中的内容输入给 <前面的命令。

eg2:wall <vi.txt  通过重定向将vi.txt消息发送给所有人

 

<<

把两个符号之间的命令当作输入

eg: wc << hello

aaa

bbb

ccc

hello

注意:最后一行的符号(hello),碰到第一组"<<"后的符号(hello)相同才会结束,且只识别之间的内容

 

 多命令

; 、&& 、||


Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
 

eg:lst ; date ; cd /usr/local

eg:lst && date

eg:lst || date

 

管道符: |

语法:命令1 | 命令2

命令1的正确输出作为命令2的操作对象

Eg: netstat -an | grep 'ESTABLISHED'

 

netstat 网络连接命令

语法:netstat [选项] 

eg1:netstat -an | grep 'ESTABLISHED'  查看当前计算机有多少个连接

eg2:netstat -antp | grep nginx  查看当前计算机连接中程序名包含了“nginx”的程序,会显示占用的端口、占用的进程号、程序名称。

 

grep  在文件中搜索符合条件的字符串命令

语法:grep [选项] "搜索内容"

选项

-i 忽略大小写

-n 输出行号

-v 反向查找

--color=auto 把搜索出的关键字用颜色显示。

eg: grep -n --color=auto "port" repl1.conf   搜索repl1.conf文件中包含color关键字,且显示行号,并用颜色显示

 

 

通配符

Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符

 

Eg:

准备数据 创建如下文件

touch abc

touch abcd

touch 0abc

touch 5abc

touch aabc

touch fabc

touch 123

 

ls ?abc

ls *abc

ls *abc*

ls [abcdefg]abc

ls [0-9]abc

ls [^0-9]abc

 

其它特殊符号
Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
 

Eg:

name=sc

echo '$name'

echo "$name"

echo "\$name"

 

abc=`data`

echo $abc

 

abc=$(date)

echo $abc

 

  • Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
  • 大小: 93 KB
  • Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
  • 大小: 91.9 KB
  • Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
  • 大小: 141.5 KB
  • Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
  • 大小: 102.2 KB
  • Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
  • 大小: 101.7 KB
  • Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
  • 大小: 73.3 KB
  • Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
  • 大小: 88.3 KB
  • Shell 之Bash 基础
            
    
    博客分类: linux echo-history-alias管道符通配符
  • 大小: 146.3 KB