Linux 基本指令 Pt(3)

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

这是我和梦想合伙人组建的社区,诚邀各位有志之士的加入!!
社区用户好文均加精(“标兵”文章字数2000+加精,“达人”文章字数1500+加精)
直达: 社区链接点我

🎉🎉🎉倾力打造转码社区微信公众号🎉🎉🎉
在这里插入图片描述


在这里插入图片描述
大家应该都知道,我们打开浏览器随便打开一个网站,再从网页里面点进任何一个个体,我们从现在网址栏复制下来的访问地址就是我们常说的 url,比如我找到 b 站一个视频:

https://www.bilibili.com/video/BV1u54y1Z7Wg?spm_id_from=333.851.b_7265636f6d6d656e64.1

在这里插入图片描述
那么这个视频 url 域名后面的一大坨是什么呢?我们说过 Linux 文件路径我们有路径分隔符,发现他和网址的 url 分隔符是一样的,其实网址靠后端维护,稍稍能看出来企业的后端是 Linux 操作系统!

感性理解🤔

Linux 下一切皆文件,这句话你是否有很多问号?

这就是一个 Linux 的感性理解,Linux 的设计哲学就认为所有的东西都可以被当成文件,我们能所见的键盘,硬盘,显示器,网卡都会被当成文件。这个世界很复杂,有好就有坏,不管你是乐天派还是觉得错的是这个世界,过去说过世上一切皆浮云,按照这个标准那么看待事物的方式就会变得简单,这就意味着我们可以用同一套方法来解决所有的问题。

Linux 的浮云就是文件,好处就是可以以同样的方式看待这些设备,当然这些设备在冯诺依曼体系下都被称为外设,说白了除了CPU和内存其他的基本上都是内设。

man 指令🤔

man命令是Linux下最核心的命令之一, 而 man 也并不是英文单词 “man” 的意思——男人,它是单词 manual 的缩写,即使用手册的意思
在这里插入图片描述

man命令会列出一份完整的说明,其内容包括命令语法、选项的意义及相关命令 ,更为强大的是,不仅可以查看 Linux 中命令的使用帮助,还可以查看软件服务配置文件、系统调用、库函数等帮助信息 。

Linux 的命令有很多参数,不可能全部记住,我们可以通过查看联网手册获取帮助,这就可以用到 Linux 手册页的访问语法——man 语法:

man [选项] + 命令参数

常见指令比如:

-a:在所有的man帮助手册中搜索;
-f:等价于whatis指令,显示给定关键字的简短描述信息;
-P:指定内容时使用分页程序;
-M:指定man手册搜索的路径。

比如我们查一个 printf:
在这里插入图片描述
还意外的发现 printf 是一个指令并不是函数,他可以在 Linux 中直接使用。因为 Linux 是C语言写的,man 既能查命令也能查函数,只需要在 printf 前加一个 3 ,就能查到C语言下的 printf 函数。那么问题来了,man 后面这个数字啥意思呢?这时候我们就可以来一手典中典的 man man 来看看 man 怎么用。
在这里插入图片描述
这些就是提供的接口,也就是9种不同的手册,我们 1 对应可执行程序手册,也就是 1 查指令;2 是系统调用手册,能查到功能; 3 对应库调用手册,所以跟 3 能查到 printf 的C语言定义。当 man 没有选项时默认为手册 1,最常用的就是前三个手册了,记住就行。

如果没有 man,执行:

yum install -y man-pages

cp 指令🤔

cp 指令即拷贝指令,类似于 win 中的复制粘贴功能,比如进行文件拷贝,我将 new.txt 里面的内容拷到 new2.txt 里面:

在这里插入图片描述
cp 指令也可以进行指定路径的拷贝,如果在拷贝的时候,要拷贝的文件要在当前路径下,两个文件的名称不能一样。默认情况下,我们不允许拷贝目录,如果有硬性需要,就需要借助 -r 选项的递归拷贝。
在这里插入图片描述

mv 指令🤔

mv 也是重要指令,他的主要功能有两个,一是剪切功能,比如我想将一个文件剪切移动到该目录下另一个目录里面,也可以剪切目录。

mv 文件名 目录名

这里我将 dir 目录下的 new2.txt 移动到了新建的 dir2 目录下

在这里插入图片描述
二是重命名功能,我们可以利用如下格式

mv 原文件名 新文件名

在原来的位置进行原地重命名,同理也可以堆目录进行重命名。

