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 {..};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 代表四个空格
- 提示
- 自动补全
e) 目录补全:tab键
- 提示
- 自动补全
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的更多相关文章
- Linux shell 函数应用示例01
函数Function的使用 定义函数 (1) 函数名称() { ... ... } (2) function 函数名称{ ... ... } 调用函数 ...
- Linux Shell管道调用用户定义函数(使shell支持map函数式特性)
Linux中有一个管道的概念,常用来流式的处理文本内容,比如一个文件对其中的每一行应用好几个操作,出于两个方面的考虑可能需要在管道中使用用户定义函数: 1. 刚需: 内置的sed/awk之类的可能没法 ...
- Linux 桌面玩家指南:01. 玩转 Linux 系统的方法论
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- LINUX SHELL脚本攻略笔记[速查]
Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...
- Linux Shell 编程基础详解——吐血整理,墙裂推荐!
第一部分:Linux Shell 简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序, ...
- Linux Shell 流程控制语句
* 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...
- 【shell 大系】Linux Shell常用技巧
在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...
- linux shell 常用表达式汇总
1. linux shell 逻辑运算符.逻辑表达式详解: http://www.cnblogs.com/chengmo/archive/2010/10/01/1839942.html
- Linux命令行–初识Linux shell
shell及脚本简介 GNU/Linux shell 是个交互工具,它为用户提供了启动程序.管理文件系统上的文件以及管理运行在Linux系统上的进程的途径 . shell的核心是命令行提示符 它是s ...
- Linux Shell脚本攻略 读书笔记
Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整 ...
随机推荐
- Python Day_1
听说Python很6,然后我的偶像小甲鱼竟然在6年前(现在2019年)就开始制作Python的教程,而前不久(世界读书日前一个星期左右),京东有活动,小甲鱼的Python第一版本打折,顺便买了本(还凑 ...
- 使用GDAL实现DEM的地貌晕渲图(一)
目录 1. 原理 1) 点法向量 2) 日照方向 (1) 太阳高度角和太阳方位角 (2) 计算过程 3) 晕渲强度 2. 实现 3. 参考 @ 1. 原理 以前一直以为对DEM的渲染就是简单的根据DE ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(二十一):在小程序中使用 WebSocket (.NET Core)
本文将介绍如何在 .NET Core 环境下,借助 SignalR 在小程序内使用 WebSocket.关于 WebSocket 和 SignalR 的基础理论知识不在这里展开,已经有足够的参考资料, ...
- Bzoj 3654 图样图森波 题解
3654: 图样图森破 Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 123 Solved: 66[Submit][Status][Discuss] ...
- 关于css样式加载的问题
今天我在学习jQuery的addClass操作时遇到了一个小问题,想来跟大家分享一下,避免初学者踩坑. 我的需求是制作一个表格,并让它隔行换色,在此基础上再加上鼠标悬浮变色的效果.(主要训练jQuer ...
- 【CYH-02】noip2018数论模拟赛:赛后题解
1.小奔的矩阵 2.大奔的方案 3.小奔与不等四边形 4.小奔的方案 当然本次比赛肯定难度不会仅限于此啦!后续还会--
- matlab考试重点详解
此帖是根据期末考试复习重点补充完成, 由于使用word编辑引用图片和链接略有不便, 所以开此贴供复习及学习使用.侵删 复习要点 第一章 Matlab的基本概念,名称的来源,基本功能,帮助的使用方法 1 ...
- 基于TCP协议的套接字编程
06.26自我总结 1.关于Socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在 ...
- Android之无限轮播图源代码
Android轮播广告图是大家经常用到的一个控件今天便撸了一把代码 实现步骤 使用Viewpager进行实现图片滑动 设置ViewPager的数据,让其无限切换 Activity代码 public c ...
- Netty中的策略者模式
策略者模式的特点 在设计类的继承体系时,我们会刻意的把公共的部分都提取到基类中 比如先设计Person类,把人类都具有的行为放到这个Person,特有的行为设计成抽象方法,让子类具体去实现, 这样后续 ...