最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
源码安装步骤是下载源码到本机,然后对源码进行编译,生成可执行文件,然后将生成的可执行文件拷贝到对应的安装目录即可,常见的软件源码包格式为.tar.gz
、.tar.bz2
等;
软件包安装步骤是下载好已经编译好的可执行文件包,然后使用对应的包管理工具进行安装,不同的Linux
系统使用不同的包管理工具,常见包管理工具如下所示:
- Ubuntu/Debian 系统使用 dpkg 进行管理软件包(软件包的后缀为.deb);
- Redhat/CentOS 系统使用 rpm 进行管理软件包(软件包的后缀为.rpm);
在线安装是指不需要用户亲自下对应软件的包,但是需要对应系统能够访问互联网,不同的Linux
系统使用不同的工具进行在线安装软件,常见的在线安装软件的工具如下所示:
- Ubuntu/Debian 系统使用 apt-get 进行在线安装软件;
- Redhat/CentOS 系统使用 yum 进行在线安装软件;
建议使用在线安装软件,离线安装软件常见的问题是软件间的依赖问题,如果离线安装软件,则必须要手动安装依赖的库,而在线安装则只需要一条命令完成所有的操作,在线安装会自动去安装依赖库;
源码安装Samba
Samba
软件依赖如下多个软件包,所以在安装Samba
软件前,需要先安装如下依赖包。
python-dev: sudo apt-get install python-dev
libgnutls-dev: sudo apt-get install libgnutls-dev
libacl1-dev: sudo apt-get install libacl1-dev
libldap2-dev: sudo apt-get install libldap2-dev
首先下载源码包,此处使用的是samba-4.8.2.tar.gz。
具体安装步骤如下所示:
- 解压源码包:tar zxvf samba-4.8.2.tar.gz
- 进入源码文件夹:cd samba-4.8.2/
- 配置(生成Makefile):./configure --prefix=/usr/local/samba --without-pam
- 编译源码:make
- 安装源码:sudo make install
[./configure --prefix=/usr/local/samba --without-pam
成功执行结果]
[make
成功执行结果]
[sudo make install
成功执行结果]
至此源码安装Samba
软件结束,如果正确安装,则可以执行如下命令启动服务:
sudo /usr/local/samba/sbin/smbd –D
sudo /usr/local/samba/sbin/nmbd –D
在线安装Samba
本实验环境使用的系统是Ubuntu
,所以使用apt-get
工具来在线安装软件,具体步骤如下所示:
更新软件源:sudo apt-get update
安装samba:sudo apt-get install samba
如果安装成功则会出现如下界面:
注意:如果当前用户是root
,则执行以上安装命令时不需要加sudo
。
Samba服务器启动 / 关闭
当我们安装成功samba
软件后,Ubuntu 12.04
系统默认samba
服务是开启的。
本实验环境使用的系统是Ubuntu
,当我们使用apt-get
在线安装软件后,通常会在/etc/init.d/
目录下生成一个启动该服务软件的脚本。例如,我们使用apt-get
安装samba
软件后,我们可以看到在/etc/init.d/
目录下生成一个名为smbd
的脚本文件,该脚本可以用来控制samba
服务的启动与关闭等信息。
[samba
服务脚本文件]
Linux service 命令
Linux
系统中使用service
命令来控制系统服务,它可以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
service
命令的使用格式:
service 服务名 控制命令
- 服务名:自动要控制的服务名,即
/etc/init.d
目录下的脚本文件名; - 控制命令:系统服务脚本支持的控制命令。
常见的控制命令:
start:启动该服务;
stop:关闭该服务;
restart:重新启动该服务;
status:查看该服务状态;
注意并不是所有的服务都支持以上4
种控制命令,不同的服务提供不同的控制命令,大多数服务都支持以上4
种常用的控制命令。
samba服务管理
当我们成功安装samba
后,接下来,我们使用service
命令来管理samba
服务。
我们将在以下案例演示中分别介绍如何启动、关闭、重新启动samba
服务,以及查看samba
服务状态。
案例演示1
:
查看samba
服务状态,可以使用如下命令:
sudo service smbd status
[请在右侧“命令行”里直接体验]
可以看到当前samba
服务处于running
状态,也就是运行状态,其运行进程的ID
为54244
。
案例演示2
:
关闭samba
服务并且查看是否关闭成功,可以使用如下命令:
sudo service smbd stop
sudo service smbd status
[请在右侧“命令行”里直接体验]
可以看到samba
服务处于waiting
状态。
案例演示3
:
启动samba
服务并且查看是否启动成功,可以使用如下命令:
sudo service smbd start
sudo service smbd status
[请在右侧“命令行”里直接体验]
可以看到samba
服务处于running
状态,也且运行进程ID
为54408
。
案例演示4
:
重启samba
服务并且查看是否重启成功,可以使用如下命令:
sudo service smbd restart
sudo service smbd status
[请在右侧“命令行”里直接体验]
可以看到当前samba
服务先被stop
后,紧接着被start
。
注意:如果当前用户是root
,则执行以上命令时不需要加sudo
。
Samba客户端
在Linux
系统上samba
客户端软件有smbclient
。
smbclient
命令属于samba
套件,它提供一种命令行使用交互式方式访问samba
服务器的共享资源。这里详细介绍Linux
smbclient
命令的一些经常使用的命令。
在线安装smbclient
软件
本实验环境使用的系统是Ubuntu
,所以使用apt-get
工具来在线安装软件,具体步骤如下所示:
- 更新软件源:sudo apt-get update
- 安装smbclient:sudo apt-get install smbclient
如果安装成功则会出现如下界面:
注意:如果当前用户是root
,则执行以上安装命令时不需要加sudo
。
samba
用户管理
smbpasswd
命令属于samba
套件,能够实现添加或删除samba
用户和为用户修改密码。
smbpasswd
命令格式:
smbpasswd 选项 用户名
常见选项如下:
-a:向smbpasswd文件中添加用户;
-c:指定samba的配置文件;
-x:从smbpasswd文件中删除用户;
-d:在smbpasswd文件中禁用指定的用户;
-e:在smbpasswd文件中激活指定的用户;
-n:将指定的用户的密码置空;
用户名:指定要修改smb
密码的用户。
**注意:**这里使用的用户是系统中已经存在的用户。
案例演示1
:
添加一个samba
用户sambaUser
,可以使用如下命令:
sudo useradd sambaUser
sudo smbpasswd -a sambaUser
[请在右侧“命令行”里直接体验]
smbclient命令常见用法
smbclient
命令格式:
smbclient 选项 smb服务器
常见选项如下:
-L:显示服务器端所分享出来的所有资源;
-p<TCP连接端口>:指定服务器端 TCP 连接端口编号;
-s<目录>:指定 smb.conf 所在的目录;
-U<用户名称>:指定用户名称;
-N:不用询问密码;
smb
服务器:指定要连接的smb
服务器。
常见smbclient
命令如下所示:
smb: \> ? 或 help [command] 提供关于帮助或某个命令的帮助;
smb: \> ![shell command] 执行所用的 SHELL 命令,或让用户进入 SHELL 提示符;
smb: \> cd [目录] 切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录;
smb: \> lcd [目录] 切换到客户端指定的目录;
smb: \> dir 或 ls 列出服务器端当前目录下的文件;
smb: \> exit 或 quit 退出smbclient;
smb: \> get file1 file2 从服务器上下载 file1,并以文件名 file2 存在本地机上;如果不想改名,可以把 file2 省略;
smb: \> mget file1 file2 file3 filen 从服务器上下载多个文件;
为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**
![](https://img-blog.csdnimg.cn/img_convert/6983e63612b5857e0afd934bccb22680.png)
本份面试集锦涵盖了
* **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密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
、8009、8080三个端口的含义?
> 10、什么叫CDN?
> 11、什么叫网站灰度发布?
> 12、简述DNS进行域名解析的过程?
> 13、RabbitMQ是什么东西?
> 14、讲一下Keepalived的工作原理?
> 15、讲述一下LVS三种模式的工作过程?
> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
> 17、如何重置mysql root密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**