linux基本命令2

7. 文件查找和搜索 (继续)

  • find --- 查找文件

    复制代码
    find /path/to/search -name "file_name" # 根据名称查找文件 
    find /path/to/search -type f # 查找所有普通文件 
    find /path/to/search -type d # 查找所有目录 
    find /path/to/search -name "*.txt" # 查找所有扩展名为 .txt 的文件 
    find /path/to/search -size +100M # 查找大于100MB的文件 
    find /path/to/search -mtime -7 # 查找最近7天内修改过的文件 
    find /path/to/search -exec command {} \; # 对找到的每个文件执行命令
  • locate --- 快速查找文件

    复制代码
    locate file_name # 查找文件,速度比find快,但需要数据库更新 
    updatedb # 更新locate数据库
  • which --- 查找可执行文件的路径

    复制代码
    which command_name # 查找命令的完整路径
  • grep --- 在文件中查找匹配的文本

    复制代码
    grep "pattern" file_name # 查找文件中匹配"pattern"的行 
    grep -i "pattern" file_name # 忽略大小写进行搜索 
    grep -r "pattern" dir_name # 在目录中递归查找 
    grep -v "pattern" file_name # 显示不包含"pattern"的行 
    grep -n "pattern" file_name # 显示匹配行及其行号
  • find + grep --- 联合查找文件并搜索内容

    复制代码
    find /path/to/search -type f -exec grep "pattern" {} \; # 查找文件并搜索内容

8. 压缩与解压

  • tar --- 打包与解包文件

    复制代码
    tar -cvf archive.tar dir_name # 打包目录(不压缩) 
    tar -xvf archive.tar # 解包.tar文件 
    tar -czvf archive.tar.gz dir_name # 打包并压缩为.gz格式 
    tar -xzvf archive.tar.gz # 解压.tar.gz文件 
    tar -cjvf archive.tar.bz2 dir_name # 打包并压缩为.bz2格式 
    tar -xjvf archive.tar.bz2 # 解压.tar.bz2文件
  • zip --- 压缩文件为zip格式

    复制代码
    zip archive.zip file1 file2 # 将多个文件压缩为zip文件 
    zip -r archive.zip dir_name # 将目录压缩为zip文件
  • unzip --- 解压zip文件

    复制代码
    unzip archive.zip # 解压zip文件 
    unzip archive.zip -d /path/to/dir # 将文件解压到指定目录
  • gzip --- 压缩文件为.gz格式

    复制代码
    gzip file_name # 压缩文件为.gz格式 
    gzip -d file_name.gz # 解压.gz文件
  • bzip2 --- 压缩文件为.bz2格式

    复制代码
    bzip2 file_name # 压缩文件为.bz2格式 
    bzip2 -d file_name.bz2 # 解压.bz2文件

9. 磁盘管理

  • fdisk --- 管理磁盘分区

    复制代码
    fdisk -l # 列出所有磁盘和分区 fdisk /dev/sda # 对磁盘/dev/sda进行分区操作
  • parted --- 分区管理工具(用于GPT分区表等)

    复制代码
    parted /dev/sda # 对磁盘/dev/sda进行分区操作
  • mount --- 挂载文件系统

    复制代码
    mount /dev/sda1 /mnt # 将/dev/sda1分区挂载到/mnt目录 
    mount -t ext4 /dev/sda1 /mnt # 挂载指定类型的文件系统
  • umount --- 卸载文件系统

    复制代码
    umount /mnt # 卸载/mnt目录下的文件系统
  • lsblk --- 列出所有块设备

    复制代码
    lsblk # 列出所有块设备及其挂载点
  • df --- 查看磁盘使用情况

    复制代码
    df # 查看所有文件系统的磁盘使用情况 
    df -h # 以易读格式显示(KB、MB、GB) 
    df -T # 显示文件系统类型
  • du --- 显示文件或目录的磁盘使用情况

    复制代码
    du -sh /path/to/dir # 显示指定目录的总磁盘使用量 
    du -ah /path/to/dir # 显示指定目录及其中每个文件的磁盘使用量

10. 系统监控与性能调优

  • top --- 实时显示系统的进程和资源使用情况

    复制代码
    top # 显示当前系统进程及资源使用情况 
    top -u username # 显示指定用户的进程 
    top -d 2 # 设置刷新时间间隔为2秒
  • htop --- 类似top,但有更友好的界面和更多功能(需要单独安装)

    复制代码
    htop # 显示更友好的进程监控
  • vmstat --- 显示系统内存、交换区、I/O等信息

    复制代码
    vmstat 1 # 每1秒更新一次内存、CPU、I/O等统计信息
  • iostat --- 显示系统的I/O性能

    复制代码
    iostat # 显示CPU和磁盘I/O性能统计
  • sar --- 系统活动报告工具(需要安装sysstat包)

    复制代码
    sar 1 3 # 每1秒钟显示一次系统活动信息,总共显示3次
  • free --- 查看内存使用情况

    复制代码
    free -h # 以易读的方式显示内存使用情况(MB、GB)
  • uptime --- 查看系统运行时间

    复制代码
    uptime # 查看系统的运行时间、负载等信息

11. 用户与权限管理

  • useradd --- 添加新用户

    复制代码
    useradd username # 创建一个新用户
    useradd -m username # 创建用户并创建家目录
  • passwd --- 设置或更改用户密码

    复制代码
    passwd username # 修改指定用户的密码
  • usermod --- 修改用户账户

    复制代码
    usermod -aG group username # 将用户添加到指定组
  • groupadd --- 创建新组

    复制代码
    groupadd group_name # 创建新组
  • id --- 显示用户和组的ID信息

    复制代码
    id # 显示当前用户的UID、GID和所属组
  • whoami --- 显示当前用户名

    复制代码
    whoami # 显示当前用户名
  • groups --- 显示用户所属的所有组

    复制代码
    groups username # 显示指定用户所属的组
  • chmod --- 修改文件权限

    复制代码
    chmod u+x file_name # 给文件的所有者添加可执行权限
    chmod g-w file_name # 移除文件所属组的写权限 
    chmod o+r file_name # 给其他用户添加读取权限 
    chmod 755 file_name # 设置文件权限为rwxr-xr-x
  • chown --- 修改文件所有者

    复制代码
    chown user:group file_name # 修改文件的所有者和所属组 
    chown user file_name # 只修改文件的所有者
相关推荐
Jason_zhao_MR42 分钟前
米尔RK3506核心板SDK重磅升级,解锁三核A7实时控制新架构
linux·嵌入式硬件·物联网·架构·嵌入式·嵌入式实时数据库
网硕互联的小客服1 小时前
遇到网站500内部服务器错误如何处理?如何预防这样的问题发生?
运维·服务器·安全
叮咚侠1 小时前
Ubuntu 24.04.3 LTS 中 vdb 的 UUID 永久挂载没有显示的磁盘的操作步骤
linux·运维·ubuntu·挂载磁盘
GAOJ_K1 小时前
滚柱导轨中的密封件如何判断是否需更换?
运维·人工智能·科技·自动化·制造
.小墨迹1 小时前
C++学习之std::move 的用法与优缺点分析
linux·开发语言·c++·学习·算法·ubuntu
风华同学1 小时前
【Linux驱动篇】LED驱动开发实验
linux·驱动开发·ubuntu
李斯维1 小时前
安装 WSL 最好的方式
linux·windows
skyyx20021 小时前
写给网工新手:子网掩码基本概念和一些计算方法
运维·网络
张小九992 小时前
fpocket安装和使用教程
linux·机器学习·github
元气满满-樱2 小时前
Rewrite重写
linux·nginx