欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > (学习总结28)Linux 基本命令3

(学习总结28)Linux 基本命令3

2025/3/14 20:14:55 来源:https://blog.csdn.net/qq3304968099/article/details/145671578  浏览:    关键词:(学习总结28)Linux 基本命令3

Linux 基本命令3

  • 工具使用命令
    • 使用 vim 编辑器命令 vim
    • 使用 nano 文本编辑器命令 nano
    • 使用 gcc/g++ 编译器命令 gcc/g++
    • 使用 gdb/cgdb 调试器命令 gdb/cgdb
    • 使用自动化构建命令 make
    • 使用版本控制器命令 git
  • 系统或进程相关命令
    • 读取输入并赋值给变量命令 read
    • 设置或修改 shell 环境命令 set
    • 设置环境变量命令 export
    • 测试网络连接命令 ping
    • 显示系统登录记录命令 last
    • 显示失败登录尝试记录命令 lastb
    • 显示当前登录用户及其活动命令 w
    • 实时动态查看系统状态命令 top
    • 实时系统监控命令 htop
    • 显示虚拟内存统计信息命令 vmstat
    • 显示系统内存的使用情况命令 free
    • 显示用户失败登录的相关信息命令 faillog
    • 查看当前系统进程状态命令 ps
    • 向进程发送信号命令 pkill
    • 显示当前 shell 会话中后台运行的任务命令 jobs
    • 将后台任务切换到前台命令 fg
    • 将已停止的任务放到后台继续运行命令 bg
  • 快捷键
    • Ctrl + z 快捷键将当前正在运行的前台进程任务挂起
  • 其它命令
    • 显示可执行文件或共享库依赖的动态链接库命令 ldd
    • 复制文件、设置权限以及创建目录命令 install
    • 对文本文件或输入内容进行排序命令 sort
    • 反向显示文件内容命令 tac
    • 格式打印命令 printf
  • 其它操作
    • 执行当前目录的可执行文件表达方式 ./

工具使用命令

使用 vim 编辑器命令 vim

语法vim [选项] [文件名]
功能:选择 vim 的打开方式
常用选项:

  • -R:以只读模式打开文件
  • -r:恢复崩溃前的文件(用于恢复未保存的修改)
  • +[行号]:打开文件并跳转到指定行的行号
  • +[“命令”]:启动 vim 时 vim 可直接执行双引号中的 命令
  • -c ‘命令’ :启动后执行 vim 命令,同上
  • vim -d [文件名1] [文件名2]:对比两个文件(进入 diff 模式)
  • --noplugin :禁用插件加载
  • -u NONE :不加载任何配置文件(安全模式)
  • vim -c "oldfiles:显示最近打开的文件列表
  • -x:创建或编辑加密文件(首次需设置密码)
  • -X:禁用与 X Server 的连接(加速启动)
  • -b:以二进制模式打开文件

其它操作:

  • vim [文件名1] [文件名2] [文件名3] ... 同时打开多个文件
  • 不写文件名默认打开一个新文件

关于 vim 更详细介绍请参考:(学习总结25)Linux工具:vim 编辑器 和 gcc/g++ 编译器

使用 nano 文本编辑器命令 nano

语法nano [选项] [文件名]
功能:使用 nano 文本编辑器

常用选项:

  • -w :关闭自动换行(适合编辑代码)
  • -l :显示行号

使用 gcc/g++ 编译器命令 gcc/g++

语法:
gcc [选项] [源文件] ... -o [输出文件]
g++ [选项] [源文件] ... -o [输出文件]
功能:gcc 将 .c 文件编译成可执行文件,g++ 将 .cpp 文件编译成可执行文件。

常用选项:

  • -c :只编译不链接,生成目标文件(.o)
  • -g :生成调试信息,用于 gdb 调试
  • -Wall :启用所有警告信息
  • -O1/-O2/-O3 :优化级别(1 为基本优化,3 为最高优化)
  • -I [目录] :指定目录搜索头文件
  • -L [目录] :指定目录搜索库文件
  • -I(等价 shift+i) [库名] :链接指定的库(如 -lm 链接数学库)
  • -std=[标准] :指定语言标准(如 -std=c11 或 -std=c++17)

预处理选项:

  • -E :只进行预处理,输出到标准输出
  • -D[宏] :定义宏(如 -DDEBUG 定义 DEBUG 宏)
  • -U[宏] :取消定义宏
  • -I[目录] :添加头文件搜索路径
  • -M:生成依赖关系(用于 Makefile)
  • -MM :生成依赖关系,忽略系统头文件

