Linux系统真好用啊!
除了Ubuntu之外,Linux的发行版还有Debian、CentOS等等,它们各有各的特点和长处。
安装虚拟机或双系统
虚拟机
虚拟机就是电脑上模拟一个电脑。
虚拟机的使用:
虚拟机VMware Workstation Pro v16.0.0使用教程 - 苏木川的文章 - 知乎
安装Ubuntu
使用虚拟机安装ubuntu系统
CSDN【VMware虚拟机安装Ubuntu(超详细图文教程)】
安装语言最好先设置为英语en(us),后期如有必要再改回中文cn(zh),以避免潜在的问题。
此处在设置磁盘大小时,应该设置大一些,50GB以上
- 快照
为虚拟机拍摄快照可以保存虚拟机的当前状态,使您能够重复返回到同一状态。拍摄快照时,Workstation Pro 会捕捉虚拟机的完整状态。 - 克隆
克隆功能以当前虚拟机客户端为模板,快速生成新的副本虚拟机客户端。 创建虚拟机后,可以将其克隆为模板。模板是虚拟机的主副本,可用于创建随时可用的虚拟机。可对模板进行更改(例如在客户机操作系统中安装附加软件),而保留原始虚拟机。 模板创建后无法进行修改。要更改现有模板,必须先将其转换为虚拟机,进行需要的更改,再将虚拟机转换回模板。要保留模板的原始状态,请将模板克隆为模板。 - 主机与虚拟机共享文件
参阅:https://zhuanlan.zhihu.com/p/43920548
系统根目录下:/mnt/hgfs/
这个文件夹下,会存放虚拟机与主机的共享目录
虚拟机无法连接USB的问题:报错无法连接到理想的主机控制器。将尝试将该设备连接到可用的最佳主机控制器
使用双系统
新手不建议使用双系统,容易出问题……
警告:前方巨坑!可能存在问题
B站机器人工匠阿杰【Windows 和 Ubuntu 双系统的安装和卸载】
不建议按此教程设置磁盘分区!
安装语言最好先设置为英语en(us),后期再改回中文cn(zh),以避免潜在的问题。
虚拟机的网络设置问题
由于一些原因,国内访问互联网时有一堵墙,这堵墙严重阻碍了我们获取科技资料的途径,我们不得不应对它。希望这堵不该存在的墙早日消失。原本网上有一些博客介绍了如何在虚拟机中使用VPN,可惜前些天全部被404了,内网上一点痕迹都没有,只有我自己的电子笔记本里留下了一个失效链接。
虚拟机可以有三种网络连接形式:桥接模式(指虚拟机有单独的ip地址可以访问外部网络),NAT模式(指虚拟机使用主机的ip地址,可以访问外部网络),仅主机模式(指虚拟机只能与主机连接,不可访问外部网络)。下面我们主要关注如何访问github.com :
设置网络连接形式为桥接模式,主机使用代理,例如使用ClashForWindows,找到ip地址及端口号,将ip地址及端口号在虚拟机的 网络设置-网络代理 中设置为相同,即可。
双系统下的网络问题
由于历史和现实的原因,机器人和计算机科学领域有大量高价值资料仅在外网可以获取到。 安装双系统时,需要在ubuntu
下实现外网访问。 参考方法:
方法一:浏览器插件
AdGuard VPN,这款插件注册登录后每月有少量的免费流量,足够访问github使用了。
clash for windows可以直接在Linux下使用。
CFW原始安装包位置:
不过还好,我这边有存档,我已上传至本网站,点击这里下载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的文章 - 知乎
常用指令
# 常用指令
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
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次确认:
- 确认秘钥的保存路径(如果不需要改路径则直接回车);
- 如果上一步置顶的保存路径下已经有秘钥文件,则需要确认是否覆盖(如果之前的秘钥不再需要则直接回车覆盖,如需要则手动拷贝到其他目录后再覆盖);
- 创建密码(如果不需要密码则直接回车);
- 确认密码; 命令执行结束之后,home目录下面会生成.ssh目录。默认密钥文件路径在~/.ssh,id_rsa 是私钥文件,id_rsa.pub 是公钥文件。
将公钥添加到 Github,将 id_rsa.pub 文件内容全部复制,登陆到 GitHub 上,右上角小头像 ->Setting->SSH and GPG keys 中,点击 new SSH key。
ssh -T git@github.com #测试是否配置成功
# 使用Git,请参照其他教程
git add xxx
git commit -m "xxxxxx"
git push origin master
参考:
Git官方文档
ubuntu git 环境搭建以及通过 SSH 连接 Github - 上海老金的文章 - 知乎
Linux下载文件
# 下载文件或网页
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系统中进入了一个文本编辑界面,界面末尾有很多~符号,那么可以这样退出:
# 先按一下esc键
# 然后按 :,英文的冒号
# 再按一下 q,回车,即可
# 如果报错,报错信息是要加感叹号,那么就按 q! 回车,即可
# 即
#退出(不保存)
:q
# 强制退出(不保存)
:q!
# 保存并退出
:wq
# 强制保存并退出
:wq!
使用指南
好了,下面来具体谈一谈vim的使用。这东西起初会不适应,但是熟练之后可以实现“指尖飞舞”,代码敲得飞快。
vim有四种模式,normal, insert, visual,command,即:普通模式、编辑模式、选取模式(直译是:视觉模式)、命令模式。默认是Normal模式,在任意模式下按 esc 都会返回到normal模式。
刚刚的 :wq
就是命令:保存并退出。
不想多写了,移步百度/必应/google吧
下面可以参考
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) 本行内容居左