Linux
Espressif 日常工作依赖于Linux 开发环境,在此总常用的操作命令及快捷方式,便于判断知识边界和提高复习效率。
系统简介
关于Linux的书籍和文章非常多,不同的应用目的常用的工具和指令是不同的,学习的重点可能会有些许差异,在此总结最通用的基础部分。
Linux 只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。
Linux 的发行版本可以大体分为两类:
- 商业公司维护的发行版本,以著名的 Red Hat 为代表;
- 社区组织维护的发行版本,以 Debian 为代表。
把 Red Hat、Ubuntu、SUSE 等直接说成 Linux 其实是不确切的,它们是 Linux 的发行版本,更确切地说,应该叫作“以Linux为核心的操作系统软件包”。
Ubuntu
Ubuntu 基于知名的 Debian Linux 发展而来,界面友好,容易上手,对硬件的支持非常全面,是目前最适合做桌面系统的 Linux 发行版本,而且 Ubuntu 的所有发行版本都免费提供。
软件管理
系统默认包管理工具为 apt
apt-get命令是Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。deb包可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。 我们常用的Ubuntu就是一个基于Debian的发行,我们使用apt-get命令获取这个列表,以下是我整理的常用命令:
|
|
apt-key命令用于管理Debian Linux系统中的软件包密钥。每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥。操作指令:APT密钥操作指令。
|
|
配置软件安装源
sources.list系统自带的,源是来Ubuntu的官网!安装包比较慢,所以最好切换成国内的
|
|
技能补全
快捷操作
- clear(完全清除,无法向上翻页查看之前信息)
- ctrl+L(屏幕清除,开启新行,依旧可以向上翻页查看之前信息)
- date 查看系统时间
- cat 正常文件查看
- tac 从最后一行开始显示
- nl 显示是会输出行号
- 可翻页查看(只向后):more,按q停止
- 可翻页查看(可向前或向后):less,按q停止
用户管理
- 查看当前的用户: sudo adduser db
|
|
|
|
|
|
文件处理
|
|
网络管理
编辑网卡配置文件:sudo vi /etc/network/interfaces
|
|
显示输出
在使用shell语法时,对于& 1 更准确的说应该是文件描述符 1,而1标识标准输出,stdout。对于2 ,表示标准错误,stderr。 2>&1 的意思就是将标准错误重定向到标准输出。这里标准输出已经重定向到了 /dev/null。那么标准错误也会输出到/dev/null 把/dev/null 可以看作"黑洞". 它等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到,偶尔也可以把 & 在命令的最后加上,表示让程序后台执行。
|
|
状态查询
常用系统命令包括 Vmstat、sar、iostat、netstat、free、ps、top等
- 查看活动用户:w
- 查看用户登录日志:last
- 查看用户信息:id
- 查看本机ip: ip a
- 查看路由表:ip route
- 查看所有进程:ps -elf
- 实时查看进程:top
监控CPU状态sar
下面是sar命令对某个系统的CPU统计输出:
|
|
VIM
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
在命令模式下按下:(英文冒号)就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。在底线命令模式中,基本的命令有(已经省略了冒号):
- q 退出程序
- w 保存文件
按ESC键可随时退出底线命令模式。