操作系统面试题—常见的Linux命令有哪些?

11 阅读5分钟

Author : Cyan_RA9
Source : 【卡码笔记】网站
Question : 常见的Linux命令有哪些?

【简要回答】

一、文件和系统管理

  1. 文件操作
    • ls:列出目录内容
    • cd:改变当前工作目录
  2. 权限管理
    • chmod:修改文件或目录的权限
  3. 系统信息查看
    • uname:显示系统信息

二、进程和性能管理

  1. 进程控制
    • ps:显示当前运行的进程
    • kill:终止指定的进程
  2. 系统监控
    • top:实时显示系统中各个进程的资源占用状况

三、用户和安全管理

  1. 用户管理
    • useradd:创建新用户
    • passwd:修改用户密码
  2. 权限控制
    • sudo:以其他用户身份执行命令

四、网络管理

  1. 网络配置
    • ifconfig:配置或显示网络接口信息
  2. 网络诊断
    • ping:测试网络连接
  3. 远程连接
    • ssh:安全地登录到远程系统

五、文本处理和编辑

  1. 文本查看
    • cat:查看文件内容
  2. 文本搜索
    • grep:在文件中搜索指定模式
  3. 文本编辑
    • vim:功能强大的文本编辑器

六、软件和服务管理

  1. 软件包管理
    • apt-get:Debian/Ubuntu系统的包管理工具
  2. 服务控制
    • systemctl:控制系统服务

七、系统维护和自动化

  1. 磁盘管理
    • df:报告文件系统磁盘空间使用情况
  2. 压缩和解压
    • tar:归档工具
  3. 调度任务
    • cron:定时执行命令

【详细回答】

一、文件系统操作

  1. 文件和目录管理
    • ls列出目录内容
    • cd改变当前工作目录
    • pwd显示当前工作目录的完整路径
    • mkdir创建新目录
    • rm删除文件或目录
  2. 权限管理
    • chmod:修改文件或目录的权限
    • chown:改变文件或目录的所有者
    • chgrp:改变文件或目录的所属组
  3. 搜索和查找
    • find:用于在指定目录下搜索文件
    • locate:用于快速查找文件或目录

二、进程管理

  1. 进程查看和监控
    • ps:显示当前运行的进程
    • top:实时显示系统中各个进程的资源占用状况
    • htop:交互式的进程查看器,top的增强版
  2. 进程控制
    • kill:向进程发送信号,通常用于终止进程
    • nice:以指定的优先级运行程序
  3. 任务管理
    • bg:将作业放到后台运行
    • fg:将后台作业放到前台运行
    • jobs:列出当前shell环境中的作业

三、系统管理

  1. 系统信息查看
    • uname:显示系统信息
    • hostname:显示或设置系统的主机名
    • uptime:显示系统运行时间和平均负载
  2. 用户和组管理
    • useradd创建新用户
    • usermod修改用户账户
    • groupadd创建新用户组
  3. 系统监控和性能分析
    • free:用于显示内存使用情况
    • vmstat:用于报告虚拟内存统计信息
    • iostat:用于报告CPU统计信息和输入/输出统计信息
  4. 服务管理
    • systemctl:控制systemd系统和服务管理器
    • service:运行一个System V初始化脚本

四、文本处理

  1. 文本查看和编辑
    • cat查看文件内容
    • less分页显示文件内容
    • vim:功能强大且经常使用的文本编辑器
  2. 文本分析和处理
    • grep:在文件中搜索指定模式
    • sed流编辑器,用于文本替换、删除等
    • awk:功能强大的文本处理工具
    • sort:对文本行进行排序
    • uniq:报告或省略重复的行

五、网络管理

  1. 网络配置
    • ifconfig:配置或显示网络接口信息
    • ip:显示或操纵路由、网络设备、接口和隧道
  2. 网络诊断
    • ping测试网络连接
    • traceroute:显示数据包到目标主机的路径
    • netstat:显示网络连接、路由表等网络信息
  3. 远程连接
    • ssh:安全地登录到远程系统
    • scp:在网络上的主机之间安全地复制文件

六、软件包管理

  1. Debian/Ubuntu系统
    • apt-get:处理apt包的公用程序
    • dpkg:Debian包管理系统的低级工具
  2. RedHat/CentOS系统
    • yum基于RPM的软件包管理器
    • rpmRPM包管理器

七、磁盘管理

  1. 磁盘空间查看
    • df:报告文件系统磁盘空间使用情况
    • du:估计文件空间使用率
  2. 分区管理
    • fdisk:操作磁盘分区表
    • parted:磁盘分区和分区大小调整工具
  3. 挂载和卸载
    • mount挂载文件系统
    • umount卸载文件系统

八、压缩和归档

  1. 压缩文件操作
    • gzip/gunzip:GNU压缩/解压缩程序
    • zip/unzip:压缩和解压缩zip文件
  2. 归档文件操作
    • tar:最广泛使用的归档工具(可以与压缩结合使用)
    • ar: 创建、修改和提取静态库文件(.a文件),主要用于程序开发

九、系统安全

  1. 防火墙管理
    • iptables:配置Linux内核防火墙
  2. 日志管理
    • journalctl:查询systemd日志
    • logrotate:系统日志的轮转、压缩和邮寄
  3. 权限控制
    • sudo:以其他用户身份执行命令
    • su:切换用户

十、调度和自动化

  1. 定时任务
    • cron:用于定时执行命令
    • at:用于在指定时间执行命令
  2. 脚本编写
    • bash:GNU Bourne-Again SHell
    • shell scripting:Shell脚本编程

【知识拓展】

  1. Linux常用命令及分类,示意图如下overview.jpg
  2. 命令组合与管道
    • 使用管道符 "|" 组合多个命令
    • 使用 "&&" 和 "||" 实现条件执行
  3. 输入/输出重定向
    • 使用 ">" 将输出重定向到文件
    • 使用 ">>" 追加输出到文件末尾
    • 使用 "<" 从文件读取输入
  4. 命令替换
    • 使用反引号 或 $() 将命令输出作为参数
  5. 通配符和正则表达式
    • 使用 "*"、"?"等通配符匹配文件名
    • 在支持正则表达式的命令中使用正则表达式