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 高阶命令进阶(一)的更多相关文章

  1. Linux高阶命令进阶

    1. 输出重定向 > (1>):覆盖输出,会覆盖掉原先的文件内容 >> (1>>) :追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加 2> :错误输 ...

  2. 测试效率加倍提升!shell 高阶命令快来 get 下!

    背景 目前大部分的项目都是部署在Linux系统上,作为测试,掌握常用Linux命令是必须的技能.很多的工作了好几年的测试人员可能还只会简单的ls.cd.cat等等这些命令,这些命令是可以应付工作的大部 ...

  3. linux系统高级命令进阶

    输出重定向 >:覆盖文件内容 echo "123" > test:把原来的内容覆盖 echo "123" >> test:把原来的存在( ...

  4. 深入理解javascript函数进阶系列第一篇——高阶函数

    前面的话 前面的函数系列中介绍了函数的基础用法.从本文开始,将介绍javascript函数进阶系列,本文将详细介绍高阶函数 定义 高阶函数(higher-order function)指操作函数的函数 ...

  5. 《前端之路》之 JavaScript 进阶技巧之高阶函数(下)

    目录 第二章 - 03: 前端 进阶技巧之高阶函数 一.防篡改对象 1-1:Configurable 和 Writable 1-2:Enumerable 1-3:get .set 2-1:不可扩展对象 ...

  6. linux命令进阶

    Though unconsciously,peple are indeed moving towards their destination.Slow as the progress seen fro ...

  7. React进阶之高阶组件

    前言 本文代码浅显易懂,思想深入实用.此属于react进阶用法,如果你还不了解react,建议从文档开始看起. 我们都知道高阶函数是什么, 高阶组件其实是差不多的用法,只不过传入的参数变成了react ...

  8. Linux高级命令进阶(week1_day2)

    Linux高级命令进阶(week1_day2)--技术流ken   输出重定向   场景:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候 ...

  9. JavaScript进阶之高阶函数篇

    JavaScript进阶之高阶函数篇 简介:欢迎大家来到woo爷说前端:今天给你们带来的是JavaScript进阶的知识,接下来的系列都是围绕着JavaScript进阶进行阐述:首先我们第一篇讲的是高 ...

随机推荐

  1. [GXOI/GZOI2019]旧词(树上差分+树剖)

    前置芝士:[LNOI2014]LCA 要是这题放HNOI就好了 原题:\(\sum_{l≤i≤r}dep[LCA(i,z)]\) 这题:\(\sum_{i≤r}dep[LCA(i,z)]^k\) 对于 ...

  2. Hexo next主题下添加天气插件

    最近在优化hexo 新搭建的博客,想给博客添加一个天气插件,奈何找了很久也没发现,好不容易发现一个天气插件 心知天气:https://www.seniverse.com/widget/get 运气不好 ...

  3. CH4INRULZ从渗透到提权

    下载了镜像后查看了ip http://192.168.16.128/ 然后用nmap扫描了一波 sudo nmap -vv -sV 192.168.16.128 访问80端口发现是个个人博客 访问80 ...

  4. 【游戏开发】基于VS2017的OpenGL开发环境搭建

    一.简介 最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,“工欲善其事,必先利其器”.想学习图形 ...

  5. 【转载】C++ STL快速入门

    https://www.cnblogs.com/skyfsm/p/6934246.html

  6. 树莓派3B+ 安装系统

    安装概要步骤: 官网下载系统->刷入TF卡->设置开启显示器和SSH->通电->进入系统 1. 进入官方网站下载系统镜像 下载页面:https://www.raspberryp ...

  7. docker学习------docker login Harbor失败,需添加http允许权限

    systemctl  status docker 到docker的service文件里更改配置 加上这行参数就ok了,然后重启docker

  8. git add . 提示 `Changes not staged for commit`

  9. iMX6Q开发板的EIM接口的配置可以与FPGA通讯-交换数据-最常用的接口配置

    最近基于迅为的i.mx6Q开发板进行了一个FPGA项目的开发,下面给大家介绍一下EIM接口的配置,包括引脚的的选择和寄存器的配置 For the usage of WEIM on i.MX6, you ...

  10. robotframework环境安装

    1.安装 robotframework 执行命令 pip install robotframework 2.安装seleniumlibrary 执行命令 pip install --upgrade r ...