文章标题

来源:互联网 发布:windows bat脚本sleep 编辑:程序博客网 时间:2024/06/06 04:40

python高级

一、计算机硬件基础知识
CPU - 寄存器 - L1/L2/L3 - 内存 - 硬盘 - 互联网下载/其他存储介质传输
寄存器:如果是需要重复执行的指令,就放到寄存器,不用每次都从内存去读取 8个寄存器
缓存:CPU是高速设备,内存是低速设备,CPU和内存做数据交互,就通过缓存来临时存储。

(一)CPU
主频:台式机 单核主频 4.0Ghz 睿频6.0Ghz
工艺:32nm 22nm 10nm 8nm,摩尔定律(戈登.摩尔)贝尔实验室
架构:CPU的软件,skylake
外星人、未来人类:P7 笔记本20万。将台式机的硬件,放到笔记本里。
笔记本模具:蓝天(代工)、微星(自产自用)。
Intel 英特尔(牙膏厂):
酷睿 Core(家用,自带核心显卡):
核心(超线程技术)
i3:双核双线程
i5:四核四线程,笔记本(双核四线程)
i7:四核八线程
U 低电压(低功耗)
M 移动版
Q 四核心
H 焊接在主板上(散热好一些,但是不能拆卸)
K 不锁倍频
X 旗舰版
至强 Xeon(服务器,不带核心显卡):
E3:单核主频低,但是核心多。 主频2.0, 6核12线程,主要是用来做多任务处理。
E5:
E7:
AMD :锐

(二)内存和硬盘
内存:圆晶体颗粒、主控
优盘、内存、固态硬盘,都由圆晶体颗粒和主控组成。
频率:1333MHZ 1600MHZ
4G 1333MHZ + 4G 1600MHZ 遵循水桶效益。
圆晶体颗粒厂商:三星、镁光、台积电、东芝
金士顿、海盗船、威刚、三星、镁光…
机械硬盘:磁头,簇
5400rpm 7200rpm ,
60~80M/s 100M/s
IBM(硬盘业务出售给日立) - 日立(西部数据合并了日立的硬盘业务) - 西部数据(全资收购闪迪 )
三星的硬盘 - 希捷

(三)显卡
英伟达 NVIDIA
GeForce 精视:
GTX 1080、980、780、690
1080Ti 公版,显卡生产商发布的显卡版本
流处理器:
架构:
显存:速度
华硕、索泰、技嘉、七彩虹。
AMD(ATI)
A卡,N卡:信仰。

网卡、声卡:瑞昱 和 高通。
显示器:戴尔、LG、三星、夏普、冠捷、京东方。

二、unix和linux的诞生
21世纪最伟大的科研机构 贝尔实验室
(后来:从att拆分后,单独成立一家公司:朗讯(商业化)和 贝尔实验室(科研),阿尔卡特收购了朗讯:阿尔卡特-朗讯。阿尔卡特和诺基亚合并: 诺基亚阿尔卡特朗讯贝尔实验室)
通信业务:爱立信、西门子、诺基亚、阿尔卡特
电信设备:思科、华为、中兴
AT&T(美国电话电报公司) 成立一个科研单位。
贝尔实验室:晶体管、C语言、Unix操作系统,通信、光、物理、化学…
诞生了8个诺贝尔奖得主,多个图灵奖得主。
图灵奖:计算机界的诺贝尔奖。艾兰-图灵 英国人。发明了机器自动去计算,最后破译德军Enigma密码。人工智能之父。
机器语言 - 汇编语言(符号语言)- 高级语言
UNIX :汇编写的第一版。
BCPL(英国剑桥发布一种编程语言) - B语言(编写了改写了UNIX) - C语言。
开始用C语言重写了UNIX
intel :
8086 8bit、80286 16bit、80386 32bit CPU
UNIX 最早的源码是开放,大学、机构、军工都可以使用。
AT&T 申请版权,不能再随便使用源码。
UNIX BSD : 加利福尼亚大学 伯克利分校计算机中心 发布的一款UNIX
Sun :Sun公司, Sun服务器 + Sun OS, Java, 全部被Oracle收购,Solaris
GNU 组织:开源世界的领头人。
GNU :GNU is Not Unix:宣扬自由软件运动的一个组织。
GNU当时有很多自由软件,Emacs,bash等,唯独缺少一个操作系统。
GNU + Linux = 开源世界
Linus’s UNIX = Linux
Linus 的主要产品:kernel(Linux的内核)、git(版本管理工具)、github(代码托管网站)
Linux全部都是免费下载使用。
Ubuntu(在宣传Linux的使用做了很大的贡献):易用性,软件的更新速度和维护速度很高。
CentOS:个人版的Redhat
Redhat:企业级的Linux,提供收费的技术解决方案
Debian
FreeBSD
OpenBSD
BT5/Kali:黑客必备的Linux
Ubuntu 16.04
年.月
04 :稳定版都是长期支持版(支持4~6年)
10 :过渡版本,开发版本(支持1年)

