大数据之Linux进阶指令
1.文件内容操作相关命令
cut 根据条件 从命令结果中 提取 对应内容
-c 按字符选取内容
例子:head -2 1.txt | cut -c 5 截取前两行的第五个字符
-d '分隔符' 指定分隔符
-f n1,n2 分割以后显示第几段内容, 使用(,)拼接
也可以写成 -f 1,2 或者 -f 1-2
例子:head -2 1.txt | cut -d ':' -f 1,2 读取前两行内容后按照:切割 显示第一段和第二段内容
sort 可针对文本文件的内容,以行为单位来排序。
文件名 对文件内容按照字符排序
-u 对文件内容按照字符排序并去重
-n 按照数值大小排序
-r 使次序颠倒
-t 指定字段分隔符
-k 配合切割字符使用,切割后显示第几列,并根据那一列排序
例子:sort -t ',' -k2nr score.txt 根据第二段成绩 进行倒序显示 所有内容
wc显示指定文件 字节数, 单词数, 行数 信息.
文件名 显示指定文件 字节数, 单词数, 行数 信息.多个文件用空格拼接
-c 只显示bytes 字节数
-w 只显示words 单词数
-l 只显示lines 行数
uniq用于检查及删除文本文件中重复出现的行,一般与 sort 命令结合使用。
-c 统计每行内容出现的次数
例子:cat 5.txt | sort | uniq -c 显示去重后的数据并且在行头显示出现的个数
tee可以将命令结果 通过管道 输出到 多个文件中
例子:cat 5.txt | sort | uniq -c | tee a.txt b.txt c.txt 将去重统计的结果 放到 a.txt、b.txt、c.txx 文件中
tr用于 替换 或 删除 文件中的字符。
例子:echo "itheima" | tr 'i' 'I' 将 小写i 替换成 大写 I
-d 字符 删除指定的内容
例子:echo 'abc1d4e5f' | tr -d '[0-9]' 删除abc1d4e5f中的数字
split将大文件 切分成 若干小文件
-b [bytes] 将大文件切分成若干bytes的小文件 (如10K)支持K M G 的简写
-l [lines] 将大文件切分成若干行的小文件
awk实现 模糊查询, 按需提取字段, 还可以进行 判断 和 简单的运算等.
-F 分割符后面跟要根据什么字符分割
$ + 数字 获取第几段内容
$0 获取 当前行 内容
NF 表示当前行共有多少个字段
$NF 代表 最后一个字段
$(NF-1) 代表 倒数第二个字段
NR 代表 处理的是第几行
OFS="字符" 向外输出时的 段分割字符串
'{print $1, $2, $3}' 打印第一段,第二段,第三段,配合分割使用
toupper() 字符 转成 大写
tolower() 字符 转成小写
length() 返回 字符长度
'BEGIN{初始化操作}{每行都执行} END{结束时操作}'
例子:awk -F ',' '{if($4>60) print $1, $4, "及格"; else print $1, $4, "不及格"}' score.txt 如果第四段成绩大于60;打印第一段姓名,第四段成绩,及格 否则 打印 打印第一段姓名,第四段成绩,不及格
例子:awk -F ',' 'BEGIN{}{total=total+$4}END{print total, NR, (total/NR)}' score.txt 求平均分,Begin{}{求所有人的成绩的和}END{打印总成绩,总人数,平均分}
sed通过 sed 可以实现 过滤 和 替换 的功能
p 打印
$ 代表 最后一行
-n 仅显示处理后的结果
# 解压缩文件(记忆敲门: 直销危房)
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目录路径
-z 解压/压缩.gz文件 -j 解压/压缩 bzip2文件
3.VIM编辑器相关命令
如果 vi 异常退出, 在磁盘上可能会保存有 交换文件.swp文件,再次打开文件时会有提示,如果放弃之前的编辑按D,恢复按R,不管按E
| vim 文件名 | 创建/打开文件 没有即创建 有即打开 | w | 保存 |
| vim 文件名 +行数 | 打开文件并将光标留在指定行 | q | 退出,如果没有保存,不允许退出 |
| h | 光标向左 | q! | 强行退出,不保存退出 |
| j | 光标向下 | wq | write & quit 保存且退出 |
| k | 光标向上 | x | 保存并退出 |
| l | 光标向右 | ZZ | 保存并退出 |
| w | 向后移动一个单词 | 0 | 行首 |
| b | 向前移动一个单词 | ^ | 行首, 第一个不是空白字符的位置 |
|
gg
|
文件顶部
|
$ | 行尾 |
|
数字G
|
移动到 数字 对应行数
|
Ctrl + b
|
向上翻页
|
|
: 数字
|
移动到数字对应的 行数
|
Ctrl + f
|
向下翻页
|
|
{
|
上一段
|
H
|
屏幕顶部
|
|
}
|
下一段
|
M
|
屏幕中间
|
|
%
|
括号匹配及切换
|
L
|
屏幕底部
|
|
mx
|
添加编辑x, x是a~z 或者 A~Z的任意一个字母
|
'x
|
直接定位到标记x所在的位置
|
|
u
|
撤销上次的命令(ctrl + z)
|
Ctrl + r
|
恢复撤销的命令
|
|
x
|
删除光标所在的字符,或者选中的文字 | d(移动命令) | 删除移动命令对应的内容/剪切 |
|
dd
|
删除至行尾/剪切 |
d0
|
从光标位置删除到一行的起始位置 |
|
dw
|
从光标位置删除到单词末尾
|
d}
|
从光标位置删除到段落末尾
|
|
ndd
|
从光标位置向下连续删除 n 行
|
d'a
|
从光标所在行 删除到 标记a 之间的所有代码
|
| y | 复制 | yy | 复制一行,可以nyy复制多行 |
| p | 粘贴 |
.
|
重复上次命令
|
| r | 替换当前字符 命令模式 | R | 替换当前行光标后的字符 替换模式 |
|
>>
|
向右增加缩进
|
<<
|
向左减少缩进
|
|
/str
|
查找str
|
*
|
向后查找当前光标所在单词
|
|
#
|
向前查找当前光标所在单词
|
:%s/旧文本/新文本/g
|
替换文件中的 所有出现的旧文本
|
|
i
|
在当前字符前插入文本
|
I
|
在行首插入文本
|
| a | 在当前字符后添加文本 | A | 在行末添加文本 |
| o | 在当前行后面插入一空行 | O | 在当前行前面插入一空行 |
大数据之Linux进阶指令的更多相关文章
- 大数据之Linux基本指令
1:文件操作类指令 ls 是英文单词list 的简写, 其功能为列出目录的内容,是最常用的命令之一 -a all 显示指定目录下所有子目录与文件, 包含隐藏文件 -l 以列表方式显示文件的详细信息 - ...
- Linux进阶指令(重点)
三.Linux进阶指令(重点) 1.df指令 作用:查看磁盘的空间 #df -h 选项:-h 表示以可读性较高的形式展示大小 2.free指令 作用:查看内存使用情况 #free ...
- 一起来学大数据——走进Linux之门,学习大数据的重中之重
昨天我们看了有关大数据Hadoop的一些知识点,但是要在学习大数据之前,我们还是要为大数据的环境做一些的部署. 那么,今天我们就来讲讲开启我们大数据之路的Linux,跟上我们的脚步yo~ Linux介 ...
- 大数据之Linux基础
回顾这一个多月以来闭关学大数据的一些相关重要知识,就当复习,顺便以备以后查看 Linux学习第一步自然是安装Linux. 关于Linux 首先介绍下Linux,Linux系统很多程序员开发者其实都耳熟 ...
- 大数据开发-linux后台运行,关闭,查看后台任务
在日常开发过程中,除了例行调度的任务和直接在开发环境下比如Scripts,开发,很多情况下是shell下直接搞起(小公司一般是这样),看一下常见的linux后台运行和关闭的命令,这里做一个总结,主要包 ...
- 大数据开发-linux下常见问题详解
1.user ss is currently user by process 3234 问题原因:root --> ss --> root 栈递归一样 解决方式:exit 退出当前到ss再 ...
- 【大数据】Linux下安装Hadoop(2.7.1)详解及WordCount运行
一.引言 在完成了Storm的环境配置之后,想着鼓捣一下Hadoop的安装,网上面的教程好多,但是没有一个特别切合的,所以在安装的过程中还是遇到了很多的麻烦,并且最后不断的查阅资料,终于解决了问题,感 ...
- 【大数据】Linux下Storm(0.9版本以上)的环境配置和小Demo
一.引言: 在storm发布到0.9.x以后,配置storm将会变得简单很多,也就是只需要配置zookeeper和storm即可,而不再需要配置zeromq和jzmq,由于网上面的storm配置绝大部 ...
- 大数据之Linux网卡配置
当你安装好一台Linux之后,第一步自然是配置网卡,让你的Linux上网. 配置网卡大多数有两种模式,一种是桥接,一种是NAT 首先讲一下桥接网卡的上网原理,他是等同于在你现有的网络环境上直接现加一台 ...
随机推荐
- VLAN的 基本用法与配置
需求:在一家小型企业中,所有员工都使用一台交换机,老板为了避免员工私下通信,将他们分配了不同网段,但偶尔还是会发现,有些员工会自行修改网段和别人通信.如果你是这家企业的网络工程师,你该如何处理? 1. ...
- centos中网卡的配置
配置临时IP: ip a a 192.168.59.100/24 dev ens32 ifconfig ens32 192.168.59.100 up 在Linux最小安装之后,一般需要手动配置网络地 ...
- paper sharing :学习特征演化的数据流
特征演化的数据流 数据流学习是近年来机器学习与数据挖掘领域的一个热门的研究方向,数据流的场景和静态数据集的场景最大的一个特点就是数据会发生演化,关于演化数据流的研究大多集中于概念漂移检测(有监督学习) ...
- 学习记录:《C++设计模式——李建忠主讲》6.“状态变化”模式
状态变化模式:在组件构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定.状态变化模式为这一问题提供了一种解决方案. 典型模式:状态模式(State).备忘录 ...
- JavaScript中的基本数据类型和引用数据类型
ECMAScript变量包括了两种不同的数据类型 在学习JavaScript的数据类型时,我们通常会把数据类型分成六中(官方认为)Object.String.Boolean.Number.Undefi ...
- 找到了element, 但是用getText却得到空值,取不到文本的解决办法
最近代码中发现一些bug, 在Debug过程中发现,页面元素是被定位到了,但是用getText方法取到的却是空值.调查了一下发现,getText是否返回值和isDisplayed是否为true有关.当 ...
- Gemini.Workflow 双子工作流高级教程:数据库-设计文档
数据库设计文档 数据库名:Workflow_New 序号 表名 说明 1 WF_Activity wf_Activity 2 WF_ActivityInstance wf_ActivityInstan ...
- Java工作流系统-CCBPM如何自动升级?
关键词:工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流 bpm工作流系统 java工作流主流框架 自定义工作流引擎驰骋工作流引擎ccflow和jflow的升级 ...
- Android Saripaar 注解详解
写这篇文章的原因 在移动端一般很少使用复杂的表单,一般针对于属性的更改都会打开一个新的页面进行更改.虽然不多,但是也会有.如果一个页面要输入的内容包括姓名.地址.邮箱.手机号等,对各个属性的验证会非常 ...
- android 活动监听是否点击某个view
前述(写给做过web前端的人) 在web H5,如果如果判断当前是否点击某个元素,一般会这样写. window.addEventListener("touchstart",func ...