编译选项:

  • -S :只编译到汇编代码,生成 .s 文件
  • -fPIC :生成位置无关代码(用于动态库)
  • -fno-stack-protector :禁用栈保护
  • -fstack-protector :启用栈保护
  • -fomit-frame-pointer :省略帧指针(优化性能)
  • -pipe :使用管道代替临时文件(加快编译速度)

优化选项:

  • -O0 :不优化(默认)
  • -O1 :基本优化
  • -O2 :更多优化(推荐)
  • -O3 :最高优化
  • -Os :优化代码大小
  • -Ofast :激进优化(可能不符合标准)
  • -flto :启用链接时优化

调试选项:

  • -g :生成调试信息
  • -ggdb :生成 GDB 专用调试信息
  • -g3 :生成更多调试信息(如宏定义)
  • -p :生成性能分析信息(用于 gprof)
  • -pg :生成性能分析信息(用于 gprof)

链接选项:

  • -static :静态链接
  • -shared :生成共享库(动态库)
  • -L[目录] :添加库文件搜索路径
  • -l[库名] :链接指定库(如 -lm 链接数学库)
  • -nostdlib :不链接标准库
  • -nodefaultlibs :不链接默认库
  • -pie :生成位置无关可执行文件

警告选项:

  • -w :不生成任何警告信息
  • -Wall :启用所有常见警告
  • -Wextra :启用额外警告
  • -Werror :将警告视为错误
  • -Wno-[警告] :禁用特定警告
  • -pedantic :严格遵循标准
  • -pedantic-errors :严格遵循标准并将警告视为错误

语言标准选项:

  • -std=c89 :使用 C89 标准
  • -std=c99 :使用 C99 标准
  • -std=c11 :使用 C11 标准
  • -std=c++98 :使用 C++98 标准
  • -std=c++11 :使用 C++11 标准
  • -std=c++14 :使用 C++14 标准
  • -std=c++17 :使用 C++17 标准
  • -std=c++20 :使用 C++20 标准

其它选项:

  • -v :显示编译过程详细信息
  • -### :显示但不执行编译命令
  • -save-temps :保存临时文件(如 .i、.s、.o)
  • -march=[架构] :指定目标架构(如 -march=native)
  • -mtune=[架构] :优化目标架构(如 -mtune=native)

关于 gcc/g++ 更详细介绍请参考:(学习总结25)Linux工具:vim 编辑器 和 gcc/g++ 编译器

使用 gdb/cgdb 调试器命令 gdb/cgdb

语法:
gdb [可执行文件]
cgdb [可执行文件]
功能:调试程序,查找 bug

关于 gdb/cgdb 更详细介绍请参考:(学习总结26)Linux工具:make/Makefile 自动化构建、Git 版本控制器 和 gdb/cgdb 调试器

使用自动化构建命令 make

语法make [选项] [目标]
功能:执行 Makefile 文件中的目标

常用选项:

  • -f [文件名] :指定使用的 Makefile 文件名。默认情况下,make 会在当前目录下查找名为 Makefile 或 makefile 的文件
  • -n :只打印要执行的命令,但不实际执行
  • -s :安静模式,不显示执行的命令,只显示执行结果
  • -B :强制重新构建所有目标
  • -C [目录路径] :切换到指定目录后执行 make
  • -k 出错时继续执行其他目标
  • -j [并行任务数] :指定并行执行的任务数,加快编译速度

其它操作:

  • 不指定文件名,make 默认会在当前目录搜索并使用名为 Makefile 或 makefile 的文件。

关于 make 自动化构建更详细介绍请参考:(学习总结26)Linux工具:make/Makefile 自动化构建、Git 版本控制器 和 gdb/cgdb 调试器

使用版本控制器命令 git

关于 git 详细命令介绍请参考:(学习总结26)Linux工具:make/Makefile 自动化构建、Git 版本控制器 和 gdb/cgdb 调试器

系统或进程相关命令

读取输入并赋值给变量命令 read

语法read [选项] [变量名]
功能:从标准输入(通常是键盘)读取用户输入并将其赋值给变量的命令,通常用于脚本中与用户交互,获取数据。

