shell中各种特殊符号和快捷键

转义符–反斜杠\

转义符用于对某些字符进行特殊处理或防止它们被解释为特殊字符。

反斜杠是最常见的转义符,用于转义下一个字符,使其失去原有的特殊意义。例如:
\n:换行符。
\t:制表符。
\\:表示一个反斜杠本身。

\n:换行符。
在这里插入图片描述

在这里插入图片描述

echo用法

echo 是 Linux 中一个非常常用的命令,主要用于在终端输出文本或变量的值,也就是echo命令可以将后面跟的字符进行输出,类似于Java里的System.out.print()。

功能:显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,并在最后加上换行号

常用选项

echo [-neE] [字符串]
选项:
 -E   禁用反斜杠\转义 (默认)
 -e   启用反斜杠\转义
 -n   不在最后添加换行符 

转义序列

如果使用 -e 选项,可以使用以下转义序列:

  \a:发出警报声(响铃)。
  \b:退格。
  \c:不输出最后的换行符。
  \e 或 \E:转义字符。
  \f:换页(form feed)。
  \n:换行。
  \r:回车。
  \t:水平制表符。
  \v:垂直制表符。
  \\:反斜杠。
  \nnn:表示一个八进制值。
  \xHH:表示一个十六进制值。
ECHO(1)                                                             User Commands                                                             ECHO(1)

NAME
       echo - display a line of text

SYNOPSIS
       echo [SHORT-OPTION]... [STRING]...
       echo LONG-OPTION

DESCRIPTION
       Echo the STRING(s) to standard output.

       -n     do not output the trailing newline

       -e     enable interpretation of backslash escapes

       -E     disable interpretation of backslash escapes (default)

       --help display this help and exit

       --version
              output version information and exit

       If -e is in effect, the following sequences are recognized:

       \\     backslash

       \a     alert (BEL)

       \b     backspace

       \c     produce no further output

       \e     escape

       \f     form feed

       \n     new line

       \r     carriage return

       \t     horizontal tab
       ......

在这里插入图片描述

在这里插入图片描述

变量引用符$

美元符号用于引用变量
在这里插入图片描述

命令行扩展:``和$()

双引号"",单引号’',反向单引号``三者区别

在这里插入图片描述

结论:
  单引号:    强引用,六亲不认,变量和命令都不识别,都当成了普通的字符串,"最傻";
  双引号:    弱引用,不能识别命令,可以识别变量,"半傻不精";
  反向单引号: 里面的内容必须是能执行的命令并且有输出信息,变量和命令都识别,
            并且会将反向单引号的内容当成命令进行执行后,再交给调用反向单引号的命令继续,"最聪明"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

$()和``

[root@leiRocky ~]# ll `echo `date +%F`.txt`
-bash: .txt: command not found
ls: cannot access 'date': No such file or directory
ls: cannot access '+%F': No such file or directory

[root@leiRocky ~]# ll $(echo $(date +%F).txt)
-rw-r--r--. 1 root root 0 Aug  1 15:09 2024-08-01.txt

[root@leiRocky ~]# ll `echo $(date +%F).txt`
-rw-r--r--. 1 root root 0 Aug  1 15:09 2024-08-01.txt

[root@leiRocky ~]# ll $(echo `date +%F`.txt)
-rw-r--r--. 1 root root 0 Aug  1 15:09 2024-08-01.txt

在这里插入图片描述

括号扩展:{}

{}可以实现打印重复字符串的简化形式

[root@leiRocky data]# echo file{1,3,5}
file1 file3 file5

[root@leiRocky data]# rm -f file{1,3,5}

[root@leiRocky data]# echo {1..10}
1 2 3 4 5 6 7 8 9 10

[root@leiRocky data]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z

[root@leiRocky data]# echo {000..20..2}
000 002 004 006 008 010 012 014 016 018 020

[root@leiRocky data]# echo {a..z} {A..Z}
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H 
I J K L M N O P Q R S T U V W X Y Z

[root@leiRocky data]# echo {a..z}{1..3}
a1 a2 a3 b1 b2 b3 c1 c2 c3 d1 d2 d3 e1 e2 e3 f1 f2 f3 g1 g2 g3 h1 h2 h3 i1 i2 i3 
j1 j2 j3 k1 k2 k3 l1 l2 l3 m1 m2 m3 n1 n2 n3 o1 o2 o3 p1 p2 p3 q1 q2 q3 r1 r2 r3 
s1 s2 s3 t1 t2 t3 u1 u2 u3 v1 v2 v3 w1 w2 w3 x1 x2 x3 y1 y2 y3 z1 z2 z3

tab键补全

tab键可以实现命令及路径等补全,提高输入效率避免出错。

命令补全

命令补全
 内部命令:
 外部命令: bash根据PATH环境变量定义的路径。自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令
 命令的子命令补全,需要安装bash-completion
yum -y install bash-completion

在这里插入图片描述

路径补全

把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名如果惟一:则直接补全
否则:再次Tab给出列表

双击Tab键

1.command 2Tab    所有子命令或文件补全 (2Tab是两个Tab键的意思)
2.string2Tab      以string开头命令
3./2Tab           显示所有根目录下一级目录,包括隐藏目录
4../2Tab          当前目录下子目录,包括隐藏目录
5.*2Tab           当前目录下子目录,不包括隐藏目录
6.~2Tab           所有用户列表
7.$2Tab           所有变量
8.@2Tab /etc/hosts记录  (centos7不支持) 
9.=2Tab 相当于ls -A   =(centos7不支持)

在这里插入图片描述

在这里插入图片描述

命令行历史

当执行命令后,系统默认会在内存记录执行过的命令。

当用户正常退出时,会将内存的命令历史存放对应历史文件中,默认是~/.bash_history登录shell时,会读取命令历史文件中记录下的命令加载到内存中。

登录进shell后新执行的命令只会记录在内存的缓存区中;这些命令会用户正常退出时“追加"至命令历史文件中
利用命令历史。可以用它来重复执行命令,提高输入效率命令: history
在这里插入图片描述
保存历史命令的文件.bash_history,正常退出终端时才会被保存至该文件中,但也不是无限制的保存所有,可以使用$HISTSIZE查看限制的保存数量
在这里插入图片描述
在这里插入图片描述
执行某个历史命令
在这里插入图片描述

常用选项

-c: 清空命令历史
-d offset:删除历史中指定的第offset个命令
n: 显示最近的n条历史
-a: 追加本次会话新执行的命令历史列表至历史文伴
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-n: 读历史文件中未读过的行到历史列表
-p: 展开历史参数成多行,但不存在历史列夜中
-s: 展开历史参数成一行,附加在历史后

bash快捷键

ctrl +l    清屏,相当于clear命令
ctrl + o   执行当前命令,并重新显示本命令
ctrl + s   阻止屏幕输出,锁定
ctrl + q   允许屏幕输出,解锁
ctrl + c   终止命令
ctrl + z   挂起命令
ctrl + a   光标移到命令行首,相当于Home
ctrl + e   光标移到命令行尾,相当于End
ctrl + f   光标向右移动一个字符
ctrl + b   光标向左移动一个字符
ctrl + xx   光标在命令行首和光标之间移动

ctrl+ >   光标向右移动一个单词尾,相当于Alt +f
ctrl+ <   光标向左移动一个单词首,相当于Alt + b
ctrl + u  从光标处删除至命令行首
ctrl + k  从光标处删除至命令行尾
Alt + r   删除当前整行
ctrl + w  从光标处向左删除至单词首
Alt + d   从光标处向右删除至单词尾
Alt + Backspace   删除左边单词
ctrl + d   删除光标处的一个字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值