今天和大家分享一下linux操作系统下主要用到的几个知识点,分别是:linux目录结构、linux常用命令、文件权限操作、服务操作、yum安装命令、docker服务、vim编译器、pymysql测试连接、用户及组命令、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安装pymysql
pip install pymysql -i https://mirrors.aliyun.com/pypi/simple
2.编写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;