当前位置: 首页 > article >正文

linux的用法

功能命令常用参数
查看文件内容catlessheadtail-n-f
文件搜索findgrep-name-type-r
权限管理chmodchownsudo-R755
进程管理pstopkillaux-9
网络工具curlpingss-O-tuln
文本处理sedawkgreps/old/new/g{print}

二、文件与目录管理

1. 文件操作
  • cp:复制文件或目录

    bash

    cp file.txt backup/          # 复制文件到目录
    cp -r dir1 dir2              # 递归复制目录(保留子目录结构)
    cp -v file1 file2            # 显示详细复制过程
  • mv:移动或重命名

    bash

    mv old.txt new.txt           # 重命名文件
    mv file.txt /tmp/            # 移动文件到/tmp目录
    mv dir1/ dir2/               # 移动目录(若dir2存在,则dir1会进入dir2内)
  • rm:删除文件或目录(⚠️ 慎用!

    bash

    rm file.txt                  # 删除文件
    rm -rf dir/                  # 强制递归删除目录(无确认,危险!)
  • touch:创建空文件或更新文件时间戳

    bash

    touch newfile.txt            # 创建空文件
    touch existing_file.txt      # 更新文件的访问和修改时间为当前时间
2. 目录操作
  • mkdir:创建目录

    bash

    mkdir project                # 创建单个目录
    mkdir -p project/src/test    # 递归创建多级目录(即使上级目录不存在)
  • rmdir:删除空目录

    bash

    rmdir empty_dir/            # 删除空目录(若目录非空会报错)

三、文件查看与搜索

1. 查看文件内容
  • cat:显示整个文件内容

    bash

    cat file.txt                # 显示文件内容(适合小文件)
    cat file1.txt file2.txt     # 合并显示多个文件
  • less / more:分页查看文件

    bash

    less large_file.log         # 上下翻页(按 `q` 退出,`/关键词` 搜索)
    more large_file.log         # 仅支持向下翻页(逐渐被 less 替代)
  • head / tail:查看文件头部或尾部

    bash

    head -n 5 file.log          # 显示前5行
    tail -n 10 file.log         # 显示最后10行
    tail -f /var/log/syslog     # 实时追踪日志文件更新(调试神器)
2. 文件搜索
  • find:按条件搜索文件

    bash

    find /home -name "*.txt" # 在/home下搜索所有.txt文件 find . -type d -name "src" # 在当前目录搜索名为src的目录 find /var -size +10M # 搜索大于10MB的文件

  • grep:在文件中搜索文本模式

    bash

    grep "error" file.log             # 查找包含"error"的行
    grep -r "TODO" /project           # 递归搜索目录中所有文件的"TODO"
    grep -i "warning" file.log        # 忽略大小写搜索
    grep -v "success" file.log        # 反向匹配(显示不包含"success"的行)

四、权限与用户管理

1. 权限控制
  • chmod:修改文件权限(读 r=4,写 w=2,执行 x=1)

    bash

    chmod 755 script.sh       # 权限:rwxr-xr-x(所有者可读写执行,其他用户读执行)
    chmod +x script.sh        # 为所有用户添加执行权限
    chmod u=rw,g=r,o= file.txt # 所有者读写,组用户读,其他用户无权限
  • chown:修改文件所有者和所属组

    bash

    chown user:group file.txt  # 修改所有者和组
    chown -R user:group dir/   # 递归修改目录及其子文件
2. 用户与组
  • sudo:以超级用户权限执行命令

    bash

    sudo apt update           # 需要输入当前用户的密码
    sudo -i                   # 切换到root用户(谨慎使用)
  • passwd:修改用户密码

    bash

    passwd                    # 修改当前用户密码
    sudo passwd username      # 修改其他用户密码(需root权限)
  • useradd / userdel:管理用户

    bash

    sudo useradd -m alice     # 创建用户并创建主目录
    sudo userdel -r bob       # 删除用户并删除主目录

五、系统监控与进程管理

1. 进程查看与控制
  • ps:查看进程状态

    bash

    ps aux                   # 显示所有进程的详细信息(CPU、内存占用)
    ps -ef | grep nginx      # 结合管道过滤进程
  • top / htop:动态监控系统资源

    bash

    top                     # 实时显示进程、CPU、内存(按 `P` 按CPU排序)
    htop                    # 更友好的交互式界面(需安装:`sudo apt install htop`)
  • kill:终止进程

    bash

    kill 1234               # 终止PID为1234的进程(默认发送SIGTERM信号)
    kill -9 1234            # 强制终止进程(SIGKILL信号)
2. 系统资源监控
  • df:查看磁盘空间

    bash

    df -h                   # 以易读格式(GB/MB)显示磁盘使用情况
  • free:查看内存使用

    bash

    free -h                 # 显示内存和交换分区使用情况
  • uptime:查看系统运行时间与负载

    bash

    uptime                 # 输出:系统运行时间、用户数、平均负载

六、网络相关命令

1. 网络配置与检测
  • ifconfig / ip:查看和配置网络接口

    bash

    ip addr show           # 显示所有网络接口的IP地址(推荐)
    ifconfig eth0          # 显示eth0接口的详细信息(传统命令)
  • ping:测试网络连通性

    bash

    ping 8.8.8.8           # 测试与Google DNS的连通性(按Ctrl+C停止)
  • curl / wget:下载文件或访问API

    bash

    curl -O https://example.com/file.zip  # 下载文件
    wget -c https://example.com/file.zip  # 断点续传下载
    curl -X GET "https://api.example.com" # 发送HTTP请求
2. 端口与连接管理
  • netstat / ss:查看网络连接和端口

    bash

    ss -tuln               # 显示所有监听的TCP/UDP端口(推荐)
    netstat -tuln          # 传统命令(功能类似)
  • lsof:列出打开的文件和网络连接

    bash

    lsof -i :80            # 查看占用80端口的进程

七、软件包管理

1. Debian/Ubuntu (apt)
  • 更新与安装软件

    bash

    sudo apt update             # 更新软件源列表
    sudo apt install nginx      # 安装软件
    sudo apt remove nginx       # 卸载软件(保留配置文件)
    sudo apt purge nginx        # 彻底卸载(删除配置文件)
    sudo apt upgrade            # 升级所有已安装的软件
2. Red Hat/CentOS (yum/dnf)
  • 基础操作

    bash

    sudo dnf install httpd      # 安装软件
    sudo dnf update httpd       # 更新指定软件
    sudo dnf remove httpd       # 卸载软件
3. Arch Linux (pacman)
  • 常用命令

    bash

    sudo pacman -Syu           # 更新系统并升级所有软件
    sudo pacman -S vim         # 安装软件
    sudo pacman -Rns vim       # 卸载软件及其依赖

八、文本处理与管道

1. 文本处理三剑客
  • grep:过滤文本

    bash

    cat log.txt | grep "error"      # 过滤包含"error"的行
  • sed:流编辑器(替换、删除文本)

    bash

    sed 's/foo/bar/g' file.txt      # 将文件中的所有foo替换为bar
    sed -i.bak 's/old/new/' file    # 直接修改文件并备份原文件(-i参数)
  • awk:强大的文本分析工具

    bash

    awk '{print $1}' file.txt       # 打印每行的第一个字段
    awk -F':' '{print $1}' /etc/passwd  # 以冒号为分隔符,打印用户名
2. 管道 (|) 与重定向
  • 管道:将前一个命令的输出作为后一个命令的输入

    bash

    ps aux | grep chrome       # 查找所有Chrome进程
  • 重定向:控制输入/输出方向

    bash

    echo "Hello" > output.txt    # 覆盖写入文件
    echo "World" >> output.txt   # 追加到文件末尾
    ls nofile 2> error.log       # 将错误信息重定向到error.log

九、Shell 脚本基础

1. 编写简单脚本
  • 创建脚本文件(例如 hello.sh):

    bash

    #!/bin/bash
    echo "Hello, $USER!"  # 输出当前用户
  • 运行脚本:

    bash

    chmod +x hello.sh     # 添加执行权限
    ./hello.sh            # 执行脚本
2. 变量与条件判断
  • 变量赋值与使用

    bash

    name="Linux"
    echo "Welcome to $name!"  # 输出:Welcome to Linux!
  • 条件判断

    bash

    if [ -f "/path/to/file" ]; then
      echo "文件存在"
    else
      echo "文件不存在"
    fi

十、快速帮助

  • man:查看命令手册

    bash

    man ls        # 查看ls的详细用法
  • --help:快速查看选项

    bash

    grep --help   # 显示grep的简要帮助信息

 


http://www.kler.cn/a/528357.html

相关文章:

  • UE学习日志#18 C++笔记#4 基础复习4 指派初始化器和指针
  • Java中对消息序列化和反序列化并且加入到Spring消息容器中
  • 常见“栈“相关题目
  • 深度学习的应用
  • hive:基本数据类型,关于表和列语法
  • Linux 进程概念
  • 数据结构初探:链表之单链表篇
  • 玉米苗和杂草识别分割数据集labelme格式1997张3类别
  • 【Linux】opencv在arm64上提示找不到libjasper-dev
  • 【涟漪散点图】——1
  • C#从XmlDocument提取完整字符串
  • Spring Boot 实例解析:配置文件
  • oracle:子查询
  • Autogen_core源码:_subscription.py
  • https的原理
  • Cesium+Vue3教程(011):打造数字城市
  • 网络工程师 (12)软件开发与测试
  • CNN的各种知识点(三):有关于VGG16 的结构展开的问题(1)
  • 【C++篇】哈希表
  • Maya的id贴图
  • Linux网络 HTTP cookie 与 session
  • html的字符实体和颜色表示
  • Web3技术详解
  • Notepad++消除生成bak文件
  • ROS-IMU
  • python小知识-typing注解你的程序