本章命令(共9个):

1 2 3 4 5 6 7 8 9
输出重定向 输入重定向 管道符 通配符 三种引号 软连接 硬链接 根“/” 绝对路径vs相对路径

1.输出重定向

作用:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。

  • 覆盖输出 >:会覆盖掉原先的文件内容 (1>)
  • 追加输出 >>:不会覆盖原始文件内容,会在原始内容末尾继续添加(1>>)
  • 错误输出 2>:会覆盖掉原先的文件内容
  • 错误追加输出 2>>:会覆盖掉原始文件内容,会在原始内容末尾继续添加
  • 将标准输出与错误输出共同写入到文件中 &>:覆盖原有内容
  • 将标准输出与错误输出共同写入到文件中 &>>:追加到原有内容的后面

用法:

╭─root@localhost.localdomain ~/2
╰─➤ echo "hello" > fil1 #会覆盖原文件内容(标准输出)
╭─root@localhost.localdomain ~/2
╰─➤ echo good >> fil1 #不覆盖原文件内容 (标准输出)
╭─root@localhost.localdomain ~/2
╰─➤ cd fil2 &>> fil1 #不覆盖原文件内容(标准与错误输出)
╭─root@localhost.localdomain ~/2
╰─➤ cat fil1
hello
good
cd: 没有那个文件或目录: fil2

2>&1,1>&2,&>file

shell上:

0表示标准输入

1表示标准输出

2表示标准错误输出

> 默认为标准输出重定向,与 1> 相同

2>&1 意思是把 标准错误输出 重定向到 标准输出.

1>&2 意思就是把 标准输出 重定向到 标准错误输出

&>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中

#例子
snmpwalk -v1 -c public 192.168.0.1 .1.3.6.1.4.1.102.8 >/dev/null 2>&1 # 2>&1 的意思就是将标准错误重定向到标准输出。这里标准输出已经重定向到了 /dev/null。那么标准错误也会输出到/dev/null。

2.输入重定向

作用:工作中没吊用,了解即可,输入重定向的作用是把文件直接导入到命令中。


3.管道符

作用:管道命令符“ | ”的作用是把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入。

╭─root@cjk ~/2
╰─➤ cat /etc/passwd | wc -l
43

4.通配符

作用:通配符就是通用的匹配信息的符号;

  • 星号(*)代表匹配零个或多个字符(可以为0个)
  • 问号(?)代表匹配单个字符(单个字符必须存在)
  • 中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,
  • 中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。
╭─root@cjk ~/2
╰─➤ ls
1abc 1abcde 2abc 2abcde 3abc 3abcde 4abc 4abcde 5abc 5abcde
╭─root@cjk ~/2
╰─➤ ls *a
zsh: no matches found: *a
╭─root@cjk ~/2
╰─➤ ls *a*
1abc 1abcde 2abc 2abcde 3abc 3abcde 4abc 4abcde 5abc 5abcde
╭─root@cjk ~/2
╰─➤ ls ?a??
1abc 2abc 3abc 4abc 5abc
╭─root@cjk ~/2
╰─➤ ls [1..9]abc
1abc
╭─root@cjk ~/2
╰─➤ ls [1-9]abc
1abc 2abc 3abc 4abc 5abc
╭─root@cjk ~/2
╰─➤ ls 1ab[cde]
1abc

5.三种引号

作用:

  • 单引号(''):转义其中所有的变量为单纯的字符串;
  • 双引号(""):对其中变量进行解释处理;
  • 反引号(``):把其中的命令执行后返回结果;
╭─root@cjk ~/2
╰─➤ fda=cjk
╭─root@cjk ~/2
╰─➤ echo 'hello $fda' #不解释
hello $fda
╭─root@cjk ~/2
╰─➤ echo "hello $fda" #解释
hello cjk
╭─root@cjk ~/2
╰─➤ name=`ls /root` #执行命令
╭─root@cjk ~/2
╰─➤ echo $name
2
anaconda-ks.cfg
initial-setup-ks.cfg

6.软连接

【软链接相当于快捷方式,硬链接相当于复制粘贴】

╭─root@cjk ~/2
╰─➤ ln -s 1 ruan1 #为源文件“1”创建软连接“ruan1” ln -s
╭─root@cjk ~/2
╰─➤ ls
1 ruan1
╭─root@cjk ~/2
╰─➤ echo "hello" >> ruan1 #写入内容进软连接
╭─root@cjk ~/2
╰─➤ cat 1
hello #源文件内容同步
╭─root@cjk ~/2
╰─➤ rm 1 #删除源文件
╭─root@cjk ~/2
╰─➤ cat ruan1
cat: ruan1: 没有那个文件或目录
╭─root@cjk ~/2
╰─➤ ls
ruan1 ---->特殊显示(变背景)说明源文件已被删除的软连接
╭─root@cjk ~/2
╰─➤ touch 1 #创建一个同名源文件
╭─root@cjk ~/2
╰─➤ cat ruan1 #自动连接并清空原内容
╭─root@cjk ~/2
╰─➤

7.硬链接

【软链接相当于快捷方式,硬链接相当于复制粘贴】

╭─root@cjk ~/2
╰─➤ ln 2 ying2 #为源文件“2”创建硬链接“ying2”
╭─root@cjk ~/2
╰─➤ ls
1 2 ruan1 ying2
╭─root@cjk ~/2
╰─➤ echo "good" >>ying2 #写入内容进硬链接
╭─root@cjk ~/2
╰─➤ cat 2
good #源文件同步
╭─root@cjk ~/2
╰─➤ rm 2 #删除源文件
╭─root@cjk ~/2
╰─➤ cat ying2
good #硬链接无影响

8.根“/”

一切从根“/”起

Linux系统中常见的目录名称以及相应内容:

目录名称 应放置文件的内容
/boot 开机所需文件—内核、开机菜单以及所需配置文件等
/dev 以文件形式存放任何设备与接口
/etc 配置文件
/home 用户主目录
/bin 存放单用户模式下还可以操作的命令
/lib 开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数
/sbin 开机过程中需要的命令
/media 用于挂载设备文件的目录
/opt 放置第三方的软件
/root 系统管理员的家目录
/srv 一些网络服务的数据文件目录
/tmp 任何人均可使用的“共享”临时目录
/proc 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等
/usr/local 用户自行安装的软件
/usr/sbin Linux系统开机时不会使用到的软件/命令/脚本
/usr/share 帮助与说明文件,也可放置共享文件
/var 主要存放经常变化的文件,如日志
/lost+found 当文件系统发生错误时,将一些丢失的文件片段存放在这里

proc 文件系统可以被用于收集有用的关于系统和运行中的内核的信息。存放在内存中,下面是一些重要的文件:

  • /proc/cpuinfo - CPU 的信息(型号, 家族, 缓存大小等)
  • /proc/meminfo - 物理内存、交换空间等的信息
  • /proc/mounts - 已加载的文件系统的列表
  • /proc/devices - 可用设备的列表
  • /proc/filesystems - 被支持的文件系统
  • /proc/modules - 已加载的模块
  • /proc/version - 内核版本
  • /proc/cmdline - 系统启动时输入的内核命令行参数

linux自定义欢迎页面文件

/etc/motd 直接vi编辑器编辑即可

推荐趣味欢迎界面:https://www.jianshu.com/p/260de66bad2d


9.绝对路径vs相对路径

  • 在Linux系统中另外还有一个重要的概念—路径。
  • 路径指的是如何定位到某个文件,分为绝对路径与相对路径。
  • 绝对路径指的是从根目录(/)开始写起的文件或目录名称
  • 相对路径则指的是相对于当前路径的写法。

