linux(含Vi和GDB)常用指令

常用 Unix/Linux 命令
A1 基本命令 date:显示日期和当前时间,命令格式:$date。 who:查询当前登录在系统中的用户信息,命令格式:$who。 w:查询当前登录在系统中的用户行为,命令格式:$w。 write:将消息直接发送到另一个用户的终端上,命令格式: $write username Hello: We have a meeting at Room 412. 键入 Ctrl-D 结束输入消息, username 用户终端上可以看到上述信息。 在 mesg:选择是拒绝还是接受由 write 发来的消息,命令格式: $mesg n 拒绝由 write 发来的消息; $mesg y 允许别的用户发送消息; $mesg 报告当前是否允许别的用户向你的终端发送消息。 ps:用于查看当前系统中的活跃进程,命令格式:$ps [options]。 kill:终止指定进程,命令格式:$kill [-signal] pid。

A2 目录操作 mkdir:创建目录,命令格式:$mkdir directory ...。 rmdir:删除目录,命令格式:$rmdir directory ...。。 。 pwd:显示当前工作目录,命令格式:$pwd。 ls:显示目录内容,命令格式:$ls [options] [names],选项可合用。 cd:改变工作目录,命令格式:$cd [directory]。

A3 文件创建、复制与删除 touch: 创建内容为空的文件,命令格式:$touch 文件名。 rm:删除文件或目录,命令格式:$rm [-r] [-f] [-i] file ...。 cp:复制文件或目录,命令格式:$cp [-i] [-r] file1 [file2...] target -r。 如果 file 为目录,则 cp 将复制该目录及其所有文件。 mv:文件的搬移或更名,命令格式:$mv file1 target。

A4 文件属性 chmod:改变文件的读、写或执行权限,命令格式: $chmod [who] operator [permission] file-list。 chown:改变文件的属主,命令格式:$chown [-R] [-h] owner file…。 chgrp:改变文件的组主,命令格式:$chgrp [-R] [-h] group file…。

A5 文件显示与连接 cat:用于显示文件内容或文件连接,命令格式: $cat file1 file2 显示 file1 和 file2 的内容; $cat file1 file2 > file3 将 file1 和 file2 合并成 file3。 more:显示文件的内容,命令格式:$more 文件名。 head:显示文件的前几行,命令格式为:$head [-n] [file…]。 tail:将文件从指定位置开始的内容全部显示到屏幕上: $tail [+n] [lbc] file 从文件头加上 n 处开始显示; $tail [-n] [lbc] file 从文件尾减去 n 处开始显示; $tail –f file 间隔 1 秒循环显示文件新内容。 ln:建立指定文件的硬链接或符号链接,命令格式: $ln [-s] [-f] [-n] file target。

A6 文件查找与比较 grep:查找字符串,命令格式:$grep pattern files。 find:从指定目录开始,递归地从子目录寻找匹配文件,命令格式: $find dirname option-list。 diff:比较两个文本文件的差异,命令格式:diff [options] file1 file2。

A7 文件压缩与备份 compress:进行文件压缩,命令格式:$compress [-cfv] filename。 uncompress:解压缩文件,命令格式:$uncompress [-cfv] filename。 tar:用于建立磁带档案(文件系统的备份) ,或存到档案媒介或从档案媒介 中读取文件,命令格式:$tar c|t|x [bvf] [tarfile] [bsize] [file_list]。

A8 输入输出重定向 <:输入改向,命令格式:$command < file。 >:输出改向,更新指定文件内容,命令格式:$command > file。 >>:输出改向,将执行结果接到指定文件内容后面,命令格式: $command >> file。

常用 vi 命令
B1 进入与退出 vi 进入 vi 命令格式:$ vi filename vi 中的退出命令有以下几种: :q 退出。当文件已被修改,vi 将在屏幕的底行显示提示信息。 :q! 强行退出。 :w 回写文件但不退出。 :wq 回写文件并退出。 :x 与 wq 相同,回写文件并退出。

B2 移动光标 ↑或 k 键 把当前光标向上移动一行,保持光标的列位置。 ↓或 j 键 把当前光标向下移动一行,保持光标的列位置。 →或 l 键 把当前光标向右移动一个字符。 ←或 h 键 把当前光标向左移动一个字符。 $键 把当前光标移动到该行行末。 ^键 把当前光标移动到该行行首。 w键 把当前光标移动到该行的下一个字的首字符上。 b键 把当前光标移动到该行的上一个字的首字符上。 e键 把当前光标移动到该行的该字的末尾字符上。 ^F 向前滚动一整屏正文。 ^D 向下滚动半个屏正文。 ^B 向后滚动一整屏正文。 ^U 向上滚动半个屏正文。 在用 k、j、l、h 四个键时,可以在它们的前面加一个数字,这样在需要多次 移动光标时不必多次按移动命令键。

