Linux命令101

包含101个运维工作中最常用的Linux命令,按功能分类整理,每个命令包含简介、常用参数和典型用法示例。


系统监控类命令

  • top
  • ps
  • df
  • free
  • netstat
  • iostat
  • uptime
  • sar
  • vmstat
  • ifconfig

1. top - 实时显示系统中各个进程的资源占用状况

  • 简介:提供系统整体运行状态的实时视图,包括CPU、内存使用和进程信息。

  • 参数
    • -b:批处理模式,适合脚本使用
    • -n:指定更新次数
    • -d:设置更新间隔时间(秒)
  • 用法
    top -b -n 1 > top_output.txt  # 批处理模式运行一次并保存结果
    top -d 2                       # 每2秒更新一次显示
    

2. ps - 报告当前系统的进程状态

  • 简介:快照式显示当前系统进程信息。

  • 参数
    • aux:显示所有进程,包括其他用户的
    • -e:显示所有进程
    • -f:全格式显示
    • -u:按用户筛选
  • 用法
    ps aux | grep nginx  # 查找nginx相关进程
    ps -ef | grep sshd   # 查找sshd相关进程
    

3. df - 报告文件系统的磁盘空间使用情况

  • 简介:显示文件系统磁盘空间使用情况。

  • 参数
    • -h:以易读格式(如GB、MB)显示
    • -i:显示inode信息
    • -T:显示文件系统类型
  • 用法
    df -h /data           # 查看/data目录所在分区的使用情况
    df -i /home           # 查看/home目录的inode使用情况
    

4. free - 显示系统的内存使用情况

  • 简介:报告系统内存使用情况,包括物理内存和交换空间。

  • 参数
    • -h:以易读格式显示
    • -m:以MB为单位显示
    • -s:设置刷新间隔时间(秒)
  • 用法
    free -h               # 显示系统内存使用情况
    free -m -s 2          # 每2秒刷新一次,以MB为单位显示
    

5. netstat - 显示网络连接、路由表、接口统计等

  • 简介:网络状态统计工具,显示网络连接、路由表等信息。

  • 参数
    • -a:显示所有连接和监听端口
    • -t:显示TCP连接
    • -u:显示UDP连接
    • -n:以数字形式显示地址和端口
    • -r:显示路由表
  • 用法
    netstat -tuln        # 查看所有监听的TCP和UDP端口
    netstat -rn          # 查看路由表信息
    

6. iostat - 监控系统的输入/输出设备负载

  • 简介:报告中央处理单元(CPU)的使用情况和磁盘I/O统计信息。

  • 参数
    • -x:显示扩展统计信息
    • -d:仅显示设备统计
    • -k:以KB为单位显示
    • -m:以MB为单位显示
  • 用法
    iostat -x 2 5        # 每2秒报告一次,共报告5次,显示扩展统计
    iostat -d /dev/sda   # 仅显示指定设备的统计信息
    

7. uptime - 显示系统运行时间、用户数和负载平均值

  • 简介:显示系统运行时间、当前时间、用户数和系统负载平均值。

  • 参数:无常用参数

  • 用法

    uptime               # 显示系统运行时间等信息
    

8. sar - 系统活动报告

  • 简介:收集、报告和保存系统活动信息。

  • 参数
    • -u:CPU使用率报告
    • -r:内存使用率报告
    • -d:磁盘使用率报告
    • -n:网络使用率报告
  • 用法
    sar -u 2 5           # 每2秒收集一次CPU使用率,共收集5次
    sar -r               # 报告内存使用率
    

9. vmstat - 报告虚拟内存使用情况

  • 简介:报告虚拟内存、进程、CPU等系统状态信息。

  • 参数
    • -a:显示可用内存
    • -m:显示slab信息
    • -s:显示各种内存统计
  • 用法
    vmstat 2 5           # 每2秒报告一次,共报告5次系统状态
    vmstat -a            # 显示可用内存信息
    

10. ifconfig - 配置和显示网络接口信息

  • 简介:配置和查询网络接口的参数。

  • 参数
    • up:激活网络接口
    • down:停用网络接口
    • address:设置IP地址
  • 用法
    ifconfig eth0        # 查看eth0接口的配置
    ifconfig eth0 up     # 激活eth0接口
    

文件管理类命令

  • ls
  • cp
  • mv
  • rm
  • mkdir
  • rmdir
  • touch
  • cat
  • grep
  • find

11. ls - 列出目录内容

  • 简介:列出指定目录中的内容。

  • 参数
    • -l:长格式显示
    • -a:显示包括隐藏文件在内的所有文件
    • -h:以易读格式显示文件大小
    • -t:按修改时间排序
  • 用法
    ls -l /home/user     # 以长格式列出/home/user目录内容
    ls -la               # 列出当前目录所有文件,包括隐藏文件
    

12. cp - 复制文件和目录

  • 简介:复制文件或目录。

  • 参数
    • -r:递归复制目录
    • -p:保留原文件属性
    • -f:强制复制,覆盖目标文件时不提示
  • 用法
    cp file1.txt file2.txt      # 复制文件
    cp -r dir1/ dir2/           # 复制目录
    

