Linux基础入门及系统管理01-Linux文件系统管理及IO重定向13


一、内容回顾

   1、计算机的五大部件:

       运算器、控制器:CPU

       存储器:RAM

       输入设备、输出设备;

   2、程序包含:指令和数据;

   3、地址总线作用:内存寻址;

   4、数据总线作用:传输数据;

   5、控制总线作用:控制指令;

   6、寄存器:CPU暂时存储器:如:计算数字加减时,在被加数到来前加数就被放在寄存器里面;

       如:计算数字加减时,在被加数到来前加数就被放在寄存器里面等待;

   7、计算机的核心部件:

       运算器、控制器和存储器;

   8、I/O(输入/输出设备):

       计算机RAM中的数据易失,因此要保存数据必须使用外置存储器;

       计算机的核心部件和外置设备相交互的时候就需要使用到I/O设备;

       系统通过I/O设备,来获取输入输出数据。

   9、系统设定

       默认输出设备:标准输出,STDOUT,描述符:1,如:显示器;

       默认输入设备:标准输入,STDIN,描述符:0,如:键盘设备;

       标准错误输出:STDERR,描述符:2,如:显示器;

二、Linux的I/O输出重定向

   1、>:覆盖输出;

       这样覆盖很容易造成已经存在的很重要的文件被覆盖掉,所以可以通过set命令开启和关闭Linux系统的一些功能;

       如:set -C,禁止对已存在文件使用覆盖重定向;

       如果强制覆盖输出,则使用>|;

       set +C:关闭上述功能;

   2、>>:追加输出,如:cat /etc/inittab >> /tmp/test.out;


   3、2>:重定向错误输出;

   4、2>>:追加错误输出;


   5、重定向标准和错误输出,如:ls /var > /tmp/var.out 2> /tmp.err.out;

   6、&>:重定向标准输出或错误输出至同一个文件,如:ls /var &> /tmp/var.out,ls /varerr &> /tmp/var.out;

三、Linux的I/O输入重定向

   1、<:输入重定向,如:cat < /etc/fstab;tr 'a-z' 'A-Z' < /etc/issue;

       <<:Hero Document,如:cat << END,结束也输入END;

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

四、管道符

   1、命令1 | 命令2:命令1的输出当作命令2的输入,如:echo “hello world.” | tr 'a-z' 'A-Z';

   2、tee:既能输出内容到屏幕又能把输出内容指定输入到文件中;

       如:echo “Hello,World!” | tee /tmp/hello.txt;

   3、如何只显示文件的行号;

       如:wc -l /etc/passwd | cut -d' ' -f1;

   4、如何显示目录的行号:

       如:ls /etc | head -1 | cut -d' ' -f2;

练习:

   1、统计/usr/bin/目录下的文件个数;

       # ls /usr/bin | wc -l;

   2、取出当前系统上所有用户的shell,要求:每种shell只显示一次,并且按顺序显示;

       # cut -d: -f7 /etc/passwd | sort -u;

   3、思考:如何显示/var/log目录下每个文件的内容类型?

       # file /var/log/*或者[root@localhost log]# file `ls /var/log`;

   4、取出/etc/inittab文件的第6行;

       # head -6 /etc/inittab | tail -1

   5、取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中;

       # tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tree /tmp/users

   6、显示/etc目录下所有以pa开头的文件,并统计其个数;

       # ls -d /etc/pa* | wc -l

   7、不使用文本编辑器,将alias cls=clear一行内容添加至当前用户的.bashrc文件中。

       # echo "alias cls=clear" >> ./.bashrc

Linux哲学思想:组合小命令,完成复杂任务。


你可能感兴趣的:(>>,I/O,tee,<,&>,2>)