一起来学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]# 

结束语

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

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

相关文章
|
19天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
7天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
17天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
36 9
|
1天前
|
Linux
【Linux】深入理解ls命令
【Linux】深入理解ls命令
|
3天前
|
监控 Linux Windows
50个必知的Linux命令技巧,你都掌握了吗?(下)
50个必知的Linux命令技巧,你都掌握了吗?(下)
|
4天前
|
Linux Shell Windows
Linux 常用基本命令
Linux 常用基本命令
|
4天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
4天前
|
Linux
【Linux】常用命令
【Linux】常用命令
24 0
|
5天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
20 0
Linux 网络操作命令Telnet
|
6天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
30 0