13. mv - 移动或重命名文件

  • 简介:移动文件或重命名文件。

  • 参数
    • -f:强制移动,覆盖目标文件时不提示
    • -i:交互模式,在覆盖前提示确认
    • -u:仅在源文件比目标文件新时才移动
  • 用法
    mv file.txt newfile.txt     # 重命名文件
    mv file.txt /tmp/           # 移动文件到/tmp目录
    

14. rm - 删除文件或目录

  • 简介:删除文件或目录。

  • 参数
    • -f:强制删除,忽略不存在的文件,不提示确认
    • -i:交互模式,在删除前提示确认
    • -r:递归删除目录及内容
  • 用法
    rm -f file.txt              # 强制删除文件
    rm -rf dir/                 # 递归强制删除目录
    

15. mkdir - 创建目录

  • 简介:创建目录。

  • 参数
    • -p:递归创建目录,父目录不存在时自动创建
    • -m:设置目录权限
  • 用法
    mkdir newdir                # 创建新目录
    mkdir -p /path/to/dir       # 创建多级目录
    

16. rmdir - 删除目录

  • 简介:删除空目录。

  • 参数
    • -p:递归删除目录,父目录变为空时也删除
  • 用法
    rmdir emptydir             # 删除空目录
    rmdir -p dir/subdir        # 递归删除空目录
    

17. touch - 更改文件的时间戳或创建空文件

  • 简介:更新文件的时间戳,或创建空文件。

  • 参数
    • -c:不创建文件,仅在文件存在时更新时间戳
    • -t:指定时间戳
  • 用法
    touch newfile.txt          # 创建新空文件
    touch -t 202307010000 file.txt  # 设置文件时间戳为2023-07-01 00:00
    

18. cat - 连接文件并打印到标准输出

  • 简介:显示文件内容或连接多个文件。

  • 参数
    • -n:显示行号
    • -b:对非空行显示行号
    • -s:压缩连续的空行
    • -v:显示控制字符
  • 用法
    cat file.txt               # 显示文件内容
    cat file1.txt file2.txt > combined.txt  # 合并文件内容
    

19. grep - 在文件中搜索指定的字符串

  • 简介:在文件中搜索匹配指定模式的行。

  • 参数
    • -i:忽略大小写
    • -v:反向匹配,显示不匹配的行
    • -n:显示匹配行的行号
    • -r:递归搜索目录
  • 用法
    grep "pattern" file.txt    # 在文件中搜索包含"pattern"的行
    grep -r "error" /var/log/  # 递归搜索日志文件中的"error"
    

20. find - 在文件系统中搜索文件

  • 简介:按照指定条件在文件系统中搜索文件。

  • 参数
    • -name:按文件名搜索
    • -type:按文件类型搜索(f-文件,d-目录)
    • -mtime:按修改时间搜索
    • -size:按文件大小搜索
    • -exec:对找到的文件执行指定命令
  • 用法
    find /etc -name "*.conf"   # 在/etc目录下查找所有.conf文件
    find /var/log -mtime -7    # 查找最近7天内修改过的文件
    

用户管理类命令

  • useradd
  • usermod
  • userdel
  • passwd
  • su
  • sudo
  • id
  • who
  • last
  • finger

21. useradd - 创建新用户

  • 简介:创建新的用户账户。

  • 参数
    • -u:指定用户ID
    • -g:指定主组
    • -G:指定附加组
    • -d:指定主目录
    • -s:指定登录Shell
  • 用法
    useradd -m newuser        # 创建新用户并自动创建主目录
    useradd -g users -G admin,dev newuser  # 指定主组和附加组
    

22. usermod - 修改用户账户设置

  • 简介:修改用户账户配置。

  • 参数
    • -l:更改用户名
    • -d:更改主目录
    • -g:更改主组
    • -G:更改附加组
    • -s:更改登录Shell
    • -L:锁定用户账户
    • -U:解锁用户账户
  • 用法
    usermod -g developers user1  # 更改用户主组
    usermod -L user1             # 锁定用户账户
    

23. userdel - 删除用户账户

  • 简介:删除用户账户及其主目录。

  • 参数
    • -r:删除用户主目录及邮件箱
  • 用法
    userdel -r olduser          # 删除用户及主目录
    

24. passwd - 修改用户密码

  • 简介:更改用户密码。

  • 参数
    • -l:锁定用户账户
    • -u:解锁用户账户
    • -e:立即过期用户密码,强制下次登录时更改
    • -d:删除用户密码
  • 用法
    passwd user1                # 更改user1的密码
    passwd -l user2             # 锁定user2账户
    

25. su - 切换用户

  • 简介:切换当前用户身份。

  • 参数
    • -:完整切换环境,等同于-l
    • -c:执行指定命令后退出
    • -s:指定使用的Shell
  • 用法
    su - root                   # 切换到root用户,加载root环境
    su -c "ls /root" user2      # 以user2身份执行ls命令
    

