特殊符号:

. 点 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基础命令之特殊符号与正则表达式通配符的更多相关文章

  1. Shell编程基础教程5--文本过滤、正则表达式、相关命令

    5.文本过滤.正则表达式.相关命令    5.1.正则表达式(什么是正则表达式?正则表达式怎么进行匹配?常用命令)        简介:            一种用来描述文本模式的特殊语法      ...

  2. Day004_Linux基础_基础命令之tar打包解包

    基础命令之 打包,和解包. tar zcvf 打包的参数  tar zcvf /tmp/etc.tar.gz /etc  将/etc/下的文件压缩成一个压缩包 z  通过gzip工具进行压缩 c 表示 ...

  3. LINUX二十个基础命令

    LINUX二十个基础命令 一. useradd命令 1.命令格式: useradd 选项 用户名 2.命令功能: 添加新的用户账号 3.常用参数: -c comment 指定一段注释性描述.-d 目录 ...

  4. Linux命令中特殊符号

    转自:http://blog.chinaunix.net/uid-16946891-id-5088144.html   在shell中常用的特殊符号罗列如下:# ; ;; . , / \ 'strin ...

  5. linux的特殊符号与正则表达式

    第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2  * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. ...

  6. [转帖]Linux命令中特殊符号

    Linux命令中特殊符号 转自:http://blog.chinaunix.net/uid-16946891-id-5088144.html   在shell中常用的特殊符号罗列如下:# ; ;; . ...

  7. 【转】linux的特殊符号与正则表达式

    [转]linux的特殊符号与正则表达式 第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2  * 通过find 命令找以 . ...

  8. Linux安全基础:shell及一些基础命令

    1.什么是shell?Shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的是Bash. 2.shell的分类(1)bash bash shell 是 Bourn ...

  9. 第四节,Linux基础命令

    第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令         ...

随机推荐

  1. JavaFX Metro UI 和 开发库

    目录 [隐藏] 1 Metro UI For JavaFX! 1.1 例子 1.2 Switch 1.3 Button 1.4 案例: 2 ConsrolsFX 3 Notification 的使用 ...

  2. 跟着大彬读源码 - Redis 9 - 对象编码之 三种list

    目录 1 ziplist 2 skiplist 3 quicklist 总结 Redis 底层使用了 ziplist.skiplist 和 quicklist 三种 list 结构来实现相关对象.顾名 ...

  3. 【Java例题】1.2计算n的m次方

    package study; import java.util.*; import java.math.*; public class study { public static void main( ...

  4. Why do I write a blog

    I believe the most beautiful and elegant answer to this question is from Churchill. "On a peace ...

  5. 8、JAVA中的用户输入(I/0交互过程)

    这里在数组的学习中用到了用户输入,也就是交互模式,日常的数据,不可能每一次都是程序员定义好的,终究需要用户与程序之间进行交互,机器等待用户输入,用户通过键盘输入所需数据(数据包括,字符,字串,数值等) ...

  6. Guava cache使用总结

    缓存分为本地缓存和远端缓存.常见的远端缓存有Redis,MongoDB:本地缓存一般使用map的方式保存在本地内存中.一般我们在业务中操作缓存,都会操作缓存和数据源两部分.如:put数据时,先插入DB ...

  7. charles(version4.2.1)抓包手机数据

    点击菜单栏的Proxy项,选择Proxy Settings. 设置HTTP Proxy的Port. 勾选透明代理Enable transparent HTTP proxying,也可不勾选. 设置代理 ...

  8. 前端小知识-js

    一.对象冒充 function student(name,age){ this.name = name; this.age = age; this.show = function(){ console ...

  9. Python 列表深浅复制详解

    在文章<Python 数据类型>里边介绍了列表的用法,其中列表有个 copy() 方法,意思是复制一个相同的列表.例如 names = ["小明", "小红& ...

  10. .Net Mvc判断用户是否登陆、未登陆跳回登陆页、三种完美解决方案

    开篇先不讲解,如何判断用户是否登陆,我们先来看用户登录的部分代码,账户密码都正确后,先将当前登录的用户名记录下来. public ActionResult ProcessLogin() { try { ...