Linux培训
达内IT学院

400-111-8989

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


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

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

1、more

语法

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

参数

· -num 一次显示的行数

· -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声

· -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能

· -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)

· -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容

· -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料

· -s 当遇到有连续两行以上的空白行,就代换为一行的空白行

· -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)

· +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示

· +num 从第 num 行开始显示

· fileNames 欲显示内容的文档,可为复数个数

实例

逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。

more -s testfile

从第 20 行开始显示 testfile 之文档内容。

more +20 testfile

2、less

语法

less [参数] 文件

参数

· -b <缓冲区大小> 设置缓冲区的大小

· -e 当文件显示结束后,自动离开

· -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件

· -g 只标志最后搜索的关键词

· -i 忽略搜索时的大小写

· -m 显示类似more命令的百分比

· -N 显示每行的行号

· -o <文件名> 将less 输出的内容在指定文件中保存起来

· -Q 不使用警告音

· -s 显示连续空行为一行

· -S 行过长时间将超出部分舍弃

· -x <数字> 将"tab"键显示为规定的数字空格

· /字符串:向下搜索"字符串"的功能

· ?字符串:向上搜索"字符串"的功能

· n:重复前一个搜索(与 / 或 ? 有关)

· N:反向重复前一个搜索(与 / 或 ? 有关)

· b 向上翻一页

· d 向后翻半页

· h 显示帮助界面

· Q 退出less 命令

· u 向前滚动半页

· y 向前滚动一行

· 空格键 滚动一页

· 回车键 滚动一行

· [pagedown]: 向下翻动一页

· [pageup]: 向上翻动一页

实例

1、查看文件

less log2013.log

2、ps查看进程信息并通过less分页显示

ps -ef |less

3、查看命令历史使用记录并通过less分页显示

[root@localhost test]# history | less

22 scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft

23 cd ..24 scp -r web root@192.168.120.203:/opt/25 cd soft

26 ls

……省略……

4、浏览多个文件

less log2013.log log2014.log

3、head

语法

head [参数] [文件]

参数

· -q 隐藏文件名

· -v 显示文件名

· -c<数目> 显示的字节数。

· -n<行数> 显示的行数。

实例

要显示 runoob_notes.log 文件的开头 10 行,请输入以下命令:

head runoob_notes.log

显示 notes.log 文件的开头 5 行,请输入以下命令:

head -n 5 runoob_notes.log

显示文件前 20 个字节:

head -c 20 runoob_notes.log

4、tail

语法

tail [参数] [文件]

参数

· -f 循环读取

· -q 不显示处理信息

· -v 显示详细的处理信息

· -c<数目> 显示的字节数

· -n<行数> 显示文件的尾部 n 行内容

· --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束

· -q, --quiet, --silent 从不输出给出文件名的首部

· -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

实例

要显示 notes.log 文件的最后 10 行,请输入以下命令:

tail notes.log

要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:

tail f notes.log

此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。

显示文件 notes.log 的内容,从第 20 行至文件末尾:

tail +20 notes.log

显示文件 notes.log 的最后 10 个字符:

tail -c 10 notes.log

5、grep

语法

grep [参数] [文件或目录...]

参数

· -a 或 --text : 不要忽略二进制的数据。

· -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。

· -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。

· -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。

· -c 或 --count : 计算符合样式的列数。

· -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。

· -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。

· -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。

· -E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。

· -f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。

· -F 或 --fixed-regexp : 将样式视为固定字符串的列表。

· -G 或 --basic-regexp : 将样式视为普通的表示法来使用。

· -h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。

· -H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。

· -i 或 --ignore-case : 忽略字符大小写的差别。

· -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。

· -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。

· -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。

· -o 或 --only-matching : 只显示匹配PATTERN 部分。

· -q 或 --quiet或--silent : 不显示任何信息。

· -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。

· -s 或 --no-messages : 不显示错误信息。

· -v 或 --revert-match : 显示不包含匹配文本的所有行。

· -V 或 --version : 显示版本信息。

· -w 或 --word-regexp : 只显示全字符合的列。

· -x --line-regexp : 只显示全列符合的列。

· -y : 此参数的效果和指定"-i"参数相同。

实例

1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:

grep test *file

$ grep test test* #查找前缀有“test”的文件包含“test”字符串的文件

testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行

testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行

testfile_2:Linux test #列出testfile_2 文件中包含test字符的行

2、以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容,使用的命令为:

grep -r update /etc/acpi

$ grep -r update /etc/acpi #以递归的方式查找“etc/acpi” #下包含“update”的文件 /etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)

Rather than

/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of

IO.) Rather than

/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update

3、反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。

查找文件名中包含 test 的文件中不包含test 的行,此时,使用的命令为:

