Linux操作系统使用入门

| |

Linux系统真好用啊!
除了Ubuntu之外,Linux的发行版还有Debian、CentOS等等,它们各有各的特点和长处。

安装虚拟机或双系统

虚拟机

虚拟机就是电脑上模拟一个电脑。

虚拟机的使用:

虚拟机VMware Workstation Pro v16.0.0使用教程 - 苏木川的文章 - 知乎

安装Ubuntu

Ubuntu官网

使用虚拟机安装ubuntu系统

CSDN【VMware虚拟机安装Ubuntu(超详细图文教程)】
安装语言最好先设置为英语en(us),后期如有必要再改回中文cn(zh),以避免潜在的问题。
此处在设置磁盘大小时,应该设置大一些,50GB以上

使用双系统

新手不建议使用双系统,容易出问题……

警告:前方巨坑!可能存在问题
B站机器人工匠阿杰【Windows 和 Ubuntu 双系统的安装和卸载】
不建议按此教程设置磁盘分区
安装语言最好先设置为英语en(us),后期再改回中文cn(zh),以避免潜在的问题。

虚拟机的网络设置问题

由于一些原因,国内访问互联网时有一堵墙,这堵墙严重阻碍了我们获取科技资料的途径,我们不得不应对它。希望这堵不该存在的墙早日消失。原本网上有一些博客介绍了如何在虚拟机中使用VPN,可惜前些天全部被404了,内网上一点痕迹都没有,只有我自己的电子笔记本里留下了一个失效链接。

虚拟机可以有三种网络连接形式:桥接模式(指虚拟机有单独的ip地址可以访问外部网络),NAT模式(指虚拟机使用主机的ip地址,可以访问外部网络),仅主机模式(指虚拟机只能与主机连接,不可访问外部网络)。下面我们主要关注如何访问github.com

设置网络连接形式为桥接模式主机使用代理,例如使用ClashForWindows,找到ip地址及端口号,将ip地址及端口号在虚拟机的 网络设置-网络代理 中设置为相同,即可。

双系统下的网络问题

由于历史和现实的原因,机器人和计算机科学领域有大量高价值资料仅在外网可以获取到。 安装双系统时,需要在ubuntu下实现外网访问。 参考方法:
方法一:浏览器插件
AdGuard VPN,这款插件注册登录后每月有少量的免费流量,足够访问github使用了。

vpnvpn
方法二:ClashForWindows
clash for windows可以直接在Linux下使用。
CFW原始安装包位置:
ClashForWindows Releases原网址已经404了!!!
不过还好,我这边有存档,我已上传至本网站,点击这里下载clash.7z

对于 Ubuntu, 一般使用 clash-linux-amd64 版本,点击此处下载clash-linux-amd64-v1.18.0.gz

也有clash for windows的Linux版本,点击此处下载即可Clash.for.Windows-0.20.7-x64-linux.tar.gz

Linux/Ubuntu系统使用入门

参阅

鱼香ROS【Linux与Ubuntu系统介绍】
B站机器人工匠阿杰【从没接触过Ubuntu,如何上手ROS开发】-ubuntu使用入门
菜鸟教程【Linux 常用命令学习】
40个最常用的Linux命令行大全 - Haiyuan Kwong的文章 - 知乎
Linux 之 Vim 命令使用(详细总结) - hepingfly的文章 - 知乎
精通 VIM ,此文就够了 - zempty的文章 - 知乎

常用指令

shell

# 常用指令
sudo apt update # 更新软件包列表
sudo apt upgrade # 将软件包升级到最新版本
#其中,sudo的含义是授予临时的管理员权限,相当于windows中的“以管理员权限运行”


# 复制文件,从01复制到02
cp /home/ubuntu/test01/t.txt /home/ubuntu/test02/
# 复制文件夹
cp -r /home/ubuntu/test01 /home/ubuntu/test02
# 删除文件夹
rm -rf public/


