前言
目前正在出一个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]#
结束语
命令很多,大家不用去背,可以放到便签之类的工具中,用到的时候翻一下就好~
本着把自己知道的都告诉大家,如果本文对您有所帮助,点赞+关注
鼓励一下呗~