linux系统
Linux系统
1.操作系统
1.常见的操作系统
- windows
- mac os
- linux
- ios
- android
2.操作系统的定义
操作系统是直接运行在计算机上的系统软件,它是控制硬件和支持软件运行的计算机程序
3.操作系统的作用
向下控制硬件向上支持软件的运行,具有承上启下的作用
4.小结
操作系统是一个控制硬件和支持软件运行的计算机程序,只有安装了操作系统计算机才能进行正常工作
2.虚拟机软件
1.虚拟机软件的介绍
它是能够虚拟出来计算机的一个软件
常用的虚拟机软件
- vmware
- virtuabox
说明:
只有安装了虚拟机软件才可以创建虚拟机,当然通过虚拟机软件还可以创建多个虚拟机
2.虚拟机的介绍
就是模拟一个真实的计算机,好比一个虚拟的电脑
说明:
虚拟机之间是相互独立的,删除虚拟机不会对其他虚拟机产生影响
3.虚拟机软件的安装说明
- win和linux下载VMware Workstation版本的安装包
- macOS下载VMware Fusion版的安装包
- 当对应的安装包下载完成以后双击进行安装就可以了
- 当虚拟机软件安装成功就可以创建虚拟机了
3.基本命令
1.查看目录命令
ctrl+shift+”+” 终端字体放大
ctrl+”-” 终端字体缩小
ctrl+alt+t 启动终端
命令 说明
ls 查看当前目录信息
tree 以树状图方式显示目录信息
2.切换目录命令
命令 说明
cd 目录 切换到指定目录
cd ~ 切换到当前目录的主目录
cd .. 切换到上一级目录
cd . 切换到当前目录
cd - 切换到上一次目录
注意:
- cd命令切换目录时,这个目录必须存在
- cd后面不写目录等价于cd ~
3.绝对路径和相对路径
1.绝对路径
从根路径算起的路径叫做绝对路径
例如:
- /home/python/desktop
- /usr/bin
2.相对路径
从当前目录算起的路径叫做相对路径
例如:
- ./test/hello
- ../static/images
3.自动补全
- 当敲出文件或者目录或者命令的前几个字母之后,按下tab键,如果输入的没有歧义,系统会自动不全
- 当切换目录或者使用命令的时候,如果不确定当前目录下有哪些子目录或者其他命令,可以通过两次tab键查看
4.创建、删除文件及目录命令的使用
命令 说明
touch 文件名 创建指定文件
mkdir 目录名 创建目录(文件夹)
rm 文件名或者目录名 删除指定文件或者目录
rmdir 目录名 删除空目录
5.复制、移动文件及目录命令
命令 说明
cp 拷贝文件、拷贝目录
mv 移动文件、移动目录、重命名
6.查看命令帮助
- –help 使用说明:命令 –help
- man 使用说明:man 命令
man命令的说明:
操作键 说明
空格 显示下一页信息
回车 显示下一行信息
b 显示上一屏信息
f 显示下一页信息
q 退出
7.ls命令选项
-l 以列表方式显示
-h 以大小单位显示,默认是字节
-a 显示隐藏文件和隐藏目录
8.mkdir和rm命令选项
mkdir
-p 创建所依赖的文件夹
rm
-i 交互式提醒
-r 递归删除目录及其内容
-f 强制删除,忽略不存在的文件,无需提醒
-d 删除空目录
9.cp和mv命令选项
cp
-i 交互式提醒
-r 递归拷贝目录及其内容
-v 显示拷贝后的路径描述
-a 保留文件的原有权限
mv
-i 交互式提醒
-v 显示移动后的路径描述
4.高级命令
1.重定向命令
1.重定向命令的介绍
重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件
2.重定向命令的使用
> 如果文件存在会覆盖原有文件内容,相当于文件操作中的"w"模式
>> 如果文件存在会追加写入文件末尾,相当于文件操作中的"a"模式
2.查看文件内容命令
cat 查看小型文件
more 分屏查看大型文件
gedit 打开并编辑文件
3.管道(|)命令的使用
一个命令的输出可以通过管道作为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容。
管道(|)一般结合more命令使用,主要是分配查看终端显示内容
ls /bin | more
4.链接命令
链接命令是创建链接文件,链接文件分为:
- 软链接
- 硬链接
ln -s 创建软链接
ln 创建硬链接
4.1软链接
类似于windows下的快捷方式,当一个源文件的目录层级比较深,可以创建软链接
ln -s /home/python/desktop/AA/2.txt ../2-s2.txt
源文件要用绝对路径来找到
注意:
- 如果软链接和源文件不在同一个目录,源文件要是用绝对路径,不能使用相对路径
- 删除源文件则软链接失效
- 可以给目录创建软链接
4.2硬链接
类似于源文件的一个别名,也就是说这两个名字指向的是同一个文件数据
注意:
- 创建硬链接使用相对路径和绝对路径都可以
- 删除源文件,硬链接还可以访问到数据
- 创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1
- 创建软链接,硬链接数不会加1
- 不能给目录创建硬链接
5.文本搜索命令
1.grep命令的使用
grep 文本搜索
2.grep命令选项的使用
-i 忽略大小写
-n 显示匹配行号
-v 显示不包含匹配文本的所有行
grep “abc” 1.txt
3.grep命令结合正则表达式的使用
正则表达式 说明
^ 以指定字符串开头
$ 以指定字符串结尾
. 匹配一个非换行符的字符
grep “^abc” 1.txt
grep “abc$” 1.txt
4.find命令及其选项的使用
在指定目录下查找文件(包括目录)
-name 根据文件名(包括目录名)字查找
find . -name ’11.txt’
5.find命令结合通配符的使用
* 代表0个或多个任意字符
? 代表任意一个字符
find . -name ‘1*1.txt’
6.压缩和解压缩命令
1.tar命令及选项的使用
tar 压缩和解压缩命令
2.tar命令选项
-c 创建打包文件
-v 显示打包或者解包的详细信息
-f 指定文件名称,必须放到所有选项后面
-z 压缩或解压缩(.gz)
-j 压缩或解压缩(.bz2)
-x 解包
-C 解压缩到指定目录
3.zip和unzip命令及选项的使用
zip 压缩程.zip格式文件
unzip 解压缩.zip格式文件
4.unzip命令选项
-d 解压缩到指定目录
说明:
- 压缩文件尽量使用.gz格式,因为占用空间较少
- 使用zip命令压缩的文件占用空间比较多,但是比较通用,操作更加简单
7.文件权限命令
1.chmod命令的介绍
chmod 修改文件权限
chmod修改文件权限有两种方式:
- 字母法
- 数字法
2.chmod字母法的使用
角色说明:
角色 说明
u user,表示改文件的所有者
g group,表示用户组
o other,表示其他用户
a all,表示所有用户
权限设置说明:
操作符 说明
+ 增加权限
— 撤销权限
= 设置权限
权限说明:
权限 说明
r 可读
w 可写
x 可执行
- 无任何权限
chmod u+r 1.txt
chmod u-r 1.txt
表示声明操作系统使用指定的python解释器去执行代码
注意:
- # 注释内容 表示一个注释
- # _*_coding:utf-8_*__表示指定文件编码格式
-
!/python解释器的路径 表示操作系统执行文件选择的解释器
3.chmod数字法的使用
数字法就是”rwx”这些权限也可以用数字来代替
权限说明
权限 说明
r 可读,权限值是4
w 可写,权限值是2
x 可执行,权限值是1
- 无任何权限,权限值是0
chmod 777 test.py
8.获取管理员权限的相关命令
1.sudo命令的使用
命令 说明
sudo -s 切换到root用户,获取管理员权限
sudo 某个命令的执行需要获取管理员权限可以再执行命令前面加上sudo
查看命令所在路径
which ls
which pwd
修改当前用户密码
passwd
9.用户相关操作
1.创建用户
useradd 创建用户
-m 自动创建用户主目录,主目录的名字就是用户名
-g 指定用户所属的用户组,默认不指定会自动创建一个同名的用户组
2.设置密码
给其它用户设置密码 sudo passwd 用户名
3.切换同户
su – 用户名
4.修改用户信息
usermod 修改用户信息
选项
-G 设置一个附加组
-g 修改用户组
5.扩展:删除附加组
gpasswd 添加和删除附加组信息
选项
-a 用户名 给用户添加附加组
-d 用户名 给用户删除附加组
6.删除用户
userdel 删除用户
-r 删除用户主目录,必须要设置,否则用户主目录不会删除
10.用户组相关操作
1.创建用户组
groupadd 创建用户组
sudo groupadd test
2.创建用户并指定用户组
sudo useradd -m -g test laowang
3.修改用户组
sudo usermod -g abc laowang
11.远程登录、远程拷贝命令
1.远程登录,远程拷贝命令的介绍
ssh 远程登录
scp 远程拷贝
2.软件安装步骤
- 假如Ubuntu作为服务端,需要安装ssh服务端软件,执行命令:sudo apt-get install openssh-server,如果是作为客户端则执行命令:sudo apt-get install openssh-client
- 客户端电脑如果是macOS系统则不需要安装ssh客户端软件,默认已经安装过了,直接可以使用ssh命令
- 客户端电脑如果是windows则需要安装OpenSSH for Windows这个软件
ssh命令格式
ssh 用户名@ip地址
查看都有什么软件命令
apt list
说明:
- 在一台电脑上可以安装ssh客户端和ssh服务端软件
3.scp命令的使用
scp是基于ssh进行远程文件拷贝的命令,也就是说需要保证服务端和客户端安装了相应的ssh软件,以后可以把我们写代码远程拷贝到服务器
scp命令格式:
- 远程拷贝文件
- scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
- scp 远程服务器用户名@远程服务器ip地址:远程服务器文件 指定拷贝到本地电脑的路径
- 远程拷贝目标
- scp -r 本地目录 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
- scp -r 远程服务器用户名@远程服务器ip地址:远程服务器目录 指定拷贝到本地电脑的路径
- -r 表示递归拷贝整个目录
4.FileZilla软件的使用
FileZilla是一个免费开源的FTP软件,使用可视化方式进行上传和下载文件,以后可以通过FileZilla来代替scp命令
12.编辑器vim
1.vim的工作模式
- 命令模式
- 编辑模式
- 末行模式
vim打开文件进入的是命令模式
2.vim的末行模式命令
- :w 保存
- :wq 保存退出
- 😡 保存退出
- :q! 强制退出
3.vim的常用命令
yy 复制光标所在行
p 复制
dd 删除/剪切当前行
V 按行选中
u 撤销
ctrl+r 反撤销
>> 往右缩进
<< 往左缩进
:/搜索的内容 搜索指定内容
:%s/要替换的内容/替换后的内容/g 全局替换
:开始行数,结束行数s/要替换的内容/替换后的内容 局部替换
. 重复上一次命令操作
G 回到最后一行
gg 回到第一行
数字+G 回到指定行
ctrl+f 下一屏
ctrl+b 上一屏
13.软件安装
1.软件安装的介绍
ubuntu软件安装有两种方式:
- 离线安装(deb文件格式安装)
- 在线安装(apt-get方式安装)
2.deb文件格式安装
是ubuntu的安装包格式,可以使用dpkg命令进行软件的安装和卸载
dpkg选项
-i 离线安装deb安装包
3.apt-get方式安装
在线安装deb软件包的命令,主要用于在线从互联网仓库中搜索、安装、升级、卸载软件
sudo apt-get install 安装包
4.更改镜像源
镜像源说明:
就是下载软件来源的服务器
更改镜像源的方式:
- 可视化方式更改镜像源
- 手动方式更改镜像源
更改后执行 sudo apt-get update
14.软件卸载
1.软件卸载的介绍
- 离线安装包的卸载(deb文件格式卸载)
- 在线安装包的卸载(apt-get方式卸载)
2.deb文件格式卸载
sudo dpkg -r 安装包名
-r 选项表示安装的卸载
3.apt-get方式卸载
sudo apt-get remove 安装包名