一、开发环境
1.1虚拟机安装与设置
设置内容 |
设置方法 |
语言环境 |
依次点击Settings>>Region&Language>>Manage Installed Languages>>Install/Remove Languages…>>勾选Chinese(simplified)>>Language选择或者拖动为Chinese>>Restart… |
设置服务器镜像源(提高软件安装/更新速度) |
系统设置>>关于>>软件更新>>下载自>>其他站点>>选择最佳服务器(S)>>选择服务器(S) |
启动栏添加终端图标 |
找到后右键选择添加到收藏夹 |
使用apt更新和升级系统软件 |
1.sudo apt install 软件名 //安装软件 2.sudo apt remove 软件名 //卸载软件 3.sudo apt update/upgrade //可软件软件列表/更新已安装的软件 |
安装常用工具 |
1.Python程序员:$ sudo apt install ipython $ sudo apt install ipython3 $ sudo apt install python-pip $ sudo apt install python3-pip 2.安装ssh服务器:$ sudo apt install openssh-server |
删除软件 |
$ sudo apt remove 软件 |
deb安装格式 |
$ sudo dpkg -i <package.deb> |
1.2Linux命令
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux命令内容 |
命令 |
文件和目录命令 |
ls,cd,touch,mkdir,rm |
拷贝和移动命令 |
tree,cp,mv |
文件内容命令 |
cat,more,grep |
远程管理命令 |
ifconfig,ping,SSH的工作方式简介以及ssh命令 |
用户权限及用户管理命令 |
chmod,chgrp,useradd,passwd,userdel |
软件安装及压缩命令 |
apt简介及命令,tar,gzip压缩命令,bzip2压缩命令 |
vim的基本使用 |
|
1.2.1远程管理中的scp(secure copy)用于远程拷贝文件
scp -P port 01.py user@remote:Desktop/01.py
scp -P port user@remote:Desktop/01.py 01.py
scp -r demo user@remote:Desktop
scp -r user@remote:Desktop demo
选项 |
含义 |
-r |
源文件为目录文件,scp将递归复制目录下的所有子目录和文件 |
-P |
若远程SSH服务器的端口不是22,需要使用大写字母-P选项指定端口 |
1.2.2用户权限(概念了解)
序号 |
权限 |
英文 |
缩写 |
数字代号(二进制) |
01 |
读 |
read |
r |
4 |
02 |
写 |
write |
w |
2 |
03 |
执行 |
excute |
x |
1 |
- 预先对组设置好权限,再将对应的用户添加进去,从而依次为每一个用户设置权限。
ls -l
显示的文件详细信息:目录-拥有者权限-组权限-其他用户权限-硬链接数-拥有者-组-大小-时间-文件或目录名称。其中硬链接数表示有多少种方式可以访问到当前目录/文件。
- chmod修改用户/组对文件/目录的权限。
chmod +/-rwx 文件名/目录名
- 超级用户
Linux系统中的root账号用于系统的维护和管理,对操作细听的所有资源具有所有访问权限。
- 组管理终端命令
创建/删除组的终端命令都需要sudo执行。
序号 |
命令 |
作用 |
01 |
groupadd 组名 |
添加组 |
02 |
groupdel 组名 |
删除组 |
03 |
cat /etc/group |
确认组信息(配置文件) |
04 |
chgrp 组名 文件/目录名 |
递归修改文件/目录的所属组 |
1.2.3用户管理
序号 |
命令 |
作用 |
说明 |
01 |
useradd -m -g 组 新建用户名 |
创建用户 |
-m:自动建立用户家目录;-g:指定用户所在组,否则会建立与用户同名的组 |
02 |
passwd 用户名 |
设置密码 |
普通用户可直接使用修改自己的账户密码 |
03 |
userdel -r 用户名 |
删除用户 |
-r选项会自动删除用户家目录 |
04 |
cat /etc/passwd | grep 用户名 |
确认用户信息 |
新建的用户信息存储在/etc/passwd文件中 |
序号 |
命令 |
作用 |
01 |
id [用户名] |
查看用户UID和GID信息 |
02 |
who |
查看当前所有登录的用户列表 |
03 |
whoami |
查看当前登录用户的账户名 |
- passwd文件
/etc/passwd文件存放的是用户的信息,由六个分号组成的7个信息,分别是
用户名;密码(x表示已加密);UID(用户标识);GID(组标识);用户全名或者本地账号;家目录;登录使用的Shell(登陆之后使用的终端命令,Ubantu默认是dash)
- usermod
usermod可以用以设置用户的主组/附加组合登录Shell。
主组:在新建用户的时候指定,在/etc/passwd的第四列GID对应的组。
附加组:在/etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限。
usermod -g 组 用户名
usermod -G 组 用户名
usermod -s /bin/bash 用户名
usermod -G sudo 用户名
1.2.4切换用户
序号 |
命令 |
作用 |
说明 |
01 |
su - 用户名 |
切换用户并切换目录 |
-可以切换到用户家目录,否则保持位置不变 |
02 |
exit |
退出当前登录用户 |
|
- su不接用户名,可以切换到root,但是不推荐使用,因为不安全。
- exit示意图如下:
1.2.5修改文件权限
序号 |
命令 |
作用 |
01 |
chown |
修改拥有者 |
02 |
chgrp |
修改组 |
03 |
chmod |
修改权限 |
$ chown 用户名 文件名/目录名
$ chgrp -R 组名 文件名/目录名
$ chmod -R 755 文件名/目录名
$ chmod +/- rwx 文件名/目录名
拥有者 |
组 |
其他 |
r ;w;x |
r;w;x |
r;w;x |
4;2;1 |
4;2;1 |
4;2;1 |
1.2.6系统信息相关命令
序号 |
命令 |
作用 |
01 |
date |
查看系统时间 |
02 |
cal |
calendar查看日历,-y选项显示一年的日历 |
03 |
df -h |
disk free显示磁盘剩余空间 |
04 |
du -h [目录名] |
disk usage显示目录下的文件大小 |
05 |
ps aux |
process status查看进程的详细情况 (选项含义在下个表格中介绍) |
06 |
top |
动态显示运行中的进程并排序 ,输入q退出top |
07 |
kill [-9] 进程代号 |
终止指定代号(PID)的进程,-9表示强行终止 |
08 |
find [路径] -name “*.py” |
查找指定路径下所有扩展名为-py的文件 |
09 |
ln -s 被链接的源文件 链接文件 |
建立文件的软链接(快捷方式) —注意不带-s选项建立的是硬链接,会很占空间;源文件要用绝对路径 |
- -h选项的作用:更人性化地显示信息(计量单位)
- ps选项说明
选项 |
含义 |
a |
显示终端所有进程(包括其他用户) |
u |
显示进程的详细状态 |
x |
显示没有控制终端的进程 |
1.2.7软件安装和压缩
序号 |
命令 |
作用 |
01 |
tar(打包) |
1打包文件 tar -cvf 打包文件.tar 被打包的文件/路径... ;2解包文件tar -xvf 打包文件.tar |
02 |
gzip(压缩) |
1压缩文件 tar -zcvf 打包文件.tar.gz 被打包的文件/路径... ;2解压缩文件tar -zxvf 打包文件.tar.gz ;3解压缩到指定路径tar -zxvf 打包文件.tar.gz -C 目标路径 |
03 |
bzip2 |
1压缩文件 tar -jcvf 打包文件.tar.bz2 被打包的文件/路径... ;2解压缩文件tar -jxvf 打包文件.tar.bz2 ; 3解压缩到指定路径tar -jxvf 打包文件.tar.bz2 -C 目标路径 |
04 |
apt |
1安装软件sudo apt install 软件包 ;2卸载软件sudo apt remove 软件名 ;3更新已安装的包sudo apt upgrate |
选项 |
含义 |
c |
生成档案文件,创建打包文件 |
x |
解开档案文件 |
v |
列出归档归档解档的详细过程,显示进度 |
f |
指定档案文件名称,f后面一定是.tar 文件,所以必须放在选项最后 |
$ sudo apt install sl
$ sudo apt install htop
1.3Python语言与PyCharm
1.3.1解释器
- 编译器:将其他语言翻译成机器语言的工具。
- 当编译器以解释方式运行的时候,也称为解释器。
- 编译型语言(C、C++)执行速度快,但跨平台性差。
- 解释性语言(Java、Python等)跨平台性好,执行速度稍逊。
1.3.2Python特点
- 完全面向对象
- 拥有一个强大的标准库
- Python社区提供了大量的第三方模块
1.3.3第一个Python程序
- 解释器—python/python3
- 交互式—ipython/ipython3
- 集成开发环境(IDE)—PyCharm
$ cd Destop/
$ touch 01-HelloPython.py
$ gedit 01-HelloPython.py
$ python3 01-HelloPython.py
print("Hello Python")
print("Hello World")
1.3.4PyCharm的初始设置
$ tar -zxvf pycharm-community-2021.3.2.tar.gz
$ sudo mv pycharm-community-2021.3.2/ /opt/
$ /opt/pycharm-community-2021.3.2/bin/pycharm.sh
$ rm -r ~/.PyCharm2021.3
$ sudo rm -r /opt/pycharm-community-2021.3.2/
$ rm -r ~/.PyCharm2021.3/
1.3.5新建项目
- 命名文件名建议使用小写字母、数字和下划线
- 文件名不能以数字开始
- 通过欢迎界面或者菜单File>>New Project可以新建项目
- 命名规则,摘自Python风格指南(Google)。
模块名写法: module_name
;
包名写法: package_name
;
类名: ClassName
;
方法名:method_name
;
异常名: ExceptionName
;
函数名: function_name
;
全局常量名:GLOBAL_CONSTANT_NAME
;
全局变量名: global_var_name
;
实例名:instance_var_name
;
函数参数名: function_parameter_name
;
局部变量名: local_var_name
.
函数名,变量名和文件名应该是描述性的,尽量避免缩写,特别要避免使用非项目人员不清楚难以理解的缩写,不要通过删除单词中的字母来进行缩写。始终使用.py 作为文件后缀名,不要用破折号。
1.3.6多文件项目的演练
- 开发项目就是开发一个专门解决一个复杂业务功能的软件
- 通常每个项目就具有一个独立专属的目录,用于保存所有和项目相关的文件
- 一个项目通常含有很多源文件
二、数据类型与运算符
2.1算数运算符
- 算数运算符+,-,*,/,//,%,**。
- 其中*还可以计算出字符串重复指定次数的结果。
- 优先级同C++(由高到低排列)
运算符 |
描述 |
** |
幂(最高优先级) |
* / % // |
乘、除、取余数、取整数 |
+ - |
加法、减法 |
2.2比较运算符
与C++类似:==,!=,>,<,>=,<=
2.3逻辑运算符
2.4赋值运算符
=,+=,-=,*=,/=,//=,%=,**=
2.5数据类型
- 数据类型:数字型与非数字型
- 数字型:整型(int