B3 正文输入、删除、替换、恢复和查找命令 a 在光标的后面开始插入正文。 A 在光标所在行的行首插入正文。 I 在光标的前面开始插入正文。 I 在光标所在行的行末插入正文。 o 在光标所在行(当前行)的下一行的行首开始插入正文。 O 在光标所在行(当前行)的上一行的行首开始插入正文。 Esc 退出输入方式。 Backspace 输入方式下删除字符。 x 删除当前光标所在的字符。 nx 删除从当前光标开始的 n 个字符,n 为要删除的字符数。

dw 删除当前光标所在的字。 ndw 删除从当前光标开始的 n 个字,n 为要删除的字数。 dd 删除当前光标所在行。 ndd 删除从当前光标开始的 n 行,n 为要删除的行数。 rx 用 x 替代当前光标所在的字符。 nrx 用 x 替换 n 个字符,在替换完第 n 个字符后该命令自动停止。 u 废除最近的命令,恢复被修改或删除的内容。 U 把当前行恢复到修改它之前的状态。 /pattern 在缓冲区中向下查找指定的字符串 pattern。 ?pattern 在缓冲区中向上查找指定的字符串 pattern。 n 重复上一次查找命令。 N 以相反的查找方向重复上一次查找命令。

B4 行编辑命令 键入“:”,并在屏幕底部的“:”号提示符下输入行编辑命令。 :set nu 显示正文的行号。 :set nonu 取消行号。 :1,$p 显示缓冲区的整个内容。 :r wqb 将文件 wqb 中的内容读入缓冲区,插入当前光标下。 :1,5w clh 将正文中 1 到 5 行的内容写到名为 clh 的文件中去。 :2,5d 将正文中 2 到 5 行删除。 :2,5t8 将正文中 2 到 5 行复制到第 8 行的后面。 : !ls 暂时转出 vi 编辑器,执行 shell 命令 ls。 :sh 暂时转出 vi 编辑器, 执行 shell 命令,键入^D 或 exit 返回正文。

GDB 常用命令
C1 启动 gdb gdb 启动 gdb,不指定调试目标 gdb program 开始调试目标程序 gdb program [arglist] core 调试目标程序产生的 coredump 文件 gdb --help 获取 gdb 的命令行帮助信息 退出 gdb quit 执行程序 run arglist 使用参数 arglist 启动程序执行 run 使用当前参数启动程序执行 set args arglist 为下一个 run 命令设置运行参数 set args 清空参数列表 show args 显示参数列表 show env 显示所有环境变量 show env var 显示指定环境变量 set env var string 设定环境变量 unset env var 从环境变量列表中删除指定变量 程序执行控制 continue 从程序停止处继续程序执行 step 单步执行程序直到下一行代码 si 单步执行程序直到下一条机器指令 next 执行下一行代码,包括函数调用 nexti 执行下一条机器指令 until [location] 运行直到一条指令(或指定地址 location) finish 运行直到当前栈帧返回 return 跳过(不执行)选定栈帧 断点和观察点 break [file:] line break [file:] func break *addr break break … if expr watch expr info break 在[file]的第 line 行设置断点 在[file]的 func 函数处设置断点 地址 addr 处设置断点 在下一条指令设置断点 如果表达式 expr 非零,则断点设置有效 为表达式 expr 设置观察点 (当 exprt 值变化时停止程序执行) 显示已设置的断点信息

info watch clear clear [file:] func clear [file:] line delete [n] disable [n] enable [n] ignore n count

显示已设置的观察点设置 删除下一条指令处的断点 删除函数 func 入口处的断点 删除 line 行出的断点 删除第 n 个断点 禁用第 n 个断点 启用第 n 个断点 忽略第 n 个断点 cout 次

程序栈帧 backtrace frame n up n down n info args info locals 数据显示 print expr x [/Nuf] expr N u 显示表达式 expr 的值 以指定格式查看内存地址 expr,参数定义如下: 指定显示的数据单元数量 单元大小: b, 单个字节 h, 半字(2 个字节) w, 字(4 个字节) g, 8 个字节 数据显示格式: x,十六进制 d,十进制 u,无符号十进制 o,八进制 t,二进制 a,对地址或相对地址 c,字符 f,浮点数 查看当前栈帧 选择第 n 个栈帧 向上移动 n 个栈帧 向下移动 n 个栈帧 查看当前栈帧的参数列表 查看当前栈帧的局部变量

f


相关文档

实验二 Linux常用命令和vi,gdb的使用
Linux中 vi常用命令
linux下vi的常用命令
Linux上vi常用命令
linux_gdb与shell命令
linux vi(vim)常用命令汇总
Linux应用的调试GDB使用方法GDB常用命令
linux常用命令和vim命令
linux常用命令和vi编辑命令
Linux调试工具strace和gdb常用命令小结+++
电脑版