linux基础进阶命令详解(输出重定向(2>&1,1>&2,&>file)、输入重定向、管道符、通配符、三种引号、软连接、硬链接、根“/”、绝对路径vs相对路径)的更多相关文章

  1. 【转帖】Linux定时任务Crontab命令详解

    Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...

  2. [转帖]Linux:cut命令详解

    Linux:cut命令详解 https://www.cnblogs.com/Spiro-K/p/6361646.html cut -f cut -f -d cut -c1- 这三个命令好像最常见, 记 ...

  3. Linux主要shell命令详解(上)

    [摘自网络] kill -9 -1即实现用kill命令退出系统 Linux主要shell命令详解 [上篇] shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的 ...

  4. Linux定时任务Crontab命令详解_转

    转自:Linux定时任务Crontab命令详解 (部分修改) linux 定时系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服 ...

  5. linux下tar命令详解

     linux下tar命令详解    tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...

  6. Linux 之Cut命令详解

    摘自:http://blog.csdn.net/zsf8701/article/details/7718680 Linux 之Cut命令详解 cut是一个选取命令,就是将一段数据经过分析,取出我们想要 ...

  7. Linux 系统性能监控命令详解

    Linux 系统性能监控命令详解 CPU MEMORY IO NETWORK LINUX进程内存占用查看方法 系统负载过重时往往会引起其它子系统的问题,比如:->大量的读入内存的IO请求(pag ...

  8. 以二进制的形式查看文件 Linux之od命令详解

    od命令 以二进制的形式查看文件 od -t x1 /usr/local/FT/config/hsm_create.utf8.sql ef bb bf 4c 5f 0d 0a 5f 4e 4e 4f ...

  9. 转 linux下cat命令详解

    linux下cat命令详解 http://www.cnblogs.com/perfy/archive/2012/07/23/2605550.html 简略版: cat主要有三大功能:1.一次显示整个文 ...

随机推荐

  1. 聊一聊这个总下载量3603w的xss库,是如何工作的?

    上篇文章这一次,彻底理解XSS攻击讲解了XSS攻击的类型和预防方式,本篇文章我们来看这个36039K的XSS-NPM库(你没有看错就是3603W次, 36039K次,36,039,651次,数据来自h ...

  2. springboot源码解析-管中窥豹系列之项目类型(二)

    一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot ...

  3. CentOS 7 网卡注释

    TYPE=Ethernet # 网络类型为:EthernetPROXY_METHOD=none # 代理方式:关闭状态BROWSER_ONLY=no # 只是浏览器:否BOOTPROTO=static ...

  4. NOIP初赛篇——04计算机软件系统

    计算机软件是指计算机系统中的程序及其文档,也是用户与硬件之间的接口,用户主要通过软件与计算机进行交流,软件是计算机的灵魂.没有安装软件的计算机称为"裸机",无法完成任何工作.一般软 ...

  5. JavaScript 获得当前日期+时间

    //直接从项目中copy出来的,亲测可用.function getTodayTime(){ var date = new Date(); var seperator1 = "-"; ...

  6. 【Java基础】数组和算法

    数组和算法 查找算法 线性查找 ... 二分查找 二分查找要求数据结构是有序的. package com.parzulpan.java.ch03; /** * @Author : parzulpan ...

  7. DTCC 2020 | 阿里云李飞飞:云原生分布式数据库与数据仓库系统点亮数据上云之路

    简介: 数据库将面临怎样的变革?云原生数据库与数据仓库有哪些独特优势?在日前的 DTCC 2020大会上,阿里巴巴集团副总裁.阿里云数据库产品事业部总裁.ACM杰出科学家李飞飞就<云原生分布式数 ...

  8. 安装SVN和汉化包及基本使用

    官网下载程序 和 下载汉化包. https://tortoisesvn.net/   注意SVN汉化包版本需要和SVN版本一致,否则是无效的. 一.下载 1.进入官网,点击downloads 2.点击 ...

  9. Head First 设计模式 —— 14. 复合 (Compound) 模式

    复合模式 在一个解决方案中结合两个或多个模式,以解决一般或重复发生的问题. P500 思考题 public interface Quackable { public void quack(); } p ...

  10. VBA实现相同行合并

    帮人捣鼓了个VBA代码用来实现多行合并,具体需求为:列2/列3/列4 相同的情况下,则对应的行合并为一行,且列1用空格隔开,列5则相加: (对大多数办公室职员,VBA还算是提高效率的一个利器吧) 最终 ...