linux学习总结

 

操作系统发展史

----------------------------------------------------------------------

Unix、mini-UNIX、Linux都是用C语言开发的

Unix作者是肯·汤普逊和丹尼斯·里奇,发布时间是1973年

mini-Unix作者是塔能鲍姆 发布时间1987年

Linux内核的作者是林纳斯,发布时间是1991年

Linux在服务器、嵌入式、桌面领域都有应用,主要在服务器领域

Linux 免费、稳定、高效、开源

 

 

 

文件系统区别

--------------------------------------------------------

Windows操作系统有可能会有多个盘符(C、D、E、F)

Linux操作系统没有多个盘符,只有一个根目录(/)

 

 

 

<常用linux选项>

----------------------

1> ls选项

2> mkdir选项

3> rm选项

4> cp选项

8> mv选项

 

 

 

高级命令>

-----------------------------------------

1. 重定向命令:>, >>

2. 查看或者合并文件内容:cat

3. 分屏显示:more

4. 管道:|

5. 建立链接文件:ln

6. 文本搜索:grep

7. 查找文件:find

8. 通配符

9. 打包及压缩:tar

10. 修改文件权限:chmod

11. 查看命令位置:which

12. 切换到管理员账号:sudo -s

13. 查看当前用户:whoami

14. 设置用户密码:passwd

15. 退出登录账户: exit

16. 查看所有的登录用户:who

17. 关机重启:reboot、shutdown

 

 

 

远程登录和远程拷贝

-----------------------

远程登录:    ssh 用户名@IP

远程拷贝:    scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径  /保存到本机的绝对/相对路径

1. scp可以实现Ubuntu远程连接和文件上传和下载

2. 在windows系统上远程连接Ubuntu需要安装OpenSSH软件

3. FileZilla工具通过SFTP协议实现文件上传和下载

 

 

 

软件安装与卸载

-------------------------------------------------------------------------

sudo apt-get update  更新源

sudo apt-get install package 安装包

sudo apt-get remove package 删除包

 

1.1 下载deb扩展名的安装包直接双击安装

1.2 通过apt-get工具安装,90%都是以这种方式安装

 

2.1 通过Ubuntu软件中心更改

2.2 手动更新sources.list文件并且需要执行sudo apt-get update 进行更新

 

 

 

编辑器vim

------------------------------

命令行模式

编辑模式

末行模式

 

进入插入模式:

进入命令模式:

ESC:从插入模式或末行模式进入命令模式

移动光标:

删除命令:

撤销命令:

重复命令:

文本行移动:

复制粘贴:

可视模式:

替换操作:

查找命令:

替换命令:

 

<替换示例>      把abc全部替换成123

<示例1>           末行模式下,将当前文件中的所有abc替换成123                     :%s/abc/123/g

<示例2>           末行模式下,将第一行至第10行之间的abc替换成123             :1, 10s/abc/123/g

<符号说明>      %表示整个文件,         1, 10表示1到10行范围内,        s表示替换,        g表示全局



 

 

 

cp: 拷贝

--------------------------------------------------------------------------

cp 文件名 路径: 把文件拷贝到指定路径

cp 路径/文件名 路径: 把指定路径的文件拷贝到指定路径

cp 文件名 路径/新的文件名 : 先把文件拷贝到指定目录然后再重命名

cp 文件夹 路径 -r: 拷贝文件夹 -r:以递归的方式把文件夹下的所有文件拷贝过去

 

 

 

命令的格式

--------------------------------------------------------------------------

命令名 选项 参数, 提示:有些命令选项可以放到参数的后面,但是:scp 选项必须要放到命令名的后面

 

 

 

ls 选项

-------------------------------------------------------------------

-l: 以列表的方式取显示

-a: 显示隐藏文件

-h: 显示文件大小的单位

-------------------------------------------------------------------

ll: 是ls -al的缩写,  显示隐藏文件并且以列表方式显示 , l --> ls

 

 

 

rm选项

---------------------------------------------------------------------

--r: 以递归的方式删除文件夹里面的所有内容

--i: 显示删除的时候提醒信息

