​shell基础一

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了​shell基础一相关的知识,希望对你有一定的参考价值。

shell基础

一、什么是shell

1.是一个命令解释器,提供用户和机器之间的交互

2.支持特定语法,比如逻辑判断、循环

3.每个用户都可以有自己特定的shell

4.默认为bash(BourneAgin Shell)

5.还有zshksh

 

二、命令历史

1.命令

保存位置:/root/.bash_history

[[email protected] ~]# ls /root/.bash_history

/root/.bash_history

[[email protected] ~]# cat /root/.bash_history

ls

ls –t

2.最大存1000

[[email protected] ~]# echo $HISTSIZE

1000

3.[[email protected] ~]# history –c

     把内存中的命令历史清空,但是不删除命令文件,不上楚配置文件

4.变量HISTSIZE

/etc/profile 中修改,source/etc/profile之后生效

5.记录对应的命令是什么时候运行的

HISTTIMEFORMAT=”%Y%m%d%H:%M:%S”

6.永久保存 [[email protected]~]# chattr +a ~/.bash_history

运行此命令别人只能追加,不会删除命令

7.!!命令表示执行上一条指令

[[email protected] ~]# pwd

/root

[[email protected] ~]# !!

pwd

/root

8. !n表示执行命令中的第n条指令

9. word 表示执行命令历史中最近一次以word开头的命令

 

三、命令补全与别名

1. Tab键 敲一下:自动补全只有一个命令,敲两下:开头相同,后面有多个参数

      参数补全需要安装:bash-completion

2. alias别名 给命令起个名字

3. 各用户都有自己配置别名的文件  ~/.bashrc

4. /etc/profile.d  .bashrc 等脚本定义alias别名

5. 自定义的alisa放到 ~/.bashrc

6. unalias  restartnet 命令取消定义的alias别名


四、通配符

1. * 表示通配符

2.  ls *.txt 表示列出.txt的全部文件

3.   ls ?.txt 表示一个任意字符

4.   ls [0-9].txt 表示列出代表“[”和“]”之间的某一个字符,比如[0-9]可以代表0-9之间的任意一个数  字,[a-zA-Z]可以代表a-z和A-Z之间的任意一个字母,字母区分大小写

5.  ls {}.txt表示符合括号内包含的多个文件

6.  ls [^.txt] 表示匹配结果取反的意思,注意这个通配符必须要在[]中使


五、输入输出重定向

    常用文件重定向命令:
command >file标准输出重定向到一个文件,错误仍然输出屏幕
command >>file标准输出重定向到一个文件(追加)
command 1>file1标准输出重定向到一个文件
command 2>>file2:标准错误重定向到一个文件(追加)
command 1>file 2>&1:标准输出和标准错误一起重定向到一个文件
command>>file 2>&1: 标准输出和标准错误一起重定向到一个文件(追加)
command < file1 >file2:以file1做为标准输入,file2做为标准输出
command <filefile做为文件标准输入
注:上面的command>file 2>&1可以修改为command>file2>>file


以上是关于​shell基础一的主要内容,如果未能解决你的问题,请参考以下文章

​老男孩教育每日一题-第98天-shell知识点:shell脚本中字符串截取的常用用法?

​shell-7.shell 字符串的使用

​老男孩教育每日一题-第102天-如何找出/usr/local 下面所有shell脚本文件,并设置执行权限?

Linux基础:初识shell之系统命令基础

shell编程基础

shell编程基础shell入门[B站-超哥说shell笔记]