Python学习之路(六)——Linux编程

操作系统

1. 常见的操作系统

  • Windows
  • mac OS
  • Linux
  • iOS
  • Android

2. 操作系统的定义

操作系统直接运行在计算机上的系统软件, 它是控制硬件和支持软件运行的计算机程序。
在这里插入图片描述
向下控制硬件,向上支持软件的运行,具有承上启下的作用。

虚拟机软件

1. 虚拟机软件的介绍

它是能够虚拟出来计算机的一个软件。

常用虚拟机软件:

  • Vmware
  • VirtualBox

说明:
只有安装了虚拟机软件才可以创建虚拟机,当然通过虚拟机软件还可以创建多个虚拟机。

2. 虚拟机的介绍

就是模拟一个真实的计算机,好比一个虚拟的电脑,对于快速学习一个新的操作系统就可以通过虚拟机来完成。

在这里插入图片描述

说明:

虚拟机之间是相互独立的,删除虚拟机不会对其它虚拟机产生影响,当然也不会对电脑本身生影响

3. 虚拟机软件的安装说明

Ubuntu操作系统

1. Ubuntu操作系统的介绍

Ubuntu操作系统是属于Linux操作系统中的一种,它是免费、稳定又可以拥有绚丽界面的一个操作系统

2. Ubuntu图形界面的介绍

  • 任务栏

  • 窗口操作按钮

  • 窗口菜单条

3. 与Windows目录结构对比

Windows目录结构:

  • 每一个盘符就是一个根目录,在Windows操作系统里面可能会出现多个根目录。

Linux目录结构:

  • Ubuntu 没有盘符这个概念,只有一个根目录 / 。

Linux主要目录介绍效果图:
在这里插入图片描述

主要目录说明:

  • /:根目录
  • /bin:可执行二进制文件的目录
  • /etc:系统配置文件存放的目录
  • /home:用户家目录

4.Linux内核及发行版

Linux内核是操作系统内部操作和控制硬件设备的核心程序,它是由芬兰人林纳斯开发的。

  • 真正操作和控制硬件是由内核来完成的,操作系统是基于内核开发出来的。

Linux发行版是Linux内核与各种常用软件的组合产品,通俗来说就是我们常说的Linux操作系统。

常用的Linux发行版:

  • Ubuntu
  • CentOS
  • Redhat

Linux基础命令

1. 查看目录命令

命令说明
ls查看当前目录信息
tree以树状方式显示目录信息
pwd查看当前目录路径
clear清除终端内容

ls命令效果图:
在这里插入图片描述
tree命令效果图:
在这里插入图片描述
pwd命令效果图:
在这里插入图片描述

ls命令选项

命令选项说明
-l以列表方式显示
-h件大小单位显示,默认是字节
-a显示隐藏文件和隐藏目录

ls命令选项效果图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
每项信息说明:
在这里插入图片描述

2.切换目录命令

命令说明
cd 目录切换到指定目录
cd ~切换到当前用户的主目录
cd …切换到上一级目录
cd .切换到当前目录
cd -切换到上一次目录

注意:

  • cd命令切换目录时,这个目录必须存在。
  • cd 后面不写目录等价于cd ~

绝对路径和相对路径

  1. 绝对路径
    从根目录算起的路径叫做绝对路径,例如:
  • /home/python/Desktop
  • /usr/bin
  1. 相对路径
    从当前目录算起的路径叫做相对路径,例如:
  • ./test/hello
  • …/static/images
  1. 自动补全
  • 当敲出 文件或者目录或者命令 的前几个字母之后,按下 tab 键,如果输入的没有歧义,系统会自动补全
  • 当切换目录或者使用命令的时候,如果不确定当前目录下有那些子目录或者其它命令,可以通过两次tab键查看

3.创建、删除文件及目录命令

命令说明
touch 文件名创建指定文件
mkdir 目录名创建目录(文件夹)
rm 文件名或者目录名删除指定文件或者目录
rmdir 目录名删除空目录

touch命令效果图:
在这里插入图片描述

mkdir命令效果图:
在这里插入图片描述

rm命令效果图:

在这里插入图片描述

rm删除目录效果图
在这里插入图片描述

说明:
rm命令想要删除目录需要加上-r选项,-r表示递归删除目录及其内容

rmdir命令效果图:
在这里插入图片描述
mkdir命令选项

命令选项说明
-p创建所依赖的文件夹

mkdir命令选项效果图:
在这里插入图片描述
rm命令选项