26. sudo - 以超级用户或其他用户身份执行命令

  • 简介:允许授权用户以其他用户(通常是root)身份执行命令。

  • 参数
    • -i:以目标用户身份启动交互Shell
    • -l:列出允许执行的命令
    • -u:指定以哪个用户身份执行
    • -b:在后台执行命令
    • -v:延长sudo权限时间
  • 用法
    sudo apt update            # 以root权限执行命令
    sudo -u user2 ls /home/user2  # 以user2身份执行命令
    

27. id - 打印用户和组信息

  • 简介:显示用户的UID、GID和所属组信息。

  • 参数
    • -u:仅显示用户ID
    • -g:仅显示主组ID
    • -G:显示所有组ID
    • -n:以名称而非ID显示
  • 用法
    id user1                   # 显示user1的用户和组信息
    id -Gn user1               # 显示user1所属的所有组名称
    

28. who - 显示当前登录的用户

  • 简介:显示当前登录到系统的用户信息。

  • 参数
    • -H:显示表头信息
    • -u:显示用户进程信息
    • -q:快速显示所有登录用户
    • -b:显示系统上次启动时间
  • 用法
    who -u                     # 显示登录用户及其进程信息
    who -b                     # 显示系统上次启动时间
    

29. last - 显示过去登录的用户

  • 简介:显示系统的用户登录历史和系统运行时间信息。

  • 参数
    • -n:限制显示的记录数量
    • -x:包括系统运行和关机记录
    • -f:指定包含登录记录的文件
  • 用法
    last -n 5                  # 显示最近5条登录记录
    last reboot                # 显示系统启动和关机记录
    

30. finger - 查看用户信息

  • 简介:显示系统用户的相关信息,如登录名、真实姓名、终端、登录时间等。

  • 参数
    • -l:长格式显示详细信息
    • -s:短格式显示
    • -p:不显示用户计划文件(.plan)
  • 用法
    finger user1               # 显示user1的用户信息
    finger -l user1            # 详细显示user1的信息
    

网络管理类命令

  • ping
  • ssh
  • scp
  • rsync
  • wget
  • curl
  • ifconfig(已在系统监控类列出)
  • ip
  • netstat(已在系统监控类列出)
  • traceroute

31. ping - 测试网络连接

  • 简介:向网络主机发送ICMP回显请求消息,用于测试网络连接。

  • 参数
    • -c:发送指定数量的回显请求后停止
    • -i:设置发送回显请求的时间间隔(秒)
    • -s:设置发送数据包的大小(字节)
  • 用法
    ping -c 4 google.com       # 向google.com发送4个ICMP请求
    ping -s 1024 8.8.8.8       # 发送1024字节的数据包到8.8.8.8
    

32. ssh - 远程登录到另一台计算机

  • 简介:安全地远程登录到另一台计算机执行命令或开启会话。

  • 参数
    • -p:指定远程主机的SSH端口
    • -i:指定用于身份认证的私钥文件
    • -L:指定本地端口转发
    • -R:指定远程端口转发
  • 用法
    ssh user@remote_host       # 远程登录到主机
    ssh -p 2222 user@host      # 指定自定义SSH端口
    

33. scp - 安全地复制文件

  • 简介:基于SSH安全地复制文件。

  • 参数
    • -r:递归复制目录
    • -C:启用压缩
    • -P:指定远程主机的SSH端口
  • 用法
    scp file.txt user@remote:/path/  # 上传文件到远程主机
    scp user@remote:/path/file.txt . # 从远程主机下载文件
    

34. rsync - 快速高效地同步文件

  • 简介:快速同步文件和目录到本地或远程系统。

  • 参数
    • -a:归档模式,等同于-rlptgoD(递归、保持符号链接等)
    • -z:压缩传输数据
    • -v:详细模式,显示传输过程
    • -h:以易读格式显示文件大小
    • -n:模拟传输过程,不实际传输文件
  • 用法
    rsync -avz /local/dir/ user@remote:/remote/dir/  # 同步本地目录到远程
    rsync -avz user@remote:/remote/dir/ /local/dir/  # 从远程同步到本地
    

35. wget - 从网络下载文件

  • 简介:网络下载工具,支持HTTP、HTTPS、FTP协议。

  • 参数
    • -O:指定本地保存的文件名
    • -q:安静模式,不显示输出
    • -c:断点续传
    • -r:递归下载
    • -P:指定下载到的目录
  • 用法
    wget http://example.com/file.zip  # 下载文件
    wget -O newname.zip http://example.com/file.zip  # 指定保存文件名
    

36. curl - 传输数据的工具

  • 简介:客户端URL工具,支持多种协议,用于数据传输。

  • 参数
    • -o:指定输出文件名
    • -O:使用远程文件名保存
    • -L:跟随重定向
    • -H:添加自定义HTTP头部
    • -d:发送POST数据
    • -X:指定请求方法(如GET、POST、PUT等)
  • 用法
    curl -o page.html http://example.com  # 下载网页并保存为page.html
    curl -X POST -d "param1=value1&param2=value2" http://example.com/api  # 发送POST请求
    

