Linux文件系统的实验
Linux硬、软连接 硬连接:指向了同一个物理位置。建立连接之后,INODE是一样的,引用的个数增加。删掉原始的文件,只是把引用删除了。下面图片的1和2就是指物理文件被引用的个数,删除其中一个引用个数就是1了。而且stat显示的两个文件的INODE是一样的 ln /root/a.txt /root/ss.txt 软连接:指向了同一个物理位置,建立连接之后,**INODE是不一样的,引用的个数没变化。**删除原始文件的时候当前的软连接就会飘红报错 ln -s /root/a.txt /root/ss.txt 实验–自建文件系统挂载到系统目录一个命令:dd复制文件并对原文件的内容进行转换和格式化处理 1234567[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=11+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.006107 sec...
Linux文本编辑三剑客之awk
Linux 文本编辑三剑客之 awk Linux 文本处理三剑客是面试和后端工作中较为常见的。需要掌握: grep:文本过滤、筛选 sed:文本编辑加工 awk:文本格式化输出 文章只列举常用的,不会完全把手册复述一遍 本节内容基于正则表达式: 正则表达式借助正则表达式可以快速匹配、过滤需要的字符串,在 Linux 上处理大量文本比较高效。 一次处理一行 Linux 上只有文本处理工具三剑客(grep、sed、awk)常用,编程语言都有对应支持 扩展正则是基本正则的补充,一般结合三剑客使用建议直接使用扩展正则的写法,简洁 基本正则 符号 作用 ^ 模式匹配最左侧,^abc就是以abc开头 $ 模式匹配最右侧,abc$就是以abc结尾 ^$ 组合符。空行 . 任意一个且只有一个字符,不匹配空行 * 匹配前一个字符0或多次,不单独使用 .* 组合符。匹配任意多个字符 ^.* 组合符。匹配任意多个字符开头 .*$ 组合符。匹配任意多个字符结尾 \ 特殊字符还原本意,\.是小数点 [abc] 匹配集合内任意字符 [^abc]...
Hadoop概念以及安装
Hadoop概论 Hadoop是一个由 Apache基金会所开发的分布式系统基础架构。 主要解决,海量数据的存储和海量数据的分析计算问题。 广义上来说, Hadoop通常是指一个更广泛的概念 Hadoop生态圈。 Hadoop三大发行版本:Apache、Cloudera、Hortonworks。 Apache版本最原始(最基础)的版本,对于入门学习最好。 Cloudera内部集成了很多大数据框架。对应产品CDH。用的最多,方便 Hortonworks文档较好。对应产品HDP。 高可靠性: Hadoop底层维护多个数据副本,所以即使 Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。 2)高扩展性:在集群间分配任务数据,可便的扩展数以千计的节点。 3)高效性:在 MapReduce的思想下, Hadoop是并行工作的,以加快任务处理速度。 4)高容错性:能够自动将失败的任务重新分配 Hadoop组成计算+资源调度+存储 1.x中MapReduce负责计算和资源调度 2.x中MapReduce负责计算,Yarn负责资源调度,解耦 HDFS存储 Hadoop ...
Linux文本编辑三剑客之grep
Linux 文本编辑三剑客之 grep Linux 文本处理三剑客是面试和后端工作中较为常见的。需要掌握: grep:文本过滤、筛选 sed:文本编辑加工 awk:文本格式化输出 本节内容基于正则表达式: 正则表达式借助正则表达式可以快速匹配、过滤需要的字符串,在 Linux 上处理大量文本比较高效。 一次处理一行 Linux 上只有文本处理工具三剑客(grep、sed、awk)常用,编程语言都有对应支持 扩展正则是基本正则的补充,一般结合三剑客使用建议直接使用扩展正则的写法,简洁 基本正则 符号 作用 ^ 模式匹配最左侧,^abc就是以abc开头 $ 模式匹配最右侧,abc$就是以abc结尾 ^$ 组合符。空行 . 任意一个且只有一个字符,不匹配空行 * 匹配前一个字符0或多次,不单独使用 .* 组合符。匹配任意多个字符 ^.* 组合符。匹配任意多个字符开头 .*$ 组合符。匹配任意多个字符结尾 \ 特殊字符还原本意,\.是小数点 [abc] 匹配集合内任意字符 [^abc] 匹配集合之外的字符 <>...
Linux文本编辑三剑客之sed
Linux 文本编辑三剑客之 sed Linux 文本处理三剑客是面试和后端工作中较为常见的。需要掌握: grep:文本过滤、筛选 sed:文本编辑加工 awk:文本格式化输出 本节内容基于正则表达式: 正则表达式借助正则表达式可以快速匹配、过滤需要的字符串,在 Linux 上处理大量文本比较高效。 一次处理一行 Linux 上只有文本处理工具三剑客(grep、sed、awk)常用,编程语言都有对应支持 扩展正则是基本正则的补充,一般结合三剑客使用建议直接使用扩展正则的写法,简洁 基本正则 符号 作用 ^ 模式匹配最左侧,^abc就是以abc开头 $ 模式匹配最右侧,abc$就是以abc结尾 ^$ 组合符。空行 . 任意一个且只有一个字符,不匹配空行 * 匹配前一个字符0或多次,不单独使用 .* 组合符。匹配任意多个字符 ^.* 组合符。匹配任意多个字符开头 .*$ 组合符。匹配任意多个字符结尾 \ 特殊字符还原本意,\.是小数点 [abc] 匹配集合内任意字符 [^abc] 匹配集合之外的字符 <>...
Linux查看一个文件的时候发生了什么?
Linux查看一个文件的时候发生了什么? 概念辨析整体的关系是这样的: 下面来逐个介绍图中的内容。 文件系统 磁盘文件系统:按照指定的格式和规则直接将数据存在磁盘中,Ext 2/3/4等等 拿到磁盘首先格式化为具体的磁盘文件系统,然后对磁盘分区。分区之后挂载到不同的操作系统目录(虚拟文件系统某一个节点),就可以使用了。 网络文件系统:类似于磁盘文件系统,也是特定场景特定格式的文件系统 虚拟文件系统:操作系统自己定义的规范,屏蔽不同磁盘文件系统的差异,提供统一接口给上层使用 虚拟文件系统也就是vfs,看做是一棵树: 这个树上的节点就是我们常见的文件夹名字,虚拟目录树是Linux的一个规范,结构是稳定化的。至于是哪一个文件系统挂载到这个树上的哪个节点是可以灵活改变的!!! df -h 查看虚拟目录树挂载的真正物理地址。磁盘分区(也就是**文件系统。都按照一定的文件系统规则进行了格式化****)挂载到VFS 树的不同目录节点,**其中系统启动会将内核的镜像文件系统(图中的/dev/sda1)加载之后,挂载到虚拟节点 /boo...
Linux的IO知识总结
文件系统,是对存储设备上的文件进行组织管理的一种机制。为了支持各类不同的文件系 统,Linux 在各种文件系统上,抽象了一层虚拟文件系统 VFS。 它定义了一组所有文件系统都支持的数据结构和标准接口。这样,应用程序和内核中的其他 子系统,就只需要跟 VFS 提供的统一接口进行交互。 在文件系统的下层,为了支持各种不同类型的存储设备,Linux 又在各种存储设备的基础 上,抽象了一个通用块层。 通用块层,为文件系统和应用程序提供了访问块设备的标准接口;同时,为各种块设备的驱 动程序提供了统一的框架。此外,通用块层还会对文件系统和应用程序发送过来的 I/O 请 求进行排队,并通过重新排序、请求合并等方式,提高磁盘读写的效率。 通用块层的下一层,自然就是设备层了,包括各种块设备的驱动程序以及物理存储设备。 文件系统、通用块层以及设备层,就构成了 Linux 的存储 I/O 栈。存储系统的 I/O ,通常 是整个系统中最慢的一环。所以,Linux 采用多种缓存机制,来优化 I/O 的效率,比方说, 为了优化文件访问的性能,采用页缓存、索引节点缓存、...
Linux系统目录(文件)结构
Linux系统目录(文件)结构 下方表格转载自: http://billie66.github.io/TLCL/book/chap04.html / 根目录,万物起源。 /bin 包含系统启动和运行所必须的二进制程序。 /boot 包含 Linux 内核、初始 RAM 磁盘映像(用于启动时所需的驱动)和 启动加载程序。有趣的文件:+ /boot/grub/grub.conf or menu.lst, 被用来配置启动加载程序。+ /boot/vmlinuz,Linux 内核。 /dev 这是一个包含设备结点的特殊目录。“一切都是文件”,也适用于设备。 在这个目录里,内核维护着所有设备的列表。 /etc 系统层面的配置文件。它也包含一系列的 shell 脚本, 在系统启动时,这些脚本会开启每个系统服务。这个目录中的任何文件应该是可读的文本文件。有趣的文件:+ /etc/crontab, 定义自动运行的任务。+ /etc/f...
Linux网络性能评估压测
性能评估是优化网络性能的前提,只有在你发现网络性能瓶颈时,才需要进行网络性能优化。 由于低层协议是高层协议的基础。所以,一般情况下,我们需要从上到下,对每个协议层进 行性能测试,然后根据性能测试的结果,结合 Linux 网络协议栈的原理,找出导致性能瓶颈的根源,进而优化网络性能。 性能指标 带宽,表示**链路的最大传输速率**,单位通常为 b/s (比特 / 秒)。 网卡确定后,带宽也就确定 了(当然,实际带宽会受限于整个网络链路中最小的那个模块) 吞吐量,表示单位时间内成功传输的**数据量,单位通常为 b/s(比特 / 秒)或者 B/s(字 节 / 秒)。吞吐量受带宽限制,而吞吐量 / 带宽,也就是该网络的使用率**。 很多地方听说过“网络带宽测试”,这里测试的实际上不是带宽,而是网络 吞吐量。Linux 服务器的网络吞吐量一般会比带宽小,而对交换机等专门的网络设备来说, 吞吐量一般会接近带宽。 延时,表示从网络请求发出后,一直到收到远端响应,所需要的时间延迟。在不同场景 中,这一指标可能会有不同...
Linux网络实验
netstat12345netstat -natp# n 是直接获取IP而不是域名# a 所有的socket链接# t tcp# p 显示进程的名字以及pid tcpdump123tcpdump # 打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。# 监控eth0接口的网络情况 lsof123lsof -p pid# 显示Linux系统当前已打开的所有文件列表 # 可以用来查看监听的文件描述符 strace追踪后面的可执行程序的系统调用,会输出一些文件,查看文件里面就可以知道执行的一些具体的系统调用。 1strace -ff -o out /usr/java/javasdk/bin/java TestSocket 例如请求到来的时候会新建一个线程,执行clone方法 man 建立连接与接收数据(唯一连接–>唯一四元组–>唯一文件描述符)(内核握手与用户accept)开启服务端,不accept,只是开启端口 开启客户端,客户端连接服务端,三次握手建立sockcet连接,开辟资源(建立了文件描述符来描述这个四元组连接...