
Linux 基础操作学习(1):连接与文件操作
Windows 远程连接 Linux 环境
我的 PC 是 Windows 11 操作系统,而我购置的服务器安装的是 Linux 环境(CentOS),如需用 PC 操作服务器,则需要建立 PC 和远程服务器的远程连接。
我这里使用到的工具是 Windows 自带的 Powershell,Win+R 输入 powershell 即可打开。
这里顺便推荐一波 Windows Terminal 作为默认终端程序打开 Powershell,非常美观!而且有很多配置可调。

Powershell 自带支持 ssh 命令。直接输入 ssh {user}@{ip} 即可建立连接。

最后一行 [] 内显示 {用户名}@{主机名} {目录} 时,说明已经进入 Linux 终端。
目录操作
登录系统后输入 ls / 后即可查看/,即根目录下所有目录和文件。
1 | [I have no name!@i-ym8u2kyp ~]$ ls / |
各个目录的功能可参见 Linux 系统目录结构 | 菜鸟教程 (runoob.com)。
Linux 系统的文件路径有 绝对路径 和 相对路径 两种写法:
- 绝对路径 由根目录(
/)写起,如/usr/share/dic - 相对路径 由当前路径写起。在 Linux 文件系统中,
.代表当前目录(也可用./表示),..代表上一层目录(也可用../表示)。如我们的当前目录绝对路径为/usr/share/doc,在当前目录用相对路径方式表示/usr/share/man的方法是../man。
另外需要注意,如果一个目录或文件名以 . 开始,如 .bashrc,说明该目录 / 文件为隐藏目录 / 文件,默认状态下不显示。
处理目录的常见命令
常见命令有:ls、cd、pwd、mkdir、rmdir、cp、rm、mv。可以通过 man [命令] 的方式来查看命令的使用文档。
ls
列出目录及文件名(list files)
常用参数:
-a:连同隐藏文件一起展示所有文件-d:仅列出目录本身,而不是列出目录内的文件数据-l:长数据串列出详情
如:
1 | [I have no name!@i-ym8u2kyp ~]$ ls -l / # 展示详情 |
1 | [I have no name!@i-ym8u2kyp ~]$ ls -dl / # 展示当前目录详情 |
cd
cd [目录]
切换目录(change directory)
如:
1 | [I have no name!@i-ym8u2kyp ~]$ cd /dev # 切换到指定绝对路径 |
pwd
显示当前所在的目录(print working directory)
常用参数
-P:显示确实路径,而非连结路径
mkdir
mkdir [目录名/路径]
创建新目录(make directory)
常用参数
-m:配置文件权限,忽略默认权限配置影响-p:可递归创建多级目录
如:
1 | [I have no name!@i-ym8u2kyp ~]$ cd /tmp |
1 | [I have no name!@i-ym8u2kyp tmp]$ mkdir -m 711 test7 # 创建目录并配置权限 |
关于文件权限,可以查看 Linux 文件基本属性 | 菜鸟教程 (runoob.com)