三、微软的故事
IBM: 国际商用机器公司
IBM PC机,缺一个操作系统,微软接下了这个订单。
MS-DOS: 5万刀 买了 西雅图软件公司手上 一个操作系统 xxx-DOS,卖给了IBM
MS-DOS:磁盘操作系统,一直到 MS-DOS 9.0
Windows 比尔盖茨,图形化的操作系统
Windows 3.0 - 销量非常非常广泛,几乎所有的家用电脑都运行 Windows
从此,微软开始了他的垄断之路。三流公司做产品、二流公司做设计、一流公司做标准。全世界的软件公司都活在微软的阴影之下。
2001 互联网时代开始了,微软开始走下路。
搜索、手机、移动互联网,鲍尔默 。纳德拉:移动为先云为先。
现金牛:Windows、Office、Azure云
硅谷,国外大企业玩死小公司:1.收购,2.收购不了打官司。
Windows 8 和 8.1
Windows XP,大家的电脑都很差,内存512M
Windows Vista 和 7

三、linux常用命令
(一)学习linux终端命令的原因
1、linux没有图形界面,所有的操作全靠命令完成,如磁盘操作,文件存取,目标操作,进程管理,文件权限设定等。
2、在职场中,大量的服务器维护工作都是在远程通过SS和客户端来完成的。
(二)终端使用技巧
1、方向键 上下 切换之前的命令
2、方向键 左右 移动光标
3、ctrl + a : 移动光标到命令的头部
4、ctrl + e : 移动光标到命令的尾部
5、善用tab键补齐文件名/目录名
6、ctrl + u 清除当前的命令内容
(三)linux下文件和目录的特点
1、Linux 文件 或者 目录 名称最长可以有 256 个字符
2、以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
3、. 代表当前目录
4、.. 代表上一级目录
(四)通配符的使用
通配符 含义
* 代表任意个数个字符
? 代表任意一个字符,至少 1 个
[] 表示可以匹配字符组中的任一一个
[abc] 匹配 a、b、c 中的任意一个
[a-f] 匹配从 a 到 f 范围内的的任意一个字符
(五)文件和目录的常用命令
1、ls:list 查看当前文档下的内容。
ls -a 显示目录下所有子目录的文件,包括隐藏文件。
ls -l 以列表形式显示信息。
ls -h 配合-l以人性化形式显示列表。
一般配合使用:ll 或者 ls -alh
2、pwd:print work directory 查看当前所在文件夹
3、clear:ctrl + l 清屏
4、ctrl + shift + = 放大终端窗口的字体显示,ctrl + - 缩小终端窗口的字体显示
5、command [-options] [parameter]
command:命令名,相应功能的英语单词或者单词缩写。
[-options]:选项,用来对命令进行控制,也可以省略。
[parameter] :传给命令的参数,可以是0个,1个或者多个。
6、command –help:查看命令的帮助(帮助文档)用Q退出文档。
7、man: manual 是 Linux 提供的一个 手册,包含了绝大部分的命令、函数的详细使用说明
space键:显示手册下一页。
Enter键:一次滚动手册页的一行。
b:回滚一屏
f:向前滚一屏
q:退出
8、cd:change directory 切换文件夹
图片
9、touch:创建文件或者修改文件时间。
①如果文件不存在,可以创建一个空白文件。
②如果文件已经存在,可以修改文件的末次修改日期。
10、mkdir make directory 创建目录
makdir -p 可以递归创建目录。
新建目录的名称不能与当前目录中已有的目录或文件同名
11、rm remove 删除指定的文件名(支持通配符)
(用rm要小心,删除文件后不能恢复)
rm -f 强制删除不存在的文件,无需提示
rm -r 递归地删除目录下的内容,删除文件夹时必须加此参数
rm -fr * 删除文件夹下所有的文件
12、tree:命令可以以树状图列出文件目录结构
tree -d 只显示目录
13、cp:命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录 中,相当于 DOS 下的 copy 命令
cp -i 覆盖文件前提示
cp -r 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
14、mv:命令可以用来 移动 文件 或 目录,也可以给 文件或目录重命名
mv -i 覆盖文件前提示
15、cat:concatenate 查看文件内容、创建文件、文件合并、追加文件内容等功能
会一次显示所有的内容,适合 查看内容较少 的文本文件
cat -b 对非空输出行编号
cat -n 对输出的所有行编号
16、more:命令可以用于分屏显示文件内容,每次只显示一页内容
ls -a | more
17、grep:Linux系统中grep命令是一种强大的文本搜索工具。
grep允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式。
grep -n 显示匹配行及行号
grep -v 显示不包含匹配文本的所有行(相当于求反)
grep -i 忽略大小写
^a:行首,搜寻以 a 开头的行
ke$:行尾,搜寻以 ke 结束的行
18、echo:会在终端中显示参数指定的文字,通常会和 重定向 联合使用
19、重定向:将终端的输出内容重定向到文件里(注意,重定向不要重定向到文件自身,否则会导致内容丢失)

