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]检查操作用户位于系统的什么位置 命令 ...
随机推荐
- java基础精选题
Integer比较 看下面这段有意思的代码,对数字比较敏感的小伙伴有没有发现异常? public static void main(String[] args) { Integer a = 128,b ...
- Docker系列之烹饪披萨(二)
前言 上一篇我们讲解了虚拟机和容器的区别,本节我们来讲讲Docker中关于Dockerfile.镜像.容器等基本概念.Docker是一个在容器内开发.部署.运行应用程序的平台,Docker本质上是容器 ...
- 史上最全面的SignalR系列教程-3、SignalR 实现推送功能-集线器类实现方式
1.概述 通过前两篇 史上最全面的SignalR系列教程-1.认识SignalR 史上最全面的SignalR系列教程-2.SignalR 实现推送功能-永久连接类实现方式 文章对SignalR的介绍, ...
- c# 多进程写信息到前台控件
private void DispMsg(string strMsg, bool clearlb = false) { if (this.lberror.InvokeRequired == false ...
- cs231n--详解卷积神经网络
原版地址:http://cs231n.github.io/convolutional-networks/ 知乎翻译地址:https://zhuanlan.zhihu.com/p/22038289?re ...
- Python入门基础(10)_异常_1
最近有点忙,到现在快一个月没写了,罪过罪过,继续学习 异常:python程序在运行时,如果python解释器遇到一个错误,那么程序就会停止执行,并且会提示一些错误信息,这就是异常. 抛出异常:程序停止 ...
- EXP查询合集提权后渗透必备
0x00 整理的一些后渗透提权需要用到的一些漏洞,后渗透提权的时候可以看一下目标机那些补丁没打,再进行下一步渗透提权. 0x01 CVE-2019-0803 [An elevation of priv ...
- nginx配置ssl证书实现https加密请求详解
原文链接:http://www.studyshare.cn/software/details/1175/0 一.加密方式 1.对称加密 所谓对称加密即:客户端使用一串固定的秘钥对传输内容进行加密,服务 ...
- 从 Python 之父的对话聊起,关于知识产权、知识共享与文章翻译
一.缘起 前不久,我在翻译 Guido van Rossum(Python之父)的文章时,给他留言,申请非商业用途的翻译授权. 过程中起了点小误会,略去不表,最终的结果是:他的文章以CC BY-NC- ...
- 使用Counter进行计数统计
使用Counter进行计数统计 想必大家对计数统计都不陌生吧!,简单的说就是统计某一项出现的次数.实际应用中很多需求都需要用到这个模型,如检测样本中某一值出现的次数.日志分析某一消息出现的频率分析文件 ...