Linux面试相关知识点看着一文就够了
今天和大家分享一下linux操作系统下主要用到的几个知识点,分别是:linux目录结构、linux常用命令、文件权限操作、服务操作、yum安装命令、docker服务、vim编译器、pymysql测试连接、用户及组命令、mysql创建用户和数据库
目录
一、linux目录结构
二、linux常用命令
三、文件权限操作
3.1 文件权限概念
3.2 chmod命令
四、服务操作
五、 yum安装命令
六、docker服务
七、pymysql测试连接
八、 Vim编辑器
九、用户及组命令
十、mysql创建用户及数据库
一、linux目录结构
在开始学习linux之前,我们肯定要了解linux目录结构,知道哪个目录下存放的是什么类型的文件或者数据,才能方便我们后面的使用和理解
/ 根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放,类同Window的根路径是各个盘符(C:、D:)
~ 当前用户的home(家)目录 (非root用户是在/home/{用户名}, root用户的家目录是 /root)
/bin : 提供用户使用的基本命令, 存放二进制命令,不允许关联到独立分区,OS启动会用到里面的程序。
/boot:用于存放引导文件,内核文件,引导加载器.
/sbin:管理类的基本命令,不能关联到独立分区,OS启动时会用到的程序(重要的命令通常处于bin,不重要的则安装在sbin)。
/lib:存放系统在启动时依赖的基本共享库文件(.so)以及内核模块文件. 系统使用的函数库的目录 也存放了大量的脚本库文件 ,程序在执行过程中,需要调用时会用到
/lib64:存放64位系统上的辅助共享库文件.
/etc: 系统配置文件存放的目录,该目录存放系统的大部分配置文件和子目录,不建议在此目录下存放可执行文件 。
/home:普通用户主目录,当新建账户时,都会分配在此,建议单独分区,并分配额外空间用于存储数据。
/root: 系统管理员root的宿主目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
/media:便携式移动设备挂载点目录.
/mnt:临时文件系统挂载点.
/dev: 设备(device)文件目录,存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,存放连接到计算机上的设备(终端、磁盘驱动器、光驱及网卡等)的对应文件 (b 随机访问,c 线性访问)
/opt:第三方应用程序的安装位置.
/srv: 服务启动之后需要访问的数据目录,存放系统上运行的服务用到的数据,如www服务需要访问的网页数据存放在/srv/www内。
/tmp:存储临时文件, 任何人都可以访问,重要数据一定不要放在此目录下。
/usr: 应用程序存放目录,/usr/bin 存放保证系统拥有完整功能而提供的应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件,_/usr/local 存放软件升级包,第三方应用程序的安装位置,/usr/share/doc _系统说明文件存放目录。
/var :放置系统中经常要发生变化的文件,如日志文件。/var/log 日志目录及文件./var/tmp:保存系统两次重启之间产生的临时数据.
/proc: 用于输出内核与进程信息相关的虚拟文件系统,目录中的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间
/sys : 用于输出当前系统上硬件设备相关的虚拟文件系统.
二、linux常用命令
了解了linux目录结构以后,我们就可以转战突破linux系统下的常用命令了,熟知常用命令才能在使用的过程中,兵来将挡水来土掩。
1.ls命令 :查看当前路径下的文件及目录
- ls -l:以列表的形式常看文件及目录
- ls -li:以列表的形式并且显示编号
-ls -lS --block-size=K:按照文件大小来排序,大小单位为K(默认降序)
-ls -ltr:以生成时间来排序:r代表反排,所以当前为升序
-ls -lA:查看当前目录下的所有文件(包含.开头的隐藏文件)但不显示.当前目录和..父级目录信息
-ls -la:显示.当前目录和..父级目录2.cd命令 :跳转当前所在路径的命令
3.pwd命令 :查看当前路径的命令(绝对路径)
4.mkdir命令 :创建文件夹命令
5.rmdir命令 :删除文件夹命令
6.rm命令 :删除一个不为空的目录或者文件
-rm -rf 文件目录所在位置
-rm -rf *.txt 删除当前目录下所有的txt文件
7.touch :创建新的文件命令
8.echo :打印文本的命令
9.find :查找文件或目录(一般结合管道(|)和grep使用)
10.cp :复制文件的命令
11.mv :剪切文件的命令
12.cat :查看文件内容的命令
13.grep :过滤相关内容的命令
三、文件权限操作
3.1 文件权限概念
一个文件或目录的权限由三大部分组成的,分别是用户权限+用户组权限+其它组权限。每部分的权限又分为三小部分,分别是 r(读), w(写), x (执行),代表的数值分别是 r: 4, w:2, x: 1,如果权限值为0时,使用 -表示。
3.2 chmod命令
- 字符权限:chmod [ugoa] [r|w|x]
- 数值权限:chmod 777 a.txt
四、服务操作
1.systemctl命令:
- start 启动服务
- stop 终止服务
- restart 重启服务
- enable 启动服务(第一次启动)
- disable 禁用服务
- status 查看服务状态
2.service命令:同systemctl雷同
3.netstat命令:监测到网络数据流的工具
- netstat -s: 查看网络的统计信息
- netstat - ltpn: 查看所有tcp协议的程序及端口号
4.ps命令:查看当前运行的进程 ----> ps -ef
5.kill命令:杀死某一个进程 ----> kill -9 进程号
6.内存使用情况
top命令:实时获取内存和进程的使用情况。
free命令:命令格式: free [-h|-k|-b|-m|-g|-t]
7.磁盘使用情况
df命令:查看当前所有挂装载磁盘上的存储情况 ----> df [-l|-a|-h]
8.定时任务
crontab命令:使用crontab命令查看、编辑、发布和删除定时任务。
五、 yum安装命令
1.更新与配置资源
yum update -y
2.安装git
- yum search git
- yum install git -y
- git --version
3.安装python3.7
- yum install wget -y
- wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
- scp root@10.36.174.67:/opt/project1/python3.7.tar.xz /opt/
- tar -xvf python3.7.tar.xz
六、docker服务
1.docker基本概念
Docker是虚拟化的容器服务。是基于共享底层系统内核和硬件资源,构建的一个虚拟的系统。与VM虚拟机的不同之处,是共享宿主机的内存、存储等相关的资源。而VM是独立的内存、CPU和存储等资源。2.docker组成部分
- Docker的客户端:为用户提供操作docker的工具,用户输入的命令发送给docker守护进程,则docker守护来管理docker镜像和容器。主要命令是docker【重点】
- Docker的守护进程(dockerd: docker daemon 服务):是一种后端进程(即没有界面),也是一种服务。在使用docker命令时,必须保证docker服务启动(systemctl start docker)。负责接收docker客户端发送的指令并解析和执行。
- Docker镜像:容器的创建是依赖于镜像的,可以将镜像看成为一个类,容器可以被看成为类的实例。镜像分本地镜像和远程镜像, 本地镜像是从远程镜像仓库中下载的,也可以是从某一个容器中生成的。
- Docker容器:由镜像生成的, 一个容器即是一个微型的linux系统,可以进入容器中进行相关的操作,但是linux的工具(如vim)不存在,如需要,则手动安装。容器中的数据可以由宿主机(容器所在的操作系统)进行同步或管理。最后,容器可以生成本地镜像。
3.docker的常用命令
docker images # 查看本地所有镜像
docker search <镜像名> # 搜索相关的镜像资源
docker pull <镜像名>[:版本号] # 从远程镜像仓库中下载到本地, 默认版本为latest
docker run [-itd] [-v <宿主机的文件目录>:<容器的文件目录> ...] [-p <宿主机的端口>:<容器的端口> ...] --name <容器名> [--hostname hostname] [--ip ipv4地址] [--network network] [-e 环境变量=值 ...] <镜像名或ID>[:版本号] # 运行
docker ps [-a] # 查看docker中正在运行的容器(子进程), -a代表所有容器(启动、未启动)
docker stop|start|restart <容器名或ID>
docker logs [-n 最后的行数] <容器名或ID> # 查看容器的日志
docker cp <宿主机文件位置> <容器名或ID>:<容器文件位置> # 宿主机和容器之间相互复制文件
docker exec [-it] <容器名或ID> <容器内部的命令> # 执行容器内部的命令(完整的)
docker rmi <镜像名或ID> # 删除镜像
docker rm <容器名或ID> # 删除容器
docker save -o xxx.tar <IMAGE> ... 将一个或多个镜像打包成一个tar压缩文件
docker load -i xxxx.tar 从一个tar压缩文件中加载一个或多个镜像
docker tag SOURSE_IMAGE[:TAG] TARGET_IMAGE[:TAG] 从源镜像重新标记新的镜像名
4.docker的网络操作
docker network [connect|create|ls|inspect|disconnect|prune|rm]
七、pymysql测试连接
1.pip安装pymysqlpip install pymysql -i https://mirrors.aliyun.com/pypi/simple2.编写connect_mysql.py文件
from pymysql import Connect
conn = Connect(host='10.36.174.67',port=3306,user='root',passwd='xxxx',db='mysql',charset='utf8')
print('--connect OK--')
with conn.cursor() as c:c.execute('select user,host from user')for row in c.fetchall():print(row)
3.执行测试脚本python connect_mysql.py
八、 Vim编辑器
此知识点在上一遍文章中有介绍,感兴趣的可查看
九、用户及组命令
1.创建系统用户:
useradd或adduser 可以创建linux用户
常用的选项:
-d, --home-dir HOME_DIR 指定home目录
-e, --expiredate EXPIRE_DATE 指定用户的过期时间
-g GID 指定主组的名称, 默认用户名即是主组名
-G GID 指定附加组的名称
-m 创建用户的家目录(Home)
-p PASSWORD 指定口令
-r 表示创建系统用户,非系统用户不能ssh远程登录2.删除用户:
userdel -fr 用户名
-f 是强制删除,没有提示
-r 是删除用户的home目录和mail相关资源3.修改用户口令
使用 passwd修改用户的新口令。
十、mysql创建用户及数据库
1.查看数据库
show databases;2.打开数据库
use databases;
3.创建用户
create user 'disen'@'%' identified by 'disen';4.授权
grant all privileges on stu.* to 'disen'@'%';
如果授权之后,无法使用数据库,可以刷新试试
flush privileges;
Linux面试相关知识点看着一文就够了相关推荐
- 最新阿里Java技术面试题,看这一文就够了!
金三银四跳槽季即将到来,作为 Java 开发者你开始刷面试题了吗?别急,小编整理了阿里技术面试题,看这一文就够了! 阿里面试题目目录 1:技术一面(基础面试题目) 2:技术二面(技术深度.技术原理) ...
- Fortran保姆级教学——考试所有知识点看这一篇就够了
Fortran保姆级教学--考试所有知识点看这一篇就够了 临近期末本人复习的同时将整个fortran课堂知识整理了下来,希望学弟学妹们今后学这门课的时候不至于在csdn找不到系统的教程,也希望能帮到需 ...
- 重磅!由Linux面试出发,看清华大佬教你如何企业级运维实战
其实当时没有想到去面试,只是在智联上更新了一下简历,就陆陆续续接到很多公司的邮件和电话,闲话少说,下面就分享给大家面试Linux的经历: 首先,公司HR会把公司的介绍及岗位要求发到你邮箱(或者QQ.微 ...
- 一次哔哩哔哩面试经历,看这一篇就够了!
前言 笔者是某211非计算机相关专业2018届本科生,在校期间有半年多的互联网小公司实习经历. 毕业之后投递360 ,入职了360企业安全成为专门的前端开发工程师,有幸进入一个很赞的团队,遇到很棒的导 ...
- Java面试相关知识点总结
根据Java程序员面试宝典.网上相关技术博客以及自己相关笔记做的整理,其他部分还在陆续整理,后续会发出.希望对大家有帮助.祝大家都能拿到心仪的Offer,加油^_^^_^ Java面向对象三大特征-- ...
- 绝对定向 c++_【007】Linux重定向、管道符及环境变量(看这一文就够了)
总第83篇 通过前面的几篇文章,我们已经掌握了数十个常用的Linux命令,若不能将这些命令进行组合使用,则无法提升工作效率.本文就梳理相关的方法,将各个命令组合起来使用,从而大大提升工作效率,方便我们 ...
- linux/shell相关知识点
阿里Linux Shell脚本面试25个经典问答 Linux运维工程师12道面试题整理 感谢作者分享!
- c语言面试知识点总结,C语言面试相关知识点
1.关键字static的作用是什么? 有三个明显的作用: 1)在函数体内,一个被声明为静态的变量在这个函数被调用过程中维持其值不变 2)在模块内(但在函数体外),静态的变量可以被模块内所有函数访问,但 ...
- Linux面试相关 c程序的运行流程
在Linux中,运行一个程序时,首先由shell调用fork,然后在子进程中真正执行这个命令,首先是调用execve来加载可执行文件,然后将所需要的库文件映射到进程的虚拟内存空间中,此时,进程执行上下 ...
最新文章
- 关于reviewboard汉化
- 解决flask中文乱码的问题
- Silverlight中使用控件模板的问题(自己添加控件的方法)
- 启明云端分享|ESP8089 pin to pin 替代RTL8189,供应稳定、性价比高!
- OpenGL transformation变换的实例
- 如何通过代码获得当前SAP Spartacus Component渲染所基于的slot名称
- oracle和mysql的安装教程_客户端安装和配置(1) - Oracle 10g 安装图解教程_数据库技术_Linux公社-Linux系统门户网站...
- 多對多、單向一對多做ORM時最好用基于连接表的方式
- JAVA的if用法比如if(...){} 和if()没有区别
- 阶段3 3.SpringMVC·_05.文件上传_4 文件上传之Springmvc方式上传代码
- dell系统重装后无法进入系统_戴尔电脑重装系统后开机出现NO Boot Device Found进不了系统...
- 使用Keras-yolov3来识别滑动验证码
- VBA: 字典的介绍与实例
- win7系统中建立家庭局域网
- 爱奇艺动态化框架 Qigsaw 正式开源!
- 小米手机混淆升级崩溃记录与解决
- 路由器和交换机简单总结(cisco设备)
- 深大数据库系统实验3——DATABASE SOFTWARE练习实验
- Kubernetes通过HPA实现pod自动扩容
- maven 跳过单元测试的3种方法