Linux目录的作用和常用指令

目录结构及其详细作用

  1. / (根目录)

    • Linux文件系统的起点,所有文件和目录都在其下。
  2. /bin

    • 存放系统启动和运行时所需的基本命令,如 ls, cp, mv, rm,这些命令在单用户模式下或系统崩溃时仍然可用。
  3. /boot

    • 包含启动引导加载器的文件和Linux内核,比如 vmlinuz, initrd.img。此外,还有启动配置文件,如 grub 配置文件。
  4. /dev

    • 设备文件所在目录,每个文件代表一个设备,如硬盘 (/dev/sda), 光驱 (/dev/cdrom), 终端 (/dev/tty) 等。
  5. /etc

    • 存放系统的配置文件和子目录。例如,用户账号信息在 /etc/passwd,网络配置文件在 /etc/network/interfaces(或 /etc/netplan)。
  6. /home

    • 用户主目录,每个用户在 /home 下有一个子目录,如 /home/alice。用户的个人文件和配置文件通常都在这里。
  7. /lib

    • 存放系统运行时的共享库文件和内核模块,基本命令在运行时所依赖的库也存放在这里。
  8. /media

    • 挂载点目录,通常用于自动挂载可移动介质(如U盘、光盘等)。
  9. /mnt

    • 临时挂载文件系统的挂载点,管理员手动挂载时常使用。
  10. /opt

    • 用于存放第三方软件包,通常是一些可选的软件包和附加应用。
  11. /proc

    • 虚拟文件系统,提供系统进程和内核信息,每个进程都有一个对应的子目录,如 /proc/{pid},其中包含该进程的相关信息。
  12. /root

    • 超级用户(root)的主目录,与普通用户的主目录类似,但具有更高权限。
  13. /sbin

    • 存放系统管理员使用的系统命令,如 ifconfig, reboot, shutdown。这些命令通常需要超级用户权限才能执行。
  14. /srv

    • 服务数据目录,存放系统服务的数据,例如Web服务器的数据可能存放在 /srv/www
  15. /tmp

    • 临时文件目录,任何用户或应用程序都可以在此创建临时文件,系统重启后可能会被清空。
  16. /usr

    • 用户二进制文件和数据,包括许多子目录:
      • /usr/bin:存放用户命令的二进制文件。
      • /usr/sbin:存放系统管理员命令的二进制文件。
      • /usr/lib:存放共享库文件。
      • /usr/share:存放共享数据,如手册页、文档、图标等。
      • /usr/local:本地安装的软件包,通常不通过包管理器安装。
  17. /var

    • 变量数据文件,如日志文件、缓存文件、临时文件等。常见子目录:
      • /var/log:系统日志文件。
      • /var/tmp:需要长时间保存的临时文件。
      • /var/lib:存放应用程序状态信息。
      • /var/spool:任务队列数据,如打印队列。

常用指令及其详细说明

1. 文件和目录操作
  • ls:列出目录内容。

    bash 复制代码
    ls -l    # 详细列表
    ls -a    # 显示隐藏文件
  • cd:切换目录。

    bash 复制代码
    cd /home/user    # 切换到指定目录
    cd ..            # 切换到上一级目录
    cd ~             # 切换到用户主目录
  • pwd:显示当前目录路径。

    bash 复制代码
    pwd
  • mkdir:创建新目录。

    bash 复制代码
    mkdir newdir
    mkdir -p /path/to/newdir    # 递归创建目录
  • rmdir:删除空目录。

    bash 复制代码
    rmdir olddir
  • rm:删除文件或目录。

    bash 复制代码
    rm file.txt
    rm -r olddir    # 递归删除目录及其内容
    rm -f file.txt  # 强制删除文件
  • cp:复制文件或目录。

    bash 复制代码
    cp source.txt dest.txt
    cp -r sourcedir/ destdir/    # 递归复制目录
  • mv:移动或重命名文件或目录。

    bash 复制代码
    mv oldname.txt newname.txt
    mv /path/to/file /new/path/