命令选项说明
-i交互式提示
-r递归删除目录及其内容(删除目录)
-f强制删除,忽略不存在的文件,无需提示
-d删除空目录

rm -i命令选项效果图:
在这里插入图片描述
rm -r命令选项效果图:
在这里插入图片描述
rm -f命令选项效果图:
在这里插入图片描述
rm -d命令选项效果图:
在这里插入图片描述

4.复制、移动文件及目录命令

命令说明
cp拷贝文件、拷贝目录
mv移动文件、移动目录、重命名

cp命令
cp命令效果图:
在这里插入图片描述

说明:
拷贝目录需要加上-r选项,-r表示递归拷贝目录及其内容

cp命令选项

命令选项说明
-i交互式提示
-r递归拷贝目录及其内容
-v显示拷贝后的路径描述
-a保留文件的原有权限

cp -i命令选项效果图:

在这里插入图片描述
cp -r命令选项效果图:
在这里插入图片描述
cp -v命令选项效果图:
在这里插入图片描述
cp -a命令选项效果图:
在这里插入图片描述

-a选项说明:
-a 选项还支持拷贝文件夹并且文件夹中的文件权限不丢失

mv命令
mv命令移动文件效果图:
在这里插入图片描述
mv命令移动目录效果图
在这里插入图片描述
mv命令重名名效果图
在这里插入图片描述
mv命令选项

命令选项说明
-i交互式提示
-v显示移动后的路径描述

mv -i命令选项效果图:
在这里插入图片描述
mv -v命令选项效果图:
在这里插入图片描述

5.终端命令格式的组成

command [-options] [parameter]

每项信息的说明:

  • command:命令名, 比如: ls、pwd
  • [-options]:选项,可以有零个、一个或者多个选项,多个选项可以合并,比如使用的 -r 就是选项。
  • [parameter]:参数,可以有零个、一个或者多个参数, 比如: touch 文件名、mkdir 目录名、cd 目标目录(路径),这些文件名和目录名都是参数。
  • []:代表可选

6.查看命令帮助

查看命令帮助目的是查看命令选项信息的

--help 使用说明: 命令 --help
man 使用说明: man 命令

–help效果图:
在这里插入图片描述

man效果图:

在这里插入图片描述

man命令的说明:

命令说明
空格显示下一屏信息
回车显示下一行信息
b显示上一屏信息
f显示下一屏信息
q退出

Linux高级命令

1.重定向命令

重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。

命令说明
>如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式
>>如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式

重定向命令效果图:to
在这里插入图片描述
在这里插入图片描述

说明:
只要在终端能显示信息的命令都可以使用重定向,比如: tree

2.查看文件内容命令

查看文件内容命令

命令说明
cat查看小型文件
more分屏查看大型文件

cat命令的效果图
在这里插入图片描述

说明:

  • cat命令结合重定向可以完成多个文件的合并
  • gedit 文件编辑命令,可以查看和编辑文件

more命令的效果图

当查看内容信息过长无法在一屏上显示时,可以使用 more 命令在终端分配显示文件内容。

在这里插入图片描述

操作键说明:

操作键说明
空格显示下一屏信息
回车显示下一行信息
b显示上一屏信息
f显示下一屏信息
q退出

管道(|)命令

管道(|):一个命令的输出可以通过管道做为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容。

管道命令的效果图:
在这里插入图片描述

说明:

  • 管道(|)一般结合 more 命令使用,主要是分配查看终端显示内容。

3.链接命令

链接命令是创建链接文件,链接文件分为:

  • 软链接
  • 硬链接
命令说明
ln -s创建软链接
ln创建硬链接

软链接

类似于Windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软链接。

软链接效果图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意点:

  • 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
  • 删除源文件则软链接失效
  • 可以给目录创建软链接

硬链接

类似于源文件的一个别名,也就是说这两个名字指向的是同一个文件数据。

  • 硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删。
  • 删除源文件,软链接失效,但是硬链接依然可以使用。

在这里插入图片描述
硬链接效果图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意点:

  • 创建硬链接使用相对路径和绝对路径都可以
  • 删除源文件,硬链接还可以访问到数据。
  • 创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。
  • 创建软链接,硬链接数不会加1
  • 不能给目录创建硬链接

4.文本搜索命令

grep 'c' hello.py -v

grep命令选项的使用

命令选项说明
-i忽略大小写
-n显示匹配行号
-v显示不包含匹配文本的所有行

