shell的基本命令

1.命令历史:
作用:
查之前使用的命令:
关于命令的历史文件
每个家目录下面的.bash_history
在关机的时候,会自动写入一次(history -r 手动写入)
写入内存中
关于命令的历史的变量(环境变量)
env //查看环境变量
set//常看更详细的环境变量参数
HiSTSIZE=1000
HISCONTROL 二者都生效
history 的常见操作:
查看历史命令
!##表示数值,执行#行的命令
!string匹配最近一次的字符串
!!上一条命令
**!$**上条命令最后一个参数
ls /etc
ls !$
esc+.与上条命令相同
常见的选项:
-a -d -c
history # 显示最近#行的命令

2.命令补全
tab键命令补全
扩展:制表符\t


3.目录补全
tab键补全
1、提示2、自动补全
对象。

4.命令展示--data命令:
data

{}
Linux的目录需要遵循什么规则?---FHS目录规则
属性1 属性2
a 1
b 2
mkdir -pv/var/{a,b}-{1-2}
date 基于date命令来创建目录的
%F CCYY-mm-dd
%T hh:MM:ss
%D mm/dd/YY
%H hh
%M MM
%S ss
%Y CCYY
练习:通过for语句循环创建一个月的日志文件;.log 2019-08-06 .http.log
for i in {1..31};do
touch 'date+%F'.http.log

done
tar
压缩工具:
gzip
bzip2
xz
只能对文件压缩,不能对目录进行压缩
tar的常见参数:
tar 归档工具【可以对目录进行操作】
-j bzip2
-J xz
-z gzip
-c create
-x extract //可以不用指定解压的工具
-f 指定文件名
-v 显示信息 verbose
tar cjvf 2019-08.http.log.bz2 2018-08-*.http.log
tar xvf 2018-08.http.log.bz2 -C abc
练习2:编写脚本,每天2:20备份/etc/目录中所有文件,名称为当天日期;且保存文件为压缩文件;
crontab -e --20 2 *** /root/xxx.sh
vim xxx.sh
#!/bin/bash
#
tar cJvf /var/'date + %F'.xz/etc/
chmod =x xxx.sh
补充:
clock / heclock 常看硬件时钟(同步系统时钟与硬件时钟的同步)
cal
5、命令的执行状态:
在Linux中,每一条命令执行都有二个结果:
命令本身放回的内容
其次,命令执行的结果状态
$?变量 就是用来存放命令的执行状态的变量:
0 表示成功状态(和python正好相反)
1-255 表示失败状态
【$?-eq 0】&&exit 0 || exit 1
6.命令的快捷键
Ctrl+l
Ctrl+c
Ctrl+u//删除光标前的字符
Ctrl+k//删除光标后的字符
Ctrl+a
Ctrl+e
Ctrl+w//以空格为分隔符,去删除文件
Ctrl+r//进入一个交互界面,搜索最近的一次使用的命令


7.alias别名
系统启动时读取一些特殊文件的顺序:
Alais
alias cdnet="cd /etc/sysconfig/network-scriptes" //这种方式定义alias只能在当前shell生效
/etc/profile定义环境变量(所有用户)---EXPORT HISTCONT
/etc/bashrc定义本地变量--alias(所有用户)
~/.bash_profile 定义环境变量(指定用户)
~/.bashrc定义本地变量--alias(指定用户)
source/etc/profile 或者 ./etc/profile
8、文件通配符 --globalling

【文件通配符不是正则表达式】
?任意单个字符
*
任意长度的任意字符
[]指定范围内的任意字符
^1、以什么开头2、【^】指定范围以外的任意一个字符
[^0-9A-Za-z]
[0-9][A-Z][a-z]

posted on 2019-08-06 21:16  此生来过_无悔  阅读(256)  评论(0编辑  收藏  举报