mv 常用选项有 -f 和 -i,-f 我们说过是强制性命令直接进行覆盖,而 -i 是如果目标文件存在时,就会询问是否进行覆盖,默认参数是 -f。还是那句话,Linux 里面不要轻易删除或者覆盖一个文件,因为 Linux 并没有回收站。

cat 指令🤔

我们其实一开始就使用了这个指令了,他的作用就是打印文件内容,比较适合查看短文本和代码,他也是可以带参数的:

-n :由 1 开始对所有输出的行数编号。
-b :和 -n 相似,只不过对于空白行不编号。
-s :当遇到有连续两行以上的空白行,就代换为一行的空白行。

cat 后面在不加文件名的时候,默认会从键盘进行标准输入与输出。

既然他时候短文本,那长文本咋办呢?他其实是可以展现出来的,但不会像在 vim 或者 nano 编辑器里面一样从开头供你随意查看,但是 cat 出来的第一眼永远是尾巴上的那几行文本,结论就是 cat 并不适合长文本。

more/less 指令🤔

他俩的作用是对于文本的显示,more 是进行行数的升序呈现,一个 100 行的文本,先出现在眼前的是开头开始的几行,而 less 是降序,从尾巴开始显示,键盘上下键支持文本页面上下翻。

more(less) 文件名

那么问题来了,我们为什么会去使用这两个命令呢?其主要用途就是进行查看日志。

输出重定向🤔

echo “hello world” > new.txt

这句代码的意思就是将 “hello world” 写入 new.txt ,这里的 > 就是输出重定向,就是指本来应该写入到显示器的内容把他写入到文件中 ,重点在于他会清空原来文件的内容,进行重新写入,这是如果想要不清空原来文件内容,就使用双大于符号,>> 被称为追加重定向:

echo “hello world” >> new.txt

head/tail 指令🤔

head,tail 是分别查看头,尾开始的正数 n 行和倒数 n 行的指令

head -num 文件名
tail -num 文件名

那如果我想要取中间的区间怎么办呢?可以用临时文件+ head 先取出右区间范围,再使用 tail 取到左区间来取出这个区间,当然这样是比较麻烦的,我们还有更聪明的方法——管道。

管道🎉

计算机世界里面的资源就是数据,就相当于世界的是由一样,这个管道和现实世界是一样的,有人去放入数据有人去拿出数据,他就是一个传输数据资源的载体

管道是一种单向通信的方式,一般用于进程间通信,在零拷贝时也会用到管道。管道本质上是一个文件,一个进程读,一个进程写。但是管道本身不占用磁盘或者其他外部存储的空间。在Linux上它占用内存空间。所以管道就是一个操作方式为文件的内存缓冲区。也正是因为管道是内存中的,所以它比使用文件作通信更快。

我们通过组合多条 head 、tail 命令来达到取区间数据,管道交付的最终意义就是级联多个命令来完成流水线式的数据处理工作。

date 指令🤔

顾名思义,date 指令就是用来显示时间的指令,他原本的输出格式并不方便我们直接阅读,所以我们一般会带上输出格式,一般是:

date +%Y-%m-%d_%H:%M:%S

Y,m,d,H,M,S 分别代表年月日时分秒的格式。

cal 指令🤔

cal 是Linux的日历功能
在这里插入图片描述

find 指令🤔

find 指令是非常重要的,它是 Linux 里面非常常见的文件查找指令,他可以查找指定目录下的指定文件,任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。

因为目前俺是入门,很多 find 选项还用不到,所以了解一手就行,想深入研究的请自行搜索

grep 指令🤔

grep 是一个行文本过滤指令,即在文件中搜索字符串,将找到的内容打印出来,语法:

grep [选项]  要搜索的字符串  文件

-i

搜寻的字符串要加上 单引号 ‘ ’ ,而且在查找时该指令是明确了大小写的,所以如果要默认不区分大小写可以使用选项 -i,-i 是忽略大小写。

-v

-v 是反向过滤,凡是具有关键字的文本行,全部去掉留下没有匹配的文本行。

注意 grep 是行处理指令,永远拿到的是一行一行的内容。
总结一下就是:

cat命令:将文件内容一次全输出显示在屏幕上。
more命令:分屏显示文件内容,每次只显示一屏,只允许向前浏览。
less命令:与more相似,并且支持向前,向后浏览。

zip 指令🤔

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

at命令:将文件内容一次全输出显示在屏幕上。

more命令:分屏显示文件内容,每次只显示一屏,只允许向前浏览。
less命令:与more相似,并且支持向前,向后浏览。

zip 指令🤔

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值