您的位置:首页 > 运维架构 > Linux

linux :补全,快捷键,history,alias,变量,管道,命令通配符等

2020-03-10 00:08 731 查看

linux bash基础特性

linux基础特性
1 补全
系统支持的shell:#cat/etc/shells
当前系统默认shell:#echo $SHELL
命令补全:若给定的字符能够在系统中唯一的标识某个命令程序文件,按tab键,则能直接补全命令;如果不能被唯一标识,再次按tab键

按tab键

不能被唯一标识

路径补全:给出的起始路径下,对应字符能够被唯一匹配,则tab键直接补全路径;若是不能被唯一标识,再次tab键,则会给出相应列表

tab键

不能被唯一匹配:

2 快捷键
ctrl+c 终止前台运行的程序
ctrl+l 清屏 --不是完全清理,相当于翻页

ctrl+ a 将光标移动到命令行的最前端

ctrl+e 将光标移动到命令行的最末端

ctrl+u 删除光标前的所有字符

ctrl+k 删除光标后的所有字符

ctrl+d 退出 – 等价于exit

ctrl+r 搜索历史命令,利用关键词
3 命令历史
命令历史:shell进程会在其会话中保存此前用户提交执行过的命令
History: 可以查看当前执行过的命令

HISTSIZE:shell进程可以保存的命令历史的条数;通过echo $HISTSIZE命令查看

HISTFILE 保存当前命令历史

HISTFILESIZE:命令历史文件的大小,超出部分会自动删除旧的命令。
history
-c :清空命令历史

-d n:删除第n条历史命令。

-r:从文件读取命令历史至历史列表中

-w:把历史列表命令追加至历史文件中
history n :显示最近的n条命令。


调用历史列表中的命令:
! n:再一次执行列表中第n条命令
!!:再次执行上一次命令

! STRING::再一次执行最近一次以string开头的命令

调用上一个命令的最后一个参数
快捷键:ESC . —ESC+点号
字串符:!$

ignoredups:忽略重复的命令
ignorespace:忽略以空白字符开头的命令
ignoreboth:以上两者同时生效
修i该变量的值:NAME=“VALUE”


HISTCONTROL=unignoreboth 解除修改
4 命令别名
获取所有可用别名的定义:

alias
定义别名:
alias NAME=“COMMAND” (仅对当前shell生效)


撤销别名:
unalias NAME:撤销NAME命令

永久别名:
vi/etc/bashrc 如下:

5 变量
变量是计算内存的单位,其中存放的值可以改变,当shell脚本需要保存一些信息时,如一个文件名或者一个数字,加把它存放在一个变量中,每个变量都有一个名字,所以很容易引用它。使用变量可以保存有用的信息,使系统获取用户相关设置,变量也用于保存暂时信息。
在linux系统中,变量分为本地变量,局部变量和环境变量。
本地变量:生效范围内当前shell进程的某代码片段,通常指函数。
局部变量:又称标准变量或普通变量,指生效范围内当前shell进程,对当前shell或其之外的其他shell进程均无效。
环境(全局)变量:生效范围内为当前shell进程及其子进程。
6 管道
| 管道
管道是linux中很重要的一种通信方式,可以把一个程序的输出结果连接到另一个程序的输入。
tee管道
在数据流的处理过程中将某段信息保存下来,使其皆能够输出到屏幕又能保存到某一个文件中。

tee -a file :以累加的方式,将数据加入file中。
. 点号(英文句号):在linux中点号代表当前目录。
. . 双点号:代表上一级目录。
分号:linux在执行多条命令时,用分号分开,顺序独立的执行各条命令,彼此互不干扰。
< ’ '> 反间引号:命令替换
<" "> :可以实现变量和命令的替换

{ } :做扩建,或者构建代码
*星号:表示通配的作用。
7 命令通配符

命令通配符 含义
* 匹配任意长度的任意字符
匹配任意单个字符
【】 匹配指定范围内的任意单个字符
[^] 匹配指定范围内的任意单个字符

