嵌入式Linux——常用命令

整理了vim编辑器及Ubuntu内的常用指令

vi / vim

vi编辑器是所有Unix及Linux系统下标准的编辑器,这里只是简单地介绍一下它的用法和一小部分指令,对于Unix及Linux系统的任何版本,vi编辑器是完全相同的

vi的三种模式

  • 命令行模式command mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
  • 插入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
  • 底行模式(last line mode):将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)

vi的基本操作

  • 进入vi
$ vi myfile

注:进入vi之后处于「命令行模式(command mode)」,要切换到「插入模式(Insert mode)」

  • 切换至插入模式(Insert mode)编辑文件

在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

  • Insert 的切换

处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。

  • 退出vi及保存文件

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)

vi命令行模式

  • 插入模式
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
  • 从插入模式切换为命令行模式
    • 按「ESC」键。
  • 移动光标
小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往“后”移动一页。
按「ctrl」+「f」:屏幕往“前”移动一页。
按「ctrl」+「u」:屏幕往“后”移动半页。
按「ctrl」+「d」:屏幕往“前”移动半页。
按数字「0」:移到文章的开头。
按「G」:移动到文章的最后。
按「$」:移动到光标所在行的“行尾”。
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l
  • 删除文字
「x」:每按一次,删除光标所在位置的“后面”一个字符。
「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
  • 复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
  • 替换
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止
  • 恢复/撤消/还原上一次操作
「u」:如果误执行一个命令,可以马上按下「u」,撤消上一个操作。按多次“u”可以执行多次撤消
  • 更改
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字
  • 跳至指定的行
「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首

vi底行模式

在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。

  • 列出行号
「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号
  • 跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行
  • 查找字符
「/」:先按「/」键,再输入想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到要的关键字为止
「?」:先按「?」键,再输入想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到要的关键字为止
  • 保存文件
「w」:在冒号输入字母「w」就可以将文件保存起来
  • 离开vi
「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi
「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件

vi命令列表

h: 左移光标一个字符
l: 右移光标一个字符
k: 光标上移一行
j: 光标下移一行
^: 光标移动至行首
0: 数字“0”,光标移至文章的开头
G: 光标移至文章的最后
$: 光标移动至行尾
Ctrl+f: 向前翻屏
Ctrl+b: 向后翻屏
Ctrl+d: 向前翻半屏
Ctrl+u: 向后翻半屏
i: 在光标位置前插入字符
a: 在光标所在位置的后一个字符开始增加
o: 插入新的一行,从行首开始输入
ESC: 从输入状态退至命令状态
x: 删除光标后面的字符
#x: 删除光标后的#个字符
X: (大写X),删除光标前面的字符
#X: 删除光标前面的#个字符
dd: 删除光标所在的行
#dd: 删除从光标所在行数的#行
yw: 复制光标所在位置的一个字
#yw: 复制光标所在位置的#个字
yy: 复制光标所在位置的一行
#yy: 复制从光标所在行数的#行
p: 粘贴
u: 取消操作
cw: 更改光标所在位置的一个字
#cw: 更改光标所在位置的#个字
yyx: 下表列出行命令模式下的一些指令
w filename: 储存正在编辑的文件为filename
wq filename: 储存正在编辑的文件为filename,并退出vi
q!: 放弃所有修改,退出vi
set nu: 显示行号
/或?: 查找,在/后输入要查找的内容
n: 与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止

终端

终端命令

  • ls:列出文件 list
-l:列出⽂件的详细信息
-a:all,列出所有⽂件,包括隐藏⽂件
注:参数可以叠加使⽤,如-la表⽰列出所有⽂件及其详细信息
  • cd:切换目录 change directory
  • cp:复制 copy
-i: interactive mode 若有同名文件,询问是否覆盖
-r: recursive copy 连同子文件夹一起复制
  • mv:移动 move
    • -i: interactive mode 若有同名文件,询问是否覆盖
  • rm: 删除 remove
    • -i
    • -r
  • mkdir:创建文件夹 make directory
  • rmdir:移除文件夹 remove directory
  • chown:更改所有者 change owner
    • -R: 同-r
  • chmod:更改文件的权限模式 change mode
    • 三类对象:当前⽤户user(⽂件的所有者),组group,其他⽤户other
    • 文件权限:读Read,写Write,执⾏Execute
u: user,权限对象为当前⽤户(这⾥是所有者)
g:group,权限对象为所有者和组
o:other,权限对象为其他⽤户
r:read = 4,读权限
w:write = 2,写权限
e:execute = 1,执⾏权限
+:u/g/o与r/w/e组合使⽤,加⼊
-:删除
=:设置
4:仅读
5:仅读+执⾏
6:仅读+写
chmod g+w file //为组添加写权限
  • find:查找
    • -name:根据文件名查找
    • -mtime n:n为数字,表⽰找出在n天前的当天被更改过的⽂件(0表⽰今天)
    • -mtime +n:查找在n天前(不包括n天当天)被改过的⽂件
    • -mtime -n:查找在n天之内(包括n天当天)被改过的⽂件
    • -size +/-:查找⽐XXsize⼤/⼩的⽂件
find /home -name file//查找名为file的文件
find /home -mtime 0//查找今天被改过的文件
find /home -size +100M//查找大于100M的文件
  • |: 管道

将前一个命令的输出结果像管道一样传递给后一个命令

