命令格式

command [-options] [argument]

常用文件管理命令

  • Ctrl + C:取消命令并换行。

  • Ctrl + U:清除本行命令。

  • Tab:键可以完成命令和文件名。如果还不能完成,连续按下两次 Tab 键,会显示出匹配项列表。

  • ls:列出当前目录下的所有文件。蓝色为文件夹,白色为普通文件,绿色为可执行文件。 ls -a:显示所有文件,包括隐藏文件(以点开头的文件是隐藏文件)。 ls -l:查看当前路径下文件的读取、写入和执行权限。 ls | wc -l:查看 ls 下有多少文件。

  • pwd:显示当前路径。

  • cd XXX:进入指定的文件夹。cd -:回到改变路径之前的位置。

  • cp XXX YYYXXX 文件复制为 YYYXXXYYY 可以位于同一路径下。 使用 -r 参数复制整个目录或文件夹。 非当前路径重命名方法:cp a.txt ../b.txt

  • mkdir XXX:创建名为 XXX 的目录(文件夹)。 使用 -p 参数创建不存在的文件夹。

  • rm XXX:删除普通文件。rm XXX -r 删除文件夹。 支持正则表达式。删除所有 .txt 类型文件:rm *.txt 删除所有文件(不包括文件夹):rm * 使用正则表达式删除所有文件夹:rm * -r

  • rmdir:从一个目录中删除一个或多个子目录项

  • mv XXX YYY 移动 XXX 文件到 YYY 目录下。与 cp 命令类似,XXXYYY 可以位于同一路径下。 使用该命令进行重命名操作。 非当前路径移动方法:mv a.txt ../b.txt

  • touch XXX 创建名为 XXX 的文件。

  • cat XXX 展示文件 XXX 中的内容。

  • 在 Windows 或 Linux 上使用 Ctrl + Insert 进行复制,在 Mac 上使用 Command + C 进行复制。

  • 在 Windows 或 Linux 上使用 Shift + Insert 进行粘贴,在 Mac 上使用 Command + V 进行粘贴。

  • history 查看历史输入指令。

  • tree 以树状结构显示文件目录结构。

  • man:帮助命令

  • more:会以一页一页的显示文件内容

  • less:与 more 类似,但使用 less 可以随意浏览文件

输出重定向

> >>

  • >:直接用输出覆盖原文件,
  • >>:则把输出追加到原文件的末尾。

tar解压文件的参数

  • x:表示解压文件。
  • v:可选参数,表示显示详细的解压过程。
  • f:后面接需要解压的文件名。
  • z:可选参数,用于解压 gzip 格式的文件。
  • j:可选参数,用于解压 bzip2 格式的文件。
  • C:指定解压目录,后面接目标目录。

例如,使用以下命令解压一个 tar 文件:

  • tar -xvf file.tar

如果需要解压一个 gzip 格式的 tar 文件,可以使用以下命令:

  • tar -xzvf file.tar.gz

Linux

查看进程运行状态的指令

  • psps -aux:显示所有正在运行的进程的详细信息。 ps -ef:显示所有正在运行的进程的完整信息。 ps -ef | grep:查看特定进程。 ps -u 用户名:查看特定用户的进程。
a显示一个终端的所有进程,除了会话引线
u显示进程的归属用户及内存的使用情况
x显示没有控制终端的进程
-l长格式显示。显示更加详细的信息
-e显示所有进程,和-A作用一致

查看对应进程的端口号

ps -ef | grep 进程名  #1、先查看进程pid
 
netstat -nap | grep 进程pid #2、通过pid查看占用端口

查看进程树

pstree

  • -p 显示进程的pid
  • -u 显示进程的所属用户

查看内存状态

  • top:用于实时监视系统的进程活动和系统资源使用情况。查看进程的 CPU 占用、内存占用、运行时间等信息。
  • free:显示当前系统内存的使用情况,包括总内存、已用内存、空闲内存以及缓存和缓冲区使用的内存。
  • vmstat命令:显示系统虚拟内存统计信息
  • /proc/meminfo文件:提供系统内存详细信息
  • pmap命令:显示进程内存映射详细信息

查看带有关键字的日志文件

  • grep “关键字” 文件路径:在上述命令中,将 “关键字” 替换为要查找的实际关键字,将 “文件路径” 替换为您要搜索的日志文件的路径和名称。
  • grep -i “关键字” 文件路径:执行大小写不敏感的搜索。

