Linux基础(八)
一、shell
shell一般代表两个层面的意思,一个是命令解释器,比如BASH,另外一个就是shell脚本。Python也是一种解释语言。
1. Linux中命令是按照下面的优先级执行的
==> alias #别名,就是自己命名一个命令,常用来简化长命令
==> Compound Commands #如if ,while ,for命令
==> function #函数
==> build_in #内部命令
==> hash #hash表,用来缓存命令,缓存的是PATH路径
==> $PATH #当别名和内部命令中都找不到时,就寻找$PATH
==> error: command not found
2.查看PATH:echo $PATH
如果临时添加PATH:export PATH=/usr/local/nginx/sbin:$PATH
如果想永久添加,就要把路径写到 /etc/bashrc中
3.切换用户时(shell方式),会默认执行几个文件,执行顺序为
/etc/profile
.bash_profile
.bashrc
/etc/bashrc
其中/etc/profile和/etc/bashrc 为系统级别,.bash_profile 和.bashrc为用户级别
用非shell方式切换用户时,只会执行.bashrc和/etc/bashrc两个文件。
二、通配符
1.``反引号,取命令执行的结果,但更常用的是$()
2.~代表家目录
3.! 取反,历史命令调用,匹配最近一次历史命令
4.@无特殊含义,常用来分割字符
5.#注释符
6.$变量取值
$()同``
${}变量名的范围
$[]整数运算
echo $?查看上次命令是否执行成功
7.%取模
8.^取反,和!类似
9.&把程序放到后台执行,如firefox &
&&逻辑与
10.*匹任意长度字符串
乘运算
11.()在当前终端的子进程中运行
12._下划线,无特殊意义,一般命名时用
-减号,区间,运算
13.|管道符
14.\转义
15.:空命令
16.>覆盖
>>追加
17.?任一字符
18.‘’硬引用,单引号内的字符无特殊意义,不需要转义
“”软引用,双引号内的特殊字符需转义
三、正则表达式
正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。
1. 常用grep命令+正则表达式
grep
-n 显示行号 grep -n 'root' /etc/passwd
-o 只显示匹配内容
-q 判断命令是否执行成功,需要使用$?来显示是否成功
-l 如果匹配成功,则将文件名打印出来,常与rl一起用,递归的匹配,grep -rl 'root' /etc/passwd
-An 显示匹配到的行及其后n行
-Bn 显示匹配到的行及其前n行
-Cn 显示匹配到的行机器前后n行
-E 扩展的grep,或者直接写成egrep
-i 忽略大小写的过滤
-v 取反,显示匹配到的信息之外的所有
-w 匹配单词
-c 显示有几行包含有关键字
2. 正则表达式
^ 行首 如:grep '^root' /etc/passwd 是匹配所有以root开头的行
$ 行尾
. 除了换行符之外的任意单个字符
* 左边的字符出现零次或多次
? 左边字符出现零次或1次
+ 左边字符出现1次或多次
{n} 花括号左边字符出现n次
.* 代表任意字符
[] 字符组内的任一字符,与.的区别是[]可以自己指定范围,如[0-9][a-Z][a-z]
| 或,|左边匹配成功则不匹配右边,只有左边匹配不成功时才会匹配右边
示例:新建文件1.TXT,内容为 abominable
abominate
anomie
atomize
编写正则表达式将它们匹配出来
[root@localhost ~]# cat test.txt
bominable
abominate
anomie
atomize [root@localhost ~]# egrep 'a?[a-z]omi(na)?[a-z]?[a-z]?e' test.txt
bominable
abominate
anomie
atomize
Linux基础(八)的更多相关文章
- Linux基础知识第八讲,系统相关操作命令
目录 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 2.磁盘信息查看. 3.系统进程 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 时间和日期 date cal 磁盘和目录空间 ...
- Linux基础入门学习笔记20135227黄晓妍
学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用L ...
- OracleOCP认证 之 Linux基础
Linux 基础 一.SHELL 1: Shell 简介 shell 是用户和Linux 操作系统之间的接口.Linux 中有多种shell, 其中缺省使用的是bash. Linux 系统的shell ...
- linux基础part3
linux基础 一.linux基本命令归档命令. 1.归档的定义:归档就是把许多文件或目录打包成一个文件. 2.tar命令格式:tar [参数-cxtzjvfpPN] 打包文件名 文件或目录路径 ...
- (转)Linux基础知识学习
Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...
- Linux基础命令-查看基本硬件信息
Linux基础命令-查看基本硬件信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看CPU信息 [root@node101.yinzhengjie.org.cn ~]# l ...
- 001.IT运维面试问题-Linux基础
Linux基础 简述Linux主流的发行版? Redhat.CentOS.Fedora.SuSE.Debian.Ubuntu.FreeBSD等. 简述Linux启动过程? ⑴开机BIOS自检,加载硬盘 ...
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- Bootstrap <基础八>图片
Bootstrap 提供了三个可对图片应用简单样式的 class: .img-rounded:添加 border-radius:6px 来获得图片圆角. .img-circle:添加 border-r ...
- 大数据每日干货第四天(linux基础之一目录结构与常用命令)
为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...
随机推荐
- charles抓包,打断点,连接手机抓包
写给我自己: 如果是使用charles抓包.一定要tm的保证手机和电脑连的是一个网. charles抓本地包的操作 1.打开charles, 2.打开浏览器访问某网页,就可抓到对应的包 charles ...
- javacpp-opencv图像处理3:使用opencv原生方法遍历摄像头设备及调用(增加实时帧率计算方法)
javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 javaCV图像处理之2:实时视频添加图片水 ...
- 玩转nodeJS系列:使用原生API实现简单灵活高效的路由功能(支持nodeJs单机集群),nodeJS本就应该这样轻快
前言: 使用nodeJS原生API实现快速灵活路由,方便与其他库/框架进行整合: 1.原生API,简洁高效的轻度封装,加速路由解析,nodeJS本就应该这样轻快 2.不包含任何第三方库/框架,可以灵活 ...
- Spring学习(24)--- AOP之 Aspect instantiation models(aspect实例模式)特别说明
重要: schema-defined aspects只支持singleton model,即 基于配置文件的aspects只支持单例模式
- bootstrap之daterangepicker---汉化以及扩展
一.扩展的功能 1.初始化时,会自动创建一个select标签: 2.当改变select值时,日期也会自动改变,并且会调用apply按钮的click事件 3.点击此处进行预览 4.github地址:ht ...
- 导入网页数据到 Google Sheet
数据没有用,我们需要的是数据所反映出来的东西.增长率,排名,占比等.而这些结果是通过分析数据得到的. 从网上搜集到数据后,导入到表格程序中便可以进行方便地分析处理了.下面介绍将网页中的表格数据导入到 ...
- C# 通过Bartender模板打印条码,二维码, 文字, 及操作RFID标签等。
1.在之前写的一篇文章中, 有讲到如何利用ZPL命令去操作打印里, 后面发现通过模板的方式会更加方便快捷, 既不用去掌握ZPL的实现细节, 就可以轻松的调用实现打印的功能. 解决方案: 1.网络下载 ...
- php变量双击选择无法选择$符号
创建/Data/Packages/User/PHP.sublime-settings文件,内容为 { "word_separators": "./\\()\&qu ...
- xshell设置界面的编码方式
文件->属性->终端->编码->UTF-8
- VUE2.0+VUE-Router做一个图片上传预览的组件
之前发了一篇关于自己看待前端组件化的文章,但是由于学习和实践的业务逻辑差异,所以自己练习的一些demo逻辑比较简单,打算用vue重构现在公司做的项目,所以在一些小的功能页面上使用vue来做的,现在写的 ...