Linux学习笔记(5)(标准输入输出)
指令:基本的计算机操作,例如:加法、减法等
程序:指令的集合,一般有执行属性。看作:菜谱
进程:是程序的实例,是程序执行的过程。看作:按照菜谱进行做菜的过程
查看进程:
ps -ef
cat的工作原理:接受输入,然后完整输出。输入什么内容,cat就会输出什么内容。
输入、输出:
程序的默认输入设备,叫标准输入。 stdin 键盘 0程序的默认输出设备,叫标准输出。 stdout 监视器 1程序的默认错误输出设备,叫标准错误输出。stderr 监视器 2
输出重定向 >、>>、>|:
把输入内容输出到其他地方。>:COMMOND > FILE 覆盖重定向例如: ls / > /tmp/ls.txt默认覆盖掉>指定文件的内容,可以使用 set -C 关闭覆盖功能。set +C打开覆盖功能。>>:COMMOND >> FILE 追加重定向>|:COMMOND >| FILE 强势覆盖重定向(忽略set -C设置)
输入重定向:
<:COMMOND < FILE
例如:tr ‘a-z’ ‘A-Z’ < /etc/passwd
<<:heredoc<<EOFAAAAAAAAACCCCCCCEOF
错误输出重定向:
COMMOND 2> FILE
COMMOND 2>> FILE
正确/错误输出重定向:
COMMOND > FILE 2> FILE2 正确的信息输出到FILE中,错误的输出到FILE2中
COMMOND > FILE 2> &1COMMOND &> FILE COMMOND >& FILE
管道:
把第一个命令的输出当做第二个命令的输入,管道值传递正确的信息。
连接左右两个命令,将左侧的命令的标准输出,作为右侧命令的标准输入COMMOND | COMMOND2 | COMMOND3command >file: 标准输出重定向到一个文件,错误仍然输出屏幕
command >>file: 标准输出重定向到一个文件(追加)
command 1>file1: 标准输出重定向到一个文件
command 2>>file2:标准错误重定向到一个文件(追加)
command 1>file 2>&1:标准输出和标准错误一起重定向到一个文件
command>>file 2>&1: 标准输出和标准错误一起重定向到一个文件(追加)
echo命令介绍
功能说明:显示文字。
语 法:echo [-ne][字符串] / echo [–help][–version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参 数:
-n 不要在最后自动换行
-e 打开反斜杠ESC转义。若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: \a 发出警告声; \b 删除前一个字符; \c 最后不加上换行符号; \f 换行但光标仍旧停留在原来的位置; \n 换行且光标移至行首; \r 光标移至行首,但不换行; \t 插入tab; \v 与\f相同; \ 插入\字符; \nnn 插入nnn(八进制)所代表的ASCII字符; -E 取消反斜杠ESC转义 (默认) -help 显示帮助 -version 显示版本信息
xargs命令介绍
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,下面是一些如何有效使用xargs 的实用例子。
当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题
find ~ -name ‘*.log' -print0 | xargs -0 rm -f
获得/etc/ 下所有*.conf 结尾的文件列表,有几种不同的方法能得到相同的结果,下面的例子仅仅是示范怎么实用xargs ,在这个例子中实用 xargs将find 命令的输出传递给ls -l
find /etc -name "*.conf" | xargs ls –l
假如你有一个文件包含了很多你希望下载的URL, 你能够使用xargs 下载所有链接
cat url-list.txt | xargs wget –c
查找所有的jpg 文件,并且压缩它
find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
拷贝所有的图片文件到一个外部的硬盘驱动
ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory
grep
数据提取程序
用途:在文件中查找并显示包含指定字符串的行
格式:grep [选项]... 字符 目标文件
-i:查找时忽略大小写
-v:反转查找,输出与模式不相符的行
-w:按整字查找
-n:显示符合模式要求的行号
-r:递归搜索所有文件
模式
^….:以什么开头
…..$:以什么结尾
# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
或
# cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
wc(字数统计)命令
格式:wc [选项]… 目标文件…
-l:统计行数
-w:统计字数 (前后都是空白的一组字符)
-c:统计字符数(可见和不可见的字符)
seq
seq [选项]... 尾数
seq [选项]... 首数 尾数
seq [选项]... 首数 增量 尾数
选项
-f, --format=格式 使用printf 样式的浮点格式
-s, --separator=字符串 使用指定字符串分隔数字(默认使用:\n)
-w, --equal-width 在列前添加0 使得宽度相同
#seq -f"%3g" 9 11
9
10
11
%后面指定数字的位数 默认是%g,%3g那么数字位数不足部分是空格。
seq -s"`echo -e "/t"`" 9 11
tr命令
tr(选项)(参数)-c或——complerment:取代所有不属于第一字符集的字符;
-d或——delete:删除所有属于第一字符集的字符; -
s或--squeeze-repeats:把连续重复的字符以单独一个字符表示;
-t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。
将输入字符由大写转换为小写:
echo "HELLO WORLD" | tr 'A-Z' 'a-z'
hello world
使用tr删除字符:
echo "hello 123 world 456" | tr -d '0-9‘
hello world
cat text | tr ‘\t’ ’ ‘
tr SET1 SET2
用SET2中的字符替换掉SET1中同一位置的字符
使用tr删除字符
tr -d SET
删除与SET相同的字符
echo 123456 | tr -d 345 tr -d '[0-9]’ < /etc/hosts
echo “Tom, I hear a pig!” | tr -d '[a-z]'
使用tr压缩字符
tr -s SET
将连续相同的字符压缩成一个字符
echo 112233444555666 | tr -s 345r -s SET1 SET2
先替换为SET2再压缩
echo 112233444555666 | tr -s 345 abc
echo 112233444555666 | tr 345 abc | tr -s abc
sort命令
默认按每行的第一个字符排序
-n:按整数进行排序
-r:递减排序
指定排序键
指定按哪一列数据进行排序
-k:指定哪一列为排序键
cat tt | sort -n -k4
指定字段分隔符
-t:指定字段分割符(默认是空格)
sort -t: -n -k3 /etc/passwd
uniq命令
删除经过排序后的数据的重复记录
通常和sort连用
sort -n tt | uniq
数据的实例统计
-c:显示文件中每行连续出现的次数
cat tt | uniq -c
-u:只显示不重复的行
cat tt | uniq –u
-d:只显示重复的行
cat tt | uniq -d
cut命令
从文本文件或者文本流中提取文本列
cut -选项 提取范围 文本文件
-c:从指定提取范围中提取字符
-f:从指定提取范围中提取字段
提取范围
n:第n项
n-:第n项到行尾
-m:行首到第m项
n,m:第n项和第m项
n-m:第n项到第m项
cut -c命令
ls -l | cut -c 10
who | cut -c 20-40
cut -c -10 /etc/passwd
cut -f命令
-d:指定分隔符默认是Tab
cut -d “:” -f 1,7 /etc/passwd
who | cut -d ' ' -f1,6
diff命令
比较两个文件之间的差异
输出结果为两个文件的不同之处
diff命令的输出格式
旧版本diff
-u:统一格式
-r: 递归比较目录下的所有文件
利用diff命令生成补丁
diff -u test1 test2 > test.patch
patch命令:
用途:用来打补丁修补文件
格式:patch [选项] 原始文件 < 补丁文件
-pN: N表示忽略N层路径
-R: 还原到老版本
Linux学习笔记(5)(标准输入输出)相关推荐
- Linux学习笔记-随即更新-慢速学习
Linux学习笔记 Linux系统简介 UNIX发展历史和发行版本 开源软件简介 支撑互联网的开源技术 Linux应用领域 Linux学习方法 Linux系统安装 给初学者的建议 学习linux的注意 ...
- *Linux学习笔记
*Linux学习笔记__20161222usst湛恩 所有的荣誉和赞美都献给上帝,让一切成为可能! 1. 文件系统 Linux下所有设备都是文件,采用树形文件管理系统,将文件存储在单个目录结构中(虚拟 ...
- 史上最牛最强的linux学习笔记 10.shell基础
史上最牛最强的linux学习笔记 10.shell基础 写在最前面: 本文是基于某站的视频学习所得,第一个链接如下: https://www.bilibili.com/video/BV1mW411i7 ...
- Linux 学习笔记之超详细基础linux命令 Part 3
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 2----------------- ...
- Linux学习笔记-文件权限与路径
Linux学习笔记-文件与目录 目前从电子信息科学与技术转到了计算机专业,因此想趁着大四比较闲的时候补一些计算机的知识.我想说:你好,生活[斜眼笑]!愿生活温柔以待!哈哈,这是我写的第一篇博客,谨以此 ...
- Linux学习笔记 文件服务Vsftp详细介绍
Linux学习笔记 文件服务Vsftp详细介绍 知识点: 1.FTP使用TCP连接和TCP端口 2.在进行通信时,FTP需要建立两个TCP连接: 一个用于控制信息,TCP端口号缺省为21 一个用于数据 ...
- linux学习笔记(6)磁盘管理
linux学习笔记(6)磁盘管理 文章目录 6.1磁盘命名 6.2分区方式 6.3磁盘管理 6.3.1基本分区 6.3.2逻辑卷LVM 6.3.3交换分区管理Swa ...
- Linux学习笔记(包含虚拟机及Linux系统安装)
Linux学习笔记 1.1 Linux简介 1.2 Linux 的版本 1.3 Linux的应用 2.Linux的安装 2.1 虚拟机安装 2.1.1 什么是虚拟机? 2.1.2 VMware介绍 2 ...
- Linux学习笔记:
Linux学习笔记: 概述:一套免费使用和自由传播的类Unix操作系统,是一个多用户,多任务,支持多线程和多cpu的操作系统. 发行版:Ubuntu,ReadHat,CentOs,Debain,Fed ...
- 迅为嵌入式Linux学习笔记4——进程
迅为嵌入式Linux学习笔记4--进程 进程指的是正在运行的程序,是操作系统分配资源的最小单位. 进程ID 每个进程都有唯一的标识符,这个标识符就是进程ID,简称pid 进程间通信的方法 管道通信:分 ...
最新文章
- python是如何实现进程池和线程池的_高并发:线程、线程锁与线程池(精华),手写代码实现线程池...
- Git叉子实际上是Git克隆吗?
- html实现全选 反选,jquery实现全选、不选、反选的两种方法
- linux清理swap内容,Linux如何清理swap.buffer及cache等缓存
- SET UPDATE TASK LOCAL and commit session issue
- jvm指令重排原因?怎么避免?
- yii2 mysql update_yii2 + mysql 常用增删改查操作语法以及事务
- 从0开始:500行代码实现 LSM 数据库
- 五阿哥钢铁电商平台Docker容器云平台建设实践——你想知道的都在这里!
- bzoj3110树套树
- 新年就是要你红!华为Mate 20 Pro馥蕾红璨星蓝来袭
- UI设计灵感|手机钱包App怎样设计才更便捷?
- win系统mysql找回密码
- CSMA协议:改进的ALOHA协议
- Mybatis 中经典的 9 种设计模式!面试可以吹牛了!
- 命令行工具因换行符导致的问题
- 企业管理系统有几种类型,分别是什么?
- LOTO示波器---1G采样率的USB示波器OSCH02的优势
- 【机器学习算法】集成学习-1 强学习器的融合学习
- 5990.8亿,一个如约而来的重大项目