37. ip - 显示和操作路由、网络设备等

  • 简介:显示和操作路由、网络设备、接口等网络设置。

  • 参数
    • addr:显示和操作IP地址
    • link:显示和操作设备
    • route:显示和操作路由表
    • neigh:显示和操作邻居表(ARP表)
  • 用法
    ip addr show               # 显示网络接口IP地址信息
    ip link set dev eth0 up    # 激活网络接口
    

38. traceroute - 跟踪数据包的路由路径

  • 简介:跟踪数据包从本地主机到目标主机所经过的路由。

  • 参数
    • -n:不解析地址,直接以IP显示
    • -q:指定每跳发送的查询包数量
    • -w:指定等待响应的时间(秒)
  • 用法
    traceroute google.com      # 跟踪到google.com的路由路径
    traceroute -n 8.8.8.8      # 跟踪到8.8.8.8的路由,显示IP而非域名
    

文本处理类命令

  • sed
  • awk
  • cut
  • paste
  • sort
  • uniq
  • head
  • tail
  • nl
  • wc

39. sed - 流编辑器,用于处理文本

  • 简介:流编辑器,用于对文本进行基本的转换操作。

  • 参数
    • -n:安静模式,仅输出处理结果
    • -i:直接修改文件
    • -e:指定编辑命令
  • 用法
    sed 's/old/new/g' file.txt  # 将文件中的"old"替换为"new"
    sed -i '1d' file.txt        # 删除文件的第一行
    

40. awk - 文本处理和报告生成工具

  • 简介:强大的文本处理语言,适用于格式化文本数据。

  • 参数
    • -F:指定字段分隔符
    • -v:定义变量
    • -f:指定包含Awk程序的脚本文件
  • 用法
    awk '{print $1}' file.txt   # 打印文件的第1列
    awk -F: '{print $1}' /etc/passwd  # 以":"为分隔符打印第1列
    

41. cut - 从文件中剪切字节、字符和字段

  • 简介:剪切文件的指定部分。

  • 参数
    • -d:指定字段分隔符
    • -f:指定要保留的字段
    • -c:指定要保留的字符位置
    • -b:指定要保留的字节位置
  • 用法
    cut -d: -f1 /etc/passwd    # 以":"为分隔符,提取/etc/passwd的第1个字段
    cut -c1-10 file.txt        # 提取文件前10个字符
    

42. paste - 合并文件的行

  • 简介:将多个文件的行并排放置,可以进行简单的列合并。

  • 参数
    • -d:指定分隔符
    • -s:合并所有行到一行
  • 用法
    paste file1.txt file2.txt  # 合并两个文件的对应行
    paste -d',' file1.txt file2.txt > merged.txt  # 用逗号分隔合并行
    

43. sort - 对文本文件进行排序

  • 简介:对文本文件的行进行排序。

  • 参数
    • -n:按照数值大小排序
    • -r:反向排序
    • -k:指定排序的键(列)
    • -t:指定字段分隔符
    • -u:去除重复行
  • 用法
    sort file.txt              # 按字母顺序排序文件
    sort -n -k3 data.txt       # 按第3列数值排序
    

44. uniq - 去除重复行

  • 简介:报告或忽略文件中的重复行。

  • 参数
    • -c:显示每行出现的次数
    • -d:仅显示重复的行
    • -u:仅显示唯一的行
  • 用法
    uniq file.txt              # 去除相邻的重复行
    sort file.txt | uniq -c    # 统计每行出现的次数
    

45. head - 显示文件的开头部分

  • 简介:显示文件的开头内容,默认显示前10行。

  • 参数
    • -n:指定显示的行数
    • -q:不显示文件名
    • -v:始终显示文件名
  • 用法
    head -n 5 file.txt         # 显示文件的前5行
    head -q file1.txt file2.txt  # 显示两个文件的前10行,不显示文件名
    

46. tail - 显示文件的末尾部分

  • 简介:显示文件的末尾内容,默认显示最后10行,支持实时跟踪(类似日志监视)。

  • 参数
    • -n:指定显示的行数
    • -f:实时显示追加的内容(常用于监视日志)
    • -q:不显示文件名
    • -v:始终显示文件名
  • 用法
    tail -n 100 file.txt       # 显示文件的最后100行
    tail -f /var/log/nginx/access.log  # 实时监视访问日志
    

47. nl - 给文件行添加编号

  • 简介:将文件的内容输出,并给行添加编号。

  • 参数
    • -w:指定编号占用的宽度
    • -s:指定编号与文本之间的分隔符
    • -v:指定起始编号
    • -b:指定编号方式(a-所有行,t-非空行)
  • 用法
    nl file.txt                # 给文件所有行添加编号
    nl -b t file.txt           # 仅给非空行添加编号
    