:相当于文件操作的 w ,如果文件不存在,则创建文件并写入数据,如果文件存在则清空文件再写入数据。
ps -aux > ps_info.txt 把进程输出的文本写入ps_info的文件里。

:相当于文件操作的 a,如果文件不存在,则创建文件并写入数据,如果文件存在则在文件末尾追加新的数据。
cat file1 >> file2 (文件合并)
20、管道(|):将第一个命令的结果,通过管道,传递给第二个命令处理
ps -aux | grep “sogou” 将进程信息放到管道里,抓取带sogou的内容
(六)用户权限的相关命令
1、在 Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限
2、在 Linux 中,可以指定 每一个用户 针对 不同的文件或者目录 的 不同权限
3、-rw-rw-r– 1 python python 1466 9月 11 14:52 a.py
第一个字符表示文件类型:-普通文件,d表示目录
rwx rw- r–
文件所有者权限 所属用户组的权限 其他用户的权限
r read 表示读权限
w write 表示写权限
x execute 表示执行权限
1 表示硬链接数量 :相当于文件拷贝,拷贝越多,硬链接就越多,删除一个拷贝,硬链接就减少一个。
python python : 用户名 和 组名
1466:文件大小,单位 Byte
9月 11 14:52 :表示文件的最后修改时间
a.py :文件名
4、修改文件权限:
chmod +x 让所有用户都具有执行权限
chmod -r 让所有用户都没有读权限
这样处理权限要么都有,要么都没有。
chmod 777 test.py # 所有用户可读可写可执行
chmod 400 test.py # 文件所有者 4:读, 其他用户没有权限
0 表示没有权限
1 表示执行权限
2 表示写权限
4 表示读权限
(七)其他命令
修改密码系统密码用:passwd
1、reboot 重新启动计算机
2、关机的相关操作
shutdown -h now 立刻关机
shutdown -h 20:20 八点二十的时候关机
shutdown -h +10 十分钟后关机
shutdown -r now 重新启动
init 0 关机 init 6 重启
3、date:查看系统时间
4、cal:calendar 查看日历
cal -y 选择查看一年的日历
5、磁盘信息:
df -h 以人性化显示磁盘大小,disk-free
du -h 以人性化显示磁盘使用情况,disk-use
6、进程信息:
ps -aux:process status 查看信息进程情况
top:动态显示运行中的信息
htop:动态运行情况
kill -9 进程代号 强制杀死进程
7、find:查找指定目录下的所有符合条件的文件(注意,find会递归查找所有的子目录)
如果不写路径,则默认查找当前目录;如果不写 -name 文件名,则默认查找所有文件
# 查找当前目录下所有的 .py 文件,包括子目录
find ./ -name “*.py”
8、软连接:ln -s 源文件的绝对路径 软连接的路径和名称
1. 源文件必须用绝对路径
2. 创建好软连接后,不要移动源文件,否则会失效。
硬链接:简单理解为文件的拷贝(课后了解)
9、Linux 打包:一般把需要打包的文件和目录全部存到统一的一个目录,再去打包这个目录。
tar 只是包,并没有做压缩
# 打包
tar -cvf 打包后的包名.tar 需要打包的目录
# 解包
tar -xvf 打包后的包名.tar
10、linux 压缩(gz,bz2)(一般将零散的文件放入文件夹中打包或者压缩)
tar.gz 会进行压缩,大小会大大降低
# 压缩 gzip
tar -zcvf 压缩后的包名.tar.gz 需要打包的目录
# 解压缩
tar -zxvf 压缩后的包名.tar.gz
# 压缩 bz2
tar -jcvf 压缩后的包名.tar.bz2 需要打包的目录
# 解压缩
tar -jxvf 压缩后的包名.tar.bz2
解压到别的文件夹下:
tar -jxvf 压缩后的包名.tar.bz2 -C 文件夹/
11、which: 查看我的命令在哪个文件夹下。
12、ifconfig:查看电脑的ip地址信息。windows用ipconfig
修改IP地址:sudo ifconfig 网卡名(ens33)新的ip地址。
13、ping:ping+别人电脑的ip,看是否能通讯
14、linux是多任务,多用户
①添加账户:
sudo useradd caozhe -m 不加-m则不会在home中创建caozhe文件夹
②怎么查看是否创建新的用户。
cat/etc/passwd
③怎么切入别的账号:su caozhe
④修改密码:sudo passwd caozhe
⑤查看当前账户名:whoami
⑥查看谁登陆:who
15、怎么建立远程连接?
ssh 对方用户名(python)@对方IP
或者用xshell
17、创建多个用户窗口:ctrl+shift+T
18、切换用户窗口:alt+1 alt+2
19、删除账户:sudo userdel caozhe 只是删除了账户,没删除目录。删除目录得在userdel后加-r。
20、超级用户
①如何切换超级管理员:sudo —s 或者sudo su (需要密码)
②$表示普通账户,#为超级管理员
③怎么查看用户组:cat/etc/group
④如何创建用户组:sudo groupadd YYY
⑤如何删除用户组:sudo groupdel YYY
21、创建的用户为什么切不到管理员?不具备adm和sudo组
如何将一个账户添加到另一个组:
sudo usermod -a -G adm 用户名 -a表示添加,-G表示组
sudo usermod -a -G sudo 用户名
22、chown:修改文件的使用者
chown + 新的账户 + 文件
chgrp 修改文件的所属组
chgrp + 新的账户 + 文件名
23、linux中安装软件
sudo apt install 软件包
linux中卸载软件
sudo apt remove 软件名
更新已安装的包
sudo apt upgrade
定期更新源服务器软件列表 : /var/lib/apt/lists
sudo apt update
24、如何操作可执行文件
Windows 在目录里执行:
先找当前目录,如果当前目录有,则立刻执行;如果当前目录没有,则去找环境变量。
Linux 在目录里执行:
直接找环境变量,如果环境变量有,则执行;如果没有,则报错。
所以,需要在前面加上 ./ 指明Linux执行当前目录下的文件。
#!/usr/bin/python3
# 表示如果文件作为可执行程序运行,则使用指定解释器进行解释。
#coding:utf-8
# Python2 默认环境是ascii编码,不能处理中文。coding:utf-8 表示按utf-8编码处理中文。在Python2的代码里比较常见。
# Python3 环境已经改为utf-8,所以不用指定了。
print(“你好世界,你坏世界。”)

