Coggle 30 Days of ML(21年11月)Linux基础使用

一.Linux基础使用

任务列表

任务1:使用命令行登录指定的Linux环境

  • 步骤1:配置本地登录环境
    • 如果是window系统,安装任意一款ssh工具,这里我们用Termius破解版下载
    • 如果是Mac或Linux系统,则不需要,可以直接使用ssh
  • 步骤2:使用如下信息登录系统
    • 用户名:xxx,密码:xxx,IP:xxx
    • 如果登录失败,请微信联系coggle小助手

任务2:在目录下创建文件夹、删除文件夹**

任务要点:创建文件夹、创建文件、删除文件、删除文件夹

  • 步骤1:学习Linux的目录结构

  • 步骤2:学习Linux的文件和目录管理

  • 步骤3:

    • 在/home/coggle目录下,新建一个以你英文昵称(中间不要有空格哦)的文件夹A

    • 在文件夹A内部创建一个以coggle命名的文件夹B
  • 步骤4:在B文件夹内创建一个空txt文件
  • 步骤5:删除步骤4创建的文件
  • 步骤6:删除文件夹B,然后删除文件夹A

任务3:在目录下下载文件、阅读文件

任务要点:下载文件、移动文件、阅读文件

任务4:在目录下使用vi或vim编辑文件

任务要点:vi和vim使用

#!/usr/bin/env python3
print('Hello World!')

将代码内容复制进去后保存退出。

任务5:在目录下创建py文件,并进行运行**

任务要点:python的os和sys系统接口,文件接口

命令行输入:python3 test5.py 参数1 参数2

程序输出:
test5.py
参数1
参数2
  • 功能2:使用os模块打印/usr/bin/路径下所有以m开头的文件。

解答:

其中test5.py的代码如下

import os, sys
print('功能1:')
print('程序输出:')
for i in sys.argv:
    print(i)
    

print('\n功能2:')
for name in os.listdir('/usr/bin/'):
    if name[0] == 'm':
        print(name)

任务6:在目录下创建py目录,并进行import导入**

任务要点:python代码模块化

/home/coggle/    
        你英文昵称命名的文件夹/
                test6.py        
                affairs/
                      affairs.py

实现要求:
Python在/home/coggle/你英文昵称命名的文件夹/目录下,可以执行:
python3 test6.py 10
没有bug,并完成第十行内容的输出

解答:

其中affairs.py的内容为:

import pandas as pd
def read_data():
    data = pd.read_csv('https://mirror.coggle.club/dataset/affairs.txt')
    return data

test6.py内容为

from affairs.affairs import read_data
import sys

data = read_data()
line = data.iloc[int(sys.argv[1])-1,:]
print(line)

任务7:在Linux系统中后台运行应用程序,并打印日志

任务要点:程序后台运行,进程管理

  • 步骤1:在/home/coggle目录下在你英文昵称(中间不要有空格哦)的文件夹中创建一个sleep.py文件,该文件需要完成以下功能:

    • 程序一直运行

    • 每10秒输出当前时间

  • 步骤2:学习 & 和 nohup后台执行的方法

  • 步骤3:学习tmux的使用,将步骤1的程序进行后台运行,并将输出结果写入到txt文件

解答:
步骤1:


sleep.py的内容为

import time

while True:
    time.sleep(10)
    print(time.ctime())

步骤3:
创建新的tmux为myx, 打开tmux的会话后输入$ nohup python3 -u sleep.py > sleep.txt 2>&1 &


sleep.txt内的数据,正在一直被写入....



即使关闭了tmux也会持续写入。

任务8:使用grep和awk从文件中筛选字符串

任务要点:字符筛选

  • 步骤1:下载周杰伦歌词文本,并进行解压。

https://mirror.coggle.club/dataset/jaychou_lyrics.txt.zip

  • 步骤2:利用grep命令完成以下操作,并输出到屏幕

https://blog.csdn.net/baidu_41388533/article/details/107610827

https://www.runoob.com/linux/linux-comm-grep.html

  • 统计歌词中 包含【超人】的歌词

  • 统计歌词中 包含【外婆】但不包含【期待】的歌词

  • 统计歌词中 以【我】开头的歌词

  • 统计歌词中 以【我】结尾的歌词

  • 步骤3:利用sed命令完成以下操作,并输出到屏幕

https://www.cnblogs.com/JohnLiang/p/6202962.html

  • 将歌词中 第2行 至 第40行 删除

  • 将歌词中 所有【我】替换成【你】

解答:
步骤2:





步骤3:

任务9:在目录下创建zip和tar压缩文件,并进行解压

任务要点:文件压缩

https://www.cnblogs.com/wxlf/p/8117602.html

  • 步骤1:在/home/coggle目录下在你英文昵称(中间不要有空格哦)的文件夹中,下载https://mirror.coggle.club/dataset/jaychou_lyrics.txt.zip

  • 步骤2:使用zip 压缩/home/coggle目录下在你英文昵称(中间不要有空格哦)的文件夹

  • 步骤3:将 /home/coggle目录下在你英文昵称(中间不要有空格哦)的文件夹,打包为tar格式。

  • 步骤4:将 /home/coggle目录下在你英文昵称(中间不要有空格哦)的文件夹,打包为tar.gz格式。


    步骤2

    步骤3

    步骤4

任务10:使用find和locate定位文件

任务要点:文件搜索

https://www.runoob.com/linux/linux-comm-find.html

https://www.cnblogs.com/linjiqin/p/11678012.html

  • 步骤1:使用find统计文件系统中以py为后缀名的文件个数

  • 步骤2:使用find寻找/home/文件夹下文件内容包含coggle的文件

  • 步骤3:时候用locate寻找到python3.preinst文件


    步骤1

    步骤2

    步骤3
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容