********* 0104 linux *********
9.linux中常用目录解析
/etc:存放配置文件 mysql的配置文件默认在哪里?/usr/local/mysql/bin/mysqld
/home:普通用户的家目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/opt:第三方软件相关文件,默认是空的。
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/tmp:这个目录是用来存放一些临时文件的。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
10.如何查看是否安装了某个软件,比如msyql
1)通过rpm查看 rpm -qal |grep mysql 查看mysql所有安装包的文件存储位置
2)yum 查找除了rpm 查询还可以通过yum search 查找对应可以安装的软件包
yum list install | grep 软件名
3)其他查找方法
除了根据软件包来找文件位置之外,最常用的就是通过find查找某个关键字比如mysql所有包含mysql服务的文件路径
4)Which查找命令
Which命令是通过 PATH环境变量查找可执行文件路径,用于查找指向这个命令所在的文件夹
5)Whereis命令查找,whereis mysql
11.linux中安装软件的方式(重点掌握 要分清楚版本:红帽系列centos)
1)rpm安装
安装软件:rpm -ivh [软件包名称]
卸载软件:rpm -e [软件包名称]
更新软件:rpm -Uvh [软件包名称]
2)yum安装
安装:yum install [软件包名称]
卸载:yum remove [软件包名称]
更新:yum update [软件包名称]
拓展:rpm和yum区别?
yum是在线安装、rpm需要包解压
yum可以解决依赖关系,rpm需要手动去解决依赖关系
yum可以指定安装源,yum install XXX --enablerepo=YYY(XXX是要安装的软件,YYY是repo源的名字,建议安装的时候尽量选择同一个源)
3)源代码编译安装
--1)下载源码安装包,解压
--2)./configer,检察环境
--3)make,编译
--4)make install,安装
--5)make clean,执行并清空临时文件
https://www.cnblogs.com/zhaoyuanshi/p/15698929.html
4)二进制安装(直接解压直接用)
--1)tar -zxvf 压缩文件名.tar.gz
--2)设置环境变量(修改文件夹里的文件)
全局:cat /etc/profile
用户: cat ~/.bash_profile
12.linux中硬链接和软链接以及应用场景
硬链接:ln 源文件 目标文件 >--相当于复制功能
软链接:ln -s 源文件 目标文件 >--相当于wondows里的快捷方式
1.硬链接定义
--1)相当于复制功能
--2)ln -d 源文件 目标文件
2.如果把源文件删除,目标文件是否可以使用?
--1)可以使用
3.生成硬链接后,文件是直接double了么?
--1)不是
--2)硬链接只是一个索引,指向的文件都是同一个
--3 ) ls -li:查看连接的索引
4.目录可以创建硬链接么?
--1)不能(而且是以文件副本的形式存在。不占用实际空间)
5.软链接的定义
--1)软链接相当于符号连接,相当于快捷方式
6.软链接的源文件删除,目标文件是否可以使用?
--1)不可以
7.软链接和硬链接的核心区别在哪里?
--1)一个文件,一个目录
--2)软链接使用的更多
--3)硬链接源文件可以删除,软链接源文件不可删除
--4)软链接可以跨分区
补充:
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
13.管道符的应用场景都有哪些
(查找某个tomcat,并把这个进程杀掉
如果同时有多个命令如何处理 cat aaa.txt| cat bbb.txt)
1.定义:
把前面标准输出作为grep的标准输入
2.面试问题1:
查找文件,并找出文件中的具体内容
3.面试问题2:
管道符后面接find或者grep有什么区别
grep搜索的是文本,find搜索的是文件,换句话说就是grep是查找匹配条件的行,find是搜索匹配条件的文件
4.面试问题3:
查找某个tomcat,并把这个进程杀掉
ps -ef | grep tomcat | grep -v grep | awk '{print $2}' | xargs -r kill -9
https://blog.csdn.net/wuyy0224/article/details/128272511
14.如何修改容器中的配置文件(挂载概念需要掌握)
1.方法一:
--1)进入容器docker exec -it 容器名或id /bin/bash
--2)找到文件
--3) vi文件--工作中原则上是不带vi命令的
此时面试官可能会问vi命令是怎么装的?
# 输入命令
apt-get update
apt-get install vim
2.方法二:
--1)先把容器中的配置文件复制到宿主机
--2)在宿主机中修改配置文件
--3)把宿主机中的配置文件复制到容器中: docker cp 宿主机文件路径 容器名字:容器配置文件路径
3.方法三:
--1)挂载命令:-v 挂载覆盖技术
比如:docker run --name mynginx -d -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
这个命令意思:
docker run --name mynginx #运行名字或ID为myinginx的容器
-d -p 80:80 #对外映射80端口,对内转发也是80端口。
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf #用/data/nginx/conf/nginx.conf文件覆盖容器内的的/etc/nginx/nginx.conf文件。
15.find、grep、whereis区别
find是在目录中查找文件,不仅可以按照文件名搜索文件,还可以按照权限,大小,时间,inode号来搜索文件,它的权限是所有用户
grep是Linux下一种强大的文本搜索工具,用于查找文件里符合条件的字符串,可以查看日志,查看命令输出,它能使用正则表达式搜索文本,并将匹配的行打印出来,使用权限是所有用户
whereis用于查找文件,会在特定目录中查找符合条件的文件,这些文件按属于原始代码,二进制文件,或是帮助文件
16.如果连接服务端失败,可能的原因是什么
1.其他人是否可以连接?
--1)如果别人可以连上,那么就是物理机的问题(杀毒软件,本地网络问题,是否可以ping通服务端,查看ssh服务)
--2)如果别人也连接不上,那么就是服务端问题
2.登录服务端,查看网路,是否可以互通
3.如果不能互通,查看防火墙
4.如果防火墙都是ok,查看ssh服务