linuxc实例
1. linux free命令详解和使用实例
Linux free命令详解和使用实例:
一、命令功能 free命令用于显示系统使用和空闲的内存情况,包括物理内存、交互区内存和内核缓冲区内存。共享内存将被忽略。
二、命令格式 free [参数]
三、命令参数 b:以Byte为单位显示内存使用情况。 k:以KB为单位显示内存使用情况。 m:以MB为单位显示内存使用情况。 g:以GB为单位显示内存使用情况。 o:不显示缓冲区调节列。 s间隔秒数:持续观察内存使用状况,每隔指定秒数刷新一次。 t:显示内存总和列。 V:显示版本信息。
四、输出内容解释 total:总计物理内存的大小。 used:已使用的内存大小。 free:可用的内存大小。 shared:多个进程共享的内存总额。 buffers/cached:磁盘缓存的大小。 第三行:从应用程序角度看的内存使用情况,buffers/cached被视为可用内存。 Swap:交换分区的使用情况。
五、使用实例
显示内存使用情况
- free:以默认单位显示内存使用情况。
- free g:以GB为单位显示内存使用情况。
- free m:以MB为单位显示内存使用情况。
以总和的形式显示内存的使用信息
- free t:在输出中增加总和列,便于查看总内存和总swap的使用情况。
周期性的查询内存使用信息
- free s 10:每隔10秒刷新一次内存使用情况,持续显示。
六、注意事项 在查看内存使用情况时,需要区分从OS角度和从应用程序角度的内存使用情况。OS会将buffers和cached视为已使用内存,而应用程序角度则认为这些内存是可用的,因为当应用程序需要内存时,buffers和cached可以很快被回收。 当可用内存少于额定值时,系统会开始使用swap空间进行交换。额定值可以通过查看/proc/meminfo文件来获取。 Buffers和Cached都是缓存,但它们的用途不同。Buffer Cache针对磁盘块的读写,而Page Cache针对文件inode的读写。理解这两者的区别有助于更好地优化系统性能。
2. 通过 11 个实例彻底掌握 Linux Split 命令怎么用
通过以下11个实例彻底掌握Linux Split命令的用法:
基本拆分:
- 使用split {file_name}将文件拆分为多个部分,默认大小为1000行,前缀为x。
详细模式下的拆分:
- 使用split {file_name} verbose在详细模式下运行,显示创建的文件信息。
按行数拆分文件:
- 使用split l{行数} {file_name} verbose按指定行数拆分文件。例如,split l200 tuxlap.txt verbose将文件拆分为每个最多200行的多个部分。
按文件大小拆分文件:
- 使用split b{大小} {file_name}按指定大小拆分文件。例如,split b50M tuxlap.txt将文件拆分为每个50MB的多个部分。
使用数字后缀创建拆分文件:
- 使用split d {file_name}创建带有数字后缀的分割输出文件,如x00, x01等。
使用自定义后缀拆分文件:
- 使用split {file_name} {prefix_name}创建带有自定义后缀的分割输出文件。例如,split tuxlap.txt split_file_将创建前缀为split_file_的多个部分。
生成指定数量的输出文件:
- 使用split n{数量} {file_name}将文件拆分为指定数量的块。例如,split n5 linuxlite.iso将ISO文件拆分为5个块。
防止零大小分割输出文件:
- 使用split n{数量} e {file_name}防止在将小文件拆分成大量块时创建零大小的分割输出文件。
创建自定义后缀长度的分割输出文件:
- 使用split b{大小} {file_name} a{长度}指定分割输出文件的后缀长度。例如,split b500M linuxlite.iso a3将创建后缀长度为3的分割文件。
拆分ISO文件并合并为单个文件:
- 使用split b{大小} {ISO文件} {前缀}拆分ISO文件,然后使用cat {前缀}a* > {合并后的文件}在远程服务器上合并这些片段。例如,split b800M Windows2012r2.iso Split_IS0_拆分ISO文件,然后使用cat Split_IS0_a* > Windows_Server.iso合并。
验证合并文件的完整性:
- 使用md5sum命令验证合并后的文件与原始文件的完整性是否一致。例如,比较md5sum Windows2012r2.iso和md5sum Windows_Server.iso的输出。
3. Linux 三剑客实例详解“grep、sed 、awk”
Linux三剑客实例详解:grep、sed、awk
grep: 功能:数据过滤,通过模式匹配找出所需信息。 基本语法:grep [options] pattern [file...] 实例: grep i 'b' test:在文件test中查找不区分大小写的字符’b’。 grep n 'v' test:在文件test中查找字符’v’,并显示匹配行的行号。
sed: 功能:专注于行操作,能够对文本进行行选择和修改。 基本语法:sed [options] 'script' [file...] 实例: sed n 2p test:打印文件test的第2行。 sed i 's/a/v/g' test:在文件test中将所有的字符’a’替换为’v’。注意,i选项表示直接修改文件内容。
awk: 功能:擅长提取列,处理数据时直接操作每一列。 基本语法:awk [options] 'script' [file...] 实例: awk F '#' '{print $1,$2}' test:以’#‘为分隔符,打印文件test的第1和第2字段。 使用变量:awk 'BEGIN{FS="#";OFS=","}{print $1,$2}' test:设置输入字段分隔符为’#‘,输出字段分隔符为’,‘,并打印第1和第2字段。这里,BEGIN块用于在处理任何输入行之前执行初始化操作。
总结: grep主要用于文本搜索和数据过滤。 sed用于文本的行选择和修改,支持直接修改文件内容。 awk则专注于字段的提取和处理,适合进行复杂的文本分析。
