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 {..};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 -.http.log.bz2  -*.http.log  #压缩

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

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

#crontab  ----    * * *  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键   在开发环境中 \t 代表四个空格

  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:]]*$ 有空格键的空行

Linux--shell的基本特性--01的更多相关文章

  1. Linux shell 函数应用示例01

    函数Function的使用 定义函数 (1) 函数名称() {     ...     ... } (2) function 函数名称{     ...     ... } 调用函数         ...

  2. Linux Shell管道调用用户定义函数(使shell支持map函数式特性)

    Linux中有一个管道的概念,常用来流式的处理文本内容,比如一个文件对其中的每一行应用好几个操作,出于两个方面的考虑可能需要在管道中使用用户定义函数: 1. 刚需: 内置的sed/awk之类的可能没法 ...

  3. Linux 桌面玩家指南:01. 玩转 Linux 系统的方法论

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  4. LINUX SHELL脚本攻略笔记[速查]

    Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...

  5. Linux Shell 编程基础详解——吐血整理,墙裂推荐!

    第一部分:Linux Shell 简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序, ...

  6. Linux Shell 流程控制语句

    * 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...

  7. 【shell 大系】Linux Shell常用技巧

    在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...

  8. linux shell 常用表达式汇总

    1. linux shell 逻辑运算符.逻辑表达式详解: http://www.cnblogs.com/chengmo/archive/2010/10/01/1839942.html

  9. Linux命令行–初识Linux shell

    shell及脚本简介  GNU/Linux shell 是个交互工具,它为用户提供了启动程序.管理文件系统上的文件以及管理运行在Linux系统上的进程的途径 . shell的核心是命令行提示符 它是s ...

  10. Linux Shell脚本攻略 读书笔记

    Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整 ...

随机推荐

  1. Redis复制流程:图解

    一.新版复制PSYNC命令实现:复制实现总流程 (1)通过客户端向从服务器发送 slaveof <master_ip> <master_port>:此为异步执行,从服务器设置好 ...

  2. 学习11:内容# 1.函数名第一类对象及使用 ***** # 2.f格式化 *** # 3.迭代器 **** # 4.递归 ****

    目录 1.第一类对象 -- 特殊点 2.f.格式化 Python3.6版本以上才能够使用 3.迭代器 迭代 : 器 : 工具 4.递归 1.第一类对象 -- 特殊点 1.可以当做值被赋值给变量 def ...

  3. AKKA 集群中的发布与订阅Distributed Publish Subscribe in Cluster

    Distributed Publish Subscribe in Cluster 基本定义 在单机环境下订阅与发布是很常用的,然而在集群环境是比较麻烦和不好实现的: AKKA已经提供了相应的实现,集群 ...

  4. who are you?

    不多说,直接使用脚本跑 # -*- coding:utf-8 -*- import requests import string url = "http://ctf5.shiyanbar.c ...

  5. 开发板编译./camera显示-/bin/sh: ./camera: not found解决方案

    问题: 开发板根文件系统目录: 运行./camera显示: 问题解决: 1.排除根目录路径问题: 2. 加入静态链接库即无问题,但是编译后的".o"文件大小突增,而且也不可能每次编 ...

  6. 洛谷P1033 自由落体 题解

    题目链接:https://www.luogu.org/problemnew/show/P1033 呵呵,真的学好物理比较重要,前些年卡在这题上的我今天终于会做了,可恶的自由落体(也许是我太弱了吧 ) ...

  7. MySql的数据库优化到底优啥了都??(1)

    嘟嘟最不愿意做的就是翻招聘信息. 因为一翻招聘信息,工作经历你写低于两年都不好意思,前后端必须炉火纯青融汇贯通,各式框架必须如数家珍不写精通咋的你也得熟练熟练, 对了你是985吗?你是211吗??你不 ...

  8. 爬虫的盗亦有道Robots协议

    爬虫的规定 Robots协议 网站开发者对于网络爬虫的规范的公告,你可以不遵守可能存在法律风险,但尽量去遵守 Robots协议:在网页的根目录+robots.txt Robots协议的基本语法: #注 ...

  9. C语言 结构体字节对齐问题

    摘选自这位大神的博客 方法一: 结构体在内存中分配一块连续的内存,但结构体内的变量并不一定是连续存放的,这涉及到内存对齐. 原则1  数据成员对齐规则:结构(struct或联合union)的数据成员, ...

  10. [leetcode] 134. Gas Station (medium)

    原题 题意: 过一个循环的加油站,每个加油站可以加一定数量的油,走到下一个加油站需要消耗一定数量的油,判断能否走一圈. 思路: 一开始思路就是遍历一圈,最直接的思路. class Solution { ...