2. 文件查看和编辑
  • cat:查看文件内容。

    bash 复制代码
    cat file.txt
  • more / less:分页查看文件内容。

    bash 复制代码
    more file.txt
    less file.txt
  • head:查看文件开头部分。

    bash 复制代码
    head file.txt
    head -n 20 file.txt    # 查看前20行
  • tail:查看文件结尾部分。

    bash 复制代码
    tail file.txt
    tail -n 20 file.txt    # 查看后20行
    tail -f file.txt       # 动态显示文件新内容(常用于日志文件)
  • nano / vi / vim:文本编辑器,编辑文件。

    bash 复制代码
    nano file.txt
    vi file.txt
    vim file.txt
3. 文件权限和所有权
  • chmod:更改文件或目录权限。

    bash 复制代码
    chmod 644 file.txt    # 设置文件权限为644(rw-r--r--)
    chmod +x script.sh    # 增加执行权限
    chmod -R 755 /path    # 递归更改目录及其内容权限
  • chown:更改文件或目录所有者。

    bash 复制代码
    chown user:group file.txt
    chown -R user:group /path    # 递归更改目录及其内容所有者
  • chgrp:更改文件或目录所属组。

    bash 复制代码
    chgrp group file.txt
    chgrp -R group /path    # 递归更改目录及其内容所属组
4. 系统管理
  • ps:显示当前进程。

    bash 复制代码
    ps aux    # 显示所有进程的详细信息
    ps -ef    # 显示所有进程(另一种格式)
  • top:实时显示系统资源使用情况。

    bash 复制代码
    top
  • kill:终止进程。

    bash 复制代码
    kill PID    # 终止指定进程ID的进程
    kill -9 PID # 强制终止进程
  • df:显示磁盘使用情况。

    bash 复制代码
    df -h    # 以人类可读的格式显示
  • du:显示目录或文件大小。

    bash 复制代码
    du -h file.txt    # 显示文件大小
    du -sh /path      # 显示目录总大小
  • free:显示内存使用情况。

    bash 复制代码
    free -h
  • uname:显示系统信息。

    bash 复制代码
    uname -a    # 显示所有信息
    uname -r    # 显示内核版本
  • shutdown:关闭系统。

    bash 复制代码
    shutdown -h now    # 立即关机
    shutdown -r now    # 立即重启
    shutdown -h +10    # 10分钟后关机
  • reboot:重启系统。

    bash 复制代码
    reboot
5. 网络操作
  • ifconfig:配置网络接口(较新的系统中用 ip 命令代替)。

    bash 复制代码
    ifconfig
    ifconfig eth0 up      # 启用网络接口
    ifconfig eth0 down    # 禁用网络接口
  • ping:测试网络连接。

    bash 复制代码
    ping google.com
  • netstat:显示网络状态。

    bash 复制代码
    netstat -tuln    # 显示所有监听端口
    netstat -p       # 显示进程信息
  • scp:安全复制文件。

    bash 复制代码
    scp file.txt user@remote:/path/to/destination
    scp -r /
相关推荐
行云流水剑18 分钟前
【学习记录】在 Ubuntu 中将新硬盘挂载到 /home 目录的完整指南
服务器·学习·ubuntu
搬码临时工1 小时前
如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
运维·服务器·网络·tcp/ip·智能路由器·远程工作·访问公司内网
vortex51 小时前
探索 Shell:选择适合你的命令行利器 bash, zsh, fish, dash, sh...
linux·开发语言·bash·shell·dash
zzc9211 小时前
MATLAB仿真生成无线通信网络拓扑推理数据集
开发语言·网络·数据库·人工智能·python·深度学习·matlab
GalaxyPokemon1 小时前
LeetCode - 148. 排序链表
linux·算法·leetcode
懒羊羊大王呀2 小时前
Ubuntu20.04中 Redis 的安装和配置
linux·redis
鳄鱼杆2 小时前
服务器 | Centos 9 系统中,如何部署SpringBoot后端项目?
服务器·spring boot·centos
杰哥技术分享2 小时前
在 CentOS 上安装 Docker 和 Docker Compose 并配置使用国内镜像源
linux·docker·centos
知更鸟呆呆2 小时前
【Linux操作系统】基础开发工具(yum、vim、gcc/g++)
linux·运维·vim
xiangyong582 小时前
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
linux·ubuntu·gnu