ls | find -name myfile
  • grep: 按行查找并匹配
    • -r:查找子文件夹
    • -n:number 显示行号
    • -w:word 完整匹配整个单词
    • -i:insensitive search 忽略大小写
    • -l:显示文件名称,而非显示匹配到的行内容
    • -v:反向选择,显示出没匹配到的行的内容
grep -i mystring file.txt//忽略大小写,在file.txt中查找并打印带有“mystring”的内容
ls -I | grep -i mrstring//在ls输出中打印带有“mystring”的内容
  • tar:打包 压缩 解压
    • -jcv:压缩
    • -jxv:解压
  • cat:打印文件内容
  • ps:查看进程 process select
    • -A:查看所有进程
    • -a:不与终端有关的所有进程
    • -u:有效用户的相关进程
    • -x:一般与-a一起使用,列出完整的进程信息
    • -l:long 详细列出PID信息
ps Aux//查看系统所有进程数据
  • kill:杀死进程
    • -SIGHUP:启动被终止的进程
    • -SIGINT:相当于ctrl + c 中断进程
    • -SIGKILL:强制终端进程
    • -SIGTERM:以正常结束方式终止进程
    • -SIGSTOP:相当于ctrl + z 暂停进程
kill -SIGKILL 8086
  • passwd:修改密码 password
  • pwd:显示当前工作目录 print work directory
  • tee:显示并保存
python3.6 test.py | tee result.log
  • reboot:重启
  • gcc
    • -o :output之意,用于指定生成一个可执行文件的文件名
    • -c :用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序
    • -I :增加编译时搜索头文件的路径
    • -L :增加编译时搜索静态连接库的路径
    • -S :把源文件生成汇编代码文件
    • -lm:表示标准库的目录中名为libm.a的函数库
    • -lpthread :连接NPTL实现的线程库
    • -std= :用于指定把使用的C语言的版本
# 把源文件test.c按照c99标准编译成可执行程序test
gcc -o test test.c -lm -std=c99

#把源文件test.c转换为相应的汇编程序源文件test.s
gcc -S test.c

终端快捷键

  • Tab 自动补全
  • Ctrl+a 光标移动到开始位置
  • Ctrl+e 光标移动到最末尾
  • Ctrl+k 删除此处至末尾的所有内容
  • Ctrl+u 删除此处至开始的所有内容
  • Ctrl+d 删除当前字符
  • Ctrl+h 删除当前字符前一个字符
  • Ctrl+w 删除此处到左边的单词
  • Ctrl+y 粘贴由Ctrl+u, Ctrl+d, Ctrl+w删除的单词
  • Ctrl+l 相当于clear,即清屏
  • Ctrl+r 查找历史命令
  • Ctrl+b 向回移动光标
  • Ctrl+f 向前移动光标
  • Ctrl+t 将光标位置的字符和前一个字符进行位置交换
  • Ctrl+& 恢复 ctrl+h 或者 ctrl+d 或者 ctrl+w 删除的内容
  • Ctrl+S 暂停屏幕输出
  • Ctrl+Q 继续屏幕输出
  • Ctrl+Left-Arrow 光标移动到上一个单词的词首
  • Ctrl+Right-Arrow 光标移动到下一个单词的词尾
  • Ctrl+p 向上显示缓存命令
  • Ctrl+n 向下显示缓存命令
  • Ctrl+d 关闭终端
  • Ctrl+xx 在EOL和当前光标位置移动
  • Ctrl+x@ 显示可能hostname补全
  • Ctrl+c 终止进程/命令
  • Shift+上或下 终端上下滚动
  • Shift+PgUp/PgDn 终端上下翻页滚动
  • Ctrl+Shift+n 新终端
  • alt+F2 输入gnome-terminal打开终端
  • Shift+Ctrl+T 打开新的标签页
  • Shift+Ctrl+W 关闭标签页
  • Shift+Ctrl+C 复制
  • Shift+Ctrl+V 粘贴
  • Alt+数字 切换至对应的标签页
  • Shift+Ctrl+N 打开新的终端窗口
  • Shift+Ctrl+Q 管壁终端窗口
  • Shift+Ctrl+PgUp/PgDn 左移右移标签页
  • Ctrl+PgUp/PgDn 切换标签页
  • F1 打开帮助指南
  • F10 激活菜单栏
  • F11 全屏切换
  • Alt+F 打开 “文件” 菜单(file)
  • Alt+E 打开 “编辑” 菜单(edit)
  • Alt+V 打开 “查看” 菜单(view)
  • Alt+S 打开 “搜索” 菜单(search)
  • Alt+T 打开 “终端” 菜单(terminal)
  • Alt+H 打开 “帮助” 菜单(help)

桌面快捷键

  • SUPER + A: 查找程序
  • ALT + F1: 聚焦到桌面左侧任务导航栏,可按上下键导航。
  • ALT + F2: 运行命令
  • ALT + F4: 关闭窗口
  • ALT + TAB: 切换程序窗口
  • ALT + 空格: 打开窗口菜单
  • PRINT: 桌面截图
  • SUPER: 打开Dash面板,可搜索或浏览项目,默认有个搜索框,按“下”方向键进入浏览区域(SUPER键指Win键或苹果电脑的Command键)
  • 在Dash面板中按CTRL + TAB: 切换到下一个子面板(可搜索不同类型项目,如程序、文件、音乐)
  • SUPER + A: 搜索或浏览程序(Application)
  • SUPER + F: 搜索或浏览文件(File)
  • SUPER + M: 搜索或浏览音乐文件(Music)

发表评论

您的电子邮箱地址不会被公开。