Linux--shell的基本特性--01

1、bash的基本特性:   

a) 命令展开:date命令—— 基于date命令创建命令

  查看系统时钟:date

  查看硬件时钟: clock 、hwclock (常常同步系统时钟与硬件时钟)

  cal 查看日历

dade的使用及参数:

  date +%F  :改变date输出的格式为 2019-08-05  

  date +%F-%H-%M-%S 输出为:2019-08-05-14-29-15 =年-月-日-时-分-秒

  %F = CCYY-mm-dd

  %H = hh

  %M = MM

  %S = ss

  %T = hh:MM:ss

  %D = mm/dd/YY

练习:通过for语句循环创建一个月的日志文件(2019-08-06.http.log)

 # 或者touch `date +%F`.http.log

for i in {1..30};do

  touch `date +%Y-%m-$i`.http.log;

done

 Linux的目录需要遵循的规则:FHS目录规则

 { } :扩展  例如 cp /etc/inittab /etc/inittab.bak == cp /etc/{etc/inittab,/etc/inittab.bak}

b) tar:归档工具—可以对目录进行操作

压缩工具:gzip、bzip2、xz   压缩只能对文件进行操作,不能对目录操作

zcat  查看压缩文件且不解压

tar的常见参数:

  -j 对应压缩工具bzip2

  -J 对应压缩工具 xz

  -z 对应压缩工具 gzip

  -c  压缩

  -x  解压(可以不用指定解压的工具)

  -f  指定文件名

  -v  显示详细信息

  -C  指定解压的目录

  -t   不解压查看内容,与zcat相同

例子:

tar cjvf 2018-08.http.log.bz2  2018-08*.http.log  #压缩

tar  xvf 2018-08.http.log.bz2  -C /abc/  #解压

 练习:编写脚本,每天02:20备份/etc目录中的所有文件,名称为当天日期;且保存文件为压缩文件;

#crontab  ----  020 2 * * *  bash /root/xxx.sh

vim xxx.sh

#!/bin/bash

#

tar  cJvf /var/`date +%F`.xz  /etc

c) 命令历史:

作用:查看之间使用的命令

关于命令历史的文件:.bash_history  — 在root里,专门存放命令历史,在关机的时候会自动写入一次(可以利用history -a的命令将内存中的命令存入.bash_history中)

关于命令历史的变量(环境变量):PATH是环境变量的一种

---环境变量如何查看:env

---查看更详细的环境变量:set

  history的常见操作:

    1、感叹号+编号(!n):查看命令历史

    2、感叹号+字符串(!String):匹配最近一次的字符串

    3、感叹号+感叹号(!!):上一条命令

    4、感叹号+$(!$):上一条命令的最后一个参数 快捷键ESC+.的功能相同

  常见选项:

    -a:添加

    -d:删除

    -c:清空

    #:显示最近#行的命令

d) 命令补全:tab键   在开发环境中 代表四个空格

  1. 提示
  2. 自动补全

e) 目录补全:tab键

  1. 提示
  2. 自动补全

f) 命令的执行状态

在Linux中,每一条命令的执行后都会有两个结果:

       命令本身放回的内容

       其次,命令执行的结果状态

$? 变量,就是用来存放命令执行状态的变量

       0 表示成功状态(和python相反)

       1~255 表示失败状态

g) 命令的快捷键

  ctrl + l 清屏

  ctrl +c 结束进程

  ctrl +u 删除光标前的字符

  ctrl +k 删除光标后的字符

  ctrl +a 光标跳到头

  ctrl +e 光标跳到尾

  ctrl +w 以空格为分隔符去删除文件

  ctrl +r 搜索最近一次进入交互界面使用的命令(要输入字符串)

h) alias别名

  系统启动是读取一些特殊文件的顺序

    alias cdnet=”cd /etc/sysconfig/network-scripts/”   只能在当前shell执行

  全局配置文件

    /etc/profile 定义环境变量(所有用户)最先读取这个文件

    /etc/bashrc 定义本地变量,一般用来设置本地变量(所有用户)

  个人配置文件(在用户的家目录下写入的)

    ~/.bash_profile 定义环境变量(指定用户)

    ~/.bashrc  定义本地变量---alias(指定用户)

  sources /etc/profile  或者 . /etc/profile   使文件生效

i)  文件通配符 globbing

文件通配符不是正则表达式

  ?任意单个字符

  * 任意长度的任意字符

  [ ] 指定范围内的任意一个字符

  ^     [^ ]指定范围以外的任意一个字符    [^0-9A-Za-z]

指定字符类: 调用的时候在加一个 [ ]

       [:alnum:] 字母+数字

       [:alpha:] 字母

       [:upper:] 大写字母

       [:lower:] 小写字母

       [:digit:] 数字

       [:punct:] 表示特殊字符

       [:space:] 空格    ^[[:space:]]*$ 有空格键的空行

原文地址:https://www.cnblogs.com/gxnihao/p/11344971.html