本文共 4487 字,大约阅读时间需要 14 分钟。
重定向命令 > >>
远程拷贝
查看内核版本 uname -r
查看ubantu版本 sudo lsb_release -a
cat命令结合重定向命令可以实现文件拼接
cat 文件1 文件2 >> 新的文件
Tail 命令, 查看日志,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w0501uai-1578971159317)(C:\Users\sang\AppData\Roaming\Typora\typora-user-images\image-20200110090847445.png)]
less 对文件或者其它输出进行分页显示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oLxP8ZXK-1578971159319)(C:\Users\sang\AppData\Roaming\Typora\typora-user-images\image-20200110091030121.png)]
链接:
软链接相当于给文件或者目录创建一个快捷方式;最好使用绝对路径进行创建;删除源文件链接失效;
硬链接相当于给文件进行一个备份;创建一个硬链接,硬链接计数+1;与路径无关;硬链接文件不占用空间
不能对目录创建硬链接;软链接可以对目录创建;
文本搜索,查找文件内容命令
grep :搜索/查找文件内容 -v:显示不包含匹配文本的所有行,取反
-n: 显示行号
-i: 忽略大小写
grep结合正则表达式使用:
grep -E “字符1|字符2” 文件: 多条件查询
ps: 显示进程的动态:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f8aTlYZb-1578971159319)(C:\Users\sang\AppData\Roaming\Typora\typora-user-images\image-20200110100311729.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HX98EZA5-1578971159320)(C:\Users\sang\AppData\Roaming\Typora\typora-user-images\image-20200110100559357.png)]
使用history可以在终端查看执行过的命令,使用 !+命令编号 可以执行历史命令中的命令
./(文件名) 执行可执行文件
写python文件,使用该方式执行命令之前,需要在文件首行写如下语句:```python# 后面写解释器的路径,可使用which查看#! /home/python/....```
压缩解压缩
文件类型:
普通文件:【-】
链接文件:【l】==>类似windows下面的快捷方式
目录文件:【d】
套接字文件:【s】==>网络数据连接,可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来 进行通信
字符型设备:【c】==>串行端口的接口设备,如键盘鼠标等
管道文件:【p】
块设备:【b】==>存储数据以供系统存取的接口设备,简单而言就是硬盘
后面四种属于伪文件。
构建 进程池
from multiprocessing import Pool
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Lysy81g-1578971159321)(C:\Users\sang\AppData\Roaming\Typora\typora-user-images\image-20200112105757604.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sCyl9Hky-1578971159322)(C:\Users\sang\AppData\Roaming\Typora\typora-user-images\image-20200112111549542.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VKvlDwqm-1578971159323)(C:\Users\sang\AppData\Roaming\Typora\typora-user-images\image-20200112144020851.png)]
进程之间的数据共享
mport multiprocessingmy_list = []# 写入数据def write_data(): for i in range(3): my_list.append(i) print("add",i) print(my_list)def read_data(): print(my_list)if __name__ == '__main__': # 创建写入数据进程 # 创建进程池 pool = multiprocessing.Pool(processes=3) # pool.apply(write_data) pool.apply(read_data) # write_data_process = multiprocessing.Process(target=write_data) # read_data_process = multiprocessing.Process(target=read_data) # write_data_process.start() # read_data_process.start()
队列的使用方法(扩展内容,不必掌握)
# 导入Queue对象from multiprocesssing import Queueif __name__ == '__main__' # 对想实例化 queue = Queue(5) # 数据添加到队列中 queue.put(1) # 如果队列满了,会处于一个阻塞状态 # full方法会检测队列是否满了,如果满了,返回True,否则返回False print(queue.full()) # 队列中的数据取值,先进先出 queue.get()
进程之间共享数据(扩展内容,不必掌握)
from multiprocessing import Queue,Processdef write_demo(q): for i in range(20): q.put(i) print("写入队列的数据为:",i)def read_demo(q): for i in range(20): q.get() print("读取的数据为:",i)if __name__ == '__main__':# 对想实例化 queue = Queue(20) sub1_process = Process(target = write_demo,args = (queue,)) sub2_process = Process(target = read_demo,args = (queue,)) sub1_process.start() sub2_process.start()
进程守护
默认情况下,主进程执行完成之后会等待子进程执行完毕之后再结束,有些情况,主进程结束优先级应该高于子进程,这种情况下,需要设置进程守护,
僵尸进程:(了解)
父进程运行,子进程结束,操作系统不会立即将其清楚,为的是子进程的父进程能访问这个子进程的信息,此时子进程的状态就是“僵尸进程”
孤儿进程:(了解)
父进程死亡,子进程仍在执行,这时操作系统会接管这些子进程,这就是孤儿进程
导入线程模块,threading
import threading
创建线程对象
thread = threading.Thread(target = 函数名)
启动线程对象
thread.start()
23,分配给一些固定服务
*转载地址:http://uvnws.baihongyu.com/