Linux系统常用命令

一、Linux常用命令有哪些?

  1. ls - 列出目录内容。
  2. cd - 更改当前目录。
  3. pwd - 打印当前工作目录。
  4. mkdir - 创建新目录。
  5. rmdir - 删除空目录。
  6. touch - 创建新文件或更新现有文件的时间戳。
  7. cp - 复制文件或目录。
  8. mv - 移动或重命名文件或目录。
  9. rm - 删除文件或目录。
  10. echo - 打印参数到终端或文件。
  11. cat - 连接文件并打印到标准输出。
  12. more - 查看文件内容。
  13. less - 与 more 类似,但提供向前和向后滚动功能。
  14. head - 查看文件的开始部分。
  15. tail - 查看文件的结尾部分,常用 -f 选项来跟踪文件新增内容。
  16. grep - 搜索文本并打印匹配行。
  17. find - 在目录树中查找文件。
  18. which - 显示执行特定命令的二进制文件的路径。
  19. whereis - 定位二进制、源和手册页。
  20. top - 显示系统进程和资源使用情况。
  21. htop - 一个增强版的 top 命令,提供更丰富的用户界面和功能。
  22. ps - 显示当前进程的状态。
  23. kill - 向进程发送信号。
  24. chmod - 更改文件或目录的权限。
  25. chown - 更改文件或目录的所有者。
  26. chgrp - 更改文件或目录的组。
  27. df - 报告文件系统的磁盘空间使用情况。
  28. du - 估计文件或目录的磁盘使用量。
  29. ifconfig - 配置或显示系统网络接口的网络配置。
  30. ping - 发送ICMP ECHO请求以测试网络连接。
  31. netstat - 打印网络连接、路由表等网络信息。
  32. ssh - 安全的远程登录到另一台计算机。
  33. scp - 安全地复制文件到/从远程计算机。
  34. wget - 从网络上下载文件。
  35. curl - 客户端工具,用于传输数据。
  36. tar - 打包或解包文件。
  37. gzip - 压缩或解压文件。
  38. gunzip - 解压gzip压缩的文件。
  39. zip - 创建ZIP压缩文件。
  40. unzip - 解压ZIP文件。

这些命令覆盖了文件操作、系统监控、网络管理、磁盘使用、压缩和解压缩等常见任务。掌握这些命令对于Linux用户来说非常重要,因为它们是日常使用Linux的基础。

二、Linux中查看进程运行状态的指令、tar解压文件的参数。⭐⭐⭐

在Linux中,可以使用以下指令查看进程的运行状态:

top

用于实时监视系统的进程活动和系统资源使用情况。在终端中运行top命令,可以查看进程的CPU占用、内存占用、运行时间等信息。

ps

用于显示当前正在运行的进程。常用的参数包括:

ps -aux:显示所有正在运行的进程的详细信息。
ps -ef:显示所有正在运行的进程的完整信息。

对于tar解压文件,可以使用以下参数:

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

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

tar -xvf file.tar

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

tar -xzvf file.tar.gz

三、如何创建一个新的目录?⭐⭐

在Linux中,创建一个新的目录可以使用 mkdir 命令。以下是一些常用的选项和示例:

  1. 基本创建:
  2. 创建多个目录:
  3. 创建嵌套目录:
  4. 使用 -p 选项可以创建嵌套目录,即使父目录不存在也不会报错。  这将创建 dir1、dir1/dir2 和 dir1/dir2/dir3 这三个层级的目录。
  5. 设置目录权限:
  6. 使用 -m 或 --mode 选项可以在创建目录时设置权限。  这将创建 new_directory 目录,并设置其权限为 755(读、写、执行权限给所有者,读、执行权限给组和其他用户)。
  7. 使用绝对路径:
  8. 通过指定完整路径来创建目录。  这将在指定的路径下创建新目录。
  9. 使用相对路径:
  10. 相对路径创建目录,相对于当前工作目录。
  11. 创建具有特定所有权的目录:
  12. 使用 sudo 和 --user 或 --group 选项可以创建具有特定用户或组所有权的目录。  首先以root权限创建目录,然后更改所有权。

使用 mkdir 命令时,可以结合多个选项来满足不同的需求。创建目录后,可以使用 lsdir 命令来验证目录是否成功创建。

四、说说如何以root权限运行某个程序。⭐

  • 要以root权限运行某个程序,您可以使用sudo命令。sudo命令允许普通用户以超级用户(即root用户)的权限来执行命令。下面是使用sudo命令来以root权限运行程序的步骤:
sudo ./app
  • 使用sudo su 进入root用户下运行程序
 sudo su 先进入root用户