grep -v test *test*

$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行

testfile1:helLinux!

testfile1:Linis a free Unix-type operating system.

testfile1:Lin

testfile_1:HELLO LINUX!

testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.

testfile_1:THIS IS A LINUX TESTFILE!

testfile_2:HELLO LINUX!

testfile_2:Linux is a free unix-type opterating system.

6、touch

语法

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]

参数

· a 改变档案的读取时间记录。

· m 改变档案的修改时间记录。

· c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。

· f 不使用,是为了与其他 unix 系统的相容性而保留。

· r 使用参考档的时间记录,与 --file 的效果一样。

· d 设定时间与日期,可以使用各种不同的格式。

· t 设定档案的时间记录,格式与 date 指令相同。

· --no-create 不会建立新档案。

· --help 列出指令格式。

· --version 列出版本讯息。

实例

使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:

$ touch file #创建一个名为“file”的新的空白文件

7、ln

命令功能 :

Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

软链接:

· 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式

· 2.软链接可以 跨文件系统 ,硬链接不可以

· 3.软链接可以对一个不存在的文件名进行链接

· 4.软链接可以对目录进行链接

硬链接:

· 1.硬链接,以文件副本的形式存在。但不占用实际空间。

· 2.不允许给目录创建硬链接

· 3.硬链接只有在同一个文件系统中才能创建

参数

· -b 删除,覆盖以前建立的链接

· -d 允许超级用户制作目录的硬链接

· -f 强制执行

· -i 交互模式,文件存在则提示用户是否覆盖

· -n 把符号链接视为一般目录

· -s 软链接(符号链接)

· -v 显示详细的处理过程

选择参数:

· -S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"

· -V "-V<备份方式>"或"--version-control=<备份方式>"

· --help 显示帮助信息

· --version 显示版本信息

实例

给文件创建软链接,为log2013.log文件创建软链接link2013,如果log2013.log丢失,link2013将失效:

ln -s log2013.log link2013

[root@localhost test]# ll

-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log

[root@localhost test]# ln -s log2013.log link2013

[root@localhost test]# ll

lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log

-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log

给文件创建硬链接,为log2013.log创建硬链接ln2013,log2013.log与ln2013的各项属性相同

ln log2013.log ln2013

[root@localhost test]# ll

lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log

-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log

[root@localhost test]# ln log2013.log ln2013

[root@localhost test]# ll

lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log

-rw-r--r-- 2 root bin 61 11-13 06:03 ln2013

-rw-r--r-- 2 root bin 61 11-13 06:03 log2013.log

8、rm

语法

rm [参数] name...

参数

· -i 删除前逐一询问确认。

· -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

· -r 将目录及以下之档案亦逐一删除。

实例

删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:

rm test.txt

rm:是否删除 一般文件 "test.txt"? y

# rm homework r

m: 无法删除目录"homework": 是一个目录

# rm -r homework

rm:是否删除 目录 "homework"? y

删除当前目录下的所有文件及目录,命令行为:

rm -r *

9、cp

语法

cp [参数] source dest

cp [参数] source... directory

参数

· -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。

· -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。

· -f:覆盖已经存在的目标文件而不给出提示。

· -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。

· -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

· -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

· -l:不复制文件,只是生成链接文件。

实例

使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:

$ cp –r test/ newtest

10、scp

语法

scp [可选参数] file_source file_target

参数

· -1: 强制scp命令使用协议ssh1

· -2: 强制scp命令使用协议ssh2

· -4: 强制scp命令只使用IPv4寻址

· -6: 强制scp命令只使用IPv6寻址

· -B: 使用批处理模式(传输过程中不询问传输口令或短语)

· -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)

· -p:保留原文件的修改时间,访问时间和访问权限。

· -q: 不显示传输进度条。

· -r: 递归复制整个目录。

· -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

· -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。

· -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。

· -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。

· -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。

· -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,

· -P port:注意是大写的P, port是指定数据传输用到的端口号

· -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

实例

scp local_file remote_username@remote_ip:remote_folder

scp local_file remote_username@remote_ip:remote_file

scp local_file remote_ip:remote_folder

scp local_file remote_ip:remote_file

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

scp -r local_folder remote_username@remote_ip:remote_folder

scp -r local_folder remote_ip:remote_folder

第1个指定了用户名,命令执行后需要再输入密码;

第2个没有指定用户名,命令执行后需要输入用户名和密码;

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

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

预约申请免费试听课

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

上一篇:Linux运维人员都在用的Linux常见命令汇总
下一篇:给零基础入门Linux运维的新手几条建议

云计算就业岗位有哪些?

学物联网工程好就业吗?

图像算法工程师发展前景

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

  • 扫码领取资料

    回复关键字:视频资料

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

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

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省