Linux 高阶命令进阶(一)
Linux 高阶命令进阶
(一)输出重定向
1、 > :正确覆盖输出,会覆盖掉原先的文件内容
把文本写入文档中
# vim test
# cat test
this is ken
# echo “this is oscar” > test
# cat test
this is oscar (把this ...追加到 test 中)
2、 >> :正确追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
# echo “this is ken” >> test
# cat test
this is oscar
this is ken
3、 2> :错误覆盖输出,会覆盖掉原先的文件内容,,不能省略2。
2>> :错误追加输出,会覆盖掉原始文件内容,会在原始内容末尾继续添加
在工作中,可以将报错的信息全都导入文件
通常导入 # /dev/null 黑洞文件,类似于清空回收站。
4、 &> :将标准输出与错误覆盖输出共同写入到文件中。覆盖原有内容
&>> :将标准输出与错误追加输出共同写入到文件中(追加到原有内容的后面)。
第四周 写 shell 脚本会大量应用。
(二)输入重定向 <
# wc -l < /etc/passwd 统计etc 文档下passwd的行数。
(三)管道符 “|” :作用是把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入。把前一个命令的执行结果交给“|”再运行一次。
# cat /etc/passwd | grep "root" | wc -l
用于数据动态监控,输出结果为1 ,说明命令在执行;为0则未执行。
查看ip :# ip a
抓取IP :# ip a | grep “global” | awk -F “/” ' {print $1}'
# ip a | grep “global” | awk -F “/” '{print $1}' | awk -F “ +” ‘{print $3}’
(四)通配符:
通配符就是通用的匹配信息的符号,比如
1、 星号(*)代表匹配零个或多个字符(可以为0个)
# ls /dev/sd* :查看dev 目录下以 sd 开头的所有文件。
2、 问号(?)代表匹配单个字符(单个字符必须存在)
# ls /dev/sd? :查看dev 目录下以 sd 开头,后面有一个字符的所有文件。
# ls /dev/sd?? :查看dev 目录下以 sd 开头,后面有两个字符的所有文件。
3、 中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,
# ls /dev/sd [12] :查看dev 目录下以 sd 开头,后面分别有一个字符和两个 字符的所有文件。
4、 中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。
# ls /dev/sda[a-z] :查看dev下以sda开头,后面跟上字母的文件
通配符可放在任意位置,也可以组合使用。# ls /dev/*[a-z] [a-z]?
(五)三种引号的作用
1、 单引号(''):转义其中所有的变量为单纯的字符串。
name = ken name:变量,ken:变量值。
所见即所得。不改变引号中的东西,原样输出。
2、 双引号(""):保留其中的变量属性,解释变量,不进行转义处理。
3、 反引号(``):把其中的命令执行后返回结果。
先执行反引号中的命令,再执行引号外的操作。
单双引号能一起使用,没有变量时,单双引号作用相同。
单引号中的特殊符号失去其特殊作用。双引号中的部分失去作用,如# $ 依旧生效。
反引号中的:# echo `ls` 引号中的先执行再输出。
(六)软连接和硬连接
【软链接相当于快捷方式,硬链接相当于复制粘贴】
创建完成后,源文件、软链接和硬链接均可以查看到文件内容。
编辑源文件,软、硬链接跟着动。
删除源文件,软链接失效,硬链接无影响。再重新建一个与源文件同名的文件,软链接就直接链接到新的文件,而硬链接不变。因为软链接是按着名称进行链接。
1、 软连接:
# ln - s 原路径 目标路径 # ls -l
特点:( s = soft )
1、就是相当于win中的快捷方式
2、删除链接文件 # rm -rf 文件 # cat 文件,源文件无影响
3、删除源文件,链接文件失效
4、修改源文件\链接文件,内容发生改变,(同步)
5、源文件被删除,再创建新的同名源文件,链接文件会自动链接。
2、 硬链接:ln 源文件 目标文件
总结:
1、删除链接文件,源文件无影响
2、删除源文件,链接文件无影响
3、修改源文件\链接文件,内容都发生改变
实际用得少,相当于复制,当文件较大时,会占用物理内存。
(七)一切从“/”开始:
在Linux系统中并不存在C/D/E/F等盘符,Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。
另外,Linux系统中的文件和目录名称是严格区分大小写的。
/root/Desktop :仅第一个 / 表示根目录,,后面出现的 / 仅代表分割。
/home :普通用户家目录。/usr/local :用户自己安装的软件。 /etc :存放配置文件。 /root :root 用户家目录。/tmp :共享临时文件。 /var :存放经常变动的文件。 /dev :磁盘文件。
(八)绝对路径和相对路径:
绝对路径:# ls -l /root/ken1/1/test -d
相对路径: # ls -ld ken1/1/test
# mkdir /ken :(把ken文件创立在 / 目录下,所以# ls / )
-name "文件名” :指定要查找的文件名
{} :暂时存放文件。
\; :分号不能直接放在命令里,要在前面加一个 \ 转义。
# grep root /etc/passwd
;顺序执行
Mkdir cjk && cd cjk : 逻辑执行,,前者执行成功后者执行,,前者失败后者不执行。
ls || echo 1 :前者不执行则后者执行,前者执行后者不执行。
单引号中的特殊符号失去其特殊作用。双引号中的部分失去作用,如# $ 依旧生效。
反引号中的:# echo `ls` 引号中的先执行再输出。
Linux 高阶命令进阶(一)的更多相关文章
- Linux高阶命令进阶
1. 输出重定向 > (1>):覆盖输出,会覆盖掉原先的文件内容 >> (1>>) :追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加 2> :错误输 ...
- 测试效率加倍提升!shell 高阶命令快来 get 下!
背景 目前大部分的项目都是部署在Linux系统上,作为测试,掌握常用Linux命令是必须的技能.很多的工作了好几年的测试人员可能还只会简单的ls.cd.cat等等这些命令,这些命令是可以应付工作的大部 ...
- linux系统高级命令进阶
输出重定向 >:覆盖文件内容 echo "123" > test:把原来的内容覆盖 echo "123" >> test:把原来的存在( ...
- 深入理解javascript函数进阶系列第一篇——高阶函数
前面的话 前面的函数系列中介绍了函数的基础用法.从本文开始,将介绍javascript函数进阶系列,本文将详细介绍高阶函数 定义 高阶函数(higher-order function)指操作函数的函数 ...
- 《前端之路》之 JavaScript 进阶技巧之高阶函数(下)
目录 第二章 - 03: 前端 进阶技巧之高阶函数 一.防篡改对象 1-1:Configurable 和 Writable 1-2:Enumerable 1-3:get .set 2-1:不可扩展对象 ...
- linux命令进阶
Though unconsciously,peple are indeed moving towards their destination.Slow as the progress seen fro ...
- React进阶之高阶组件
前言 本文代码浅显易懂,思想深入实用.此属于react进阶用法,如果你还不了解react,建议从文档开始看起. 我们都知道高阶函数是什么, 高阶组件其实是差不多的用法,只不过传入的参数变成了react ...
- Linux高级命令进阶(week1_day2)
Linux高级命令进阶(week1_day2)--技术流ken 输出重定向 场景:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候 ...
- JavaScript进阶之高阶函数篇
JavaScript进阶之高阶函数篇 简介:欢迎大家来到woo爷说前端:今天给你们带来的是JavaScript进阶的知识,接下来的系列都是围绕着JavaScript进阶进行阐述:首先我们第一篇讲的是高 ...
随机推荐
- SpringBoot实现优雅的关机
最近在公司使用了 Springboot 项目, 发现在 linux 上 通过 java -jar 命令可以十分安全的运行, 但是 当我们需要关闭它的时候呢? 难道 登陆服务器 kill 线程? ...
- sk-learn 决策树的超参数
一.参数criterion:特征选择标准,[entropy, gini].默认gini,即CART算法. splitter:特征划分标准,[best, random].best在特征的所有划分点中找出 ...
- 1x1的卷积核有什么作用
信道压缩~跨~信~减 一.1 X 1的卷积核作用 所谓信道压缩,Network in Network是怎么做到的? 对于如下的二维矩阵,做卷积,相当于直接乘以2,貌似看上去没什么意义: 但是,对于下面 ...
- 阅读阿里文档总结————Mysql数据库篇
一:建表规范 1.针对于任何字段如果为非负数,必须是 unsigned: 2.表达逻辑删除的字段名 is_deleted,1 表示删除,0 表示未删除: (1为是:0为否) 3.主键索引名为 pk_字 ...
- DirectX11--实现一个3D魔方(2)
前言 上一章我们主要讲述了魔方的构造和初始化.纹理的准备工作.目前我还没有打算讲Direct3D 11关于底层绘图的实现,因此接下来这一章的重点是魔方的旋转.因为我们要的是能玩的魔方游戏,而不是一个观 ...
- 堆应用---构造Huffman树(C++实现)
堆: 堆是STL中priority_queue的最高效的实现方式(关于priority_queue的用法:http://www.cnblogs.com/flyoung2008/articles/213 ...
- Selenium中三种等待的使用方式---规避网络延迟、代码不稳定问题
在UI自动化测试中,必然会遇到环境不稳定,网络慢的情况,这时如果你不做任何处理的话,代码会由于没有找到元素,而报错.这时我们就要用到wait(等待),而在Selenium中,我们可以用到一共三种等待, ...
- MySQL中使用group_concat()函数数据字符过长报错的问题解决方法
最近在办公软件项目,在开发权限指标遇到一个问题:我们系统的一些逻辑处理是用存储过程实现的,但是有一天客户反馈说权限指标分配报错,查了分配的权限数据牵扯到的数据权限基础资源,没有问题.权限指标分配的存储 ...
- 查表法解决calendar中月份及星期初始值为0的情况。
Calendar ca = Calendar.getInstance(); String [] index = {"星期一","星期二","星期三&q ...
- jQuery的一些基本的函数和用jQuery做一些动画操作
jQuery是对js的封装,因为js有一些不方便的地方.所以,jQuery才会去对js进行封装. jQuery对于标签元素的获取 $('div')或$('li') <!DOCTYPE html& ...