部分命令释义

2022-01-31  本文已影响0人  凌乱_8b06

bash 快捷键

Ctrl+ L 相当于clear

    +a 跳转至命令首部

    +e 跳转至命令结尾处

    +c  取消命令的执行

    +u  删除命令首至光标出的所有内容

    +k  删除光标所处至命令结尾的所有内容

-------------------------------------------------------------------------------

bash 的I/O重定向 及管道

程序:指令+数据结构

  读入数据:input

    输出数据:Output

打开的文件都有一个fd:file descriptor (文件描述符)

标准输入keyborad,0

标准输出:monitor ,1

标准错误输出: monitor,2

------------------------------------------------------------------------------

I/O 重定向: 改变标准位置

输出重定向: 命令 >新位置  命令>> 新位置

    COMMADN> NEW_POS CONMMADN>> NEW_POS

>覆盖重定向 目标中的原有内容会被消除

>> :追加重定向 新内容会追加至目标文件尾部

#set -C:禁止将内容覆盖已有文件中

强制覆盖;>|

#set +C

    2>  :覆盖重定向错误输出数据流

    2>>追加 重定向错误输出数据流

标准输出和错误输出各自定向至不同位置

COMMAND  > /path/to/file.out 2> /path/to/prrpr.out

合并标准输出和错误输出为同一个数据流,进行重定向

    &/:覆盖重定向

    &>>追加重定向

COMMADC > /path/to/file.out 2>&1

COMMADC >> /path/to/file.out 2>>&1

输入重定向,<

tr  删除或者转换字符

tr [OPTION] ..  SET1 [SET2]

  -d  删除  指定字符

HERE Docoumentation:<<

#cat << EOF

输入的数据以EOF结尾会显示出来

#cat > /path/tp/som << EOf

输入的数据,以EOF结尾,追加至/path/tp/som 中不会显示

---------------------------------------------------------------------------

管道

命令1|命令2|.....

echo "$PATH"  | tr 'a-z'  'A-Z' 显示的路径字符以大写显示出来

echo "$PATH"  | tr 'a-z'  'A-Z' | tr -d 'u ' 并删除u的字符

echo "$PATH"  | tr 'a-z'  'A-Z' | tee /tmp/tee.out

显示的路径信息存储于/tee/tee.out

tee  路径文件

#tee  /tmp/tee.out  输入数据显示在屏幕中,并存储至路径文件中

www.jjj

www.jjj                            (等于创建一个文件并写入数据)

juu

juu

...j

...j

#cat /tmp/tee.out  查看

www.jjj

juu

...j

练习

讲/etc/passwd 文件中的前5行内容转为大写保存至/tep/passwd.out

head -n 5 /etc/passwd |tr 'a-z' 'A-Z' | /tep/passwd.out

将登录至前系统上的用户信息中的后3位信息转换为大写后保存至/tmp/who.out

who | tail -n 3 | tr'a-z' 'A-Z'> /tmp/who.out

显示登录信息

文本处理工具:wc cut sort uniq

wc [OPTION].. [FILE]..

-l line      显示行数

-w words      显示 单词数

-c character  显示字节数

#wc /etc/passwd

34 53 1615 /etc/pssswd

cut

cut /etc/passwd

-d 指明分隔符

-f #

  精确的第几个字段

  #,#[,#]离散字段的多个字段  如1.2.6

  #-# 连续的多个字段

--output-delimiter=STRING

sort

-f 忽略字符大小写

-r reverse 逆序排序

-t DELIMITER 字段分隔符

-k #以指定字段排序

-n以数字大小写排序

-u 相同内容只显示一次 (排序后去重)

sort -t: -k 3 -n /etc/passwd

uniq

uniq  去重命令

-c显示 每行重复出现的次数

-d仅显示重复过的行

-u仅显示不重复的行

Note 连续且完全相同方为重复

练习

去除,/etc/passwd 文件的第6至第10行的各自信息 ;并将这些信息按第3字段的数字大写进行排序

最后仅显示各自的第一个字段

上一篇下一篇

猜你喜欢

热点阅读