基础工具学习¶
约 1592 个字 预计阅读时间 5 分钟
本部分不是通过审阅的最终版本,请关注后续的更新
本部分需要学习常见的linux工具的使用,强烈建议学习该部分时在linux系统上自己动手操作一遍
shell¶
在Linux系统中,Shell是用户与操作系统内核交互的核心界面。我们强烈建议学习者在初期阶段采用命令行交互方式操作,而非依赖图形化界面或集成开发环境(IDE)的内置功能。因为图形化界面与IDE的集成功能隐藏了很多技术细节,而这些细节很可能是我们需要了解的。
学习一些常见的linux命令是必要的。 参考链接: 常用linux命令
为了提高自动化程度,我们可以将经常需要一起使用的命令写成脚本,然后通过shell脚本的方式来执行。 参考链接:
Git¶
Git 是一款分布式版本控制系统,由 Linus Torvalds 开发,用于高效管理项目代码的变更。它的核心功能是记录文件的历史修改,支持多人协作开发,并允许随时回溯到任意版本。
Git 的核心功能包括:
- 版本追踪:每次修改提交(commit)都会生成唯一快照,便于追溯问题或恢复代码。
- 分支管理:开发者可创建独立分支(branch)进行功能开发,完成后合并(merge)到主分支,避免冲突。
- 分布式协作:每个成员拥有完整的代码仓库,支持离线工作,通过推送(push)/拉取(pull)与团队同步。
Git 是开发者必备工具,在很多项目的开发中,均需要使用Git进行版本控制,并通过Github/Gitlab等平台进行协作开发,学习基础的Git命令是必要。
参考链接:
tmux¶
tmux(Terminal Multiplexer)是一个强大的终端工具,能让你的命令行操作更加高效灵活。它的核心功能包括:
1. 会话持久化
即使断开 SSH 连接或关闭终端,tmux 仍能保持你的会话运行。重新登录后,只需恢复会话,之前的所有工作(如运行中的程序、编辑的文件)都会原样保留。
2. 多任务并行管理
- 多窗口:类似浏览器标签页,可在同一会话中切换不同任务(如开发、调试、日志监控)。
- 分屏面板:将终端划分成多个区域,同时运行不同命令(如一边写代码一边查看运行结果)。
3. 协作与复用
- 共享会话:多个用户可连接同一 tmux 会话,适合结对编程或远程协助。
- 后台运行:长时间任务(如编译、下载)可在后台执行,不影响当前终端操作。
tmux 特别适合远程开发、服务器管理或需要多任务处理的场景。掌握它能显著提升你的终端生产力!
参考链接: tmux 教程
htop¶
htop 是一款强大的终端交互式系统监控工具,相比传统的 top
命令,它以彩色界面、直观布局和鼠标操作支持,帮助新手轻松掌握系统运行状态。以下是其核心功能:
-
动态资源可视化
htop 顶部以条形图实时显示 CPU、内存和交换分区的使用情况,颜色区分不同状态(如绿色表示空闲,红色表示高负载),一目了然。 -
进程管理
主界面列表展示所有进程的详细信息(PID、用户、CPU/内存占用等)。支持快捷键快速操作:F9
终止进程F4
筛选关键词空格
标记多进程批量操作
-
自定义与导航
可通过F2
进入设置界面调整显示列、颜色主题;鼠标点击表头即可按资源占用排序,方便定位高负载进程。 -
多核 CPU 监控
每个逻辑核心的利用率单独显示,适合排查多线程任务性能问题。
htop 兼顾美观与实用,是系统调试和资源分析的理想工具。
参考链接:
vim¶
Vim 是一款高效、跨平台的文本编辑器,以强大的功能和高度可定制性著称。
核心功能:
- 模式化编辑:Vim 拥有多种模式,包括:
- 普通模式:移动光标、复制粘贴(
yy
/p
)、删除(dd
)等。 - 插入模式:直接输入文本(按
i
进入)。 - 可视模式:选中文本(
v
或Ctrl+v
块选择)。 - 命令模式:执行保存(
:w
)、退出(:q
)等操作。
- 普通模式:移动光标、复制粘贴(
- 高效移动:通过
h/j/k/l
移动光标,支持单词(w/b
)、行首/行尾(^/$
)快速跳转。 - 强大编辑能力:
- 重复操作(
.
重复上次修改)。 - 宏录制(
qa
开始录制,q
结束,@a
回放)。 - 多文件编辑(
:e 文件名
或分屏:split
)。
- 重复操作(
- 插件扩展:通过插件(如 NERDTree、coc.nvim)支持代码补全、语法高亮等。
在标准开发环境中已经安装了vimtutor
,运行vimtutor
即可打开教程。我们并不需要学习非常多的vim
功能,只需掌握上述列举的核心功能中的1,2部分即可。
参考链接:vimtutor中英文对照版
本部分练习¶
在标准开发环境中完成下述流程(在命令行中实现):
- 使用htop命令查看系统资源及使用情况
- 新建文件夹并在该文件夹中使用vim编写hello.c(打印出"hello,world")
- 使用gcc编译程序并成功运行
如果你不知道怎么编译可以考虑结合信息素养章节自行获取这部分的知识
- 使用shell编写脚本how_many_files.sh可通过
bash how_many_files.sh <指定文件路径>
计算当前文件路径下有多少个文件(非递归) - 使用git初始化这个仓库(拥有hello.c和how_many_files.sh两个文件)并推送到你的github远程仓库上
推荐阅读:
- Linux 101(强烈推荐):中科大Linux俱乐部编写的Linux入门课程,涵盖了常见的各项基本知识。