linux学习日记(2)

时间:2021-08-31

  ====数据流重导向====

  1,标准输入(stdin):代码为0,使用<或者<<

  2,标准输出(stdout):代号为1,使用>或者>>

  3,标准错误输出(stderr):代号为2,使用2>或者2>>

  >表示清空后添加,>>表示累加添加,append的意思。了解?o(╯□╰)o

  <表示原本由键盘输入的改由文件输入,而<<则表示遇到后面的字符串的时候结束输入。

  /dev/null:超级黑洞,它会吃掉任何导向到它的数据流,很强大的,不是麽。

  正确和错误输出到同一个文件的语法格式:

  find /home -name .bashrc > list 2>&1

  ====管道命令====

  管道命令需要注意的是:

  1,管道命令仅能处理standard output,对于stderr会忽略掉

  2,管道命令必须要能够接受来自前一个命令的数据成为standard input继续处理才行

  ====选取命令cut和grep====

  # cut -d ‘分割字符’ -f fields <== 用于分割字符

  # cut -c 字符范围 <== 用于排列整齐的信息

  -d:后面接分割字符,与-f一起使用

  -f:依据-d的分割字符将一段信息切割成为数段,用-f取出第几段的意思(-f 3,5)

  -c:以字符的单位取出固定字符区间 (-c 12-34)

  grep以行为单位分析信息,如果该行符合条件,则把该行提出出来

  # grep [-acinv] [--color=auto] ’查找的字符串’ filename

  -a:将binary文件以text文件方式查找

  -c:计算找到’查找的字符串’的次数

  -i:忽略大小写

  -n:顺便输出行号

  -v:反向选择,即显示出没有 ‘字符串’内容的那些行

  –color=auto : 关键字加上颜色

  ====排序命令sort,wc,uniq====

  # sort [-fbMnrtuk] [file or stdin]

  -f:忽略大小写

  -b:忽略最前面的空格

  -M:以月份的名字排序

  -n:使用数字排序(默认是文字来排序)

  -r:反向排序

  -u:就是uniq,相同的数据中,仅出现一行代表

  -t:分隔符,默认以TAB分割

  -k:以那个区间进行排序

  # cat /etc/passwd | sort -t “:” -k 3 <== 以第三列进行排序

  # last | cut -d ‘ ‘ -f 1 | sort

  # uniq [-ic] <==排序完成后将重复的数据仅列出一个显示

  -i:忽略大小写

  -c:进行计数

  #last | cut -d ‘ ‘ -f1 | sort | uniq -ic

  # wc [-lwm] <== 行数,字数,字符数统计命令

  -l:仅列出行

  -w:仅列出多少字(英文单词word)

  -m:多少字符(char)

  # cat /etc/man.config | wc

  ====双向重定向tee====

  # tee [-a] file

  -a:以累加(append)方式,将数据加入到file中

  # ls -l /home | tee -a ~/homefile | more

  ====字符转换命令:tr,col,join,paste,expand====

  # tr [-ds] SET1 …

  -d:删除信息中的SET1这个字符串;

  -s:替换掉重复的字符

  # last | tr -s ‘[a-z]‘ ‘[A-Z]‘

  # cat /etc/passwd | tr -d “:”

  # col [-xb]

  -x:将tab键转换成对等的空格键

  -b:如果在文字内有反斜杠(),仅保留反斜杠最后接的字符

  # join [-ti12] file1 file2

  -t:join默认以空格符分割数据,并且对比第一个字段的数据,如果相同,合并到一行,且第一个字段放在第一个

  -i:忽略大小写

  -1:代表第一个文件要用那个字段来分析

  -2:代表第二个文件要用哪个字段来分析

  # join -t “:” -1 4 /etc/passwd -2 3 /etc/group

  # paste [-d] file1 file2 …

  -d:后面可以接分割字符,默认以tab来分割

  -:如果-file写成-,则表示来自stdin的数据

  # expand [-t] file

  -t :后面接数字,表示一个tab键可以转换成几个空格键

  # grep ‘^MANPATH’ /etc/man.config | head -n 3 | expand -t 6 – | cat -A

  ====切割命令split====

  # split [-bl] -file PREFIX

  -b:后面接欲切割成的文件的大小,可以加单位,如b,k,m,g等

  -l:以行数进行切割

  PREFIX:前导符,可作为切割文件的前导文字

  # split -b 300k /etc/termcap tercap

  ====参数代换xargs====

  # xargs [-0epn] command

  -0:如果输入的stdin含有特殊字符,比如`,,空格键等,这个参数可以将其还原成一般字符

  -e:EOF,后面可以接一个字符串,当xargs遇到这个字符串的时候,就停止继续工作

  -p:每次执行命令的参数时,询问用户

  -n:后面接次数,每次command执行时,要使用几个参数的意思

  # cut -d ‘:’ -f1 /etc/passwd | xargs -p -n 5 finger

  使用xargs的原因是:很多命令其实不支持管道命令,因此我们可以通过xargs来提供该命令引用stdin之用。

  # find /sbin -perm +7000 | xargs ls -l <== 找出/sbin下具有特殊权限的文件名

  

【linux学习日记范文】相关文章:

1.学习Linux的心得3篇

2.Linux学习总结报告

3.Linux的规划与安装基础学习篇课后习题答案

4.《Linux》学习后划重点用读书笔记

5.linux课程设计论文

6.常学习日记

7.关于ACCESS学习日记

8.学习画画的日记-小学日记

上一篇:拜年日记400字 下一篇:常学习日记