GNU/Linux复习笔记(2)
---IO重定向:
典型的冯诺依曼计算机由5大部件组成:运算器,控制器,存储器,输入设备和输出设备。而一台计算机上可能有很多输入设备和输出设备,键盘、麦克风是输入设备,显示器、声卡是输出设备,网卡、硬盘、U盘既是输入设备又是输出设备。如此众多的输入输出设备中系统设定了默认输入设备是键盘,又称标准输入,用STDIN表示,文件描述符0;默认输出设备是显示器,又称标准输出,用STDOUT表示,文件描述符为1;默认错误输出也是显示器,用STDERR表示,文件描述符为2。虽然标准输出设备和标准错误输出设备都是显示器,但两者其实是不同的数据流。IO重定向就是将默认的输入输出重定向到另一个设备或者文件。
标准输出重定向符号:
> :覆盖输出重定向
>| :强制覆盖重定向
>>:追加覆盖重定向
set命令是bash的一条内建命令,用于更改shell属性和位置参数,具体用法可以参见help set,其中set -C用于关闭输出重定向,set +C开启输出重定向
示例:
ls /var > /tmp/var1.txt 本来ls /var 的输出结果会打印在屏幕上,但此时被重定向到/tmp/var1.txt文件中了
ls /varr > /tmp/var2.txt bash提示 ls: 无法访问'/varr': 没有那个文件或目录 因为ls /varr是一个错误输出,不能使用标准输出重定向,若要重定向应该使用标准错误重定向,
ls .varr 2> /tmp/var2.txt
标准错误输出重定向符:
2>:覆盖错误输出重定向
2>>:追加错误输出重定向
有没有既能重定向标准输出又重定向标准错误输出呢?当然是有的
&> 表示重定向标准输出或者标准错误输出
输入重定向:
< :输入重定向
wc -l < /etc/passwd 计算passwd文件的行数
<< :此处生成文档,用这种方式可以在脚本中生成文档,例如:
cat >> /tmp/myfile.txt << EOF 将用户从终端中输入的内容重定向到/tmp/myfile.txt文件中,直到用户输入EOF才结束输入
---管道:
COMMAND1 | COMMAND2 | COMMAND3
管道的含义是将前一个命令的输出作为后一个命令的输入
ls /var | tr 'a-z' 'A-Z'
输出都被替换成了大写
BACKUPS
CACHE
LIB
LOCAL
LOCK
LOG
MAIL
OPT
RUN
SPOOL
TMP
WWW
举几个例子吧:
1、求/etc/passwd文件的行数
wc -l /etc/passwd | awk '{print $1}'
wc -l /etc/passwd | cut -d" " -f1 这里单引号或双引号都行
2、取出当前计算机上所有用户的默认shell,要求每种shell只显示一次,并且按顺序输出
cat /etc/passwd | awk -F: '{print $7}' | sort -u
cat /etc/passwd | cut -d: -f7 | sort -u
3、显示var/log目录下每个文件的类型
sudo file /var/log/*
4、取出/etc/passwd文件的第6行
cat /etc/passwd | head -6 | tail -1
5、取出/etc/passwd文件中第9个用户的用户名和默认shell,显示到屏幕上并保存至/tmp/users文件中
cat /etc/passwd | head -9 | tail -1 | awk -F: '{print $1,$7}' | tee /tmp/users
cat /etc/passwd | head -9 | tail -1 | cut -d: -f1,7
GNU/Linux复习笔记(2)的更多相关文章
- GNU/Linux复习笔记(1)
第一次接触GNU/Linux还是大四上学期实习的那两个月在window里装了 个虚拟机玩红帽的系统,那段时间稍微学了一点命令就不玩了.后来大四下学期认识了王总,装了双系统,那段时间又对linux有了进 ...
- Linux复习笔记-001-进程的管理
1.什么是进程? 进程是已经启动的可执行的程序运行实例. 程序是二进制文件,静态 ./bin/date/ /usr/sbin/ 进程:是程序运行的过程 2.Linux为1的进程? centos5或6为 ...
- linux 学习笔记 GNU工具链简介
我们通常无法直接通过Linux内核,而需要借助Linux内核之上的GUN工具链来进行 文件处理 文本操作 进程管理 等操作. GNU/Linux shell为用户提供了 启动程序 管理文件系统上的文件 ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
- Linux 读书笔记 一
一.Linux 简介 实验介绍 本节主要介绍 Linux 的历史,Linux 与 Windows 的区别等入门知识.如果你已经有过充分的了解,可以跳过本节,直接进入下一个实验. 一.Linux 为何物 ...
- 20160127 linux 学习笔记
Linux学习笔记第一天 Linux基本介绍 Linux的起源和发展: 简单说linux是一种操作系统,可以安装在包括服务器.个人电脑,乃至PDA.手机.打印机等各类设备中. 起源: Linux起源于 ...
- Linux学习笔记——如何使用共享库交叉编译
0.前言 在较为复杂的项目中会利用到交叉编译得到的共享库(*.so文件).在这样的情况下便会产生下面疑问,比如: [1]交叉编译时的共享库是否须要放置于目标板中,假设须要放置在哪个文件 ...
- Linux学习笔记——怎样在交叉编译时使用共享库
0.前言 在较为复杂的项目中会利用到交叉编译得到的共享库(*.so文件).在这样的情况下便会产生下面疑问,比如: [1]交叉编译时的共享库是否须要放置于目标板中,假设须要放置在哪个文件 ...
- Linux学习笔记-林耐斯Notes-Linux就该这么学
Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...
随机推荐
- 获取Ip地址
public static string GetClientIPv4Address() { string ipv4 = String.Empty; foreach (IPAddress ip in D ...
- APP邂逅即时通讯云,让你的手机APP聊起来
#推荐活动# #线下沙龙# 明天下午在IC咖啡 —— <APP邂逅即时通讯云,让你的手机APP聊起来>, http://url.cn/Y8sYo5
- 初识Linux-3
1,find 目录 条件 [处理命令]-默认是print操作 2,find d6 -name "*cpp" -exec rm{} ";"(或者‘;’或者/;都是 ...
- spring logback 配置
<appender name="DubboInfo" class="ch.qos.logback.core.rolling.RollingFileAppender& ...
- chrome浏览器定位页面元素对应代码查找资源
F12 左边箭头或ctrl shift c 点击相应元素即可定位代码 应用:定位flash游戏代码后,鼠标移至带下划线链接处右键copy link
- documentfragment
JS临时容器,父类是null,存储实际是把存储对象所有子类存储在里面,localStorage,浏览器支持情况下,保存本地变量
- Ajax在html页面获取后台XML文件资源
一.准备工具 站长吧ASP调试工具.exe,这个工具是为了快速建立asp环境,方便调试. 二.建立文件夹 1.建立网站根文件夹,名字随意,将站长吧ASP调试工具.exe复制到根文件夹: 2.建立xml ...
- js中二维数组的初始化
在编程过程中,很多情况下(涉及到坐标.层级操作)我们都会用到二维数组,下面介绍介绍几种二维数组初始化的方法: 方法一.直接定义并且初始化,这种情况适用于数量和值已知的数组: var arr=[[&qu ...
- 浅入浅出EmguCv(三)EmguCv打开指定视频
打开视频的思路跟打开图片的思路是一样的,只不过视频是由一帧帧图片组成,因此,打开视频的处理程序有一个连续的获取图片并逐帧显示的处理过程.GUI同<浅入浅出EmguCv(二)EmguCv打开指定图 ...
- JAXB最佳实践
JAXB主要用来实现对象和XML之间的序列化和反序列化. 本文主要总结JAXB基本使用方法和注意事项! 通过下文的XML示例内容进行JAXB的简单实践 <?xml version="1 ...