./app 再运行程序

使用这些方法时,需要谨慎,因为以root权限运行程序具有改变系统设置和潜在破坏系统的能力。始终确保你了解程序的功能,并且信任其来源。此外,建议仅在必要时使用root权限,并尽可能使用 sudo 这样的安全机制,它提供了更好的审计和日志记录功能。

五、linux里如何查看一个想知道的进程?⭐

在 Linux 中,您可以使用 ps 命令来查看正在运行的进程。ps 命令用于报告当前活动进程的快照。以下是使用 ps 命令来查看进程的常见用法:

查看所有进程:

ps aux

查看特定用户的进程:

在上述命令中,将 "用户名" 替换为要查看其进程的实际用户名。

ps -u 用户名

查找特定进程:

将 "进程名" 替换为要查找的实际进程名。

ps -ef | grep 进程名

这些命令将显示有关正在运行的进程的信息,例如进程 ID (PID)、父进程 ID (PPID)、CPU 使用情况、内存使用情况等。

六、Linux里如何查看带有关键字的日志文件?⭐

在 Linux 中,您可以使用 grep 命令来查找带有关键字的日志文件。grep 命令用于在文件中搜索指定的模式或关键字,并将匹配的行打印出来。以下是使用 grep 命令查看带有关键字的日志文件的常见用法:

grep '关键字' /path/to/logfile.log

示例:

假设你想要搜索 /var/log/syslog 中包含 "error" 的所有行:

grep 'error' /var/log/syslog

请注意,在使用 grep 命令时,关键字的匹配是区分大小写的。如果您想要执行大小写不敏感的搜索,您可以使用 -i 选项,如下所示:

grep -i "关键字" 文件路径

七、说说你对grep命令的了解?⭐

grep 是一个强大的 Linux 命令,用于在文件中搜索指定的模式或关键字,并将匹配的行打印出来。其名称来自于 "Global Regular Expression Print"(全局正则表达式打印)。

基本用法:

  • grep 'pattern' file:在指定的文件 file 中搜索包含文本模式 pattern 的行,并将这些行打印到标准输出。

重要选项:

  • -i:忽略大小写,使搜索模式不区分大小写。
  • -v:显示不包含匹配文本的行,即显示排除匹配结果的行。
  • -o:仅显示匹配的部分文本,而非整个行。
  • -w:只匹配整个单词,而非部分字符串。
  • -r 或 --recursive:递归地在所有子目录中搜索文件。
  • -l:仅显示包含匹配文本的文件名。
  • -n:显示匹配行的行号。
  • -c:仅显示匹配的行数,而非匹配的行本身。
  • -e:使用多个搜索模式,可以同时搜索多个模式。
  • -f:从文件中读取搜索模式。
  • --color:将匹配的文本以彩色高亮显示。

正则表达式:

  • grep 使用正则表达式作为搜索模式,允许复杂的文本匹配。

示例:

  • 搜索包含 "error" 的行:
  • 忽略大小写搜索 "error":
  • 仅显示不包含 "error" 的行:
  • 递归搜索目录中所有包含 "error" 的文件:
  • 显示匹配的行号:
  • 仅显示匹配的文件名:

grep 命令是 Linux 系统中进行日志分析、文本处理和数据提取的强大工具。掌握 grep 的使用对于 Linux 系统管理员和开发者来说非常重要。

八、Linux修改主机名的命令是什么?⭐

在Linux中,修改主机名可以通过多种方式完成,以下是一些常用的命令和方法:

  1. hostnamectl** 命令**:
  2. hostnamectl 是直接与 systemd 守护进程交互的命令,用于设置和显示系统主机名。使用 set-hostname 选项来设置新的主机名。
  3. hostname** 命令**:
  4. hostname 命令用于设置或显示当前的主机名。使用 -b 选项来防止设置新的主机名。  请注意,使用 hostname 设置的主机名只在当前会话中有效,重启后会恢复。
  5. 修改 /etc/hostname** 文件**:
  6. 直接编辑 /etc/hostname 文件,将新的主机名写入该文件。
  7. 修改 /etc/hosts** 文件**:
  8. 除了修改 /etc/hostname 文件外,还需要更新 /etc/hosts 文件,确保新的主机名与IP地址映射正确。  在文件中找到对应的主机名,将其替换为新的主机名。
  9. 使用 systemd** 配置文件**:
  10. 如果你的系统使用 systemd 作为初始化系统,你可以在 /etc/systemd/system 或 /etc/systemd/user 目录下创建或修改一个名为 hostname.service 的文件,设置 ExecStart 指令来设置主机名。
  11. 重启系统:
  12. 修改主机名后,通常需要重启系统来使更改生效。