48. wc - 打印字节数、字数和行数

  • 简介:统计文件的字节数、字数和行数。

  • 参数
    • -c:显示字节数
    • -w:显示字数(以空格分隔)
    • -l:显示行数
    • -m:显示字符数(多字节字符支持)
  • 用法
    wc -l file.txt             # 统计文件的行数
    wc -w file.txt             # 统计文件的字数
    

压缩归档类命令

  • tar
  • gzip
  • gunzip
  • zip
  • unzip
  • bzip2
  • bunzip2
  • 7z
  • xz
  • unxz

49. tar - 归档文件

  • 简介:归档工具,支持多种压缩格式。

  • 参数
    • -c:创建归档文件
    • -x:解压归档文件
    • -f:指定归档文件名
    • -v:详细模式,显示处理过程
    • -z:gzip压缩
    • -j:bzip2压缩
    • -J:xz压缩
    • -t:列出归档文件内容
  • 用法
    tar -czvf archive.tar.gz dir/  # 创建gzip压缩归档
    tar -xzvf archive.tar.gz       # 解压gzip归档
    

50. gzip - 压缩文件

  • 简介:使用LZ77算法压缩文件。

  • 参数
    • -d:解压
    • -f:强制覆盖现有文件
    • -k:保留原文件
    • -r:递归压缩目录
    • -v:详细模式
  • 用法
    gzip file.txt                 # 压缩文件,生成file.txt.gz
    gzip -d file.txt.gz           # 解压文件
    

51. gunzip - 解压gzip压缩的文件

  • 简介:解压gzip格式的压缩文件。

  • 参数与gzip类似

  • 用法

    gunzip file.txt.gz            # 解压文件
    

52. zip - 压缩文件

  • 简介:使用ZIP格式压缩文件。

  • 参数
    • -r:递归压缩目录
    • -q:安静模式,不显示输出
    • -d:从压缩文件中删除指定文件
    • -u:更新压缩文件中的文件
  • 用法
    zip -r archive.zip dir/       # 压缩目录到archive.zip
    zip -u archive.zip newfile.txt  # 将新文件添加到已有的压缩文件
    

53. unzip - 解压zip压缩的文件

  • 简介:解压ZIP格式的压缩文件。

  • 参数
    • -l:列出压缩文件内容
    • -o:覆盖现有文件时不提示
    • -n:不解压已存在的文件
    • -d:指定解压目录
  • 用法
    unzip archive.zip             # 解压压缩文件
    unzip archive.zip -d /tmp/    # 指定解压到/tmp目录
    

54. bzip2 - 压缩文件

  • 简介:使用Burrows-Wheeler变换算法进行高压缩比压缩。

  • 参数
    • -d:解压
    • -f:强制覆盖现有文件
    • -k:保留原文件
    • -v:详细模式
  • 用法
    bzip2 file.txt                # 压缩文件,生成file.txt.bz2
    bzip2 -d file.txt.bz2         # 解压文件
    

55. bunzip2 - 解压bzip2压缩的文件

  • 简介:解压bzip2格式的压缩文件。

  • 参数与bzip2类似

  • 用法

    bunzip2 file.txt.bz2          # 解压文件
    

56. 7z - 使用7-zip算法压缩和解压文件

  • 简介:7-zip格式的压缩和解压工具,支持多种压缩格式。

  • 参数
    • a:添加文件到压缩文件
    • x:解压文件,保留完整路径
    • e:解压文件,忽略路径
    • -m:设置压缩方法
    • -mx:设置压缩级别(0-9)
    • -p:设置密码
  • 用法
    7z a archive.7z dir/         # 压缩目录到archive.7z
    7z x archive.7z              # 解压压缩文件
    

57. xz - 压缩文件

  • 简介:使用XZ Utils提供的高压缩比格式。

  • 参数
    • -d:解压
    • -f:强制覆盖现有文件
    • -k:保留原文件
    • -v:详细模式
    • -z:压缩(默认操作)
  • 用法
    xz file.txt                  # 压缩文件,生成file.txt.xz
    xz -d file.txt.xz            # 解压文件
    

58. unxz - 解压xz压缩的文件

  • 简介:解压xz格式的压缩文件。

  • 参数与xz类似

  • 用法

    unxz file.txt.xz             # 解压文件
    

进程管理类命令

  • ps(已在系统监控类列出)
  • top(已在系统监控类列出)
  • kill
  • killall
  • pkill
  • nice
  • renice
  • nohup
  • bg
  • fg

59. kill - 向进程发送信号

  • 简介:向进程发送指定信号。

  • 参数
    • -l:列出所有信号名称
    • -s:指定发送的信号
    • -SIG:指定信号(如SIGKILL、SIGTERM)
  • 用法
    kill 1234                    # 向PID为1234的进程发送SIGTERM信号
    kill -9 1234                 # 向PID为1234的进程发送SIGKILL信号
    

60. killall - 向匹配进程名称的所有进程发送信号

  • 简介:按进程名称向所有匹配的进程发送信号。

  • 参数
    • -i:交互模式,发送前提示确认
    • -q:安静模式,不显示输出
    • -r:解释正则表达式为模式
    • -s:指定发送的信号
    • -v:详细模式
  • 用法
    killall nginx                # 向所有nginx进程发送SIGTERM
    killall -9 nginx             # 向所有nginx进程发送SIGKILL
    

61. pkill - 通过名称查找并终止进程

  • 简介:根据进程名称或其他属性查找并发送信号到进程。

  • 参数
    • -f:完整匹配命令行
    • -g:指定进程组ID
    • -u:指定用户
    • -signal:指定发送的信号
  • 用法
    pkill nginx                  # 向所有nginx进程发送SIGTERM
    pkill -9 -u user1 process   # 向user1的特定进程发送SIGKILL
    

62. nice - 运行具有修改过调度优先级的程序

  • 简介:设置进程的CPU调度优先级。

  • 参数
    • -n:指定优先级(-20到19,数值越小优先级越高)
  • 用法
    nice -n 10 command           # 以较低优先级运行命令
    

63. renice - 调整进程的优先级

  • 简介:更改正在运行的进程的调度优先级。

  • 参数
    • -n:指定优先级增量
    • -p:指定进程ID
    • -u:指定用户
    • -g:指定组
  • 用法
    renice +5 -p 1234            # 将PID为1234的进程优先级降低5
    

64. nohup - 忽略挂起信号运行命令

  • 简介:使命令忽略挂起信号(SIGHUP),用于在用户退出后继续运行进程。

  • 参数
    • 无特殊参数,直接后接要运行的命令
  • 用法
    nohup command > output.txt 2>&1 &  # 后台运行命令,输出保存到文件
    

65. bg - 将作业置于后台执行

  • 简介:将当前暂停的作业置于后台执行。

  • 参数:无常用参数

  • 用法

    bg %1                        # 将作业1置于后台执行
    

66. fg - 将作业置于前台执行

  • 简介:将后台作业置于前台执行。

  • 参数:无常用参数

  • 用法

    fg %1                        # 将作业1置于前台执行
    

权限管理类命令

  • chmod
  • chown
  • chgrp
  • umask
  • sudo(已在用户管理类列出)
  • su(已在用户管理类列出)
  • id(已在用户管理类列出)
  • groups
  • newgrp
  • gpasswd

67. chmod - 更改文件或目录的访问权限

  • 简介:更改文件或目录的访问权限。

  • 参数
    • -f:安静模式,不显示错误信息
    • -R:递归更改目录权限
    • -v:详细模式,显示修改的文件
  • 用法
    chmod 644 file.txt           # 设置文件权限为rw-r--r--
    chmod -R 755 dir/            # 递归设置目录权限为rwxr-xr-x
    

68. chown - 更改文件或目录的所有者和组

  • 简介:更改文件或目录的所有者和组。

  • 参数
    • -f:安静模式,不显示错误信息
    • -R:递归更改目录权限
    • -v:详细模式,显示修改的文件
    • --reference:参照指定文件的权限进行修改
  • 用法
    chown user1 file.txt         # 更改文件所有者为user1
    chown user1:group1 file.txt  # 同时更改所有者和组
    

69. chgrp - 更改文件或目录的组

  • 简介:更改文件或目录的组。

  • 参数
    • -f:安静模式,不显示错误信息
    • -R:递归更改目录权限
    • -v:详细模式,显示修改的文件
    • --reference:参照指定文件的权限进行修改
  • 用法
    chgrp group1 file.txt        # 更改文件的组为group1
    

70. umask - 设置新建文件的默认权限

  • 简介:设置或报告当前Shell的文件创建掩码。

  • 参数
    • 无参数:显示当前umask值
    • XXX:设置新的umask值(三位八进制数)
  • 用法
    umask 022                   # 设置默认umask为022(文件默认权限644,目录755)
    

71. groups - 打印用户所属的组

  • 简介:显示用户所属的组列表。

  • 参数
    • 无参数:显示当前用户的组
    • 用户名:显示指定用户的组
  • 用法
    groups user1                 # 显示user1所属的组
    

72. newgrp - 登录到新的组

  • 简介:更改当前Shell的组身份。

  • 参数
    • 组名:要切换到的组
  • 用法
    newgrp group1                # 切换当前Shell的组为group1
    

73. gpasswd - 管理组账户

  • 简介:管理组账户,包括添加/删除组成员、更改组密码等。

  • 参数
    • -a:添加用户到组
    • -d:从组中删除用户
    • -A:设置组管理员
    • -g:更改组的GID
    • -o:仅用于系统组
    • -r:删除组
  • 用法
    gpasswd -a user1 group1      # 添加user1到group1
    gpasswd -d user1 group1      # 从group1中删除user1
    

搜索功能增强类命令

  • grep(已在文件管理类列出)
  • egrep
  • fgrep
  • awk(已在文本处理类列出)
  • sed(已在文本处理类列出)
  • sort(已在文本处理类列出)
  • uniq(已在文本处理类列出)
  • cut(已在文本处理类列出)
  • paste(已在文本处理类列出)
  • join

74. egrep - 扩展grep功能,支持更多正则表达式

  • 简介:扩展版本的grep,支持更多的正则表达式语法(如|+()等)。

  • 参数与grep类似

  • 用法

    egrep 'error|warning' file.log  # 查找包含"error"或"warning"的行
    

75. fgrep - 固定字符串的grep搜索

  • 简介:固定字符串版本的grep,不解释正则表达式中的特殊字符。

  • 参数与grep类似

  • 用法

    fgrep '.*' file.txt           # 查找包含字面字符串".*"的行
    

76. join - 连接文件的行

  • 简介:基于共同字段连接两个文件的行,类似SQL的JOIN操作。

  • 参数
    • -t:指定字段分隔符
    • -a:显示未匹配的行(1表示第一个文件,2表示第二个文件)
    • -o:指定输出格式
    • -1:指定第一个文件中用于连接的字段
    • -2:指定第二个文件中用于连接的字段
  • 用法
    join -t: file1.txt file2.txt  # 以":"为分隔符连接两个文件
    

开发工具类命令

  • gcc
  • make
  • gdb
  • valgrind
  • git
  • svn
  • wget(已在网络管理类列出)
  • curl(已在网络管理类列出)
  • python
  • perl
  • java

77. gcc - GNU项目C和C++编译器

  • 简介:GNU编译系统,支持多种编程语言的编译。

  • 参数
    • -o:指定输出文件名
    • -c:仅编译,不链接
    • -g:包含调试信息
    • -Wall:启用所有警告
    • -I:指定头文件搜索路径
    • -L:指定库文件搜索路径
    • -l:链接库
  • 用法
    gcc -o program source.c      # 编译C源文件生成可执行文件
    gcc -c source.c              # 仅编译,生成.o文件
    

78. make - 控制编译过程的工具

  • 简介:根据Makefile文件控制编译和安装过程。

  • 参数
    • -f:指定Makefile文件
    • -C:切换到指定目录执行
    • -n:仅打印执行的命令,不实际执行
    • -j:并行编译,指定同时使用的CPU数量
  • 用法
    make -j4                     # 使用4个CPU核心并行编译
    make install                 # 安装编译后的程序
    

79. gdb - GNU调试器

  • 简介:功能强大的调试器,用于调试C、C++等程序。

  • 参数
    • -batch:批处理模式
    • -ex:执行指定命令
    • -args:指定程序参数
  • 用法
    gdb ./program                # 调试可执行文件
    gdb -ex "run" ./program     # 启动调试并立即运行程序
    

80. valgrind - 内存调试、内存泄漏检测等工具

  • 简介:内存分析工具,用于检测内存泄漏、非法内存访问等问题。

  • 参数
    • --leak-check:指定内存泄漏检查级别(yesfull等)
    • --track-origins:跟踪未初始化值的来源
    • --suppressions:指定抑制文件
  • 用法
    valgrind --leak-check=full ./program  # 详细检查内存泄漏
    

81. git - 分布式版本控制系统

  • 简介:分布式版本控制系统,用于代码版本管理和协作。

  • 参数
    • clone:克隆远程仓库
    • add:添加文件到暂存区
    • commit:提交变更
    • push:推送变更到远程仓库
    • pull:从远程仓库拉取变更
  • 用法
    git clone https://github.com/user/repo.git  # 克隆远程仓库
    git add file.txt                           # 添加文件到暂存区
    git commit -m "message"                    # 提交变更
    

82. svn - 集中式版本控制系统

  • 简介:集中式版本控制系统,用于代码版本管理和协作。

  • 参数
    • checkout:检出远程仓库
    • add:添加文件到版本控制
    • commit:提交变更
    • update:更新本地工作副本
    • status:显示本地修改状态
  • 用法
    svn checkout http://svn.example.com/repo  # 检出远程仓库
    svn add file.txt                          # 添加文件到版本控制
    svn commit -m "message"                   # 提交变更
    

83. python - Python编程语言解释器

  • 简介:Python编程语言的解释器。

  • 参数
    • -c:执行命令字符串
    • -m:运行指定模块
    • -v:详细模式,显示导入过程
    • -V:显示版本信息
  • 用法
    python -c "print('Hello')"                # 执行Python命令
    

84. perl - Perl编程语言解释器

  • 简介:Perl编程语言的解释器。

  • 参数
    • -e:执行命令字符串
    • -n:假设循环while (<>)围绕您的脚本
    • -p:同-n,并打印$_变量
    • -w:启用警告
  • 用法
    perl -e "print 'Hello';"                  # 执行Perl命令
    

85. java - Java编程语言解释器

  • 简介:Java虚拟机,用于运行Java程序。

  • 参数
    • -cp-classpath:指定类路径
    • -D:设置系统属性
    • -version:显示Java版本信息
    • -jar:执行JAR包
  • 用法
    java -cp . MyClass                       # 运行Java类
    java -jar myapp.jar                      # 运行JAR包
    

