Linux高级基础
文章平均质量分 53
lucky-zhao
这个作者很懒,什么都没留下…
展开
-
网络编程之TCP 客户端程序开发
connect((host, port)) 表示和服务端套接字建立连接, host是服务器ip地址,port是应用程序的端口号。recv(buffersize) 表示接收数据, buffersize是每次接收数据的长度。参数1: 要发送的二进制数据, 注意: 字符串需要使用encode()方法进行编码。参数2: ‘SOCK_STREAM’, 表示TCP传输协议类型。str.encode(编码格式) 表示把字符串编码成为二进制。参数1: ‘AF_INET’, 表示IPv4地址类型。导入 socket 模块。原创 2023-02-23 08:11:36 · 217 阅读 · 0 评论 -
网络编程之TCP服务端程序开发
bind((host, port)) 表示绑定端口号, host 是 ip 地址,port 是端口号,ip 地址一般不指定,表示本机的任何一个ip地址都可以。listen (backlog) 表示设置监听,backlog参数表示最大等待建立连接的个数。参数: 表示每次接收数据的大小,单位是字节,注意: 解码成字符串使用decode()方法。参数: 要发送的二进制数据, 注意: 字符串需要使用encode()方法进行编码。参数: 元组, 比如:(ip地址, 端口号)关闭套接字‘socket’表示通信完成。原创 2023-02-23 08:09:07 · 336 阅读 · 0 评论 -
网络编程之TCP 网络应用程序开发流程
1. TCP 网络应用程序开发流程的介绍。2. TCP 客户端程序开发流程的介绍。3. TCP 服务端程序开发流程的介绍。能够知道TCP客户端程序的开发流程。TCP 网络应用程序开发流程。,专门为客户端提供数据服务。TCP 网络应用程序开发分为。等待接受客户端的连接请求。TCP 客户端程序开发。TCP 服务端程序开发。服务端程序是指运行在。和服务端套接字建立连接。创建服务端端套接字对象。主动发起建立连接请求的。客户端程序是指运行在。创建客户端套接字对象。原创 2023-02-22 08:24:35 · 329 阅读 · 0 评论 -
网络编程之TCP 的介绍
到目前为止我们学习了 ip 地址和端口号还有 tcp 传输协议,为了保证数据的完整性和可靠性我们使用 tcp 传输协议进行数据的传输,为了能够找到对应设备我们需要使用 ip 地址,为了区别某个端口的应用程序接收数据我们需要使用端口号,那么通信数据是如何完成传输的呢?这里要注意,数据不能随便发送,在发送之前还需要选择一个对应的传输协议,保证程序之间按照指定的传输规则进行数据的通信,稳定、可靠的传输协议,常用于对数据进行准确无误的传输,比如: 文件下载,浏览器上网。,所有的家用电器要想工作都是基于插座进行,原创 2023-02-22 08:19:13 · 83 阅读 · 0 评论 -
网络编程之端口和端口号的介绍
这些端口号一般固定分配给一些服务,比如21端口分配给FTP(文件传输协议)服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务。其实,每一个端口都会有一个对应的端口号,好比每个教室的门都有一个门牌号,想要找到端口通过端口号即可。其实,每运行一个网络程序都会有一个端口,想要给对应的程序发送数据,找到对应的端口即可。通过ip地址找到对应的设备,通过端口号找到对应的端口,然后通过端口把数据传输给应用程序。用来区分和管理不同端口的,通过端口号能找到唯一个的一个端口。原创 2023-02-21 08:03:23 · 415 阅读 · 0 评论 -
网络编程之IP 地址的介绍
127.0.0.1表示本机地址,提示:如果和自己的电脑通信就可以使用该地址。都是查看网卡信息的,网卡信息中包括这个设备对应的IP地址。ping 当前局域网的ip地址 检查是否在同一个局域网内。192.168.1.107是设备在网络中的IP地址。IP 地址的表现形式分为: IPv4 和 IPv6。IP 地址的作用是标识网络中唯一的一台设备的。,通过域名能解析出一个对应的ip地址。127.0.0.1该地址对应的域名是。IPv4 是目前使用的ip地址。IPv6 是未来使用的ip地址。标识网络中唯一的一台设备的。原创 2023-02-21 08:01:25 · 254 阅读 · 0 评论 -
linux高级命令之死锁
死锁一旦产生就会造成应用程序的停止响应,应用程序无法再继续往下执行了。现实社会中,男女双方一直等待对方先道歉的这种行为就好比是死锁。使用互斥锁的时候需要注意死锁的问题,要在合适的地方注意释放锁。根据下标在列表中取值, 保证同一时刻只能有一个线程去取值。会造成应用程序的停止响应,不能再处理其它任务了。死锁: 一直等待对方释放锁的情景就是死锁。能够知道产生死锁的原因。原创 2023-02-20 08:16:17 · 936 阅读 · 1 评论 -
linux高级命令之互斥锁
如果在调用acquire方法的时候 其他线程已经使用了这个互斥锁,那么此时acquire方法会堵塞,直到这个互斥锁释放后才能再次上锁。,抢到锁的线程先执行,没有抢到锁的线程需要等待,等互斥锁使用完释放后,其它等待的线程再去抢这个锁。互斥锁的作用就是保证同一时刻只能有一个线程去操作共享数据,保证共享数据不会出现错误问题。使用互斥锁的好处确保某段关键代码只能由一个线程从头到尾完整地去执行。互斥锁: 对共享数据进行锁定,保证同一时刻只能有一个线程去操作。使用互斥锁会影响代码的执行效率,多任务改成了单任务执行。原创 2023-02-20 08:14:50 · 324 阅读 · 0 评论 -
linux高级命令之线程的注意点
此时系统把first_thread调度为”sleeping”状态,把second_thread转换为”running”状态,t2也获得g_num=0。线程t1又把它之前得到的0加1后赋值给g_num。进程之间执行也是无序的,它是由操作系统调度决定的,操作系统调度哪个进程,哪个进程就先执行,没有调度的进程不能执行。线程之间执行是无序的,它是由cpu调度决定的 ,cpu调度哪个线程,哪个线程就先执行,没有调度的线程不能执行。主线程默认会等待所有子线程执行结束再结束,设置守护主线程的目的是主线程退出子线程销毁。原创 2023-02-19 10:57:11 · 409 阅读 · 0 评论 -
linux高级命令之线程执行带有参数的任务
前面我们使用线程执行的任务是没有参数的,假如我们使用线程执行的任务带有参数,如何给函数传参呢?:字典方式传参字典中的key一定要和参数名保持一致。:元组方式传参一定要和参数的顺序保持一致。kwargs 表示以字典方式给执行任务传参。args 表示以元组的方式给执行任务传参。1. 线程执行带有参数的任务的介绍。能够写出线程执行带有参数的任务。3. kwargs参数的使用。字典方式传参(kwargs)2. args参数的使用。元组方式传参(args)线程执行带有参数的任务。原创 2023-02-19 10:53:37 · 458 阅读 · 0 评论 -
linux高级命令之线程
线程是进程中执行代码的一个分支,每个执行分支(线程)要想工作执行代码需要cpu进行调度 ,也就是说线程是cpu调度的基本单位,每个进程至少都有一个线程,而这个线程就是我们通常说的主线程。在Python中,想要实现多任务除了使用进程,还可以使用线程来完成,线程是实现多任务的另外一种方式。线程是Python程序中实现多任务的另外一种方式,线程的执行需要cpu调度来完成。group: 线程组,目前只能使用None。args: 以元组的方式给执行任务传参。4. 多线程完成多任务的代码。创建子线程并指定执行的任务。原创 2023-02-18 15:16:55 · 569 阅读 · 0 评论 -
linux高级命令之进程的注意点
创建子进程会对主进程资源进行拷贝,也就是说子进程是主进程的一个副本,好比是一对双胞胎,之所以进程之间不共享全局变量,是因为操作的不是同一个进程里面的全局变量,只不过不同进程里面的全局变量名字相同而已。为了保证子进程能够正常的运行,主进程会等所有的子进程执行完成以后再销毁,设置守护主进程的目的是。5. 主进程会等待所有的子进程执行结束再结束的小结。主进程退出子进程销毁,不让主进程再等待子进程去执行。守护主进程就是主进程退出子进程销毁不再执行。主进程会等待所有的子进程执行结束再结束。进程之间不共享全局变量。原创 2023-02-18 15:13:26 · 557 阅读 · 0 评论 -
linux高级命令之进程执行带有参数的任务
前面我们使用进程执行的任务是没有参数的,假如我们使用进程执行的任务带有参数,如何给函数传参呢?: 字典方式传参字典中的key一定要和参数名保持一致。: 元组方式传参一定要和参数的顺序保持一致。kwargs 表示以字典方式给执行任务传参。args 表示以元组的方式给执行任务传参。1. 进程执行带有参数的任务的介绍。能够写出进程执行带有参数的任务。3. kwargs参数的使用。字典方式传参(kwargs)2. args参数的使用。元组方式传参(args)进程执行带有参数的任务。原创 2023-02-17 07:55:14 · 802 阅读 · 0 评论 -
linux高级命令之获取进程编号
获取进程编号的目的是验证主进程和子进程的关系,可以得知子进程是由那个主进程创建出来的。获取进程编号可以查看父子进程的关系。能够知道如果获取进程编号。1. 获取进程编号的目的。3. 获取当前父进程编号。表示获取当前父进程编号。获取进程编号的两种操作。2. 获取当前进程编号。表示获取当前进程编号。原创 2023-02-17 07:53:43 · 985 阅读 · 0 评论 -
linux高级命令之多进程的使用
获取进程编号的目的是验证主进程和子进程的关系,可以得知子进程是由那个主进程创建出来的。name:当前进程的别名,默认为Process-N,N为从1开始递增的整数。terminate():不管任务是否完成,立即终止子进程。start():启动子进程实例(创建子进程)获取进程编号可以查看父子进程的关系。2. Process进程类的说明。join():等待子进程执行结束。target:执行的目标任务名。3. 多进程完成多任务的代码。创建子进程并指定执行的任务。1. 获取进程编号的目的。3. 获取当前父进程编号。原创 2023-02-16 07:57:01 · 355 阅读 · 0 评论 -
linux高级命令之多任务的介绍
假如:软件1执行0.01秒,切换到软件2,软件2执行0.01秒,再切换到软件3,执行0.01秒……表面上看,每个软件都是交替执行的,但是,由于CPU的执行速度实在是太快了,我们感觉就像这些软件都在同时执行一样,这里需要注意单核cpu是并发的执行多任务的。比如:现实生活中的公司可以理解成是一个进程,公司提供办公资源(电脑、办公桌椅等),真正干活的是员工,员工可以理解成线程。多进程可以完成多任务,每个进程就好比一家独立的公司,每个公司都各自在运营,每个进程也各自在运行,执行各自的任务。原创 2023-02-16 07:53:15 · 242 阅读 · 0 评论 -
linux高级命令之软件安装
因为使用 apt-get 命令默认是从国外的服务器下载安装软件的,会导致下载安装速度很慢,所以需要更改成国内的镜像源服务器。是在线安装deb软件包的命令,主要用于在线从互联网的软件仓库中。命令也就是在线安装需要更改镜像源,提高下载和安装速度。这个命令,更新镜像源保证可以下载最新的软件。使用apt-get方式安装软件一定要联网。能够使用apt-get命令安装软件。在线安装(apt-get方式安装)离线安装(deb文件格式安装)命令进行软件的安装和卸载。3. apt-get方式安装。2. deb文件格式安装。原创 2023-02-15 07:57:03 · 323 阅读 · 0 评论 -
linux高级命令之编辑器 vim
vim 是一款功能强大的文本编辑器,也是早年 Vi 编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。vim 是一款功能强大的命令文本编辑器,可以对远程服务器的代码直接进行修改,这样操作起来更加快速和方便。:开始行数,结束行数s/要替换的内容/替换后的内容。在线安装包的卸载(apt-get 方式卸载)离线安装包的卸载(deb 文件格式卸载):%s/要替换的内容/替换后的内容/g。能够使用apt-get命令卸载软件。3. apt-get 方式卸载。3. vim 的末行模式命令。原创 2023-02-15 07:50:32 · 352 阅读 · 0 评论 -
linux高级命令之用户组相关操作
sudo useradd -m -g 用户组 用户名。sudo usermod -g 用户组 用户名。如果用户组下面有用户先删除用户在删除用户组。sudo groupadd 用户组名。sudo groupdel 用户组名。2. 创建用户并指定用户组。能够知道创建用户组的命令。原创 2023-02-14 08:08:15 · 229 阅读 · 0 评论 -
linux高级命令之用户相关操作
第七个:用户所用 shell 的类型,一般由bash或者sh,默认不设置是sh类型。给laowang用户设置一个sudo附加组, 需要使用usermod修改用户信息。第二个:用户组密码占位符,一般Linux系统的用户组都没有密码的。指定用户所属的用户组,默认不指定会自动创建一个同名的用户组。创建用户如果不指定用户组,默认会自动创建一个同名的用户组。删除用户主目录,必须要设置,否则用户主目录不会删除。删除用户,默认同名的用户组也会被删除。第三个: 组 表示用户所在的用户组。查看用户组是否创建成功,可以查看。原创 2023-02-14 08:05:59 · 327 阅读 · 0 评论 -
linux高级命令之获取管理员权限的相关命令
如果只是某次操作需要使用管理员权限建议使用 sudo , 也就是说临时使用管理器权限。sudo -s 是切换到管理员用户,一直使用管理员权限,需要谨慎操作。如果大量操作都需要使用管理员权限 sudo –s, 但是操作需谨慎。某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo。如果是切换后的登陆用户,退出则返回上一个登陆账号。修改用户密码,不指定用户默认修改当前登录用户密码。能够知道切换到管理员用户的命令。5. passwd命令的使用。获取管理员权限的相关命令。1. sudo命令的使用。原创 2023-02-13 08:00:45 · 1965 阅读 · 0 评论 -
Linux高级命令之文件权限命令
字母法格式: chmod 不同角色设置的权限 文件。数字法格式: chmod 不同角色的权限值 文件名。能够使用chmod命令完成文件权限的修改。数字法就是“rwx” 这些权限也可以用。2. chmod 字母法的使用。user, 表示该文件的所有者。3. chmod 数字法的使用。命令可以控制文件的操作权限。1. chmod命令的介绍。other, 表示其他用户。group, 表示用户组。all, 表示所有用户。无任何权限,权限值是0。原创 2023-02-13 07:55:57 · 380 阅读 · 0 评论 -
Linux高级命令之压缩和解压缩命令
使用zip命令压缩的文件占用空间比较多, 当时比较通用,操作更加简单。.zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩。.zip的压缩文件使用zip和unzip命令来完成压缩和解压缩。.gz和.bz2的压缩文件使用tar命令来完成压缩和解压缩。.gz和.bz2的压缩包需要使用tar命令来压缩和解压缩。能够使用tar命令完成文件的压缩和解压缩。3. zip和unzip命令及选项的使用。2. tar命令及选项的使用。显示打包或者解包的详细信息。压缩或解压缩(.bz2)压缩或解压缩(.gz)原创 2023-02-12 09:08:15 · 435 阅读 · 0 评论 -
Linux高级命令之查找文件命令
查找文件的命令格式: find 指定查找目录 -name "文件名"是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。2. find命令结合通配符的使用。在指定目录下查找文件(包括目录)find命令是完成查找文件操作的。1. find命令及选项的使用。根据文件名(包括目录名)字查找。命令使用通配符需要加上引号。能够说出查找文件使用的命令。等,这里需要注意只有。代表0个或多个任意字符。原创 2023-02-12 09:03:31 · 549 阅读 · 0 评论 -
Linux之文本搜索命令
文本搜索的命令格式: grep 选项 文本搜索内容。3. grep命令结合正则表达式的使用。grep 命令是完成文本搜索操作的。2. grep命令选项的使用。能够知道文本搜索使用的命令。显示不包含匹配文本的所有行。1. grep命令的使用。匹配一个非换行符的字符。原创 2023-02-11 17:37:48 · 866 阅读 · 0 评论 -
LINUX之链接命令
软链接的作用是方便文件的快速访问,比如:给一个复杂路径下的文件创建一个软链接,以后就可以通过软链接完成快速访问操作。,当一个源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软链接。创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删。删除源文件,软链接失效,但是硬链接依然可以使用。创建硬链接命令格式: ln 源文件路径 硬链接。删除源文件,硬链接还可以访问到数据。创建软链接,硬链接数不会加1。可以给目录创建软链接。原创 2023-02-11 17:15:22 · 1136 阅读 · 0 评论