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 /
相关推荐
真真-真真11 分钟前
WebXR
linux·运维·服务器
轩辰~33 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
燕雀安知鸿鹄之志哉.1 小时前
攻防世界 web ics-06
网络·经验分享·安全·web安全·网络安全
wanhengidc1 小时前
短视频运营行业该如何选择服务器?
运维·服务器
雨中rain1 小时前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
ProcessOn官方账号2 小时前
如何绘制网络拓扑图?附详细分类解说和用户案例!
网络·职场和发展·流程图·拓扑学
Bessssss2 小时前
centos日志管理,xiao整理
linux·运维·centos
s_yellowfish2 小时前
Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
linux·服务器·chatgpt
豆是浪个2 小时前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&2 小时前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops