ouzhoudijie 发表于 2018-5-25 08:04:15

Linux学习笔记4.4

  运算器、控制器:CPU
  存储器:RAM
  输入/输入设备
  

  程序:数据+指令
  

  控制器:指令

  运算器:
  存储器:
  

  地址总线:内存寻址
  数据总线:传输数据
  控制总线:控制指令
  

  寄存器:CPU暂时存储器
  

  I/O:硬盘
  

  INPUT设备:
  OUTPUT设备:
  

  系统设定
  默认输入设备:标准输入,STDIN,0

  默认输出设备:标准输出,STDOUT,1
  标准错误输出:STDERR,2

  

  标准输入:键盘
  标准输出和错误输出:显示器
  

  I/O重定向:
  

  Linux:
  >: 覆盖输出
  >>: 追加输出
  

  bash的内建命令:set
  set -C 禁止对已存在文件使用覆盖重定向
  强制覆盖输出,则使用>|
  set +C 关闭上述功能
  

  2>: 重定向错误输出
  2>>: 追加方式重定向错误输出
  

  ls /varr > /tmp/var2.out 2> /tmp/var2.out
  

  &>: 重定向标准输出或错误输出至同一个文件
  &>>: 追加方式重定向标准输出或错误输出至同一个文件
  

  <: 输入重定向
  <<: 在此处生成文档 Here Document
  eg:cat << END(文档结束符/EOF)
  tr 'a-z' 'A-Z' < /tmp/abc
  

  cat >> /tmp/myfile.txt << EOF
  

  管道:前一个命令的输出,作为后一个命令的输入
  命令1 | 命令2 |...
  eg. cat /etc/passwd | sort
  cut -d: -f3 /etc/passwd | sort -n
  ls /var | tr 'a-z' 'A-Z'
  

  tee命令:从标准输入读取数据并且发送至标准输出和文件
  echo "hello" | tee /tmp/hello.out
  

  只显示文件行数
  wc -l /etc/passwd | cut -d' ' -f1
  

  练习:
  1、统计/usr/bin/目录下的文件个数
  ls /usr/bin/ | wc -l
  2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示
  cut -d: -f7 /etc/passwd | sort -u
  3、思考:如何显示/var/log目录下每个文件的内容类型?cd /var/log    file `ls /var/log`
  ls var/log
  file /var/log/secure
  file /var/log/*
  4、取出/etc/inittab文件的第六行
  head -6 /etc/inittab | tail -1
  5、取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中
  tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users
  6、显示/etc目录下所有以pa开头的文件,并统计其个数
  ls -d /etc/pa* | wc -l

  7、不使用文本编辑器,将alias cls=clear一行内容添加至当前用户的.bashrc文件中
  echo "alias cls=clear" >> ~/.bashrc
页: [1]
查看完整版本: Linux学习笔记4.4