作者简介:大学机械本科,野生程序猿,学过C语言,玩过前端,还鼓捣过嵌入式,设计也会一点点,不过如今痴迷于网络爬虫,因此现深耕Python、数据库、seienium、JS逆向、安卓逆向等等,,目前为全职爬虫工程师,学习的过程喜欢记录,目前已经写下15W字电子笔记,因此你看到了下面这篇文章~
技术栈:Python、HTML、CSS、JavaScript、C、Xpath语法、正则、、MySQL、Redis、MongoDB、Scrapy、Pyspider、Fiddler、Mitmproxy、分布式爬虫、JAVA等
个人博客:https://pythonlamb.github.io/
大学作品合集:https://sourl.cn/h9M2jX
欢迎点赞⭐️收藏关注留言呀
登高必自卑,行远必自迩.
我始终坚信越努力越幸运
⭐️ 那些打不倒我们的终将会让我们变得强大
希望在编程道路上深耕的小伙伴都会越来越好
注意事项:在Linux终端中~代表家目录
终端命令一:pwd指令
功能:在终端输入指令pwd,显示当前工作的的路径(目录)
快速代码体验
终端命令二:tree指令【centos没有这个】
功能:tree指令不加参数时,以树状图的方式显示当前工作文件夹下面的所有文件及文件夹内容
快速代码体验
终端命令三:ls指令
功能:以列表的方式显示当前文件夹下面的所有可见文件及文件夹名称
指令选项:ls - a (以列表的形式显示当前文件夹下所有的文件(可见和不可见)及文件夹名称)
注意事项:在linxu中文件或者文件夹前面加点 . 代表这个文件为隐藏文件
快速代码体验
一:终端中ls指令的 -l 选项功能
功能:详细显示当前工作目录下的文件及目录(文件夹)信息
快速代码体验
二:终端ls指令的 -h 选项功能
功能:选项 - h 配合选项 -l 以人性化的方式显示文件大小
注意事项:终端指令的选项可以有多个也可以没有
快速代码体验
硬链接数
本课掌握:能够使用cd命令切换根目录、家目录、当前目录、上级目录等
一:Linux指令——cd命令(切换目录)
功能:在Linux中利用cd命令切换工作目录
注意事项:
1:在Linux中大小写敏感,即a文件夹与A文件夹是不同的
2:cd指令后面如果什么都没写(没有选项和参数),默认回到家目录(主目录)
3:cd指令后面可以写绝对路径也可以写相对路径
4:相对路径是相对于某个路径的路径,绝对路径是从根目录开始写的路径
cd指令的参数及其功能:
1:指令 cd ~ 或者指令 cd 代表转换到家目录
2:指令 cd . 代表当前目录
3:指令 cd … 代表切换到上级目录
4:指令 cd - 代表切换到上次的目录,注意不是上级
5:指令 cd ./a 代表切换到当前目录下的a目录,当然./也可以省略,代表进入当前目录下的a目录
6:指令 cd …/b 代表切换到当前目录的上级的b目录
快速代码体验
Linux指令——mkdir(创建目录)
功能:利用 mkdir 指令可以在Linux中创建指定文件夹
指令选项:mkdir - p 的功能是递归创建文件夹
快速代码体验
Linux指令——touch(创建文件)
功能:利用 touch 指令可以在Linux中创建指定文件
注意事项:
1:可以利用 touch 指令创建一个或者多个文件,多个文件之间空格隔开
2:touch指令后面可以是相对路径也可以是绝对路径用于创建文件
快速代码体验
Linux指令——gedit(打开并编辑文件)
功能:利用 gedit 指令打开指定文件并用于编辑
注意事项:
1:利用gedit指令可打开多个文件用于编辑
2:gedit 指令后面的文件可以是相对路径也可以是绝对路径
3:不是所有的Linux发行版本都支持gedit指令,比如CentOS就不支持
快速代码体验
Linux指令 —— rm (删除文件或目录)
功能:在Ubuntu中利用 rm 指令可以删除指定文件或目录
指令选项:
文件删除选项
1:rm 文件名 没有选项功能默认就是强制删除指定文件,没有任何提示,相当于 rm -f
2:rm -i 文件名 功能是以人机交互的方式删除文件或目录,有提示信息3:rm -f 文件名 功能是强制删除指定的文件,没有任何的提示
目录删除选项
1:rm -r 目录名 意思是按照递归的方式删除指定目录,在利用rm指令删除目录的时候一定要书写选项 - r 否则会报错
注意事项:
1:rm 指令后面的文件可以是相对路径的也可以是绝对路径的
2:在CentOS中 rm 指令是以人机交互的方式删除文件,相当于Ubuntu中的 rm -I
快速代码体验(利用rm指令删除文件)
快速代码体验(利用rm删除指定目录)
注意事项:在利用 rm 指令删除指定文件夹(目录)时,rm指令后一定要加上选项 -r 代表递归删除文件夹,不加 -r 会报错
Linux指令—— cp 拷贝文件与目录(文件夹)
功能:利用 cp 指令可以实现对文件和文件夹的复制
语法:cp 源文件路径 复制后的文件路径
指令选项:
文件拷贝选项
1:cp -i 功能是人机交互式复制文件,如果目标路径有同名的文件则提示用户同名,是否覆盖
2:cp -f 功能是强制复制,目标目录下存在同名文件,直接覆盖掉,不提示
3:cp -v 功能是显示文件拷贝过程
目录(文件夹)拷贝选项
1:cp -r 功能是递归拷贝,在拷贝目录的时候必须加上 -r选项,否则会报错
注意事项:
1:如果目标文件夹内有同名的文件,则这个复制的文件将这个同名的文件覆盖掉
2:在拷贝目录的时候,必须加上选项 -r 递归拷贝,否则会报错
快速代码体验(cp指令无选项复制文件)
(cp指令有选项复制)
快速代码体验(cp指令复制目录)
Linux指令—— mv
功能:快速实现文件及目录的移动、重命名
语法:mv 源文件路径 目标文件路径
选项:
移动文件
-i :交互式移动文件,如果目标目录存在同名文件,则给出提示是否覆盖掉同名文件
-f :强制移动文件,无论目标目录是否有同名文件,都会进行强制移动,无任何提示
-v:显示文件移动过程
移动文件夹(目录)
没有任何选项,无选项 -r
注意事项:利用 mv 指令移动目录(文件夹)时,不需要加选项 -r 可直接移动也不会报错!!
快速代码体验(无选项移动文件)
(有选项移动文件)
(mv指令移动文件夹)
注意事项:mv指令移动文件夹时不需要书写选项 -r 可直接移动,不报错
(利用 mv 指令重命名文件和目录)
同理也可以重命名目录
一:清屏指令——clear (快捷键 Ctrl + l)
功能:清空终端所有的指令,其实是换了多次行,达到清屏的效果
语法:clear 或者快捷键 Ctrl + l
注意事项: l 为小写的 L键,不是大写的 i 键
快速代码体验
二:自动补全按键—— Tab键
功能:按下Tab键自动补全文件或者目录名称
三:查看指令的路径指令——which
功能:可以查看Linux终端指令在计算机根目录的具体位置
快速代码体验
四:Linux终端小技巧
技巧1:按住键盘的 ↑ ↓ 键可以快速在曾经输入的指令间切换
技巧2:按住 Ctrl + Shift + “=”可快速增大终端界面字体大小
技巧3:按住 Ctrl + “ - ”(等号旁边的按键)可快速缩小终端界面字体大小
一:日历指令 —— cal
功能:cal 无选项指令可以查看当前月份的日历
指令选项:
-3 :功能是查看当前月份前一个月和后一个月这三个月份的日历
-y:显示这一年的日历
-j:把当前的时期按照一年中第多少天显示
快速代码体验
日期指令 —— date
功能:查看当前的日期,即年月日、时间
语法:date
指令参数
快速代码体验
一:历史指令 —— history
功能:利用 history 指令可查看在终端内曾经输入过的指令,并且进行编号
指令参数:history 10 表示显示最近的十条历史指令
调用历史指令:!历史指令编号 即可快速调用历史指令
注意事项:历史指令保存在家目录中的 .bash_history 的隐藏文件中,可以用 gedit 进行查看
快速代码体验
本课须知:利用 cat 指令 查看文件、连接多个文件查看内容
8000.txt文件内容如下
4000.txt文件内容如下
查看文件、合并文件指令 —— cat
功能:利用 cat 无选项指令可在终端查看文件内容,并且终端可以继续运行,这是 gedit 指令没办法比的
指令选项:
-n :将文件内每一行(算上空白行)进行编号
-b:将文件内的每一行数据(不算空白行)进行编号
-s:如果两行数据之间有两行空白行,利用 -s 选项显示一行空白行
注意事项:
1:指令选项可以合并在一起写,比如说 -n -b 可以写成 -sb,效果是一样的
2:cat 指令与 gedit 指令区别在 gedit打开文件出现窗口,且终端不能继续运行,cat 直接将文件内容打印在终端上,终端继续运行。
快速代码体验
cat 指令连接多个文件查看内容
功能:cat 指令后面可以连接多个文件一起查看内容,并且一起编号等
快速代码体验
目标:利用 more 指令分页查看文件内容
分页查看文件内容指令 —— more
功能:利用 cat 指令查看一个内容非常多的文件内容很不方便,这时候我们就要用到 more 指令分页查看文件内容了
无选项语法:more 文件名
指令参数:more +num 文件名 表示从第num行开始分页显示文件内容(加号不能省略,必须有加号)
指令选项:
-p:先清空终端屏幕内容,在显示查看的文件内容
-s:文件内容中有两行空白行按照一行空白行显示
指令常用操作:
回车键:按下回车键向下显示一行文件内容
空格键:按下空格键向下显示一页(终端一屏)文件内容
Ctrl + b (b):查看上一页内容
Ctrl + f (f):查看下一页内容
q键:退出
快速代码体验
一:什么数据流?
数据流分为输入流与输出流
输入流:从键盘输入数据或者从文件读取数据到内存中
输出流:将内存中的数据显示在屏幕(终端)上或者写入到一个文件中
Linux数据流的分类:标准输入流、标准输出流、标准错误输出流
二:数据流重定向指令 —— >
使用背景:将输出在终端上的数据保存到文件内时,就用到了数据流重定向
功能:数据流重定向是改变数据流的原输出方向(一般数据输出方向从屏幕显示改变为保存至文件内)
指令:> 或者 >>( >重定向的数据会覆盖文件内的数据,>>重定向的数据不会覆盖文件内容,追加在数据后面)
数据流重定向图示
快速代码体验
管道指令—— | (多个Linux指令协同工作)
功能:管道指令可以让多个Liux指令协同工作
语法:指令1 | 指令2 | 指令3
图解:指令1的输出信息相当于指令2的输入信息
快速代码体验
一:Linux 指令如何查看当前指定项目的进程是否开启
指令: ps -ef | grep 指定进程名
二:什么 Linux 指令可以杀死指定进程
指令:kill -9 任务进程号
目标:
1:掌握虚拟机网络设置两种模式的不同,NAT模式与桥接模式
3:利用 ifconfig 指令查看主机的 IP 地址
4:利用 ping 指令查看两台计算机网络的连通性
一:虚拟机的NAT模式与桥接模式在IP地址上有和不同
答:NAT模式的IP地址与物理机的IP地址是一样的(共享IP),而桥接模式IP地址是与物理机不同的,因为它向物理机网段又重新要了一个IP地址
桥接模式优缺点:
优点:不需要任何设置虚拟机就可以和物理主机进行通信
缺点:虚拟机需要占一个物理机真实网段的IP地址
二:查看主机的IP地址指令 —— ifconfig
功能:查看主机(虚拟机)的 IP 地址
语法:ifconfig
快速代码体验:
三:查看网络是否可达(可通信)指令—— ping
功能:用于查看两个主机(同一个网段下)或者主机与网站之间是否可以进行通信(是否可达)的指令
语法:
主机与主机:ping 另一台主机的 ip 地址
主机与网站:ping 网站名
注意事项:两个IP地址是在同一个网段下,就是具有相同的网络号
快速代码体验(主机与主机)
主机与网站的通信是否可达
知识提升:如何在Windows系统中查看IP地址
答:进入终端输入指令 ipconfig 即可查看Window主机的IP地址
快速代码体验
本课须知:
1:能够说出Linux文件的硬链接文件与软链接文件概念
2:掌握 ln 命令创建硬链接与软链接
3:掌握 ln -s 创建软链接
一:文件软链接与硬链接概念
文件软链接:给文件创建一个快捷方式,这个快捷方式指向文件名(文件内存地址名),从而打开文件,获取文件内容,软链接被删除对文件无影响,文件删除,则软链接失效,通过软链接可以更改源文件内容。
文件硬链接:直接给源文件起了另外的(一个或多个)名字(文件内存地址多个名字),删除其中一个硬链接(名字)不会对文件造成影响,文件名字全部删除则文件删除,通过硬链接可以更改源文件内容
图解
二:创建软链接指令 —— ln -s (文件快捷方式)
功能:为文件创建快捷方式(软链接),软链接删除不会对源文件造成影响
语法: ln -s 源文件 软链接文件
快速代码体验
注意事项:之所以软链接文件内容和源文件内容是一样的,是因为软链接(快捷方式)直接指向源文件
三 :创建硬链接文件
功能:为源文件起多个名字,点击其中一个名字就会打开这个文件,删除其中一个名字不会对文件产生影响,除非全部删除掉
语法:ln 源文件名称 硬链接文件名称
快速代码体验
一:文件软链接
删除文件软链接对源文件的影响:不会产生影响
删除源文件对软链接文件(快捷方式)产生的影响:软链接文件失效
二:硬链接文件
删除文件硬链接对源文件的影响:不产生影响
删除源文件对源文件的硬链接文件影响:不产生影响(因为只删除掉源文件其中一个名字,还有其他名字)
软链接与硬链接的区别:
1:软链接可以对不存在的文件创建软链接文件,而硬链接不可以
2:软链接可以对文件夹(目录)创建软链接文件,硬链接不可以
目标:
1:掌握 grep 指令搜索文本文件内部的数据
2:初步掌握grep指令的正则表达式
3:掌握 find 指令在Ubuntu内搜索文件
一:文本文件内部数据查找指令 —— grep
功能:grep 是强大的文本搜索指令,即 grep 指令可以对文本文件内特定数据进行查找,将查找的文本这一行的数据全都打印出来
语法:grep [-options] “查找的文本” 文件名
注意事项:利用 grep 指令搜索文本数据的时候,查找的文本最好用双引号或者单引号括起来
指令选项:
-i :功能是不区分查找的文本大小写,大小写的文本内容全部都查找出来
-n:功能是显示查找的文本数据在文件内的行号(第几行)
-v:功能是取反,即打印文件中不包含这个文本数据(引号内的文本)的内容
grep指令的正则表达式图示
快速代码体验(grep指令无选项)
快速代码体验(grep有选项)
快速代码体验(grep指令正则表达式初体验)
二: 查找文件指令 —— find
功能:在Linux操作系统的目录下查找符合条件的文件
语法:
1:find 文件目录 -name 文件名要求
2: find 文件目录 -size 文件大小要求
指令选项:
-name:查找符合文件名的文件
-size:查找符合文件大小的文件
注意事项:文件大小 M 必须是大写
快速代码体验(利用 -name 查找文件)
快速代码体验(-size 文件大小查找文件)
目标:
1:掌握归档和压缩的概念
2:能够使用 tar 指令对文件进行归档压缩
3:能够使用 tar 指令对文件进行解档、解压
一:归档和压缩的概念
压缩:压缩原理是将文件内相同的信息用一个字符代替,压缩对于文本类或数据类的文件有明显效果
归档:归档是将一些文件存放在一起,形成一个包,便于保存和传输
二:文件归档压缩、指令 —— tar
功能:
1:tar指令配上相应选项对文件归档且压缩一气呵成
2:tar指令配上相应选项对文件解档且解压一气呵成
语法(最常用):
文件归档压缩:tar [-options] 归档压缩文件名(后缀为.tar.gz) 需要归档的文件1 需要归档的文2
文件解档解压:tar [-options] 归档文件
文件解档解压到指定目录: tar [-options] 归档文件名 -C 指定目录
指令选项:
-c :生成归档文件,因此在归档的过程中 -c 选项必须有
-v:显示文件归档解档过程,显示进度
-f:指定档案文件名,因此选项 -f 在对文件归档与文件解档处理时必须有,告诉电脑处理哪个文件
-x:对归档的文件进行解档
-z:对归档文件进行压缩、对解档文件进行解压
注意事项:
1:对一些文件归档处理时,必须要有选项 -c -f -c是生成归档文件,-f 是指定生成哪个归档文件名
2:-f 选项一定要在选项最后,即在档案文件名前面的第一个选项,
3:无论文件归档还是解档都要有 -f 选项
4:Linux系统的归档文件是以 .tar 为后缀,归档压缩文件是以.tar.gz为后缀
5:-z选项 可对归档文件进行压缩也可对解档文件进行解压
快速代码体验(解档解压到当前目录下)
快速代码体验(解压解档到别的目录下)
目录、文件压缩解压指令 —— zip/unzip
功能:对目录或文件进行压缩解压
语法:
压缩(目录):zip -r 压缩后文件名(后缀为.zip) 待压缩目录名
压缩(文件):zip 压缩文件名 待压缩文件名
解压:unzip 待解压文件或目录名
注意事项:.tar.gz压缩文件比.zip压缩文件更小,因此在Linux中.tar.gz压缩文件更常用
快速代码体验(压缩解压目录)
一:文件权限的含义
详解:在Linux中文件权限由四种字符组成的9个字母构成,每三个字符一组,其中这四种字符有 r、w、x、- 这四种,r代表可读权限、w代表可写权限、x代表可执行权限(文件:直接运行 绿色 目录:可以打开)- 代表没有权限
快速代码体验
二:字母 u、g、o 、a所代表的的含义
字母u(user):代表文件拥有者即文件用户权限
字母g(group):代表文件所属同组用户(与文件拥有者同组的用户)权限
字母o(other):代表其他用户权限
字母a(all):代表所有用户权限
目标:学会 chmod 指令的两种方法(字母法、数字法)修改文件权限
一:chmod指令字母法修改文件权限
功能:可以修改文件的权限
文件权限用户:
u:文件拥有者权限
g:文件所属组的权限
o:其他用户权限
a:文件的所有用户权限
文件权限设置:
+:代表增加权限
-:代表撤销权限
=:代表设置权限
文件权限:
r:可读
w:可写
x:可执行(文件:可以运行 目录:可以打开)
-:没有权限
chmod指令语法:chmod 文件权限用户 文件权限设置 文件权限 待设置文件名
语法示例: chmod u + x 1.txt (代表将1.txt文件的所属用户权限增加可执行权限)
快速代码体验(增加权限)
快速代码体验(设置权限)
二:chmod数字法更改文件权限
功能:chmod指令通过一系列数字即可改变文件权限
数字所代表的文件权限:
4:代表可读 r 权限
2:代表可写 w 权限
1:代表可执行 x 权限
0:代表无权限 - 权限
指令语法:chmod 数字1数字2数字3 文件名 (其中数字1代表文件所属用户的权限数字累加和,一样道理数字2代表所属组用户,数字3代表其他用户权限数字累加和)
快速代码体验(字母法与数字法对比)
一:临时增加用户权限、切换超级管理员用户 —— sudo
sudo用法:
1:sudo 其他指令 (在其他指令前加上sudo即可临时提升我们的权限)
2:sudo -s (即可默认切换超级管理员用户)
快速代码体验
注意事项:$符号代表普通用户,#符号代表超级管理员用户(root)
二:切换用户指令—— su
功能:切换用户从而获得更多权限
语法:su 用户名
注意事项:
1:利用sudo -s 默认切换到 root 用户,需要输入普通用户的密码
2:利用 su root 可切换到 root 用户,需要输入 root 用户密码
快速代码体验
三:更改用户密码指令 —— passwd
功能:利用 passwd 指令可更改用户(普通用户与root)的密码
语法:
passwd :功能是更改当前用户密码
passwd 普通用户名:这种用法是当你作为root用户时更改其他用户密码的时候
快速代码体验
三:退出登录用户指令 —— exit
功能:在Ubuntu终端中 exit 指令可退出登录用户,从而退出终端界面
语法:exit
注意事项:
1:在Linux底层,对终端用户的保存方式为内存栈(井方式),即只能在一端存放或取走东西
2:在终端运行中总共切换了几个用户就有几个用户保存进了内存栈,因此exit要执行几次才能退出终端
快速代码体验
四:查看用户登录指令 —— who
功能:查看Ubuntu系统终端中登录了哪几个用户
语法:who
指令选项:-q:功能是显示Ubuntu系统中登录了几个用户以及用户名
快速代码体验
目标:
1:掌握 shutdown 指令关闭计算机
2:掌握 reboot 指令重新启动计算机
一:关机指令 —— shutdown
功能:按照一定条件关闭计算机
语法:shutdown
指令选项:
-r :配合相应参数可重新启动计算机,并通知其他在Ubuntu系统上登录的用户计算机即将重启
-h:配合参数使用告诉计算机什么时候关机
-c:取消关机
指令参数:
10:50 配合选项 -h 使用功能是告诉计算机在 10:50 进行关机,当然 -h 也可省略
+10 :配合选项 -h 使用功能是计算机在十分钟后关机,当然 -h 也可省略
now:配合选项 -h 使用 功能是现在、立刻马上进行关机,当然 -h 也可省略
快速代码体验
二:重启指令 —— reboot
功能:重启计算机(服务器)
语法:reboot
快速代码体验
目标:
1:了解Linux系统安装软件的三种方式
2:掌握 sudo apt-get install 指令安装软件
3:掌握 sudo apt-get remove 指令卸载软件
一:Linux系统安装软件的三种方式
Make install:安装源码包方式
deb包:相当于windows中的exe文件(但是与要下载很多依赖文件)、
apt-get install:简单粗暴安装(重点掌握)
二:软件安装指令 —— apt-get install
功能:简单粗暴安装软件,联网即可下载软件所需的所有包
语法格式: sudo apt-get install xxx
注意事项:使用 apt-get 下载软件前要配置软件源(下载软件的网址)
【重要】:怎么配置ubuntu中国软件源(软件下载速度快)与下载软件
第一步:打开清华大学镜像软件站
网址链接:https://mirrors.tuna.tsinghua.edu.cn/
第二步:滑到最下找到 ubuntu 点击问号进去
第三步:根据教程修改ubuntu软件镜像源
第四步:在ubuntu中配置成功后输入 sudo apt-get update 进行更新软件源
第五步:即可利用 sudo apt-get install 安装你想要的软件啦
三:软件卸载指令—— apt -get remove
功能:卸载相应软件
语法格式 sudo apt-get remove vim (卸载 vim 软件)
快速代码体验
目标:掌握 ssh 指令远程登录服务器
一:服务器远程登录指令 —— ssh
使用背景:我家在东北,然而我的服务器在海南,这时我们要远程操控服务器就要在自己的计算机利用ssh指令来远程登录服务器
注意事项:在自己的计算机利用 ssh 指令登录服务器,需要在服务器上安装 ssh server 软件
服务器安装 ssh server 软件指令:服务器终端输入 sudo apt-get install openssh-server 即可安装 ssh server 软件
远程登录服务器指令语法:在自己计算机中输入 ssh 服务器用户名@服务器IP地址(服务器IP地址一般都是IPV4的地址)即可远程登录服务器
快速代码体验(windows计算机远程登录服务器)
目标:掌握 scp 指令进行文件的远程拷贝(上传与下载)
一:远程文件拷贝(上传与下载)指令 —— scp
使用背景
1:将 windows 电脑中的文件上传至远程服务器
2:将远程服务器上的文件下载到 windows 电脑上
指令语法:
windows文件上传到服务器:scp 计算机中文件路径 服务器用户名@服务器IP地址:服务器保存这个文件的地址(例如 scp E:\yule\2.jpg [email protected]:/home/lamb/ceshi/2.jpg)
服务器文件下载到windows计算机:scp 服务器用户名@服务器IP地址:服务器文件目录 自己计算机保存这个文件的目录
注意事项:
1:使用scp远程拷贝文件需要在服务器上下载 ssh server 软件,可利用 sudo apt-get install openssh-server 下载
2:无论是远程上传文件还是远程下载文件,注意 windows下的路径都不能带中文!
3:远程拷贝文件夹需要在指令后面加上 -r 选项
4:如果相对路径远程传输文件显示没有找到文件,一定要试试绝对路径传输文件!!!
快速代码体验(远程上传文件)
快速代码体验(远程下载服务器文件)
未完待续…