# 查看当前目录总共占的容量,而不单独列出各子项占用的容量
du -sh
# 单独列出各子项占用的容量
du -sh ./*

语言和输入法的调整

很遗憾,搜狗输入法暂时并不支持ubuntu22.04
建议使用iBus框架下智能拼音输入法,详情请参考下面的链接,请注意ubuntu22.04目前还无法安装搜狗输入法。参照下面的方法设置中文输入法:
在Ubuntu20.04中安装中文输入法 - dandelion的文章 - 知乎

安装和配置git

安装和配置git

shell

sudo apt update
sudo apt upgrade # 将软件包升级到最新版本
# 安装git
sudo apt install git
# 查看git版本,检查安装结果
git --version
# git配置
git config --global user.name "Your Name"
git config --global user.email "youremail@yourdomain.com"
# 验证git配置结果
git config --list

# 配置SSH
ssh-keygen -t rsa -C "这里换上你的邮箱"
# 回车3-4次
# 命令执行结束之后,home目录下面会生成.ssh目录

配置SSH时,执行命令后需要进行3次或4次确认:

shell

ssh -T git@github.com #测试是否配置成功
shell

# 使用Git,请参照其他教程
git add xxx
git commit -m "xxxxxx"
git push origin master

参考:
Git官方文档
ubuntu git 环境搭建以及通过 SSH 连接 Github - 上海老金的文章 - 知乎

Linux下载文件

shell

# 下载文件或网页
wget URL

# 下载多个文件,你必须将它们的 URL 保存在一个文本文件中,并将该文件作为输入
wget -i download_files.txt

# 下载文件后重命名,这在下载同名文件时很有用
wget -O filename URL

# 下载文件夹,-r
wget -r ftp://server-address.com/directory

# 镜像整个网站,使用参数 -m
# 其他参数 –convert-links,链接将被转换,使内部链接指向下载的资源,而不是网站。
# 其他参数 –page-requisites:下载额外的东西,如样式表
wget -m --convert-links --page-requisites website_address

# CTRL-C 键中止下载
# -c 恢复此前的下载
wget -c

VIM的使用

基本介绍

什么是vim?我刚开始接触到vim界面的时候不知道那是个vim,直接傻眼了,啥也操作不了,还以为是电脑死机了……

VI是visual interface的缩写,即可视化接口。vim 即 vi IMproved。

vim就是一种文本编辑器,跟word、txt不同的是,它主要用在命令行中,没有花哨的界面。

如果你现在啥也不知道,就是误打误撞在ubuntu系统中进入了一个文本编辑界面,界面末尾有很多~符号,那么可以这样退出:

plaintext

# 先按一下esc键
# 然后按 :,英文的冒号
# 再按一下 q,回车,即可
# 如果报错,报错信息是要加感叹号,那么就按 q! 回车,即可

# 即
#退出(不保存)
:q
# 强制退出(不保存)
:q!
# 保存并退出
:wq
# 强制保存并退出
:wq!

使用指南

好了,下面来具体谈一谈vim的使用。这东西起初会不适应,但是熟练之后可以实现“指尖飞舞”,代码敲得飞快。

vim有四种模式,normal, insert, visual,command,即:普通模式、编辑模式、选取模式(直译是:视觉模式)、命令模式。默认是Normal模式,在任意模式下按 esc 都会返回到normal模式。

刚刚的 :wq 就是命令:保存并退出。

不想多写了,移步百度/必应/google吧

下面可以参考

plaintext

i,a,o,I,A,O,s,S,进入insert模式,文本编辑
v 进入viusal模式,可以选中文本
: 冒号命令,进入命令模式

进入insert,编辑模式

i:  在当前光标的前面插入字符

a:  在当前光标的后面追加字符

o:  在当前光标的下一行行首插入字符

I:  在一行的开头添加文本

A:  在一行的结尾处添加文本

O:  在光标当前行的上一行插入文本

s:  删除当前光标处的字符并进入到插入模式

S:  删除光标所在处的行,并进入到插入模式

u:  撤销修改

替换模式:如果我们想修改某个字符,不需要先进入插入模式,删除,然后再输入新的字符,直接在普通模式下,敲击R键就可以直接替换

光标的移动和跳转

看键盘的位置

h:  向左移动

l:  向右移动

j:  向下移动

k:  向上移动

^   移动到行头

$   移动到行尾

gg  游标移动到第一行

G   游标移动到最后一行

nG  游标移动到第n行

f<字母>   向后搜索<字母>并跳转到第一个匹配的位置

F<字母>   向前搜索<字母>并跳转到第一个匹配的位置

t<字母>   向后搜索<字母>并跳转到第一个匹配位置之前的字母

T<字母>   向前搜索<字母>并跳转到第一个匹配位置之后的字母

w   移动到下一个单词的开头

b   移动到上一个单词的开头

ge  移动到前一个单词的结尾

n    那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20 则光标会向后面移动 20 个字符距离。

半屏滚动:  ctrl+u/ctrl+d

全屏滚动:  ctrl+f/ctrl+b

定位光标的位置

zz:  将光标置于屏幕的中间

zt:  将光标移动到屏幕的顶部

zb:  将光标移动到屏幕的底部

复制粘贴删除剪切等

删除时自带剪切效果。

yy  复制游标所在的整行

3yy 向下复制3行,以此类推

y^  复制至行首,不含光标所在处字符

yw  复制一个单词

y2w 复制两个单词

yG  复制至文本末

y1G 复制至文本开头

y0  复制光标所在的那个字符到该行行首的所有数据

y$  复制光标所在的那个字符到该行行尾的所有数据

p   粘贴至光标后

P   粘贴至光标前

ddp 剪切并粘贴

复制文本块

1.首先进入visual模式:v

2.移动光标选择文本

3.复制与粘贴的操作

字符删除

x:  删除当前光标所在处的字符

Delete 同上

X:  删除当前光标左边的字符(前一个字符)

dd 删除整行,=D

5dd:  删除从光标开始处的5行代码

dgg:  删除从光标到文本开头

dG:  删除从光标到文本结尾

单词删除

dw:  删除一个单词(从光标处到空格)

daw:  无论光标在什么位置,删除光标所在的整个单词(包括空白字符)

diw:  删除整个单词文本,但是保留空格字符不删除

d2w:  删除从当前光标开始处的2个单词

d$:  删除从光标到一行末尾的整个文本

d0:  删除从光标到一行开头的所有单词

dl:  删除当前光标处的字符=x

dh:  删除当前光标左边的字符=X

行合并

J:  删除一个分行符,将当前行与下一行合并

保存、退出与撤销

u 键能一直撤销到文件打开时的状态,ctrl + r 能一直反撤销到最后一次操作状态

u:  撤销上一步的操作。

Ctrl+r:  重做

:U  恢复一整行原来的面貌(文件打开时的文本状态)

:wq  文件已经被修改,保存修改并退出

:e!  放弃修改,重新回到文件打开时的状态

:q! 强制退出vim,不保存

:q  退出vim

:wq!    强制保存并退出vim

:wq 保存并退出vim

:w <文件路径>   另存为

:saveas <文件路径>  另存为

:x  保存并退出vim

:set nu 显示行号

:set shiftwidth=10  设置缩进为10个字符,以此类推(输入Esc回到普通模式,再次尝试>>看缩进是否变化)

:ce(center) 本行内容居中

:ri(right)  本行内容居右

:le(left)   本行内容居左

参阅