linux基础知识-I/O重定向,管道

系统设定
 默认输出设备:标准输出,STDOUT, 1
 默认输入设备:标准输入, STDIN, 0
 标准错误输出:STDERR, 2
 
标准输入:键盘
标准输出和错误输出:显示器

I/O重定向:

Linux:
>: 覆盖输出

[[email protected] ~]# ll /var/ > /tmp/var.out
[[email protected] ~]# cat /tmp/var.out
total 76
drwxr-xr-x.  2 root root 4096 Jun 21  2015 account
drwxr-xr-x. 13 root root 4096 Jun 21  2015 cache
drwxr-xr-x.  2 root root 4096 Jun 21  2015 crash
drwxr-xr-x.  3 root root 4096 Jun 21  2015 db
drwxr-xr-x.  3 root root 4096 Jun 21  2015 empty
drwxr-xr-x.  2 root root 4096 Jun 28  2011 games

#
# /etc/fstab
# Created by anaconda on Sun Jun 21 02:15:00 2015
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=57d85756-7680-4c7c-9125-6ad67dae2c45 /                       ext4    defaults        1 1
UUID=2622a4b4-ddc9-47a3-aa2b-f06bc9bec085 /boot                   ext4    defaults        1 2
UUID=33d94759-fa01-4c4f-b4ac-bf3a1fe5e84f swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

>>:追加输出

2>: 重定向错误输出

[[email protected] ~]# ls /varr > /tmp/var2.out
ls: cannot access /varr: No such file or directory
[[email protected] ~]# ls /varr 2> /tmp/var2.out
[[email protected] ~]# cat /tmp/var2.out
ls: cannot access /varr: No such file or directory
[[email protected] ~]#
2>>: 追加方式

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

[[email protected] ~]# ls /var6 &> /tmp/var3.out
[[email protected] ~]# cat /tmp/var3.out
ls: cannot access /var6: No such file or directory
[[email protected] ~]# ls /var &> /tmp/var3.out
[[email protected] ~]# cat /tmp/var3.out
account
cache
crash
db
empty



输入重定向

<:输入重定向

[[email protected] ~]# tr ‘a-z‘ ‘A-Z‘ < /etc/fstab

#
# /ETC/FSTAB
# CREATED BY ANACONDA ON SUN JUN 21 02:15:00 2015
#
# ACCESSIBLE FILESYSTEMS, BY REFERENCE, ARE MAINTAINED UNDER ‘/DEV/DISK‘
# SEE MAN PAGES FSTAB(5), FINDFS(8), MOUNT(8) AND/OR BLKID(8) FOR MORE INFO
#
UUID=57D85756-7680-4C7C-9125-6AD67DAE2C45 /                       EXT4    DEFAULTS        1 1
UUID=2622A4B4-DDC9-47A3-AA2B-F06BC9BEC085 /BOOT                   EXT4    DEFAULTS        1 2
UUID=33D94759-FA01-4C4F-B4AC-BF3A1FE5E84F SWAP                    SWAP    DEFAULTS        0 0
TMPFS                   /DEV/SHM                TMPFS   DEFAULTS        0 0
DEVPTS                  /DEV/PTS                DEVPTS  GID=5,MODE=620  0 0
SYSFS                   /SYS                    SYSFS   DEFAULTS        0 0
PROC                    /PROC                   PROC    DEFAULTS        0 0
[[email protected] ~]#

<<:此处是文档

[[email protected] ~]# cat << END
> the first line
> the second line
> END
the first line
the second line
[[email protected] ~]#

从键盘中读入数据,并保存在文档中

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

[[email protected] ~]# cat >> /tmp/myfile.txt << EOF
> the first line
> the second line
> EOF
[[email protected] ~]# cat /tmp/myfile.txt
the first line
the second line
[[email protected] ~]#



管道:前一个命令的输出,作为后一个命令的输入

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

[[email protected] ~]# echo "hello,world" | tr ‘a-z‘ ‘A-Z‘
HELLO,WORLD
[[email protected] ~]#

[[email protected] ~]# echo "redhat" | passwd --stdin hive
Changing password for user hive.
passwd: all authentication tokens updated successfully.
[[email protected] ~]#

同时输出到屏幕和文件中

[[email protected] ~]# echo "hello,world" | tee /tmp/hello.out
hello,world
[[email protected] ~]# cat /tmp/hello.out
hello,world
[[email protected] ~]#

统计文件行数

[[email protected] ~]# wc -l /etc/passwd
32 /etc/passwd
[[email protected] ~]# wc -l /etc/passwd | cut -d‘ ‘ -f1
32
[[email protected] ~]#



练习:
1、统计/usr/bin/目录下的文件个数;
# ls /usr/bin | wc -l
2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;
# cut -d: -f7 /etc/passwd | sort -u
3、思考:如何显示/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 | tee /tmp/users
6、显示/etc目录下所有以pa开头的文件,并统计其个数;
# ls -d /etc/pa* | wc -l
7、不使用文本编辑器,将alias cls=clear一行内容添加至当前用户的.bashrc文件中;
# echo "alias cls=clear" >> ~/.bashrc

时间: 2024-10-26 08:37:41

linux基础知识-I/O重定向,管道的相关文章

Linux 基础知识 --&gt; I/O重定向

一.输入输出设备 1.系统默认输入设备:标准输入,STDIN,0 2.系统默认输出设备:标准输出,STDOUT,1 标准错误输出,STDERR,2 二.I/O重定向 1.输出重定向 (1)>:正确输出重定向,覆盖目标文件的所有内容 set:(此命令博大精深,此处只介绍一个简单功能) set -C:禁止对已经存在的文件使用'>' set +C:允许对已经存在的文件使用'>>' (2)>>:正确输出重定向,在目标文件的末尾追加内容 (3)2>:错误输出重定向,覆盖目标

linux基础知识的总结

例如以下内容是我对linux基础知识的总结,由于本人在初期学习linux的时候走了不少的弯路,对于基础的掌握耗费了不少的时间,所以为了后来者对linux的基础部分有个清晰的了解,特对基础知识进行了总结,由于水平有限.难免有疏忽或者不准确的地方.希望大家可以直接指出来,我会及时改正.一切为了知识的传播.^_^ ? *********************************************************************************************

(转)Linux基础知识学习

Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过修改配置文件来完成. 1.1.Linux磁盘分区 Linux可以将磁盘分为多个分区,每个分区可以被当做一个独立的磁盘使用,磁盘类型:主分区.扩展分区.逻辑分区. 主分区标记为活动,用于操作系统的引导,一块磁盘最多划分4个主分区,主分区存放操作系统的文件或用户数据. 扩展分区:主分区小于4个时才可以划

linux基础知识复习

@(tigerfive)[linux,基础知识,复习笔记] linux基础复习(一) 今天只整理框架,具体内容之后详细整理吧 文件管理 文件基本操作>创建文件和目录>拷贝文件和目录>剪切文件和目录>删除文件和目录>查看文件和目录>查看文件属性>查看文件内容>过滤文件内容>编辑文件内容>统配符使用>命令别名 用户和组管理 用户基本操作>添加账户>设置密码>删除账户>修改密码组基本管理>创建组>查看组>

[转帖]linux基础知识大纲

linux基础知识大纲 https://blog.csdn.net/CSDN___LYY/article/details/80810403 1.Linux操作系统概述Linux操作系统的发展过程.创始人.GNU计划等源于UNIX:得益于GNU计划:借助internet得以壮大:推动了自由软件.开源软件的发展1991年底,Limus Torvalds 公开了Linux 内核源码0.02 版GNU,1984年由RMS(Richard Mathew Stallman)发起,目的是开发一整套与UNIX兼

linux基础知识第一节

用户接口: 是一种独特的应用程序,能够为用户提供启动其它应用程序的的机制 cli:命令提示符,用户输入要执行的命令即可, shell: 外壳 sh ,csh ,ksh ,   bash, zsh , tcsh gui: 通过点击操作来启动应用程序 gnome,  mainframe  大型机 多用户操作系统    多终端   终端:设备,显示器,鼠标,键盘 虚拟终端 表示:/dev/tty# ctrl-alt-f(1-6) 物理终端(控制终端)console 串行终端 伪终端 /dev/pts#

Linux基础知识入门

[Linux基础]Linux基础知识入门及常见命令. 前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1:192.168.40.11Linux ip:192.168.40.128 2,Linux是一个操作系统, 与windows的区别:Linux:图形化界面简单,性能很快,在企业中当做服务器来使用.Windows:图形化界面很炫,性能相对差,大众用户.windows的服务器: windows2003,win

1、linux基础知识

第一天linux基础知识 1:linux操作系统组成 linux内核+GNU工具=完整的类UNIX系统 GNU工具(GNU软件是通过GNU项目发布的软件,它是一种根据GNU软件包的README手册以及自由软件指南开发的软件,大多数GNU软件是免费分发的,但不是所有的都这样,然而,所有的GNU软件必须是自由软件.) 2:linux发行版  slackware debian  reehad  Gentoo等 3:linux哲学思想 一切皆文件(硬件也已文件的形式展现在操作系统中) 小型,单一用途程序

Linux基础知识题解答(五)

题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正. (1)155729 -rw-r--r--.  1 root root   35 Oct 28 2011  oldboy 请解析上面的每一列内容 文件inode号,文件访问权限,硬链接数,文件所属用户,文件所属组,文件最后修改时间,文件名 (2)描述下硬链接和软连接的区别 1.硬链接原文件/链接文件共用