Linux培训
达内IT学院

400-111-8989

2020年Linux运维要掌握的基础命令介绍(二)


今天小编要跟大家分享的文章是关于2020年Linux运维要掌握的基础命令介绍(二)。准备学习Linux运维相关知识的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助。

Linux运维要掌握的基础命令介绍(二)

01、cat

语法

cat [参数] [--help] [--version] fileName

参数

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

实例

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:

cat /dev/fd0 > OUTFILE

相反的,如果想把 image file 写到软盘,输入:

cat IMG_FILE > /dev/fd0

02、mkdir

语法

mkdir [-p] dirName

参数

· -p 确保目录名称存在,不存在的就建一个。

实例

在工作目录下,建立一个名为 AAA 的子目录 :

mkdir AAA

在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)

mkdir -p BBB/Test

03、ls

语法

ls [参数] [name...]

参数

· -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)

· -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

· -r 将文件以相反次序显示(原定依英文字母次序)

· -t 将文件依建立时间之先后次序列出

· -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)

· -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"

· -R 若目录下有文件,则以下之文件亦皆依序列出

实例

列出根目录(\)下的所有目录:

# ls /

bin dev lib media net root srv upload www

boot etc lib64 misc opt sbin sys usr

home lost+found mnt proc selinux tmp var

列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面 :

ls -ltr s*

将 /bin 目录以下所有目录及文件详细资料列出 :

ls -lR /bin

列出目前工作目录下所有文件及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :

ls -AF

04、mv

语法

mv [选项] source dest

mv [选项] source... directory

参数

· -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;

· -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;

mv参数设置与运行结果

命令格式运行结果

mv 文件名 文件名将源文件名改为目标文件名

mv 文件名 目录名将文件移动到目标目录

mv 目录名 目录名目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名

mv 目录名 文件名出错

实例

将文件 aaa 更名为 bbb :

mv aaa bbb

将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。

mv info/ logs

再如将/usr/student下的所有文件和目录移到当前目录下,命令行为:

mv /usr/student/* .

05、cd

语法

cd [目标目录]

实例

跳到 /usr/bin/ :

cd /usr/bin

跳到自己的 home 目录 :

cd ~

跳到目前目录的上上两层 :

cd ../..

06、pwd

语法

pwd [--help][--version]

参数

· --help 在线帮助。

· --version 显示版本信息。

实例

查看当前所在目录:

#pwd/root/test

#显示当前文件路径

07、du

语法

du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]

参数

· -a或-all 显示目录中个别文件的大小。

· -b或-bytes 显示目录或文件大小时,以byte为单位。

· -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

· -D或--dereference-args 显示指定符号连接的源文件大小。

· -h或--human-readable 以K,M,G为单位,提高信息的可读性。

· -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。

· -k或--kilobytes 以1024 bytes为单位。

· -l或--count-links 重复计算硬件连接的文件。

· -L<符号连接>或--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。

· -m或--megabytes 以1MB为单位。

· -s或--summarize 仅显示总计。

· -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。

· -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

· -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。

· --exclude=<目录或文件> 略过指定的目录或文件。

· --max-depth=<目录层数> 超过指定层数的目录后,予以忽略。

· --help 显示帮助。

· --version 显示版本信息。

实例

显示目录或者文件所占空间:

# du608 ./test6

308 ./test4

4 ./scf/lib

4 ./scf/service/deploy/product

4 ./scf/service/deploy/info

12 ./scf/service/deploy

16 ./scf/service

4 ./scf/doc

4 ./scf/bin

32 ./scf

8 ./test3

1288 .

只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小

显示指定文件所占空间

# du log2012.log 300 log2012.log

方便阅读的格式显示test目录所占空间情况:

# du -h test608K test/test6

308K test/test4

4.0K test/scf/lib

4.0K test/scf/service/deploy/product

4.0K test/scf/service/deploy/info

12K test/scf/service/deploy

16K test/scf/service

4.0K test/scf/doc

4.0K test/scf/bin

32K test/scf

8.0K test/test3

1.3M test

08、which

语法

which [文件...]

参数

· -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

· -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。

· -w  指定输出时栏位的宽度。

· -V  显示版本信息。

实例

使用指令"which"查看指令"bash"的绝对路径,输入如下命令:

which bash

/bin/bash #bash可执行程序的绝对路径

09、find

语法

find path -option [ -print ] [ -exec -ok command ] {} \;

参数

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去n天内被修改过的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

-type c : 文件类型是 c 的文件。

d: 目录

c: 字型装置文件

b: 区块装置文件

p: 具名贮列

f: 一般文件

l: 符号连结

实例

将目前目录及其子目录下所有延伸档名是 c 的文件列出来。

# find . -name "*.c"

将目前目录其其下子目录中所有一般文件列出

# find . -type f

将目前目录及其子目录下所有最近 20 天内更新过的文件列出

# find . -ctime -20

查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:

# find /var/log -type f -mtime +7 -ok rm {} \;

查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:

# find . -type f -perm 644 -exec ls -l {} \;

为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:

# find / -type f -size 0 -exec ls -l {} \;

10、wc

语法

wc [-clw][--help][--version][文件...]

参数

· -c或--bytes或--chars 只显示Bytes数。

· -l或--lines 只显示行数。

· -w或--words 只显示字数。

· --help 在线帮助。

· --version 显示版本信息。

实例

在默认的情况下,wc将计算指定文件的行数、字数,以及字节数。使用的命令为:

wc testfile

先查看testfile文件的内容,可以看到:

$ cat testfile

Linux networks are becoming more and more common, but scurity is often an overlooked

issue. Unfortunately, in today’s environment all networks are potential hacker targets,

fro0m tp-secret military research networks to small home LANs.

Linux Network Securty focuses on securing Linux in a networked environment, where the

security of the entire network needs to be considered rather than just isolated machines.

It uses a mix of theory and practicl techniques to teach administrators how to install and

use security applications, as well as how the applcations work and why they are necesary.

使用 wc统计,结果如下:

$ wc testfile

# testfile文件的统计信息 3 92 598 testfile

# testfile文件的行数为3、单词数92、字节数598

其中,3 个数字分别表示testfile文件的行数、单词数,以及该文件的字节数。

如果想同时统计多个文件的信息,例如同时统计testfile、testfile_1、testfile_2,可使用如下命令:

wc testfile testfile_1 testfile_2 #统计三个文件的信息

输出结果如下:

$ wc testfile testfile_1 testfile_2 #统计三个文件的信息 3 92 598 testfile #第一个文件行数为3、单词数92、字节数598 9 18 78 testfile_1 #第二个文件的行数为9、单词数18、字节数78 3 6 32 testfile_2 #第三个文件的行数为3、单词数6、字节数32 15 116 708 总用量 #三个文件总共的行数为15、单词数116、字节数708

今天小编要跟大家分享关于2020年Linux运维要掌握的基础命令介绍(二)的文章,希望本篇文章能够对正在从事Linux运维相关工作和学习的小伙伴们有所帮助,想要了解更多Linux相关知识记得关注达内Linux培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的Linux运维工程师。

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Linux系统中生成随机密码的方法有哪些?
下一篇:运维人员要知道的高性能技术架构有哪些?

学物联网工程好就业吗?

图像算法工程师发展前景

大数据运维工资一般多少?

运维工程师经常加班吗?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省