初学shell——Day1
shell脚本基础
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。通常我们所用的shell都是命令行式shell
例如:bash / sh / ksh / csh(Unix/linux 系统)
1、操作系统基础
shell做操作系统管理:
1)图形--GVI KDE /GNOME/XFACE
2) CLI--shell
bash 程序提供(是Linux系统所提供的默认shell程序)
2、bash的基本特性
a.history命令历史
man -- 手册--查看之前的命令历史记录
history-d -- 删除指定行
man history -- 查看用法
history - c清除所有记录
history - a 将当前的记录信息添加到 /root/.bash_history中(手动)
b.环境变量
环境变量:bash程序 下默认能够生效的变量,不需要定义。
environment:只能查看系统支持的部分环境变量
set:查看所有的环境变量,但要用export将set设置导入环境变量中
例:/etc/profile /etc/rcbash ~/.profile ~/.rcbash
history定义的环境变量:
HISTFILE=/root/.bash_history 关机自动保存
HISTFILESIZE=500 .bash_history 中保存命令的记录总数
HISTSIZE =500 定义了 history 命令输出的记录数,即输出.bash_history文件中的最后HISTSIZE行
history命令调用方式:
!# 指定调用哪一行命令
!string 匹配最近一次的字符串
!!上一条命令
*!¥*上一条命令的最后一条参数
ls/etc
ls!$
ESC+. 调用最后一条参数
注:以上都为临时的。
变量:是一段被命名的内存空间。
例:
a = 1 echo $a
export a
#如下图所示,将环境变量写入配置文件中
c、命令补全、目录补全:
tab键实现命令和目录的补全
PATH路径:指定的命令被查找的一个默认路径
(-x)是否有执行权限
PATH=$PATH:/usr/bin
如果执行文件不再PATH路径下,只能使用全路径进行执行
d、命令展开--date命令
cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf.bak
cp /usr/local/nginx/{nginx.conf,nginx.conf.bak}
id 名字
1 a
2 b
1_a 1_b 2_a 2_b
touch {1,2}_{a,b}
date -- 显示当前系统时钟(硬件时钟) ntp服务器
clock、hwclock(可以做时钟同步)、cal 2000
用法: date [option] ... [+format]
格式:%F 2019-09-16
%D 09/16/19
%T 15:55:30
%H 小时
%S 秒 %s 19700101
%M 分
%m 月份
压缩和归档:gzip ungzip zcat bzip2 xz
tar------j(bzip2) J(xz) z(gzip) x(解压) c(归档) v(详细信息) f(指定创建的压缩文件的文件名)
tar cjvf etc.bak.bzip2 /etc/-----归档后部分结果
e、命令的执行状态
命令执行后,有两类返回值:
1、命名的默认返回值
2、命令的执行状态
状态有两类:
f、命令的快捷键
ctrl + a
ctrl + e
ctrl + u
ctrl + k
ctrl + w
ctrl + shift + t //新建图形终端
ctrl + l clear
ctrl + s
ctrl + q
ctrl + d //关闭当前bash程序
ctrl + r //和 !string 调用最近一次匹配 string 的命令