-i命令选项效果图:
在这里插入图片描述
-n命令选项效果图:
在这里插入图片描述
-v命令选项效果图:
在这里插入图片描述
grep命令结合正则表达式的使用

正则表达式说明
^以指定字符串开头
$以指定字符串结尾
.匹配一个非换行符的字符

正则表达式‘^’的效果图:
在这里插入图片描述
正则表达式‘$’的效果图:
在这里插入图片描述
正则表达式‘.’的效果图:
在这里插入图片描述

扩展:

  • grep 命令还可以文本搜索管道中的内容,比如: ls / | grep ‘lib’
  • 在使用 grep 命令的时候还可以省略搜索内容的引号,比如: ls / | grep lib, grep hello 1.txt

5.查找文件命令

find命令及选项

命令说明
find在指定目录下查找文件(包括目录)

find命令选项:

选项说明
-name根据文件名(包括目录名)字查找

find命令及选项的效果图:
在这里插入图片描述
find命令结合通配符

通配符:
是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件

通配符说明
*代表0个或多个任意字符
?代表任意一个字符

*通配符的效果图:
在这里插入图片描述
?通配符的效果图:
在这里插入图片描述

扩展:
通配符不仅能结合 find 命令使用,还可以结合其它命令使用, 比如: ls、mv、cp 等,这里需要注意只有 find 命令使用通配符需要加上引号。

6.压缩和解压缩命令

压缩格式的介绍
Linux默认支持的压缩格式:

  • gz
  • bz2
  • zip

说明:

  • .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩
  • .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩

tar命令及选项的使用

命令说明
tar压缩和解压缩命令

tar命令选项:

选项说明
-c创建打包文件
-v显示打包或者解包的详细信息
-f指定文件名称, 必须放到所有选项后面
-z压缩或解压缩(.gz)
-j压缩或解压缩(.bz2)
-x解包
-C解压缩到指定目录

压缩成.gz的效果图:
在这里插入图片描述
压缩成.bz2的效果图:
在这里插入图片描述
解压缩.gz的效果图:
在这里插入图片描述
解压缩.gz到指定目录效果图:
在这里插入图片描述
解压缩.bz2的效果图:
在这里插入图片描述
解压缩.bz2到指定目录效果图:
在这里插入图片描述

zip和unzip命令及选项的使用

命令说明
zip压缩成.zip格式文件
unzip解压缩.zip格式文件

unzip命令选项:

选项说明
-d解压缩到指定目录

压缩成.zip的效果图:
在这里插入图片描述
解压缩.gz的效果图:
在这里插入图片描述
解压缩.zip到指定目录效果图:
在这里插入图片描述

说明:

  • 压缩文件尽量使用.gz格式,因为占用空间较少
  • 使用zip命令压缩的文件占用空间比较多, 但是比较通用,操作更加简单。

7.文件权限命令

chmod命令的介绍

命令说明
chmod修改文件权限录

chmod修改文件权限有两种方式:

  • 字母法
  • 数字法

chmod 字母法
角色说明:

角色说明
uuser, 表示该文件的所有者
ggroup, 表示用户组
oother, 表示其他用户
aall, 表示所有用户

权限设置说明:

操作符说明
+增加权限
-撤销权限
=设置权限

权限说明:
权限设置说明:

权限说明
r可读
w可写
x可执行
-无任何权限

chmod命令字母法效果图:
在这里插入图片描述
chmod命令同时设置多个角色的效果图:
在这里插入图片描述
chmod 数字法

数字法就是“rwx” 这些权限也可以用数字来代替

权限说明:

权限说明
r可读,权限值是4
w可写,权限值是2
x可执行权限值是1
-无任何权限,权限值是0

chmod命令数字法效果图:
在这里插入图片描述

8.获取管理员权限的相关命令

sudo命令

命令说明
sudo -s切换到root用户,获取管理员权限
sudo某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo

sudo -s效果图:
在这里插入图片描述
sudo 命令效果图:
在这里插入图片描述

说明:

  • 如果只是某次操作需要使用管理员权限建议使用 sudo , 也就是说临时使用管理器权限。
  • 如果大量操作都需要使用管理员权限 sudo –s, 但是操作需谨慎。

whoami命令

命令说明
whoami查看当前用户限

whoami 命令效果图:
在这里插入图片描述
exit命令

命令说明
exit退出登录用户

exit 命令的效果图:
在这里插入图片描述

