一起来学Linux命令(六)

简介: 一起来学Linux命令(六)

前言

目前正在出一个Linux命令系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~

作为服务端开发,linux命令还是要掌握一下的,可以做做基础性的运维。好了, 废话不多说直接开整吧~

cut

从每个文件中剪切出每行的选定部分(由列表指定),并将它们写入标准输出。如果未指定文件参数,或者文件参数为单破折号(-),则从标准输入中读取内容。列表指定的项目可以是列位置,也可以是由特殊字符分隔的字段。列编号从1开始。

语法:

cut -b list [-n] [file ...] cut -c list [file ...] cut -f list [-d delim] [-s] [file ...]

参数格式:

-b:仅显示行中指定直接范围的内容;
-c:仅显示行中指定范围的字符;
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
-f:显示指定字段的内容;
-n:与“-b”选项连用,不分割多字节字符;
--complement:补足被选择的字节、字符或字段;
--out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;

使用示例:

[root@iZ2ze5vrnucj8nu52fq932Z head]# cut -c3- a.txt
llo1
llo2
llo3
llo4
llo5
[root@iZ2ze5vrnucj8nu52fq932Z head]# 

diff

比较两个文件的不同

语法:

diff [OPTION]... FILES

命令参数:

-b或--ignore-space-change 不检查空格字符的不同。
-B或--ignore-blank-lines 不检查空白行。
-c 显示全部内文,并标出不同之处。
-C或--context 与执行"-c-"指令相同。
-d或--minimal 使用不同的演算法,以较小的单位来做比较。
-D或ifdef 此参数的输出格式可用于前置处理器巨集。
-e或--ed 此参数的输出格式可用于ed的script文件。
-f或-forward-ed 输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。
-H或--speed-large-files 比较大文件时,可加快速度。
-l或--ignore-matching-lines 若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
-i或--ignore-case 不检查大小写的不同。
-l或--paginate 将结果交由pr程序来分页。
-n或--rcs 将比较结果以RCS的格式来显示。
-N或--new-file 在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。
-p 若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。
-P或--unidirectional-new-file 与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。
-q或--brief 仅显示有无差异,不显示详细的信息。
-r或--recursive 比较子目录中的文件。
-s或--report-identical-files 若没有发现任何差异,仍然显示信息。
-S或--starting-file 在比较目录时,从指定的文件开始比较。
-t或--expand-tabs 在输出时,将tab字符展开。
-T或--initial-tab 在每行前面加上tab字符以便对齐。
-u,-U或--unified= 以合并的方式来显示文件内容的不同。
-v或--version 显示版本信息。
-w或--ignore-all-space 忽略全部的空格字符。
-W或--width 在使用-y参数时,指定栏宽。
-x或--exclude 不比较选项中所指定的文件或目录。
-X或--exclude-from 您可以将文件或目录类型存成文本文件,然后在=中指定此文本文件。
-y或--side-by-side 以并列的方式显示文件的异同之处。

使用示例:

[root@iZ2ze5vrnucj8nu52fq932Z head]# echo 'hhhhhh' >> b.txt
[root@iZ2ze5vrnucj8nu52fq932Z head]# diff a.txt b.txt
5a6
> hhhhhh
[root@iZ2ze5vrnucj8nu52fq932Z head]# 

tar

用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的

语法:

  tar [bundled-flags <args>] [<file> | <pattern> ...]
     tar {-c} [options] [files | directories]
tar {-r | -u} -f archive-file [options] [files | directories]
tar {-t | -x} [options] [patterns]

命令参数:

-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性
-b 设置区块数目
-C 切换到指定目录
-f 指定压缩文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性
-b 设置区块数目
-C 切换到指定目录
-f 指定压缩文件

使用示例:

#打包  tar -cvf 包名  文件名
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# tar -cvf test.tar test
test/
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# ls
test.tar
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# 
# 解包
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# tar -xvf test.tar
test/
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# ls
 test test.tar
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# 
# 压缩 实际上就多了一个z
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# tar -czvf test.tgz test
test/
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# ls
 test test.tar  test.tgz
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# 
# 解压
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# tar -xzvf test.tgz
test/
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# 

du

显示每个文件自变量以及以每个目录自变量为根的文件层次结构中每个目录的文件系统块使用情况。如果未指定文件,则显示以当前目录为根的层次结构的块使用情况。

语法:

du [-H | -L | -P] [-a | -s | -d depth] [-c] [-h | -k | -m | -g] [-x] [-I mask] [file ...]

命令参数:

-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs  显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件>     略过指定的目录或文件。
-D或--dereference-args  显示指定符号链接的源文件大小。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或--count-links  重复计算硬件链接的文件。

使用示例:

# 查看指定文件大小
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# du -h test.tgz
4.0K  test.tgz
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# 
#展示该目录下所有文件大小,大小以可读方式展示
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# du -h ./
12K ./head
8.0K  ./cat
4.0K  ./cp
4.0K  ./mkd/test1/tmp
8.0K  ./mkd/test1
4.0K  ./mkd/test
4.0K  ./mkd/test2/tmp
8.0K  ./mkd/test2
24K ./mkd
4.0K  ./test
4.0K  ./rmd
4.0K  ./ls
4.0K  ./mvd
8.0K  ./echo
4.0K  ./.cache
96K ./
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# 
# 展示当前目录大小
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# du -sh
96K .
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# 
# 展示所有文件大小
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# du -ah ./
4.0K  ./head/a.txt
4.0K  ./head/b.txt
12K ./head
0 ./test3.txt
4.0K  ./cat/a.txt
8.0K  ./cat
0 ./cp/a.txt
0 ./cp/c.txt
0 ./cp/b.txt
4.0K  ./cp
4.0K  ./mkd/test1/tmp
8.0K  ./mkd/test1
4.0K  ./mkd/test
4.0K  ./mkd/test2/tmp
8.0K  ./mkd/test2
24K ./mkd
4.0K  ./test
4.0K  ./rmd
4.0K  ./ls
0 ./test1.txt
4.0K  ./test.tgz
0 ./mvd/e.txt~
0 ./mvd/e.txt
4.0K  ./mvd
4.0K  ./echo/a.txt
8.0K  ./echo
4.0K  ./.cache
12K ./test.tar
0 ./test2.txt
96K ./
[root@iZ2ze5vrnucj8nu52fq932Z linux_study]# 

结束语

命令很多,大家不用去背,可以放到便签之类的工具中,用到的时候翻一下就好~

本着把自己知道的都告诉大家,如果本文对您有所帮助,点赞+关注鼓励一下呗~

相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
24天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
171 5
|
24天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
72 4
|
11天前
|
缓存 监控 Linux
|
14天前
|
Linux Shell 数据安全/隐私保护
|
15天前
|
域名解析 网络协议 安全
|
21天前
|
运维 监控 网络协议
|
22天前
|
监控 Linux Shell
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3