什么是shell
shell是一个命令解释器,提供用户和机器之间的交互
支持特定的语法,比如逻辑判断、循环
每个用户都可以有自己特定的shell
CentOS7默认shell为bash (Bourne Agin Shell)
还有zsh、ksh等
保存历史命令的位置,当前操作历史命令先保存在内存,退出终端后,历史命令才保存到该配置文件

history命令可以查看历史的命令

历史命令保存默认设定的环境变量为1000条

定义HISTSIZE的大小,进入/etc/profile,找到HISTSIZE这一行,将1000修改为2000

要是配置文件生效可以退出终端重新连接,也可以用 source /etc/profile使配置文件生效

history -c 清空当前内存命令历史,不清空当前配置文件已保存的历史命令

定义history的输出格式
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " //添加变量,仅在当前终端生效

如果要使变量永久生效,需将HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S ",添加在/etc/profile配置文件里面,找到HISTSIZE这行,增加在下面,保存退出。 source /etc/profile //使配置文件生效

历史命令永久保存,给该配置文件加上a权限,chattr +a ~/.bash_history

!! //执行上一条命令

!n //n为数字,对应为历史命令数字

!word //word为字符串,命令历史倒着往上找第一个相同的字符串,执行该命令

命令补全及别名
按tab键,可以补全命令也可以补全路径
输入ls,敲2下tab键,列出所有以ls开头的命令

输入mk,敲2下tab键,列出所有以mk开头的命令
以mkt开头的命令只有一个,输入mkt,敲1下tab键,自动补全命令

自动补全参数,需安装插件,yum install -y bash-completion,安装完,需重启下系统
补全命令敲2下tab键列出参数

alias别名给命令重新起个名字
查看系统别名有哪些用命令alias

unalias //取消自定义别名

alias存放的位置分别为家目录.bashrc、/etc/profile.d/


*表示通配

?表示一个任意的字符

方括号里面的数只匹配一个

匹配花括号里面的一个

cat 1.txt > 2.txt //重定向,清空2.txt里面的内容,将1.txt里面的内容写入到2.txt

cat 1.txt >> 2.txt //追加重定向,将1.txt里面的内容追加到2.txt内容的后面

lsaaa 2> a.txt //错误重定向,将错误的内容输入到a.txt

lsaaa 2>> a.txt //错误追加重定向,将错误的内容追加到a.txt

&> //将正确和错误的信息输出定向到一个文件里面

&>> //将正确和错误的信息追加输出定向到一个文件里面

将正确和错误的信息分别输出到指定的文件


管道符、作业控制
| //管道符,将前面内容的输出传递给后面的命令

ctrl z 暂停一个任务,将任务放到后台

jobs //列出后台停止任务

fg[id] //把任务调到前台

bg[id] //把任务调到后台,并进行

命令后面加& //直接把任务调到后台进行

shell变量
变量
PATH、HOME、PWD、LOGNAME
env命令 //查看变量

set命令多了很多变量,并且包括用户自定义的变量

查询到自定义变量a=111

变量命名规则:字母、数字下划线、首位不能为数字

变量值有特殊符号时需要用单引号括起来

变量的累加

单引号输出引号内容,双引号里面有变量会调用变量

w //查看登陆的终端用户

echo $SSH_TTY //查看当前终端在哪个TTY下

在pts/0定义一个非全局变量,在pts/2是没有这个变量的


pstree命令是用于查看进程树之间的关系,在当前shell运行该变量还是没生效

退出子shell,环境变量生效

设定全局变量 export abc=linux

打开多一个终端,环境变量不生效,全局变量只针对同一终端的shell生效

全局变量,返回上级shell不生效


unset 变量 //取消变量

环境变量配置文件
/etc/profile 用户环境变量,交互,登陆才执行(系统层次)
/etc/bashrc 用户不用登陆,执行shell就能生效(用户层次)
初始变量 PS1=[u@h W]$
PS1='[ 33[01;32m]u@h[ 33[00m]:[ 33[01;36m]w[ 33[00m]$'

最后
以上就是无辜冰棍最近收集整理的关于Linux微信群shell,linux shell基础的全部内容,更多相关Linux微信群shell,linux内容请搜索靠谱客的其他文章。
发表评论 取消回复