通配符

  • # 批注符号,这个最常用在script当中,视为说明,其后的数据均不执行

  • 转义符号,将特殊字符或通配符还原成一般符号

  • | 管道,分割两个管道命令的界定

  • ; 连续命令执行分隔符

  • ~ 用户的主文件夹

  • $ 使用变量前导符,即是变量之前需要加的变量替代值

  • & 作业控制,将命令变成背景下工作

  • ! 逻辑运算中非的意思

  • / 目录符号,路径分割的符号

  • >, >> 数据流重定向,输出导向,分别是替换和累加

  • <, << 数据流重定向,输入导向

  • ‘’ 单引号,不具有变量置换的功能

  • “” 双引号,具有变量置换功能

  • `` 中间为可以先执行的命令,也可以使用$()

  • ( ) 中间为子shell的起始与结束

  • {} 中间为命令块的结合

数据流重定向

输出

1> 以覆盖的方法将正确的数据输出到指定的文件或设备上 ll / > ~/rootfile
1>> 以累加的方式将正确的数据输出到指定的文件或设备上
2> 以覆盖的方法将错误的数据输出到指定的文件或设备上
2>> 以累加的方式将错误的数据输出到指定的文件或设备上

输入

< 示例:cat > catfile < ~/.bashrc
,将~/.bashrc文件内容复制到catfile文件中去

<< 代表结束输入的意思,示例:

cat > catfile << "eof

>one
>two
>eof //输入这个关键字,就立即结束而不需要输入

//catfile中只保存eof行前的内容`

管道命令

选取命令

cut -d'分隔符号' -f fields
-d 后面接分割字符,与-f一起使用
-f 取出第几段的意思
-c 以字符的单位取出固定字符区间

grep [-acinv] [--color=auto] '查找字符串' filename
-a 将binary文件以text文件的方式查找数据
-c 计算找到‘查找字符串’的次数
-i 忽略大小写
-n 顺便输出行号
-v 反向选择
--color=auto 可以将找到的关键字部分加上颜色显示

排序命令

sort [-fbMnrtuk] [file or stdin]
-f 忽略大小写的差异
-b 忽略最前面的空格
-M 以月份的名称来排序
-n 使用纯数字进行排序,默认是文本
-r 反向排序
-u 相同的数据仅取出一行
-t 分隔符,默认是[Tab]键分隔
-k 以哪个区间(field)来进行排序的意思

示例:/etc/passwd内容是以":"分隔的,如果以第三列来排序,则是:cat /etc/passwd | sort -t ':' -k 3

wc [-lwm]
-l 仅列出行
-w 仅列出多少字(英文单字)
-m 多少字符

双向重定向

tee [-a] file
-a 以累加的方式加入到file中

示例:ls -l / | tee -a ~/homefile | less

字符转换命令

tr [-ds] string
-d 删除信息中string字符
-s 替换掉重复的字符

示例:

cat /root/passwd | tr -d '\r' > /root/passwd.linux

//cat -A /root/passwd可以显示所有特殊按键

//r指的是dos的断行字符
//上述命令可以将dos系统的换行符号转换成linux的

paste [-d] file1 file2
将两行贴在一起,且中间以[tab]分隔
-d 后面可以接分隔字符,默认是以[tab]分隔

  • 如果file部分写成 - ,表示来自standard input的数据的意思

expand [-t] file
将[tab]按键转换成空格
-t 后面可以接数字,自定义一个tab代表多少个字符

split [-bi] file PREFIX
将一个大文件分割成几个小文件
-b 后面接欲切割成的文件的大小,可加单位,例如b, k, m
-l 以行数来进行分割

参数代换

xargs [-Open] command
-0 如果输入的stdin含有特殊字符,如 `, 等,这个参数可以将它还原成一般字符
-e 这个是eof,后面可以接一个字符串,当xargs分析到这个字符串时,就停止继续工作
-p 在执行每个命令的参数是,都会询问用户的意思
-n 后面接次数,每次command命令执行时,要使用几个参数的意思

示例可以参考man xargs


bash

登陆发表评论