grep 命令常用参数

参数描述示例
grep "关键字" 文件路径在文件中搜索包含“关键字”的行。grep "error" /var/log/syslog
-i大小写不敏感搜索。grep -i "error" /var/log/syslog
-r递归搜索指定目录及其子目录中的文件。grep -r "error" /var/log
-l仅显示包含匹配行的文件名grep -l "error" /var/log/*
-n显示匹配行及行号。grep -n "error" /var/log/syslog
-v显示不包含匹配行的内容。grep -v "error" /var/log/syslog
--color将匹配的文本高亮显示。grep --color "error" /var/log/syslog
--exclude排除指定模式的文件。grep --exclude="*.log" "error" /var/log
--exclude-dir排除指定目录。grep --exclude-dir="cache" "error" /var/log
-A NUM显示匹配行及其后的NUM行。grep -A 2 "error" /var/log/syslog
-B NUM显示匹配行及其前的NUM行。grep -B 2 "error" /var/log/syslog
-C NUM显示匹配行及其前后的NUM行。grep -C 2 "error" /var/log/syslog

修改主机名

  • hostnamectl set-hostname 新主机名:请注意,您需要使用管理员权限(例如 sudo)来运行此命令。
  • hostname 新主机名:同样,将 “新主机名” 替换为您要设置的新主机名,并使用管理员权限运行命令。

ping命令

参数描述示例
-c 数量发送指定数量的ECHO_REQUEST包后停止。ping -c 4 google.com
-i 间隔设置两次ECHO_REQUEST包之间的间隔时间(秒)。ping -i 2 google.com
-t一直ping指定的主机,直到手动停止(Windows)。ping -t google.com
-n一直ping指定的主机,直到手动停止(Unix/Linux)。ping -n google.com
-s 数据包大小设置发送的数据包大小。ping -s 1024 google.com
-v提供详细的诊断信息(Windows)。ping -v google.com
-DSO_DEBUG套接字选项启动pingUnix/Linux)。ping -D google.com
-R记录路径信息(Unix/Linux)。ping -R google.com
-T使用IPv6地址(Unix/Linux)。ping -T google.com
-W 超时设置等待响应的超时时间(秒)。ping -W 5 google.com
ping 域名测试与指定域名服务器的连通性。ping google.com
ping IP地址测试与指定IP地址服务器的连通性。ping 8.8.8.8

GDB命令

命令参数描述
gdb<program>启动GDB并加载指定的可执行文件进行调试
gdb<program> <core>同时调试一个运行程序和core文件
gdb<program> <PID>指定服务程序的运行时的进程ID,GDB会自动attach上去
break[file:]function在指定文件的函数中设置一个断点
breaktest.c:12在文件test.c的第12行设置断点
breakfoo if a < 100设置条件断点,条件满足才停止
info break列出所有断点位置、编号
delete<breakpoint number>删除指定编号的断点
clear删除刚才停止处的断点
disable<breakpoint number>禁用指定编号的断点
enable<breakpoint number>启用指定编号的断点
watchvar监视变量,当值变化时会输出新、旧值
info watch只列出watchpoint
delete<watchpoint number>删除指定的watchpoint
continuec继续执行,到下一个断点或程序结束
steps执行源码级别的单步进入操作
stepisi执行指令级别的单步进入操作
nextn执行源码级别的单步跳过操作
nextini执行指令级别的单步跳过操作
finish运行完当前函数,并返回到函数调用点
return直接退出当前函数,不执行剩下代码块
set args<arguments>设置程序开始运行时的输入参数
show args展示目前的参数列表
set environment<varname> [=value]设置环境变量
show environment[<varname>]查看环境变量

条件断点定义

条件断点是根据给定的条件在程序执行过程中暂停的断点。可以使用 break 命令并在源代码行位置后添加条件表达式来设置条件断点。

多进程调试

待定

  • 使用 attach 命令可以连接到正在运行的进程,让 GDB 托管该进程进行调试。 例如:attach pid 其中 pid 是要调试的进程的进程 ID。

  • 可以使用 info inferiors 命令查看当前连接的进程列表。

  • inferior 命令用于切换当前活动进程

  • detach 命令用于从进程中分离 GDB。