说明:

  • 如果是切换后的登陆用户,退出则返回上一个登陆账号。
  • 如果是终端界面,退出当前终端。

who命令

命令说明
who查看所有的登录用户

who 命令的效果图:
在这里插入图片描述

passwd命令

命令说明
passwd修改用户密码,不指定用户默认修改当前登录用户密码

passwd 命令的效果图:
在这里插入图片描述
which命令

命令说明
which查看命令位置

which 命令的效果图:
在这里插入图片描述
关机和重启命令

命令说明
shutdown -h now立刻关机
reboot重启

9.用户相关操作

创建用户

命令说明
useradd创建(添加)用户

useradd命令选项:

命令说明
-m自动创建用户主目录,主目录的名字就是用户名
-g指定用户所属的用户组,默认不指定会自动创建一个同名的用户组

创建用户效果图:
在这里插入图片描述
查看所有用户信息的文件效果图:
在这里插入图片描述
在这里插入图片描述

说明:

  • useradd 命令的使用需要使用管理员权限,前面需要加上 sudo
  • 创建用户如果不指定用户组,默认会自动创建一个同名的用户组
  • 查看用户是否创建成功,可以查看/etc/passwd这个文件
  • 查看用户组是否创建成功,可以查看/etc/group这个文件

passwd文件中的每项信息说明,以root: x:0:0:root:/root:/bin/bash为例:

  • 第一个:用户名
  • 第二个:密码占位符
  • 第三个:uid, 用户id
  • 第四个:gid, 用户所在组id
  • 第五个:用户描述, 可选,
  • 第六个:用户的主目录所在位置
  • 第七个:用户所用 shell 的类型,一般由bash或者sh,默认不设置是sh类型

group文件中的每项信息说明, 以laowang: x:1001:为例:

  • 第一个:用户组名
  • 第二个:用户组密码占位符,一般Linux系统的用户组都没有密码的
  • 第三个:组id

id命令查看用户信息:

命令说明
id查看用户信息

id命令效果图:
在这里插入图片描述

每项信息说明:
uid=1001(laowang) gid=1001(laowang) 组=1001(laowang)

  • 第一个: uid 表示用户id
  • 第二个: gid 表示用户组id
  • 第三个: 组 表示用户所在的用户组

设置密码

给其它用户设置密码,需要使用: sudo passwd 用户名

设置密码效果图:
在这里插入图片描述
切换用户

命令说明
su切换用户

语法格式: su - 用户名

切换用户效果图:
在这里插入图片描述
在laowang用户使用sudo -s效果图:
在这里插入图片描述

解决办法:

  • 给laowang用户设置一个sudo附加组, 需要使用usermod修改用户信息

修改用户信息

命令说明
usermod修改用户信息

usermod选项:

命令说明
-G设置一个附加组
-g修改用户组

usermod命令效果图:
在这里插入图片描述
设置附加组sudo以后,在sudo -s切换到管理员用户效果图:
在这里插入图片描述

扩展: 删除附加组

命令说明
gpasswd添加和删除附加组信息

gpasswd命令选项:

选项说明
-a 用户名给用户添加附加组
-d 用户名给用户删除附加组

删除附加组效果图:
在这里插入图片描述
删除附加组再次使用 sudo -s 效果图:
在这里插入图片描述

删除用户

命令说明
userdel删除用户

userdel命令选项:

选项说明
-r 用户名删除用户主目录,必须要设置,否则用户主目录不会删除

删除用户效果图:
在这里插入图片描述
id查看用户信息效果图:
在这里插入图片描述
查看group文件信息效果图:
在这里插入图片描述

说明:

  • 删除用户,默认同名的用户组也会被删除

10.远程登录、远程拷贝命令

远程登录、远程拷贝命令

命令说明
ssh远程登录
scp远程拷贝

ssh命令的使用

ssh是专门为远程登录提供的一个安全性协议,常用于远程登录,想要使用ssh服务,需要安装相应的服务端和客户端软件,当软件安装成功以后就可以使用ssh命令了,以后可以通过远程登录之间操作远程的服务器。

在这里插入图片描述
软件安装步骤:

  1. 假如Ubuntu作为服务端,需要安装ssh服务端软件. 执行命令: sudo apt-get install openssh-server
  2. 客户端电脑如果是 macOS 系统则不需要安装 ssh 客户端软件,默认已经安装过了,直接可以使用 ssh 命令
  3. 客户端电脑如果是Windows系统则需要安装OpenSSH for Windows这个软件

