跳转至

Ubuntu常用命令

熟悉使用基本的Linux命令对于使用Ubuntu系统十分必要,以下为您列出常用的命令介绍

  • ls – 列出目录内容

    ls           # 列出当前目录的文件和子目录
    ls -l        # 详细列表(权限、所有者、大小等)
    ls -a        # 显示所有文件(包括隐藏文件,如 .bashrc)
    ls /etc      # 列出 /etc 目录下的内容
    
  • cd – 切换目录

    cd /var/log  # 进入 /var/log 目录
    cd ~         # 切换到当前用户的主目录(如 /home/bygpu)
    cd ..        # 返回上一级目录
    cd -         # 返回上一次所在的目录
    
  • cp – 复制文件或目录

    cp file1.txt file2.txt          # 复制 file1.txt 并重命名为 file2.txt
    cp -r dir1 dir2                 # 递归复制整个目录(包括子目录)
    cp /home/user/file.txt /tmp/ 
    
  • mv – 移动或重命名文件

    mv old.txt new.txt       # 重命名文件
    mv file.txt /tmp/        # 移动文件到 /tmp 目录
    mv dir1/ /backup/        # 移动整个目录
    
  • rm – 删除文件或目录

    rm file.txt              # 删除文件
    rm -r dir/               # 递归删除目录(包括子目录)
    rm -f log.txt            # 强制删除(不提示确认)
    
    注意:文件一经删除不可恢复,请谨慎使用;

  • mkdir – 创建目录

    mkdir new_folder        # 创建名为 new_folder 的目录
    mkdir -p dir1/dir2      # 递归创建多级目录
    
  • touch – 创建空文件

    touch newfile.txt       # 创建空文件
    
  • less – 分页查看文件

    less /var/log/syslog    # 分页查看日志(可上下滚动)
    
  • vim/nano – 编辑文本文件

    vim与nano使用较为复杂,请参考其他文档学习

  • sudo – 以超级用户权限执行命令

    sudo apt update         # 以 root 权限更新软件包列表
    sudo vim /etc/hosts    # 以 root 权限编辑 hosts 文件
    
    说明:sudo 用于执行需要管理员权限的命令。

  • nvidia-smi - 查看GPU信息

    nvidia-smi            # 查看gpu信息
    nvidia-smi -l 1       # 实时查看gpu信息,1s刷新一次
    
    输出示例:
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 550.120                Driver Version: 550.120        CUDA Version: 12.4     |
    |-----------------------------------------+------------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
    |                                         |                        |               MIG M. |
    |=========================================+========================+======================|
    |   0  NVIDIA GeForce RTX 4090        Off |   00000000:03:00.0  On |                  Off |
    | 80%   64C    P0            282W /  450W |   22294MiB /  49140MiB |    100%      Default |
    |                                         |                        |                  N/A |
    +-----------------------------------------+------------------------+----------------------+
    
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |    0   N/A  N/A      1709      G   /usr/lib/xorg/Xorg                            221MiB |
    |    0   N/A  N/A      1937    C+G   ...libexec/gnome-remote-desktop-daemon        390MiB |
    |    0   N/A  N/A      1991      G   /usr/bin/gnome-shell                           77MiB |
    |    0   N/A  N/A   2828175      C   python                                       7172MiB |
    |    0   N/A  N/A   2829670      C   python                                       7172MiB |
    |    0   N/A  N/A   2836918      C   python                                       7172MiB |
    +-----------------------------------------------------------------------------------------+
    
    关键信息:
    Driver Version      # GPU驱动版本号
    CUDA Version        # 驱动最高支持的CUDA版本,注意:是支持的最高CUDA版本,不是指当前安装的CUDA版本
    Memory-Usage        # 显存的使用情况,如:22294MiB /  49140MiB,前者代表已使用的显存,后者代表总显存
    GPU-Util            # GPU的使用率百分比
    Temp                # GPU温度
    Pwr:Usage/Cap       # GPU当前功耗与最大功耗
    Processes           # 使用GPU的进程与占用显存数
    

  • df – 查看磁盘空间

    df -h                  # 以易读格式(GB/MB)显示磁盘使用情况
    df /home               # 查看 /home 分区的空间
    
    说明:df命令也可以查看到挂载硬盘的目录。

  • du – 查看指定目录占用空间

    du -sh /var/log        # 查看 /var/log 目录的总大小
    du -h --max-depth=1 /  # 查看根目录下各子目录的大小
    
  • apt update – 更新软件包列表

    sudo apt upgrade      # 升级所有可升级的软件
    
  • apt install – 安装软件

    sudo apt install nginx # 安装 nginx
    
  • apt remove – 卸载软件

    sudo apt remove nginx # 卸载 nginx(保留配置文件)
    sudo apt purge nginx  # 完全删除(包括配置文件)
    
    说明:purge 会清理配置文件。

  • top – 查看系统进程

    top                    # 动态查看进程(按 CPU 排序)
    
  • ps – 查看进程状态

    ps aux | grep nginx    # 查找 nginx 相关进程
    ps -ef                 # 显示所有进程
    
  • kill – 终止进程

    kill 1234              # 终止 PID 为 1234 的进程
    kill -9 1234           # 强制终止(如果普通 kill 无效)
    
    说明:-9 是强制终止信号(慎用,可能导致数据丢失)。

  • reboot / shutdown – 重启或关机

    sudo reboot            # 立即重启
    sudo shutdown -h now   # 立即关机
    sudo shutdown -r 10    # 10 分钟后重启
    
  • chmod – 修改文件权限

    chmod 755 script.sh      # 设置权限为 rwxr-xr-x
    chmod +x install.sh      # 添加可执行权限
    chmod u=rw,go=r file.txt # 设置用户可读写,组和其他人只读
    
    说明:755 = 用户(7=rwx),组(5=r-x),其他人(5=r-x),+x 使文件可执行。

  • chown – 修改文件所有者

    sudo chown user:group file.txt  # 修改所有者和组
    sudo chown root /etc/passwd     # 将文件所有者改为 root
    
    说明:通常需要 sudo 权限。

  • netstat – 查看网络连接

    netstat -tuln         # 查看所有监听端口
    netstat -anp | grep 80 # 查找 80 端口的进程
    
    说明:-t TCP,-u UDP,-l 监听。

  • wget / curl – 下载文件

    wget https://example.com/file.zip  # 下载文件
    curl -O https://example.com/file.zip # 类似 wget
    
    说明:wget 适合下载,curl 更灵活(支持 API 请求),更多信息可查看相关文档

  • tar – 压缩 / 解压 tar 格式

    # 压缩
    tar -czvf archive.tar.gz /path/to/directory_or_file     # 压缩为 .tar.gz(gzip 压缩)
    tar -cjvf archive.tar.bz2 /path/to/directory_or_file    # 压缩为 .tar.bz2(bzip2 压缩,压缩率更高)
    tar -cJvf archive.tar.xz /path/to/directory_or_file     # 压缩为 .tar.xz(xz 压缩,压缩率最高)
    
    # 解压
    tar -xzvf archive.tar.gz        # 解压 .tar.gz
    tar -xjvf archive.tar.bz2       # 解压 .tar.bz2 
    tar -xJvf archive.tar.xzvf      # 解压 .tar.xz
    tar -xvf archive.tar.*          # 自动识别格式解压
    
    参数 说明 参数 说明
    -c 创建压缩文件 -J 使用 xz 压缩/解压
    -x 解压文件 -v 显示详细过程
    -z 使用 gzip 压缩/解压 -f 指定文件名
    -j 使用 bzip2 压缩/解压
  • zip – 压缩 / 解压 zip 格式

    # 压缩
    zip -r archive.zip /path/to/directory_or_file           # 压缩文件或目录
    zip archive.zip file1.txt file2.txt                     # 压缩多个文件
    zip -r -s 100m archive.zip large_folder/                # 分卷压缩(每个分卷 100M)
    
    # 解压
    unzip archive.zip                                       # 解压到当前目录
    unzip archive.zip -d /target/directory                  # 解压到指定目录
    unzip -l archive.zip                                    # 查看压缩包内容(不解压)
    
  • rar – 解压 rar 格式

    需要先安装 unrar:

    sudo apt install unrar              # 安装unrar
    
    # 解压
    unrar x archive.rar                             # 解压到当前目录
    unrar x archive.rar /target/directory           # 解压到指定目录
    unrar l archive.rar                             # 仅查看内容
    

  • bzip2 – 压缩 / 解压 bz2 格式

    # 压缩
    bzip2 file.txt          # 压缩文件(生成 .bz2 文件)
    bzip2 -k file.txt       # 压缩并保留原文件
    
    # 解压
    bunzip2 file.txt.bz2            # 解压 .bz2 文件
    bzip2 -d file.txt.bz2           # 或使用 bzip2
    
  • 7z – 压缩 / 解压 7z 格式

    需要先安装 p7zip-full:

    sudo apt install p7zip-full
    
    # 压缩
    7z a archive.7z /path/to/directory_or_file          # 压缩文件或目录
    7z a -mx=9 archive.7z /path/to/files                # 最大压缩率
    
    # 解压
    7z x archive.7z                                 # 解压到当前目录
    7z x archive.7z -o /target/directory            # 解压到指定目录