Linux简介
1、Linux的应用
大多数的系统服务器都是运行在Linux操作系统
运维工程师
运维架构师
大数据运维架构师
开发工程师
2、Linux历史
Linux的创始人 李纳斯.托瓦斯
Unix 被称之为操作系统中的贵族,最开始是由 肯.汤普逊,为了玩游戏开发出了unix,
丹尼斯.李奇,unix闭源,minx unix 教学 后来linux本人在minx unix平台上开发了linux,
3、Linux的特性
开放性 :免费开源
多用户:多个用户可以同时在不同的终端设备登录Linux操作系统
多任务:一台设备同时可以运行多个应用程序,应用程序之间相互不干扰
4、Linux的发行版本
Redhat 红帽 不完全开源
Centos readhat的提前版本 完全开源
Ubuntu 开源 一般用于个人学习开发使用 ui界面相对最好的
麒麟 国内发布的发行版本
红旗 国内发布的发行版本
Vmware:是一个虚拟机软件,可以在一台设备上同时运行多个操作系统,系统和系统之间相互隔离
虚拟化:将一台计算机通过虚拟化,虚拟出多个逻辑计算机,计算机和计算机之间相互隔离
是对资源的一种管理技术,重新对资源进行分配
注意:命令都在termaial中执行 桌面单击右键选择进入终端
命令:切换到管理原用户 su
从管理员用户切换到普通用户 su 用户名
5、
开启服务 :systemctl start 服务名
重启服务:systemctl restart 服务名
停止服务:systemctl stop 服务名
注意:自以前的版本中使用的是 service cetos7目前使用的sysemctl
6、设置时间
7、解决安装没有桌面版的系统网络没有连接的问题
切换路径:
打开网卡配置文件:
注意:此文件需要管理员用户才能编辑 所以我们要切换管理员用户
Linux命令格式
1、vi/Vim 是一个编辑工具 主要用来编辑文本
Centos自带vi编辑工具
命令模式
编辑模式
末行模式
使用vim创建一个文件
回到家目录 cd
执行 vim 文件名 如果文件存在就打开 如果不存在就创建一个文件
刚打开文件是属于命令模式:
命令模式下只能执行:
dd 删除当前行
yy 复制当前行
p 粘贴
ndd 删除当前光标一下n行内容 包含光标所在的行
nyy 复制n行内容 包括光标所在行
u 撤销
在命令模式下输入i 切换到编辑模式:
i 在光标当前位置插入内容
Shift+i 在当前行最前面插入内容
Shift+a 在当前行最后插入内容
a 在当前光标之后插入内容
o 在下一行插入内容
Shitf+o 在上一行插入内容
在编辑模式下可以编辑文档
编辑完成按esc切换到命令模式
按shift +:切换到末行模式
写数字就是调到哪一行
q 不保存退出
w 保存
wq 保存并退出
wq! 保存并强制退出
q! 不保存强制退出
2、ls 查看当前目录下的所有文件信息
ls 查看当前目录下的所有文件信息
ls 路径 查看指定路径下的所有文件信息
ls -a 查看当前目录下的所有文件信息 包含隐藏文件
隐藏文件的格式 以.开头
ls -l 详细信息显示
属性可以连用 ls -al
ls -al
ls [-属性] [参数] 参数可以是路径
3、cd 切换目录
cd 绝对路径 根据绝对路径切换到指定目录中去
cd …/ 切换倒上一级路径
cd …/…/ 切换到上上一级路径
cd 不管当前在哪个目录 快速切换到当前用户 家目录
cd ~ 不管当前在哪个目录 快速切换到当前用户 家目录
cd - 切换到 上一次所在目录
注意:记得要经常使用table键来补全路径 防止敲错路径
按一次table 补全路径
按两次table 给出所有可能的提示
pwd 查看当前所在的目录
Ctrl+l 清屏或者使用 clear命令
4、tar命令 归档
-c 创建压缩文档
-v 显示解压缩过程
-f 指定压缩文档
-x 解压tar包
-z 压缩gz的文件 操作gzip格式的文件
-J 操作xz格式的文件
-t 查看压缩文件的内容
-r 向压缩文件中追加内容
注意:-f必须添加
打tar包 归档 后缀名为.tar
tar -cvf 归档文件的名字 要压缩的文件
解压tar包
tar -xvf 文件名
压缩.py文件为gz包 后缀名一般是.tar.gz
tar -czvf 压缩后文件的名字 要压缩的文件
解压缩gz包
tar -xzvf 要解压的文件
压缩xz的包.tar.xz
tar -Jcvf 压缩后的文件名 要压缩的文件
解压xz的包
tar -Jxvf 要解压的文件
bz包 bzip2的压缩方式 后缀名为.tar.bz2
-j
Z包 后缀名为.tar.Z
-Z
注意:.tar属于归档不会做压缩操作 文件大小不会发生变化
.gz 压缩 会改变文件大小
练习:
在家目录创建一个hello.py的文件
touch hello.py
创建目录 demo
mkdir demo
1.将hello.py文件 复制demo中
cp hello.py ./demo
将hello.py文件 复制demo中并重命名为h.py
cp hello.py ./demo/h.py
2.将hello.py 备份成 hello.py.back 到当前目录
cp hello.py ./hello.py.back
3.将hello.py 移动到桌面
mv hello.py ./Desktop
4.当前在家目录 将桌面上的hello.py 重新命名为 love.py
cd ./Desktop/hello.py ./Desktop/love.py
5.创建p.py,a.py
touch p.py
touch a.py
touch p.py a.py
6.将p.py和a.py打包成tar文件
tar -cvf all.tar *.py
7.将p.py和a.py打包成.tar.gz文件
tar -czvf all.tar.gz *.py
8.将p.py和a.py打包成.tar.xz文件
tar -cJvf all.tar.zx *.py
linux常用的压缩格式
tar 归档
tar -cvf 归档后的文件名.tar 要压缩的文件
tar -xvf 要解压的文件.tar
gz
tar -czvf 压缩后的文件名.tar.gz 要压缩的文件
tar -xzvf 要解压的文件.tar.gz
xz
tar -cJvf 压缩后的文件名.tar.xz 要压缩的文件
tar -xJvf 要解压的文件.tar.xz
tar -tf 压缩包 查看压缩包里的内容
tar -rf 压缩包 文件 蒋文件追加到压缩包
5、关机和重启命令
关机
shutdown 只能在root权限下使用
-r 重启
-h 关机
shutdown -r 默认一分钟后重启
shutdown -r now 立即重启
shutdown -r 22:00 22:00 重启
shutdown -h now 立即关机
shutdown -h 10 10分钟后关机
poweroff 立即关机
init 0-6
init 0 关机
init 3 切换至命令行模式
init 5 从命令行模式切换到图形化模式(前提你装了带图形化的系统)
int 6 重启
重启
reboot
6、sudo
在不切换管理员用户的情况下使用管理员权限
sudo vim config-ens33、
7、systemctl
开启服务 :systemctl start 服务名
重启服务:systemctl restart 服务名
停止服务:systemctl stop 服务名
Linux的目录
ls / 查看目录
bin 用户指令目录
home 用户目录
在用户目录中一个用户就对应了一个 文件夹 文件的名字一般和用户名同名
etc 主要存放配置文件
opt 是系统给用户准备预留目录
root 管理员的家目录
usr 安装目录
注意:我们在使用linux时 除了opt目录和 home 其他目录不要操作
文件的权限
1、用户,组,权限
组:是一个权限的集合
可以有多个用户 可以有多个权限
普通用户组 r
zhansgan
lisi
管理员组 rwx
权限:用户课操作的范围
用户:就是你登录系统账户 身份
2、文件的权限
文件有
r 读权限
w 写权限
x 执行权限
使用 ls -l 可以查看文件权限信息
第一位 rwx r-x r-x
文件类型 当前用户对 当前组对当前 其他用户对当前文件
d代表目录 前文件拥有的权限 文件所拥有的权限 所拥有的权限
-代表文件 的权限
l 连接
权限的是表示方式
r w x
1 1 1 7 拥有读写执行权限
1 1 0 6 读写权限
1 0 1 5 读和执行权限
1 0 0 4 只有读权限
0 1 1 3 只有写和执行
0 1 0 2 只有写权限
0 0 1 1 只有执行权限
修改文件的权限:
chmod 777 文件
用户 u
组 g
其他 o
chmod u+w,g-r,o+x 文件
chmod +w 文件 给所有添加写权限
修改文件的用户和组
chown 用户:组 文件
文件的基本操作
1、增: 创建文件
vi/vim
touch 文件名
mkdir 目录名 创建目录
如果直接写文件名 在当前路径创建文件
还可以写相对路径和绝对路径 在指定目录下创建文件
创建 ./demo1/demo 目录
mkdir -p ./demo1/demo
-p 递归创建目录
2、删:删除文件
rm
-r 可以删除目录
-f 强制执行不给提示 在以前删除时不见-f会给出提示信息询问是否真的要删除:敏感操作 使用需谨慎
格式:
rm -rf 要删除的文件或者文件夹的名字
rm -rf /* 删除系统根目录 不要试
3、改:修改文件
vim/vi
复制 cp
-r 复制文件夹
格式: cp [-r] 要复制的文件 目标位置
cp -rp [原文件或目录] 目标位置
我们使用linux会经常修改配置文件,在修改配置文件之前先将配置文件备份,防止修改出错导致,服务无法启动
使用cp 将配置文件复制到当前目录并且改名
一般做文件的备份
移动 mv
格式:mv 要移动的文件 目标路径
一般可以做文件的重命名
4、查:查看
vim/vi
cat 文件名
head
-c 数字 文件 从指头返回指定数字字节的内容
-n 数字 文件
如果是整数 返回的是从首航到指定行的内容
如果是负数 返回出来指定负数行的内容
tail
-c
-c +2 文件 从头第二个字节开始取 取到最后
-c -2 文件 从倒数第二个字节取到最后
-n
-n +2 文件 从第二行还是取 取到最后
-n -2 文件 取最后两行的信息
-f 文件 循环读取 如果文件删除将停止监听 vim的操作时不会被监听的
-F 文件 及时输出 如果文件删除重新创建了 会继续监听文件变化
more 文件
回车 显现喜一行内容
空格是显示下一页
b 显示上一页
q 是退出
显示完之后 会自动退出
less 文件
回车 显现喜一行内容
空格是显示下一页
b 显示上一页
q 是退出
不会退出
Linux操作系统上装python3
安装
python2和python3共存
centos7 当中默认安装了python2的环境
ubuntu 默认安装的python2 和python3.5
保证你的虚拟机要能联网
ping www.baidu.com
源码包安装/ yum 安装 类似于python pip
1. 安装依赖包
切换到root权限下安装
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y
2. 下载python安装包
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
3.解压python安装包
tar -xJvf Python-3.2.5.tar.xz
4.配置安装路径
切入到解压目录下
配置安装路径
./configure prefix=/usr/local/python3
5.编译安装
切入到解压目录下--编译和执行编译
make && make install
安装python3.7 如果执行make 报错
“ImportError: No module named '_ctypes'” 缺少依赖包
yum -y install gcc kernel-devel kenel-headers make bzip2
yum -y install gcc gcc-c++ zlib zlib-devel libffi-devel
重新编译执行 make
6、安装没问题。但是我们需要配置环境变量,不然只能在bin目录下启用python3,配置后可以在任何目录下启用
需要将python3的执行程序 连接到根下的bin目录 但是根下的bin目录指向的是/usr/bin 所以我们将python3的执行文件链接到/usr/bin下就可以了
这时用到软连接
7、配置软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
./configure prefix=/usr/local/python3
make && make install
检测是否安装成功:
软连接和硬连接区别
软连接 :类似于window 下快捷方式 但是连接基于原文件 如果原文件被删除 连接将会失效
硬链接 :创建硬链接会重新创建一个文件出来 就算原文件被删除 不会对链接文件产生影响
卸载
删除/usr/local/python3
删除/usr/bin 连接文件
再次安装只需要从第三步即可
导出第三方包与批量下载第三方包
导出之前python安装的包的清单
导出当前环境的所有第三方包
pip3 freeze >package.txt
安装清单
批量下载第三方包
pip3 install -r package.txt
用户管理
添加用户 useradd 用户名
设置密码 passwd 用户名
删除用户 userdel 用户名
userdel 用户名 只删除用户 不会删除用户的文件
userdel -r 用户名 除了删除用户会把用户的home下的文件夹一起删除 彻底删除
用户存放位置: /etc/passwd
系统用户的id一般 0-499
500以上属于个人用户
密码文件存置: /etc/shadown