请注意,选择哪种方法取决于你的具体需求和系统配置。在某些系统中,可能需要结合使用多种方法来确保主机名的更改是永久性的。此外,确保你选择的主机名符合你的网络和系统的命名约定。

九、ping命令

ping 是一个常用的网络诊断命令,用于测试主机之间的网络连接是否可达。它通过发送 ICMP(Internet Control Message Protocol)回显请求消息到目标主机,并监听回显响应来工作。以下是 ping 命令的一些关键特性和用法:

基本用法:

ping 目标主机名或IP地址

例如:

ping www.example.com
ping 192.168.1.1

重要选项:

  • -4 或 -6:强制使用 IPv4 或 IPv6 协议发送回显请求。
  • -c <数量>:发送指定数量的回显请求后停止。
  • -i <间隔>:指定发送回显请求之间的时间间隔(秒)。
  • -W <等待时间>:指定等待回显响应的超时时间(秒)。
  • -s <大小>:指定发送回显请求数据包的大小。
  • -n:在某些系统中,-n 选项告诉 ping 不要尝试将回显响应解析为主机名,而是显示IP地址。

示例:

  • 向 www.example.com 发送5个回显请求:
  • 每2秒向 192.168.1.1 发送一个回显请求,并且不解析主机名:
  • 使用IPv6协议向 localhost 发送回显请求:

输出解释:

  • Bytes from ...:表示收到了来自目标主机的回显响应,以及数据包的大小、发送和接收的时间。
  • time<time>ms:表示往返时间(RTT),即从发送回显请求到接收到回显响应的时间。
  • TTL(Time to Live):表示数据包在网络上可以经过的最大路由器数量。
  • Request timeout:表示回显请求超时,没有收到响应。

ping 命令是网络故障排除的重要工具,可以帮助确定网络连接问题、网络延迟、数据包丢失率等。使用 ping 命令时,应确保遵守网络安全政策,避免滥用该命令进行网络攻击或探测。

十、简述GDB常见的调试命令,什么是条件断点,多进程下如何调试。⭐⭐⭐

GDB(GNU Debugger)是一个强大的命令行调试工具,用于对程序进行调试和分析。下面是 GDB 的常见调试命令以及关于条件断点和多进程调试的简要说明:

常见调试命令:

  • break(或 b):设置断点,断点可以在指定的源代码行位置暂停程序的执行。
  • run(或 r):启动程序的执行,如果有断点,则执行到第一个断点处暂停。
  • continue(或 c):继续执行程序,直到遇到下一个断点或程序结束。
  • next(或 n):执行下一条语句,但是不会进入函数。
  • step(或 s):执行下一条语句,并进入函数。
  • print(或 p):打印变量的值。backtrace(或 bt):打印函数调用堆栈。
  • quit(或 q):退出 GDB。

条件断点:

条件断点是根据给定的条件在程序执行过程中暂停的断点。可以使用 break 命令并在源代码行位置后添加条件表达式来设置条件断点。例如:其中 line_number 是要设置断点的源代码行号,condition 是表示条件的表达式。只有当条件表达式为真时,断点才会触发。

多进程调试:

在 GDB 中,可以调试多进程程序。使用 attach 命令可以连接到正在运行的进程,让 GDB 托管该进程进行调试。例如:其中 pid 是要调试的进程的进程 ID。连接成功后,就可以使用调试命令对该进程进行调试。还可以使用 info inferiors 命令查看当前连接的进程列表。另外,GDB 还提供了一些特殊的命令用于处理多进程调试,如 inferior 命令用于切换当前活动进程,detach 命令用于从进程中分离 GDB。

#Linux##自动驾驶##机器人##C++##八股#
自动驾驶/机器人C++八股精选 文章被收录于专栏

在自动驾驶和机器人领域,C++因其高性能、内存管理高效和跨平台兼容性等特性,被广泛应用。本专栏整理了C++面试中常遇到的八股问题,可私信作者要飞书文档,不论是嵌入式软开、算法、软件开发都可以阅读,包括了C++的虚函数、C++11新特性、C++的STL库、Linux常见命令......

全部评论
hello!
1 回复 分享
发布于 07-19 11:23 湖南
感谢
点赞 回复 分享
发布于 10-01 10:48 安徽

相关推荐

10-29 19:31
已编辑
门头沟学院 算法工程师
烽火通信 软件开发 和offershow一样,公积金10% 硕士其他
点赞 评论 收藏
分享
12 46 评论
分享
牛客网
牛客企业服务