常用选项:

  • -p "提示信息" :在读取输入前显示提示信息
  • -s :静默模式,输入内容不会显示在屏幕上(常用于密码输入)
  • -t [秒数] :设置超时时间,超过指定时间未输入则命令退出
  • -n [字符数] :限制输入的字符数,达到指定字符数后自动结束输入
  • -a [数组名] :将输入的内容按空格分隔并存入数组
  • -r :禁止反斜杠 \ 转义字符

其它操作:

  • 如果未指定变量名,read 命令会将输入内容存储到默认变量 REPLY

设置或修改 shell 环境命令 set

语法set [选项] [参数]
功能:用于设置或修改 Shell 环境,它可以用来控制 shell 的特性、显示变量、设置位置参数

常用选项:

  • -e :如果命令返回非零退出状态(失败),立即退出脚本
  • -x :打印执行的每一行命令及其结果(用于调试脚本)
  • -u :使用未定义的变量时,报错并退出脚本
  • -o :启用特定的 shell 选项(例如 nounset、errexit 等)
  • +o :禁用特定的 shell 选项
  • -a :自动导出所有定义的变量(相当于 export)
  • -v :打印读取的每一行输入(用于调试)
  • -n :读取命令但不执行(用于检查脚本语法)

其它操作:

  • 不写选项和参数时,会显示当前 shell 环境中所有已定义的变量和函数,包括环境变量、局部变量和 shell 函数

设置环境变量命令 export

语法export [选项] [变量名]=[值]
功能:设置的变量会在整个 shell 会话中生效,直到会话结束或被取消设置

常用选项:

  • -p :显示当前所有已导出的环境变量

测试网络连接命令 ping

语法ping [选项] [目标主机]
功能:发送 ICMP 回显请求 数据包到目标主机,并等待目标主机返回回显应答,从而检测网络是否连通以及测量网络延迟

常用选项:

  • 没有选项默认会一直发送,直到按 Ctrl+c 停止
  • -c [次数] :指定发送数据包的次数
  • -i [间隔] :设置发送数据包的时间间隔(单位为秒)
  • -s [大小] :设置发送的数据包大小(单位为字节)
  • -t [生存时间] :设置数据包的生存时间
  • -W [超时] :设置等待回显应答的超时时间(单位为秒)
  • -q :静默模式,只显示统计信息
  • -4 :强制使用 IPv4
  • -6 :强制使用 IPv6

目标主机:可以是 IP 地址域名

显示系统登录记录命令 last

语法last [选项] [用户名] [终端]
功能:last 命令会从 /var/log/wtmp 文件中读取登录和注销信息,并按时间顺序显示用户的登录历史

用户名:显示指定用户的登录记录
终端:显示指定终端的登录记录

常用选项:

  • -n [行数] :限制显示的行数
  • -x :显示系统关机、重启等事件
  • -i :显示 IP 地址而不是主机名
  • -a :在最后一列显示主机名或 IP 地址
  • -d :将 IP 地址解析为主机名
  • -f [文件名] :指定替代 /var/log/wtmp 的文件
  • -R :不显示主机名或 IP 地址
  • -t [年][月][日][小时][分钟][秒] :显示指定时间之前的记录

显示失败登录尝试记录命令 lastb

语法lastb [选项] [用户名] [终端]
功能:会从 /var/log/btmp 文件中读取失败的登录尝试信息,并按时间顺序显示

用户名:显示指定用户的失败登录记录
终端:显示指定终端的失败登录记录

常用选项:

  • -n [行数] :限制显示的行数
  • -x :除了常规的失败登录记录,还会显示系统的启动、关机和运行级别更改等信息
  • -i :显示 IP 地址而不是主机名
  • -a :在最后一列显示主机名或 IP 地址
  • -d :将 IP 地址解析为主机名
  • -f [文件名] :指定替代 /var/log/wtmp 的文件
  • -R :不显示主机名或 IP 地址
  • -t [年][月][日][小时][分钟][秒] :显示指定时间之前的记录

显示当前登录用户及其活动命令 w

语法w [选项] [用户名]
功能:显示当前登录用户及其活动

常用选项:

  • -h :不显示头部信息(系统时间、运行时间等)
  • -u :显示详细的空闲时间和进程 CPU 时间
  • -s :使用短格式显示信息
  • -f :切换是否显示登录来源(默认显示)
  • -i :显示 IP 地址而不是主机名

实时动态查看系统状态命令 top

语法top [选项]
功能:显示系统的整体运行情况(如 CPU 使用率、内存使用率、负载等)以及当前运行的进程信息