--v: 显示删除后的描述信息

--d: 删除空目录

--f: 如果文件或者目录存在则删除,否则就不删除也不会报错

 

 

 

cp选项

---------------------------------------------------------------------

-i:拷贝文件的时候如果指定目录有该文件需要显示提醒信息

-v:显示拷贝文件的路径描述

-r:以递归的方式拷贝文件夹里面的所有内容

 

 

 

mkdir 选项

----------------------------------------------------------------------

-p: 把依赖文件夹提取创建好,比如: mkdir 123/456/789 -p

 

 

 

mv选项

------------------------------------

-i:移动文件显示提醒信息

-v:显示移动后的路径描述

 

 

 

<杂>

---------------------------------

重定向(>,>>): 在终端显示的内容信息重写规定方向,保存到指定文件里面,以后查看数据是文件查看就可以了

总结: ls, cat, tree都可以使用重定向

 

gedit:文本编辑工具,可读可编辑

 

cat: 内容在终端显示,不能进行编辑,提示:适合查看小型文件,大型文件使用分屏方式显示(more)

文件合并:       cat 1.txt 2.txt > 3.txt

 

管道: 可以理解成是一个容器,存放在终端显示的内容

总结: ls /bin | more , cat, tree, ls都是可以结合管道使用完成分屏显示的

 

 

 

:分屏显示>

---------------------------

f:          表示下一页

空格:      表示下一页

回车:      表示下一行

b:           表示上一页

q:           退出

 

 

 

链接

--------------------------------------------------------------------

软连接:可以理解成快捷方式,把原文件删除掉通过软链接无法打文件的数据, 提示:创建软连接不会对硬链接数加1

硬连接: 同一个数据有多个文件名在使用,某个文件删除掉,还可以通过其它文件名访问这个文件的数据, 提示:创建硬链接硬链接数会加1

提示:如果创建的软链接没有和原文件在同一个目录里面,那么需要使用绝对路径创建软连接

 

 

 

grep: 根据指定的内容在文件中进行查找

------------------------------------------------------

grep "a" 8.txt : 根据指定内容在文件中进行查找

-n:行号, -i:忽略大小写 -v: 取反

总结:

grep支持的正则表达式有  ^  $  .  和  [ ] 

 

 

 

find:在指定目录查找对应的文件

----------------------------------------------------------------------

find . -name ".txt": 在当前目录查找后缀是.txt的文件, -name根据文件名查找

find . -perm 666: 在当前目录查找文件权限是可读可写的, -perm根据权限查找

总结: 

find支持的通配符有 ? [ ]

 

 

 

通配符

--------------------------------------------------------

通配符包括 ?  _  和 [ ] , 主要用来进行模糊查询.     其中 [ ] 表示匹配任意列举中的一个字符.

ls支持的通配符有 _ ? 和 [ ]

 

 

 

打包、压缩、解包、解压缩>

-----------------------------------------------------------------------

打包 tar -cvf test.tar *.txt, -c: 表示要打包, -v:显示文件打到包里面 -f:表示文档名称,提示-f必须放到所有选项的后面

解包 tar -xvf test.tar , -x:表示解包

 

-----------------------------------------------------------------

打包及压缩合并的命令:tar -zcvf test.tar.gz *.txt

解压缩及解包合并的命令:tar -zxvf test.tar.gz ->得到对应的文件

指定解压缩的路径 tar -zxvf test.tar.gz -C ../BBB, -C:指定解压缩后的路径

 

-----------------------------------------------------------------

tar -jcvf test.bz2 *.txt -> test.bz2

tar -jxvf test.bz2 -> 得到对应的文件

-C: 指定解压缩的路径: tar -jxvf test.bz2 -C ../BBB

 

------------------------------------------------------------------

zip test *.txt -> test.zip ,提示:压缩包的后缀不需要指定默认是.zip

unzip test.zip -> 得到是压缩包里面的文件

unzip -d ./123 test.zip -> 解压到指定路径 , -d:表示解压的路径

 

 

 

chmod:修改权限

----------------------------------------------------------------------

-r(4):可读 -w(2):可写 -x(1):可执行

