Linux 命令行操作指南

Linux 是一个可以通过 VS Code 终端窗口的命令行访问的操作系统。以下是一些常见的命令行参数:

常用命令

  • cd:用于更改当前目录(文件夹)。
  • cp:用于复制文件和目录。
  • ls:用于列出目录中的文件。
  • mkdir:用于创建目录。
  • mv:用于移动(重命名)文件和目录。
  • rm:用于删除文件。
  • rmdir:用于删除空目录。

示例

  1. pwd:显示当前工作目录的路径

    1
    pwd
  2. cd:切换工作目录

    1
    cd /path/to/directory
  3. mkdir:创建新目录

    1
    mkdir directory_name
  4. rmdir:删除空目录

    1
    rmdir directory_name
  5. rm:删除文件或目录

    1
    2
    rm file_name
    rm -r directory_name # 递归删除目录及其内容
  6. cp:复制文件或目录

    1
    2
    cp source_file destination
    cp -r source_directory destination # 递归复制目录及其内容
  7. mv:移动或重命名文件或目录

    1
    mv old_name new_name
  8. touch:创建空文件或更新文件的时间戳

    1
    touch file_name
  9. cat:连接和显示文件内容

    1
    cat file_name

文本查看与处理

  1. more/less:逐页显示文本文件内容

    1
    2
    more file_name
    less file_name
  2. head/tail:显示文件的前几行或后几行

    1
    2
    head -n 10 file_name  # 显示文件的前10行
    tail -n 20 file_name # 显示文件的后20行
  3. grep:在文件中搜索指定文本

    1
    grep search_term file_name
  4. ps:显示当前运行的进程

    1
    ps aux
  5. kill:终止进程

    1
    kill process_id
  6. ifconfig/ip:查看和配置网络接口信息

    1
    2
    ifconfig
    ip addr show
  7. ping:测试与主机的连通性

    1
    ping host_name_or_ip
  8. wget/curl:从网络下载文件

    1
    2
    wget URL
    curl -O URL
  9. chmod:修改文件或目录的权限

    1
    chmod permissions file_name
  10. chown:修改文件或目录的所有者

    1
    chown owner:group file_name
  11. tar:用于压缩和解压文件和目录

    1
    2
    tar -czvf archive.tar.gz directory_name  # 压缩目录
    tar -xzvf archive.tar.gz # 解压文件
  12. df/du:显示磁盘使用情况

    1
    2
    df -h  # 显示磁盘空间使用情况
    du -h directory_name # 显示目录的磁盘使用情况

输出结果示例

1
2
3
4
5
6
7
8
(wzk_base) wangzhenkuan@pc-System-Product-Name:~$ df -h
文件系统 大小 已用 可用 已用% 挂载点
tmpfs 6.2G 2.9M 6.2G 1% /run
/dev/nvme0n1p3 861G 288G 530G 36% /
tmpfs 31G 0 31G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/nvme0n1p1 511M 6.1M 505M 2% /boot/efi
/dev/sda 1.8T 1.2T 521G 71% /home

系统管理与网络操作

  1. mount/umount:挂载和卸载文件系统

    1
    2
    mount /dev/sdX1 /mnt  # 挂载分区到指定目录
    umount /mnt # 卸载挂载的文件系统
  2. psql/mysql:用于与PostgreSQL或MySQL数据库交互的命令行工具

    1
    2
    psql -U username -d database_name  # 连接到PostgreSQL数据库
    mysql -u username -p # 连接到MySQL数据库
  3. top/htop:显示系统资源的实时使用情况和进程信息

    1
    2
    top
    htop
  4. ssh:远程登录到其他计算机

    1
    ssh username@remote_host
  5. scp:安全地将文件从本地复制到远程主机,或从远程主机复制到本地

    1
    scp local_file remote_user@remote_host:/remote/directory
  6. find:在文件系统中查找文件和目录

    1
    find /path/to/search -name "file_pattern"
  7. sed:流编辑器,用于文本处理和替换

    1
    sed 's/old_text/new_text/' file_name
  8. awk:用于文本处理和数据提取的文本处理工具

    1
    awk '{print $1}' file_name  # 提取文件中的第一列数据
  9. ssh-keygen:生成SSH密钥对,用于身份验证远程服务器

    1
    ssh-keygen -t rsa
  10. date:显示或设置系统日期和时间

    1
    date
  11. echo:将文本输出到标准输出

    1
    echo "Hello, World!"
  12. ln:创建硬链接或符号链接

    1
    2
    ln source_file link_name  # 创建硬链接
    ln -s source_file link_name # 创建符号链接
  13. uname:显示系统信息

    1
    uname -a
  14. shutdown/reboot:关闭或重新启动系统

    1
    2
    shutdown -h now  # 立即关闭系统
    reboot # 重新启动系统

更多命令

  • who/w:显示当前登录的用户信息

    1
    2
    who
    w
  • curl:用于与网络资源进行交互,支持各种协议

    1
    curl -X GET http://example.com
  • zip/unzip:用于压缩和解压ZIP文件

    1
    2
    zip archive.zip file1 file2  # 压缩文件
    unzip archive.zip # 解压ZIP文件
  • useradd/userdel:用于添加和删除用户账户

    1
    2
    bash复制编辑useradd new_user  # 添加用户
    userdel username # 删除用户
  • passwd:更改用户密码

    1
    passwd username
  • cron:定时任务管理器,用于自动执行计划任务

    1
    crontab -e  # 编辑用户的定时任务
  • uptime:显示系统的运行时间和负载情况

    1
    uptime
  • hostname:显示或设置计算机的主机名

    1
    hostname  # 显示主机名
  • iptables/ufw:用于配置防火墙规则

    1
    2
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许HTTP流量
    ufw enable # 启用Uncomplicated Firewall
  • netstat/ss:显示网络连接信息

    1
    2
    netstat -tuln  # 显示所有TCP和UDP端口
    ss -tuln # 使用Socket Stat查看网络连接
  • history:查看命令历史记录

    1
    history
  • free:显示系统内存使用情况

    1
    free -m  # 以MB为单位显示内存使用情况
  • lsblk/fdisk:查看磁盘分区信息和管理磁盘

    1
    2
    lsblk  # 显示块设备信息
    fdisk /dev/sdX # 打开磁盘分区工具
  • nc:用于网络连接测试和数据传输

    1
    nc -vz host_name_or_ip port  # 测试主机的端口是否可达
  • stat:显示文件或目录的详细信息

    1
    stat file_or_directory
  • nmcli:用于管理网络连接的命令行工具

    1
    nmcli connection show  # 显示网络连接信息
  • tailf:实时追踪文件的末尾,类似于 tail -f

    1
    tailf file_name
  • rsync:用于在本地和远程系统之间同步文件和目录

    1
    rsync -avz source_directory/     remote_user@remote_host:/remote/directory/
  • dd:用于复制和转换文件

    1
    dd if=input_file of=output_file bs=block_size
  • sudo:以超级用户权限运行命令

    1
    sudo command_to_run_as_superuser