Day004_Linux基础命令之特殊符号与正则表达式通配符
特殊符号:
. 点 cd . 表示当前目录
' '' 单引号,所见即所得 原封不动输出
" ""双引号,里面的特殊符号会被解析运行
`` ====$( ) 先运行() 里的命令,把结果留下
> 重定向符号 先清空文件内容, 再追加文件最后一行
>> 标准输出追加重定向, 把内容追加到文件最后结尾.
2> 错误重定向, 只有错误的信息才会通过漏斗进入文件中(先清空,再追加)
2>> 错误追加重定向(只追加)
~ 当前用户家目录
root /root
old /home/old
! 使用查找并运行历史命令
!awk 找到最近的一条包含awk的历史命令
history |grep awk (相当于) # history 显示历史命令
# 注释
root用户的命令提示符
$ awk $ 表示取某一列内容
普通用户命令提示符
* 所有 任何东西
\ 撬棍, 反斜线,转义字符
&& 前一个命令执行成功再执行后面一个命令 ifdown eth0 && ifup eth0 (重启)
|| 前一个命令执行失败再执行后面的命令 (shell编程会用到)
eco && echo ok
eco || echo ok 用的较少
通配符:
找出以.log 结尾的文件 find /var/log -type f -name "*.log"
* 所有, 任意 "*.log" "*.txt"
找出文件名包含oldboy的文件
find /oldboy/ -type f -name "*oldboy" 找出以oldboy结尾的文件(这条命令意思)
find /oldboy/ -type f -name "*oldboy*" 这条是文件名包含oldboy的文件
{ } 生成序列
echo {1..6} > /oldboy/test.txt
[root@luffy001 oldboy]# echo {1..6}
1 2 3 4 5 6
cp oldboy.txt{,.bak} 会同时生成一个.txt文件的备份 .txt.bak 的文件
-rw-r--r--. 1 root root 27 Nov 13 14:51 oldboy.txt
-rw-r--r-- 1 root root 27 Nov 13 15:04 oldboy.txt.bak 逗号隔开,之前的就是.txt文件, 之后的就是.txt.bak 文件
正则表达式:
引子: 一个文本文件 如何判断哪一行的内容是身份证号码: 18位, 包含数字字母 ( 判断) id.txt
@1 正则表达式是按照行进行处理的
@2禁止使用中文字符.
# 给grep和egrep 配置别名
alias grep="grep --color=auto"
alias egrep="egrep --color=auto"
写入到/etc/profile 中 source /etc/profile 使其生效即可.
cat >>/etc/profile<<EOF
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
EOF
source /etc/profile
grep 和awk 过滤空行的命令;
grep '^$' test.txt (grep命令过滤空行)
grep -v '^$' test (grep -v 参数取反) grep -vn '^$' test.txt -nv 取反并显示行号
awk '/^$/' test.txt (awk 过滤空行)
awk '!/^$/' test.txt (awk 中用! 取反) 取出除了空行之外的行的内容.
sed命令排除空行
sed '/^$/d' test.txt 排除空行, /^$ 表示空行的内容.
使用grep egrep 过滤出文件的前两行内容, test.txt (head -n2)
egrep 'oldboy'
Linux下文件系统的软链接,硬链接
创建软链接, ln -s 别名 文件名 ln -s oldboy /old/oldboy.txt
创建硬链接, ln 原文件 新命名文件
在test目录下再创建一个目录 mkdir -p /lodboy/test/001 硬链接数变成了3个
找出当前目录下所有文件,将文件中'a' 替换成'b'
find /company -type f -name '*.txt"|xargs sed -i 's#a#b#g' (找出这个目录下所有txt文件,并将其中的a字符替换成b字符)
方法二:
sed -i 's#a#b#g' $(find /company -type f -name '*.txt") 意思就是将后面执行的结果给前面命令处理
sed -i 's#a#b#g' `find /company -type f -name '*.txt"` 反引号效果一样的
方法三:
find /company -type f -name '*.txt" -exec ls -l {} \;
例题: 请问一个命令加什么参数可以实现下面的命令的内容在同一行输出.
echo "wooyun";echo "wooyun"
答: echo "wooyun" `echo "wooyun"` 或者 echo "wooyun" $(echo "oldboy") 均能实现以上效果 , 如果输出为单独两行 就用&& 连接两条命令.
请给出如下格式的date命令
例::11-02-26
再给出实现按周输出,比如
`` $( ) 先运行里面的命令,再将结果展示出来.
date命令
date +%F 显示的是年月日 date +%Y-%m-%d
[root@luffy001 oldboy]# date +%F
2018-11-14
[root@luffy001 oldboy]# date +%Y-%m-%d
2018-11-14
date +%w 显示的是周几.
显示年-月-日-周几
date +%F-%w
date +%T 时分秒 的时间 ===> date+%H:%M:%S
[root@luffy001 oldboy]# date +%T
15:57:20
显示3天前的日期
date -d "-3day" +%F
date -s 设置时间
date -s "+1hour" 往后设置时间
ntp服务器,给网上的ntp服务器对时间
ntpdate pool.ntp.org
pool.ntp.org
ntp1.aliyun.com
基础正则 和高级正则
Day004_Linux基础命令之特殊符号与正则表达式通配符的更多相关文章
- Shell编程基础教程5--文本过滤、正则表达式、相关命令
5.文本过滤.正则表达式.相关命令 5.1.正则表达式(什么是正则表达式?正则表达式怎么进行匹配?常用命令) 简介: 一种用来描述文本模式的特殊语法 ...
- Day004_Linux基础_基础命令之tar打包解包
基础命令之 打包,和解包. tar zcvf 打包的参数 tar zcvf /tmp/etc.tar.gz /etc 将/etc/下的文件压缩成一个压缩包 z 通过gzip工具进行压缩 c 表示 ...
- LINUX二十个基础命令
LINUX二十个基础命令 一. useradd命令 1.命令格式: useradd 选项 用户名 2.命令功能: 添加新的用户账号 3.常用参数: -c comment 指定一段注释性描述.-d 目录 ...
- Linux命令中特殊符号
转自:http://blog.chinaunix.net/uid-16946891-id-5088144.html 在shell中常用的特殊符号罗列如下:# ; ;; . , / \ 'strin ...
- linux的特殊符号与正则表达式
第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2 * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. ...
- [转帖]Linux命令中特殊符号
Linux命令中特殊符号 转自:http://blog.chinaunix.net/uid-16946891-id-5088144.html 在shell中常用的特殊符号罗列如下:# ; ;; . ...
- 【转】linux的特殊符号与正则表达式
[转]linux的特殊符号与正则表达式 第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2 * 通过find 命令找以 . ...
- Linux安全基础:shell及一些基础命令
1.什么是shell?Shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的是Bash. 2.shell的分类(1)bash bash shell 是 Bourn ...
- 第四节,Linux基础命令
第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令 ...
随机推荐
- GDOI#348大陆争霸[SDOI2010]最短路有限制条件
在一个遥远的世界里有两个国家:位于大陆西端的杰森国和位于大陆东端的 克里斯国.两个国家的人民分别信仰两个对立的神:杰森国信仰象征黑暗和毁灭 的神曾·布拉泽,而克里斯国信仰象征光明和永恒的神斯普林·布拉 ...
- charles(version4.2.1)抓包手机数据
点击菜单栏的Proxy项,选择Proxy Settings. 设置HTTP Proxy的Port. 勾选透明代理Enable transparent HTTP proxying,也可不勾选. 设置代理 ...
- Java——检测其他线程的状态以及启动已死亡的线程
这次这个的思路是在主类中维护一个map,map的key是线程名,value是线程的状态,然后创建周期执行的线程通过检测这个map来判断进程的状态,如果有死亡的进程就把该进程启动. 首先是主类,这里的m ...
- 解决Springboot整合ActiveMQ发送和接收topic消息的问题
环境搭建 1.创建maven项目(jar) 2.pom.xml添加依赖 <parent> <groupId>org.springframework.boot</group ...
- 关于阿里云Mysql分页查询不走索引的问题
需要修改阿里云中的MYSQL 配置参数 : eq_range_index_dive_limit 阿里云上默认是 10 , 这个参数 表示 in 查询 条件超过 10 个 就不走索引,走全表扫描.如果我 ...
- 小白学Python(2)——常用Python编程工具,Python IDE
下载好Python,但是如何开始编程呢? 有几种方法, 1.第一个就是command lind 即为命令行的方式,也就是我们常说的cmd. 输入 win+ cmd 在命令行中再输入 python,即可 ...
- 为什么操作DOM会影响WEB应用的性能?
面试官经常会问你:"平时工作中,你怎么优化自己应用的性能?" 你回答如下:"我平时遵循以下几条原则来优化我的项目.以提高性能,主要有:" a. 减少DOM操作的 ...
- ceph存储基础概念
一.分布式文件系统: 是指文件系统管理的物理存储资源不一定直接是连接在本地节点上,而是通过计算机网络与节点相连. 分布式文件系统的设计基与C/S架构(客户端/服务器) 常见的分布式文件系统:Ceph. ...
- 部署Kettle做ETL开发并使用Crontab制作调度系统
背景说明: 在数据量较小,且数据源和装载地都是关系型数据库时,使用Kettle做ETL较为简便. 由于调度系统产品因为服务器环境方面的因素,而无法部署,故使用Linux的crontab定时器来制作简易 ...
- 七缸发动机预热,docker swarm + .net core 高速飙车成功
(图片来源:Microsoft Blog) 上周五上午在我们将 .net core 博客站点由 docker swarm 自动驾驶改为 docker-compose 手动驾驶后,依然发生了翻车,意料之 ...