常用选项:

  • -d [秒数] :设置刷新间隔时间(单位为秒)
  • -p [PID] :仅显示指定 PID 的进程信息
  • -u [用户名] :仅显示指定用户的进程信息
  • -n [次数] :刷新指定次数后退出
  • -b :以批处理模式运行,适合将输出重定向到文件
  • -H :显示线程信息(而不是进程)
  • -c :显示完整的命令行(而不仅仅是命令名称)

实时系统监控命令 htop

语法htop [选项]
功能:增强版的实时系统监控工具,类似于 top,但提供了更友好的交互式界面和更丰富的功能。

常用选项:

  • -d [秒数] :设置刷新间隔时间(单位为秒)
  • -p [PID] :仅显示指定 PID 的进程信息
  • -u [用户名] :仅显示指定用户的进程信息
  • -t :显示树状结构(进程父子关系)
  • -C :禁用颜色显示
  • -s [列名] :按指定列排序(如 PID、CPU%、MEM% 等)

显示虚拟内存统计信息命令 vmstat

语法vmstat [选项] [间隔时间] [次数]
功能:报告系统的进程、内存、分页、块 I/O、中断和 CPU 活动等信息

间隔时间:每次报告之间的时间间隔(单位为秒)
次数:报告的次数,如果未指定次数,会持续运行

常用选项:

  • -a :显示活跃和非活跃内存
  • -f :显示系统启动以来的 fork 数量
  • -m :显示 slab 内存信息
  • -s :显示内存统计信息的汇总表
  • -d :显示磁盘统计信息
  • -p [分区] :显示指定分区的 I/O 统计信息
  • -S [单位] :指定内存显示的单位(如 k=KB,m=MB)
  • -t :在输出中增加时间戳

显示系统内存的使用情况命令 free

语法free [选项]
功能:报告物理内存、交换分区(swap)和内核缓冲区的使用情况。

常用选项:

  • -b :以字节为单位显示内存使用情况
  • -k :以 KB 为单位显示内存使用情况(默认)
  • -m :以 MB 为单位显示内存使用情况
  • -g :以 GB 为单位显示内存使用情况
  • -h :以人可读的格式显示内存使用情况(自动选择合适的单位)
  • -t :在输出中增加一行总计信息
  • -s [秒数] :定期刷新显示内存使用情况(单位为秒)
  • -c [次数] :指定刷新次数

显示用户失败登录的相关信息命令 faillog

语法faillog [选项]
功能:会从 /var/log/faillog 文件中读取失败登录尝试的记录,并允许管理员查看、重置或配置失败登录的限制

常用选项:

  • -a :显示所有用户的失败登录记录
  • -u [用户名] :显示指定用户的失败登录记录
  • -r :重置指定用户的失败登录计数
  • -m [最大次数] :设置允许的最大失败登录次数
  • -l [时间] :设置失败登录后的锁定时间(单位为秒)
  • -t [天数] :显示指定天数内的失败登录记录

查看当前系统进程状态命令 ps

语法ps [选项]
功能:显示正在运行的进程及其详细信息,如进程 ID(PID)、CPU 使用率、内存使用率等
常用选项:

  • -e 或 -A:显示所有进程
  • -f:显示完整格式的进程信息
  • -F:显示更详细的完整格式
  • -u [用户名]:显示指定用户的进程
  • -U [用户名]:显示指定用户的所有进程(包括未关联终端的进程)
  • -T:显示进程的线程信息
  • -L:显示线程信息,并包含 LWP(轻量级进程 ID)和 NLWP(线程数)
  • -p [PID]:显示指定进程 ID 的信息
  • -j 提供详细的任务信息
  • -H 以层级结构显示进程,将进程按照进程树的形式输出
  • --forest:以树状结构显示进程及其子进程
  • -aux:显示所有用户的进程,包括详细信息(CPU、内存等)
  • -o [字段]:自定义输出字段

向进程发送信号命令 pkill

语法pkill [选项] [模式]
功能:根据进程名或其它属性向进程发送信号,它是 kill 命令的扩展版本。

常用选项:

  • 没有选项默认向匹配的进程发送 SIGTERM(15) 信号,请求进程终止。
  • -[信号] :指定发送信号(如 -9 表示 SIGKILL,强制终止)
  • -f :匹配完整的命令行(不仅是进程名)
  • -u [用户名] :仅匹配指定用户的进程
  • -t [终端] :仅匹配指定终端运行的进程
  • -x :精确匹配进程名(避免部分匹配)
  • -n :仅匹配最近启动的进程
  • -o :仅匹配最早启动的进程
  • -P [父进程ID] :仅匹配指定父进程的子进程
  • -c :统计匹配的进程数量(不发送信号)