[a-z],[A-Z],[0-9],[a-z0-9]
[[:upper:]] :所有大写字母
[[:lower:]] :所有小写字母
[[:alpha:]] :所有字母
[[:digit:]] :所有数字
[[:alnum:]] :所有的字母和数字
[[:space:]] :所有的空白字符
[[:punct:]] :所有标点符号
[

^[:upper]
]
[^0-9]

[^[:alnum:]]

如:显示/var目录下所有以1开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录

显示/etc目录下,以任意一位非数字开头,且以数字结尾的文件或目录

显示/etc目录下,以非大写字母开头,后面跟一个字母及其任意长度任意字符的文件或目录

复制/etc目录下,所有以m开头,以非字结尾的文件或目录至/tmp目录;

复制/usr/share/man目录下,所有以man开头,后跟一个数字结尾的文件或目录至/tmp/man目录下;

复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/conf.d目录下

8 常见系统管理类命令
ls :显示指定工作目录下的内容
当执行ls命令时,默认显示的只有非隐藏文件的文件名,以文件名进行排序及文件名代表的颜色显示,当不加参数时,默认列出当前目录的列表信息。(说明,在linux之下,文件名以 . 开头的表示该文件为隐藏文件,如,bashrc)
-a :–all的缩写,显示所有的文件,包括隐藏文件
-A : --almost-all的缩写,显示所有文件,包括隐藏文件,但不包括表示当前目录**.**和上级目录 . . 这两个文件。
-c :和-lt一起使用:显示列表且以ctime(文件状态最后改变时间排序)。和-l一起使用:显示ctime并且以文件名排序,其他情况以ctime排下序。
-d :–directory的缩写,仅列出目录本身,而不是列出目录里面的内容列表。
-f :直接列出结果,不进行排序(ls默认会以文件名排序)

-- color
[=when]:是否根据文件类型显示颜色,WHEN可以是never,always或者auto

--full-time :以完整的实际模式显示,类似于ls-l --time-style=full-iso

-g :列表显示结果,和-l类似,但是不显示文件所属者。
-h :将文件内容以GB,kb等易读的方式显示,
-i :结合-l参数,列出每个文件的inode
-l :列出长数据串,显示出文件的属性与权限等数据信息(常用)
-n :和-l类似,只显示所属用户和组 不是名称而是对应的id
-r :–reverse ,将排序结果以倒序方式显示。
-t :以修改时间排序。

pwd :显示当前工作目录的命令
pwd是Print working Directory的缩写 ,其功能是显示当前所在工作目录的全路径。主要用在当不确定所在位置时,通过pwd来查看当前目录的绝对路径。
-L :- - logical,显示当前的路径,有链接文件时,直接显示链接文件的路径(不加参数时默认此方式)
-p :- - physical,显示当前路径,有链接文件时,不使用连接路径,直接显示链接文件所指向的文件,当包含多层链接文件时,显示链接文件最终指向的文件。

cd:改变当前工作目录的命令
cd是Change Directory的缩写,用来切换工作目录的命令。
cd [相对路径或绝对路径或特殊符号]说明:不加参数时,默认切换到用户目录,即环境变量HOME指定的目录,如root用户的HOME变量为/root,那么cd命令不带参数便切换到/root目录下。
特殊符号包括 ~,-,. 等。
~ :标识用户主目录,即HOME变量指定的目录,如root用户的主目录为/root

-
:表示前一个工作目录

.. :表示上级目录
. :表示当前目录


date :显示或修改系统时间与日期

9 输出重定向
linux系统三种IO设备

标准输人 STDIN------ 0  默认来自于键盘的输入
标准输出 STDOUT--- 1 默认输出到终端窗口
标准错误STDERR--- 2  默认输出到终端窗口

重定向
输入重定向 - - - - 不常用
输出重定向 :使用户将一个命令执行结果重定向到一个文件中,不在终端窗口显示
1> :覆盖
1>>:追加

错误重定向
2> :覆盖
2>>:追加

正确和错误都重定向到一个位置:
2>&1
&>


/dev/null :数据黑洞
/dev/zero:吐0机

  • 点赞
  • 收藏
  • 分享
  • 文章举报
weixin_46470342 发布了3 篇原创文章 · 获赞 0 · 访问量 57 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