rmdir
rmdir [目录名/路径]
删除空目录(remove directory)
常用参数
-p:可递归删除多级目录
如:
1 | [I have no name!@i-ym8u2kyp tmp]$ rmdir test5 |
如果要删除非空目录,可参见后续的 rm 命令
cp
cp [源路径] [目标路径]
复制文件或目录(copy)
常用参数:
-i:若目标路径存在,覆盖前先询问动作-p:复制时联通属性复制-r:递归复制目录
1 | [I have no name!@i-ym8u2kyp tmp]$ mkdir test7 |
1 | [root@www ~]# cp ~/.bashrc /tmp/bashrc |
rm
rm [文件/目录路径]
移除文件或目录(remove)
常用参数:
-f:强制执行(force),忽略不存在的文件-i:互动模式(interactive),询问是否执行-r:递归删除,删除目录及子目录
1 | [I have no name!@i-ym8u2kyp tmp]$ rm -ri test7/test8/test9 |
mv
mv [源路径] [目标路径]
移动文件或目录,或修改名称(remove)
常用参数:
-f:强制执行,如果目标文件已存在,不会询问而直接覆盖-i:若目标已存在,询问是否直接覆盖
如:
1 | [I have no name!@i-ym8u2kyp tmp]$ mv test9 test7/test8/test9 |
实战:在目录下创建文件夹、删除文件夹
- 在
/home/datawhale目录下,新建一个以英文昵称为名的文件夹 A - 在文件夹 A 内部创建一个以
datawhale命名的文件夹 B - 在 B 文件夹内创建一个空的 txt 文件
- 删除上一步创建的文件
- 删除文件夹 B,然后删除文件夹 A
1 | [I have no name!@i-ym8u2kyp ~]$ cd /home/datawhale |
文件操作
wget
wget [目标文件URL]
下载文件的命令很多,如 wget、apt-get 等,这里以 wget 为例。我租赁的服务器安装的是 CentOS 系统,未预装 wget,使用该命令可能会提示 command not found。可以使用 yum 先安装 wget:
1 | yum -y install wget |
常用参数:
-O [name]:将下载的文件重命名-c:断点续传(重新启动下载中断的文件)-b:后台下载
如:
1 | [I have no name!@i-ym8u2kyp tmp]$ wget -O douban.png https://img3.doubanio.com/f/frodo/144e6fb7d96701944e7dbb1a9bad51bdb1debe29/ # 下载并重命名 |
cat
cat [文件路径]
从第一行开始显示文件内容(将文件连接到屏幕上,concatenate)
常用参数:
-b:列出非空白行行号-n:列出所有行行号-v:列出一些看不出来的特殊字符-E:将结尾的断行字节显示出来-T:将[tab]以^l展示出来-A:等同于-vET
如:
1 | [I have no name!@i-ym8u2kyp ~]$ cat -b /etc/my.cnf |
tac
从最后一行开始显示(正好是 cat 反过来)
1 | [I have no name!@i-ym8u2kyp ~]$ tac /etc/my.cnf |
head
head [文件路径]
取出文件前几行(默认 10 行)
常用参数:
-n [行数]:指定显示的行数
如:
1 | [I have no name!@i-ym8u2kyp ~]$ head -n 5 /etc/my.cnf |
tail
与 head 相反,取出文件后几行。
实战2:在目录下下载文件、阅读文件
- 在
/home/datawhale目录下,新建一个以英文昵称命名的文件夹 A - 在文件夹 A 内创建一个以
datawhale命名的文件夹 B - 使用
wget命令下载 https://mirror.coggle.club/dataset/affairs.txt,到文件夹 B - 使用
cat、head、tail命令阅读下载的文件 - 在命令行使用
ipython进入 Python3 环境,并使用pandas读取下载的文件
1 | [I have no name!@i-ym8u2kyp ~]$ mkdir -p ./MarioZZJ/datawhale # [1,2] 创建文件夹 |
文件编辑:Vim
nano
nano 是 Linux 的一个基础编辑器,使用 nano [文件路径] 即可使用 nano 打开文件

第一行反色部分指示 nano 版本和文件路径,随后下方显示出文件内容,我们在终端使用键盘上的方向键可以移动光标查看文件内容。在屏幕最底端展示的是快捷键,使用快捷键即可实现上述操作。以 Windows 操作的终端为例:
^后接按键,代表该操作可以用Ctrl + [按键]的方式触发。例如要退出编辑器,可以按Ctrl+X;以及屏幕上提示的其他操作M-后接按键,代表该操作可以用Alt + [按键]的方式触发。例如Alt + M:打开/关闭支持鼠标移动光标Alt + R:查找模式下输入正则表达式
vim
vim 是知名的 Linux 内置文本编辑器,功能较为丰富,在程序员中被广泛使用。详细教程可参考 Linux vi/vim | 菜鸟教程。

vim 分为三种模式,分别是命令模式(command mode)、输入模式(insert mode)和底线命令模式(last line mode)

命令模式
使用命令 vim [文件路径] 即可使用 vim 编辑器打开文件。
默认进入的是命令模式,该模式下敲击键盘会被视作命令而非输入字符。命令模式支持的命令较少,使用更多命令可以按 : 进入底线命令模式。而如需输入则可以按 i 进入输入模式。

一般模式支持很多按键功能,介绍几个常用的:
h、j、k、l:作用与←、↓、↑、→相同,可移动光标。[行数]+h/j/k/l/←/↓/↑/→:组合快速移动任意行/字符数Ctrl + F/B:(forward/backward)相当于Page Up / Page Down。
输入模式
命令模式下,按 i 进入输入模式:

在输入模式下部分按键的功能如下:
- 字符按键,及其与
Shift按键的组合:输入字符 - 回车
[Enter]:换行 - 退格
[Backspace]:删除光标前一个字符 - 删除
[Del]:删除光标后一个字符 Insert:切换光标未输入/替换模式。光标分别为竖线/下划线。Page Up/Down:上下翻页HOME/END:移动光标到行首/行尾ESC:退出输入模式,切换到命令模式
底层命令模式
命令模式下,按 : 进入底层命令模式:

在底线命令模式中,基本的命令有:
q:退出程序w:保存文件q!:强制离开而不保存w [文件名]:将编辑的数据存储为另一个档案r [文件名]:在编辑的数据中,将另一个文件的数据追加到游标后面! [终端指令]:暂时离开 vim,在指令中执行指令,并打印结果set nu/set nonu:显示/取消行号
实战4:在目录下使用 vi 或 vim 编辑文件
-
使用 Nano 和 Vim 分别创建
.py文件,并输入以下内容,并运行1
2#!/usr/bin/env python3
print('Hello World!')
实操:


- 感谢您的赞赏