显示当前 shell 会话中后台运行的任务命令 jobs

语法jobs [选项]
功能:可以列出所有后台任务的状态(如运行中、已停止等),并允许用户管理这些任务(如切换到前台、继续运行等)。

常用选项:

  • -l :显示任务的 PID
  • -p :仅显示任务的 PID
  • -n :仅显示状态发生变化的任务
  • -r :仅显示正在运行的任务
  • -s :仅显示已停止的任务

将后台任务切换到前台命令 fg

语法fg [%任务编号] 或 fg [任务编号]
功能:将后台任务切换到前台

其它操作:

  • 不带任务编号默认切换最近后台任务到前台

将已停止的任务放到后台继续运行命令 bg

语法bg [%任务编号] 或 bg [任务编号]
功能:将已停止的任务放到后台继续运行

其它操作:

  • 恢复最近的后台任务到后台运行

快捷键

Ctrl + z 快捷键将当前正在运行的前台进程任务挂起

Ctrl + z 是一个常用的快捷键,用于将当前正在运行的前台进程任务挂起(暂停),并将其放入后台的作业列表。

  1. 当用户在终端运行一个命令或程序时,按下 Ctrl + z 会立即暂停该进程,并释放终端控制权,返回到 shell 命令行。

  2. 进程被挂起后,其状态(如内存数据、运行位置等)会被保留,不会被终止。

其它命令

显示可执行文件或共享库依赖的动态链接库命令 ldd

语法ldd [选项] [文件名或共享库]
功能:显示一个可执行文件或共享库所依赖的所有共享库(动态链接库)。

常用选项:

  • -v :显示详细的版本信息
  • -u :显示未使用的直接依赖项
  • -d :执行重定位并报告丢失的函数
  • -f :执行重定位并报告丢失的函数和数据
  • -r :执行数据对象和函数的重定位,并报告任何丢失的对象和函数

复制文件、设置权限以及创建目录命令 install

语法
install [选项] [源文件] [目标文件]
install [选项] [源文件1] [源文件2] ... [目标目录]
功能:安装脚本或文件到指定位置,并确保文件具有正确的权限和所有权。

常用选项:

  • -m [模式] :设置文件的权限模式
  • -o [用户] :设置文件的所有者
  • -g [组] :设置文件的所属组
  • -d :创建目录(类似于 mkdir -p)
  • -T :将目标视为文件而不是目录
  • -v :显示详细操作信息

对文本文件或输入内容进行排序命令 sort

语法sort [选项] [文件名]
功能:对文本文件或输入内容进行排序。

常用选项:

  • -r :逆序排序(默认是升序)
  • -n :按数值大小排序(而不是按字母顺序)
  • -k [列数] :指定按某一列或字段排序(字段从 1 开始计数)
  • -t '字段' :指定字段分隔符(默认是空格)
  • -u :去重,仅输出唯一的行
  • -f :忽略大小写
  • -o [文件名]:将排序结果输出到指定文件(而不是标准输出)
  • -c :检查文件是否已排序,如果未排序则报错
  • -b :忽略行首的空白字符

反向显示文件内容命令 tac

语法tac [选项] [文件名]
功能:反向显示文件内容,与 cat 命令相反。

常用选项:

  • -b 或 --before :在行首(而非默认的行尾)添加分隔符(需配合 -s 使用)
  • -r 或 --regex :将分隔符视为正则表达式(默认分隔符为换行符 \n)
  • -s [分隔符] :指定自定义行分隔符(默认按换行符 \n 分块)

格式打印命令 printf

语法printf "格式字符串" [参数1] [参数2] ...
功能:将规定的参数结构化输出到屏幕,类似于 C 语言的 printf 函数。

常用格式符说明:

  • %s : 表示字符串
  • %d :表示整数(十进制)
  • %f :浮点数(默认保留 6 位小数)
  • %x :16 进制整数(小写字母)
  • %X :16 进制整数(大写字母)
  • %% :输出 ’ % ’ 符号

其它操作

执行当前目录的可执行文件表达方式 ./

语法./[可执行文件名]
功能:其不是一个命令,而是一个路径的表达方式,用于执行当前目录的可执行文件或脚本。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词