linux基础进阶命令详解(输出重定向、输入重定向、管道符、通配符、三种引号、软链接、硬连接、根“/”、绝对路径vs相对路径)

本章命令(共9个):linux

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.输入重定向

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


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 - 系统启动时输入的内核命令行参数

9.绝对路径vs相对路径

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

相关文章
相关标签/搜索