ssh命令格式:

  • ssh 用户名@ip地址

ssh命令效果图:
在这里插入图片描述

说明:

  • 在一台电脑上可以安装安装ssh客户端和ssh服务端软件
  • 在Ubuntu安装ssh客户端命令: sudo apt-get install openssh-client

scp命令的使用

scp是基于ssh进行远程文件拷贝的命令,也就是说需要保证服务端和客户端电脑安装了相应的ssh软件,以后可以把我们写代码远程拷贝到服务器。

scp命令格式:

  • 远程拷贝文件
    • scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
    • scp 远程服务器用户名@远程服务器ip地址:远程服务器文件 指定拷贝到本地电脑的路径
  • 远程拷贝目标
    • scp -r 本地目录 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
    • scp -r 远程服务器用户名@远程服务器ip地址:远程服务器目录 指定拷贝到本地电脑的路径
    • -r 表示递归拷贝整个目录

本地文件远程拷贝到服务器效果图:
在这里插入图片描述
服务器文件远程拷贝到本地效果图:
在这里插入图片描述
本地目录远程拷贝到服务器效果图:
在这里插入图片描述
服务器目录远程拷贝到本地效果图:
在这里插入图片描述

FileZilla软件的使用

FileZilla 是一个免费开源的FTP软件, 使用可视化方式进行上传和下载文件。以后可以通过 FileZilla 来代替 scp 命令

FileZilla使用效果图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11.编辑器 vim

vim 是一款功能强大的文本编辑器,也是早年 Vi 编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。

vim 的工作模式

  • 命令模式
  • 编辑模式
  • 末行模式

工作模式效果图:
在这里插入图片描述

注意点:

  • 编辑模式和末行模式之间不能直接进行切换,都需要通过命令模式来完成。
  • vim 打开文件进入的是命令模式

vim 的末行模式命令

  • :w 保存
  • :wq 保存退出
  • :x 保存退出
  • :q! 强制退出

vim 的常用命令

命令说明
yy复制光标所在行
p粘贴
dd删除/剪切当前行
V按行选中
u撤销
ctr+r反撤销
>>往右缩进
<<往左缩进
:/搜索的内容搜索指定内容
:%s/要替换的内容/替换后的内容/g全局替换
:开始行数,结束行数s/要替换的内容/替换后的内容局部替换
.重复上一次命令操作
G回到最后一行
gg回到第一行
数字+G回到指定行
shift+6回到当前行的行首
shift+4回到当前行的行末
ctr+f下一屏
ctr+b上一屏

12.软件安装

Ubuntu软件安装有两种方式:

  • 离线安装(deb文件格式安装)
  • 在线安装(apt-get方式安装)

deb文件格式安装
是 Ubuntu 的安装包格式,可以使用 dpkg 命令进行软件的安装和卸载。

命令说明
dpkg安装和卸载deb安装包

dpkg命令选项:

选项说明
-i离线安装deb安装包

dpkg命令效果图:
在这里插入图片描述
apt-get方式安装
是在线安装deb软件包的命令,主要用于在线从互联网的软件仓库中搜索、安装、升级、卸载软件。

在线安装软件命令格式:

  • sudo apt–get install 安装包 , 表示在线安装deb安装包

更改镜像源

  • 因为使用 apt-get 命令默认是从国外的服务器下载安装软件的,会导致下载安装速度很慢,所以需要更改成国内的镜像源服务器。
  • 镜像源就是下载软件来源的服务器。

镜像源效果图:
在这里插入图片描述

更改镜像源的方式:

  1. 可视化方式更改镜像源
  2. 手动方式更改镜像源

可视化方式更改镜像源:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
手动方式更改镜像源:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

说明:

  • 手动修改镜像源,配置完成以后需要执行 sudo apt-get update 这个命令,更新镜像源保证可以下载最新的软件。
  • 使用apt-get方式安装软件一定要联网

13.软件卸载

Ubuntu软件卸载有两种方式:

  • 离线安装包的卸载(deb 文件格式卸载)
  • 在线安装包的卸载(apt-get 方式卸载)

deb 文件格式卸载

命令格式:

  • sudo dpkg –r 安装包名
  • -r 选项表示安装的卸载

dpkg 卸载效果图:
在这里插入图片描述
apt-get 方式卸载

命令格式:

  • sudo apt-get remove 安装包名

apt-get 卸载效果图:
在这里插入图片描述

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值