u:当前用户 g: 同组用户 o: 其它用户 a:所有用户

+:添加权限, -:撤销权限 , = : 赋值权限

chmod 000 1.txt : 全部没有权限

chmod a=- 1.txt chmod a= 1.txt : 全部没有权限

chmod 777 1.txt chmod a=rwx 1.txt : 都权限,可读可读可执行

chmod 664 1.txt chmod u=rw,g=rw,o=r 1.txt 设置不同用户不同权限

 

 

 

<杂>

-------------------------------------------------------------------------

cp选项(补充说明):    -a表示保留文件原有权限,-a包含-r,也就是使用-a也可以拷贝文件夹

which : 查看命令的路径

sudo -s: 切换到管理员账号

passwd:修改密码

who :当前那些用户登陆

whoami:当前电脑登陆的用户是谁

exit:退出

ssh: 远程登陆 44.1 ssh : 可以远程登陆服务端可以通过vim修改文件

 

 

 

scp: 远程拷贝

----------------------------------------------------------------------

scp 1.txt [email protected]:/home/python/Desktop ,把本地文件拷贝到服务器端

scp -r test [email protected]:/home/python/Desktop,把本地文件夹拷贝到服务器端

scp [email protected]:/home/python/Desktop/1.txt . , 把服务端的文件拷贝的本地

scp -r [email protected]:/home/python/Desktop/test . , 把服务端的文件夹拷贝的本地

 

 

 

apt list 支持的安装包

 

 

 

vim的使用

------------------------------------------------------------------------

命令模式, 编辑模式, 末行模式, 命令模式是编辑模式和末行模式的中转站

 

 

 

vim常用命令

----------------------------------------------------------

1.  i: 进入编辑模式

2.  yy: 复制光标所在行 复制多行: 数字+yy

.3.  p: 粘贴, 粘贴多次: 数字+p

4.  dd(删除、剪切), 剪切或者删除多行:数字+dd

5.  V: 选中多行

6.  上下左右: k:上, j:下, l:右 ,h:左 等同于方向键

7.  x: 从前往后删除一个字母

8.  X: 从后往前删除一个字母

9.  u: 撤销

10.  shift + >: 往右缩进

11.  shift + <: 往左缩进

12.  .:重复上一次操作

13.  G: 回到最后一行

14.  gg: 回到第一行 1G

15.  18G: 回到指定行

16.  shift + 4:回到行末

17.  shift + 6:回到行首

18. 搜索: :/1 n:查看下一个搜索到的内容, N:查看上一个搜索到的内容

19. 替换: :%s/1/2/g %: 整个文件, s:替换 g:全局

20. ctr+f: 下一页

21. ctr+b: 上一页

22. :wq, :x: 保存退出

 

 

 

Linux命令(ping, ifconfig)

--------------------------------

查看或配置网卡信息:ifconfig

测试远程主机连通性:ping

 

<小结>

1.ping 127.0.0.1 检查本地网卡是否正常

2.ping www.baidu.com 检查是否能上公网

3.ping 当前局域网的ip地址 检查是否在同一个局域网内

 

 

 

端口

------------------------------------------

端口是传输数据的通道

端口号是标识端口的一个编号

在linux系统中,端口号有65536(2的16次方)个

 

<知名端口号(Well Known Ports)>

知名端口号: 系统程序使用的端口号

知名端口号是众所周知的端口号,范围从0到1023

80端口分配给HTTP服务

21端口分配给FTP服务

 

<动态端口号(Dynamic Ports)>

动态端口号: 程序员开发应用程序使用端口号, 之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。

动态端口的范围是从1024到65535

当这个程序关闭时,同时也就释放了所占用的端口号

 

<怎样查看端口号>

用 netstat -an 查看程序所使用的端口号

lsof -i [tcp/udp]:2425 查看端口号对应的应用程序

提示: 如果端口号找不到应用程序,使用管理员权限加上sudo

 

<总结>

网络通信的流程是先通过ip地址找到网络中的设备,再通过端口号来找到对应的端口,

然后通过端口把数据传输给对应的应用程序

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(python高级_第二阶段)