系统环境:mac登陆远程虚拟linux环境
远程登录
终端输入地址、密码
ssh datawhale@139.198.15.157
文件与目录管理
目录结构
ls /
- 结果
- 说明
文件夹 | 存储内容 |
---|
bin | 最常使用命令 | boot | 核心文件(链接文件+镜像) | dev | 外部设备 | etc | 系统管理所需配置文件和子目录 | home | 用户主目录 | dev | 外部设备 | lib | 动态链接共享库 | boot | 核心文件(链接文件+镜像) | media | U盘、光驱等设备 | mnt | 临时挂载文件 | opt | 额外软件目录 | boot | 核心文件(链接文件+镜像) | proc | 虚拟文件系统 | root | 管理员主目录 | sbin | 管理员管理程序 | selinux | 防火墙 | srv | 服务启动后需提取数据 | sys | 文件系统(proc+devfs+devpts) | tmp | 临时文件存放 | usr | 用户程序及文件 | var | 经常被更新的文件(日志等) | run | 临时文件,重启后会被删除 | lost+found | 异常关机后存放文件 |
常用命令
基本命令 | 全拼 | 用途 | 示例 | 描述 |
---|
ls | list files | 列出目录及文件名 | ls -a | 查看所有文件(包括.开头隐藏文件) | ls -d | 仅显示目录本身 | ls -l | 显示详情,包括属性、权限、修改日期等 | cd | change directory | 切换目录 | cd ~ | 回到根目录 | cd .. | 返回上级目录 | pwd | print work directory | 显示当前目录 | pwd | 显示当前目录 | pwd -P | 显示完整非链接路径 | mkdir | make directory | 创建目录 | mkdir t1 | 创建t1文件夹 | mkdir -m 711 t1 | 创建t1文件夹,并配置属性,711为属性代码 | mkdir -p t1/t2/t3 | 逐层创建t1、t2、t3文件夹 | rmdir | remove directory | 删除空目录 | rmdir t1 | 删除空文件夹t1,非空会报错 | rmdir -p t1/t2/t3 | 逐层删除空文件夹t1、t2、t3 | rm | remove | 删除文件或目录 | rm -f t1 | 强制删除文件t1,没有报错或询问 | rm -i t1 | 互动删除文件(夹),询问是否确定删除 | rm -r t1 | 递归删除文件夹t1下所有文件 | cp | copy | 复制文件或目录 | cp -a source destination | 复制所有文件、属性、链接等 | cp -d source destination | 快捷方式 | cp -f source destination | 强制覆盖 | cp -i source destination | 会提示相同文件已存在是否覆盖 | cp -l source destination | 只生成链接 | cp -p source destination | 复制文件及其属性 | cp -r source destination | 复制整个文件夹 | cp -u source destination | 用于文件更新 | mv | move file | 移动文件或目录,重命名 | mv -f source destination | 强制移动,没有报错或询问 | rm -i source destination | 互动移动,询问已存在 | rm -u source destination | 更新 | ln | link | 建立文件之间的连接关系 | ln f1 f2 | 建立文件f2,与f1硬连接(同节点号,但文件实体不同) | ln -s f1 f2 | 建立文件f2,与f1软连接(同一文件但节点号不同) | wget | website get | 指定网站下载文件 | wget url | 下载文件(最后一个/后为完整文件名) | wget --spider url | 测试文件是否存在、可下载 | wget -c url | 断点续传 | wget -b url | 后台下载,可用“tail -f wget-log”命令查看进度 | wget -O test.txt url | 将文件存为test.txt |
注:wget详细参数参考此链接。
基本命令 | 用途 | 示例 | 描述 |
---|
man | 查看命令帮助手册 | man ls | 查看ls命令帮助手册 | cat | 从第一行开始显示文件内容 | cat t1 | 查看t1文件内容 | tac | 从最后一行开始显示文件内容 | tac t1 | 从最后一行开始查看t1文件内容 | nl | 显示行号 | nl t1 | 查看t1文件,带行号 | head | 显示前n行 | head -n 5 t1 | 查看t1文件前5行 | tail | 显示后n行 | tail -n 5 t1 | 查看t1文件后5行 | more | 一页一页向后查看文件 | more t1 | 查看t1文件 | less | 向前/向后查看文件 | less t1 | 查看t1文件 |
注: more后续操作如下:
- 空格:向后一页
- 回车:向后一行
- /字符串:向后查找字符串
- :f:显示文档名及总行数
- q:退出
- b:往回翻页
less后续操作如下:
- 空格:向后一页
- [pagedown]:向下翻动一页
- [pageup] :向上翻动一页
- /字符串:向后查找字符串
- ?字符串:向前查找字符串
- n:重复前一个搜索
- N:反向重复前一个搜索
- q:退出
Tasks
创建文件夹、删除文件夹
- 任务
- 在指定目录下,新建一个文件夹A,在文件夹A内部创建一个以文件夹B
- 在B文件夹内创建一个空txt文件
- 删除txt文件
- 删除文件夹B,然后删除文件夹A
- 代码
[没有名字!@i-ym8u2kyp ~]$ cd /home/datawhale
[没有名字!@i-ym8u2kyp ~]$ mkdir ling
[没有名字!@i-ym8u2kyp ~]$ ls
anaconda3 geyashi John Lucs Recal Yuh zzx
Ben home joychou Lxt richard yui
czy jane ling Maxwell ss zhaiyichen
datawhale jense liuy naruto Tianjia zzw
[没有名字!@i-ym8u2kyp ~]$ mkdir ling/datawhale
[没有名字!@i-ym8u2kyp ~]$ ls ling
datawhale
[没有名字!@i-ym8u2kyp ~]$ cd ling/datawhale
[没有名字!@i-ym8u2kyp datawhale]$ touch test.txt
[没有名字!@i-ym8u2kyp datawhale]$ ls
test.txt
[没有名字!@i-ym8u2kyp datawhale]$ rm test.txt
[没有名字!@i-ym8u2kyp datawhale]$ cd ..
[没有名字!@i-ym8u2kyp ling]$ rmdir datawhale
[没有名字!@i-ym8u2kyp ling]$ cd ..
[没有名字!@i-ym8u2kyp ~]$ rmdir ling
[没有名字!@i-ym8u2kyp ~]$ ls
anaconda3 datawhale jane joychou Lxt Recal Tianjia zhaiyichen
Ben geyashi jense liuy Maxwell richard Yuh zzw
czy home John Lucs naruto ss yui zzx
下载文件、阅读文件
- 任务
- 指定目录下,新建一个文件夹A,在文件夹A内部创建一个文件夹B
- 使用wget命令下载https://mirror.coggle.club/dataset/affairs.txt,到文件夹B
- 使用head、cat、tail命令阅读下载的文件
- 在命令行使用ipython进入python3环境,并使用pandas读取下载的文件
- 代码
[没有名字!@i-ym8u2kyp ~]$ mkdir -p ling/datawhale
[没有名字!@i-ym8u2kyp ~]$ cd ling/datawhale
[没有名字!@i-ym8u2kyp ~]$ wget --spider https://mirror.coggle.club/dataset/affairs.txt
开启 Spider 模式。检查是否存在远程文件。
--2021-12-13 22:13:31-- https://mirror.coggle.club/dataset/affairs.txt
正在解析主机 mirror.coggle.club (mirror.coggle.club)... 139.215.234.228, 2408:872b:f01:1002:3::3fc
正在连接 mirror.coggle.club (mirror.coggle.club)|139.215.234.228|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:92161 (90K) [text/plain]
存在远程文件。
[没有名字!@i-ym8u2kyp datawhale]$ wget https://mirror.coggle.club/dataset/affairs.txt
--2021-12-13 22:14:40-- https://mirror.coggle.club/dataset/affairs.txt
正在解析主机 mirror.coggle.club (mirror.coggle.club)... 139.215.234.228, 2408:872b:f01:1002:3::3fc
正在连接 mirror.coggle.club (mirror.coggle.club)|139.215.234.228|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:92161 (90K) [text/plain]
正在保存至: “affairs.txt”
100%[======================================>] 92,161 --.-K/s 用时 0.06s
2021-12-13 22:14:41 (1.55 MB/s) - 已保存 “affairs.txt” [92161/92161])
[没有名字!@i-ym8u2kyp datawhale]$ head -n 10 affairs.txt
[没有名字!@i-ym8u2kyp datawhale]$ tail -n 10 affairs.txt
[没有名字!@i-ym8u2kyp datawhale]$ cat affairs.txt
[没有名字!@i-ym8u2kyp datawhale]$ more affairs.txt
在目录下使用vi或vim编辑文件
- 任务
- 分别使用Nano和Vim创建py文件,并输入并运行
print('Hello World!')
- Nano代码
- 建立nanotest.py文件
- 输入内容
- 按界面提示保存退出
[没有名字!@i-ym8u2kyp ling]$ nano nanotest.py
[没有名字!@i-ym8u2kyp ling]$ cat nanotest.py
#!/usr/bin/env python3
print('Hello World!')
[没有名字!@i-ym8u2kyp ling]$ python3 nanotest.py
Hello World!
- Vim代码
- 建立vimtest.py文件
- 按下i进入输入模式
- 输入内容
- esc退出输入模式
- :wq保存
[没有名字!@i-ym8u2kyp ~]$ cd ling
[没有名字!@i-ym8u2kyp ling]$ vim vimtest.py
[没有名字!@i-ym8u2kyp ling]$ cat vimtest.py
#!/usr/bin/env python3
print('Hello World!')
[没有名字!@i-ym8u2kyp ling]$ python3 vimtest.py
Hello World!
参考
Datawhale Linux组队学习
|