四、vim的基本操作
命令 光标移动
h 向左移动一个字符
j 向下移动一行
k 向上移动一行
l 向右移动一个字符
G 移到文件最后一行
nG 移到文件第n行
L 移到屏幕的最后一行
M 移到屏幕的中间一行
H 移到屏幕的第一行
( 移到句子的开头
) 地道句子的结尾
{ 移到段落的开头
} 移到下一段落的开头
gg 快速到第一行

命令 插入动作
a 在光标后插入文本
A 在当前行末插入文本
i 在光标前插入文本
I 在当前行前插入文本
o 在当前行的下边插入新行
O 在当前行的上边插入新行

命令 删除操作
x 删除光标处的字符,可以在x前加入需要删除的字符数目
nx 从当前光标处往后删除n个字符
nX 从当前光标处往前删除n个字符
dG 删除行直到文件结束
dd 删除整行
ndd 从当前行开始往后删除
db 删除光标前面的字
dw 删除一个单词

命令 复制操作
yy 将当前行的内容放入临时缓冲区
nyy 将n行的内容放入临时缓冲区
p 将临时缓冲区中的文本放入光标后
P 将临时缓冲区中的文本放入光标前

命令 撤销操作
u 撤销最后一次修改
U 撤销当前行的所有修改
ctrl+r 反撤销

命令 保存和退出操作
:w 保存文件但不退出
:wq 保存并退出
:x 保存并退出
shift+zz 保存并退出
:q! 不保存文件,退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑

原创粉丝点击