其他实用命令

  • alias
  • unalias
  • history
  • man
  • info
  • help
  • time
  • which
  • whereis
  • hostname
  • date
  • cal
  • bc
  • echo
  • printf
  • exit
  • uname
  • ping(已在网络管理类列出)

86. alias - 创建命令别名

  • 简介:创建命令别名,简化复杂命令。

  • 参数
    • 无参数:显示所有当前别名
    • alias name='command':创建别名
  • 用法
    alias ll='ls -l'                         # 创建ll别名
    

87. unalias - 删除命令别名

  • 简介:删除之前创建的命令别名。

  • 参数
    • 别名名称:要删除的别名
  • 用法
    unalias ll                               # 删除ll别名
    

88. history - 查看和操作命令历史

  • 简介:显示或操作Shell命令历史记录。

  • 参数
    • -c:清除历史记录
    • -w:将历史写入历史文件
    • -r:从历史文件读取历史
    • -n:显示历史记录数量
  • 用法
    history                                  # 显示命令历史
    history | grep ssh                       # 查找历史中的ssh命令
    

89. man - 显示在线手册页

  • 简介:显示指定命令的在线帮助手册。

  • 参数
    • -f:等同于whatis,简要描述命令
    • -k:等同于apropos,按关键词搜索手册页
    • -w:显示手册页文件的位置
  • 用法
    man ls                                   # 显示ls命令的手册页
    man -k grep                              # 搜索功能相关的手册页
    

90. info - 显示信息页面

  • 简介:显示指定命令的info格式文档。

  • 参数
    • --dir:指定info目录
    • --subdir:指定子目录
    • --standalone:不要追加节点
  • 用法
    info ls                                  # 显示ls命令的信息页面
    

91. help - 显示内置命令的帮助信息

  • 简介:显示Shell内置命令的帮助信息。

  • 参数
    • 命令名称:要查看帮助的命令
  • 用法
    help cd                                  # 显示cd命令的帮助信息
    

92. time - 测量命令执行时间

  • 简介:测量命令的执行时间。

  • 参数
    • -p:以POSIX格式输出
    • -f:指定输出格式
    • -o:指定输出文件
  • 用法
    time ls -R                               # 测量ls -R命令的执行时间
    

93. which - 查找命令的绝对路径

  • 简介:查找并显示命令的绝对路径。

  • 参数
    • -a:显示所有匹配的路径
  • 用法
    which ls                                 # 查找ls命令的路径
    

94. whereis - 定位命令的可执行文件、源代码和手册页

  • 简介:查找命令的可执行文件、源代码和手册页位置。

  • 参数
    • -b:仅查找可执行文件
    • -m:仅查找手册页
    • -s:仅查找源代码
  • 用法
    whereis ls                               # 查找ls命令的相关文件
    

95. hostname - 显示或设置系统的主机名

  • 简介:显示或设置当前系统的主机名。

  • 参数
    • -i:显示主机的IP地址
    • -d:显示域名
    • -f:显示完全限定域名
    • -s:显示短主机名
  • 用法
    hostname                                # 显示当前主机名
    hostname -i                             # 显示主机IP地址
    

96. date - 显示和设置系统日期与时间

  • 简介:显示或设置系统的日期和时间。

  • 参数
    • +%F:以YYYY-MM-DD格式显示日期
    • +%T:以HH:MM:SS格式显示时间
    • --date:显示指定的日期时间
    • --set:设置系统日期时间
  • 用法
    date                                    # 显示当前日期时间
    date '+%Y-%m-%d %H:%M:%S'               # 自定义格式显示日期时间
    

97. cal - 显示日历

  • 简介:显示日历。

  • 参数
    • :指定年份
    • 月 年:指定月份和年份
  • 用法
    cal                                     # 显示当前月日历
    cal 2023                                # 显示2023年全年日历
    

98. bc - 计算器

  • 简介:命令行计算器,支持浮点运算和编程。

  • 参数
    • -l:加载数学库,启用额外的数学函数
    • -i:交互模式
    • -q:安静模式,启动时不显示欢迎信息
  • 用法
    echo "1+2" | bc                         # 计算1+2
    bc -l                                   # 以交互模式启动
    

99. echo - 输出文本

  • 简介:输出指定的文本。

  • 参数
    • -n:不输出末尾的换行符
    • -e:启用对反斜杠转义字符的处理
    • -E:禁用对反斜杠转义字符的处理(默认)
  • 用法
    echo "Hello"                            # 输出Hello
    echo -e "Hello\nWorld"                  # 输出多行文本
    

100. printf - 格式化输出

  • 简介:格式化输出文本。

  • 参数
    • 格式字符串:指定输出格式(如%s%d等)
    • 参数:按照格式字符串指定的顺序提供
  • 用法
    printf "Number: %d\n" 100               # 格式化输出数字
    

101. exit - 退出Shell

  • 简介:退出当前Shell会话。

  • 参数
    • 状态码:指定退出状态(0表示成功,非0表示错误)
  • 用法
    exit                                    # 退出当前Shell
    exit 0                                  # 以状态码0退出
    

results matching ""

    No results matching ""