Linux常见目录使用区别

本文详细介绍了Linux系统中/bin和/usr/bin目录的作用、用途及区别,包括它们各自存放的文件类型、用户权限以及PATH环境变量的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录用途分类

/bin 在有的Unix和Linux系统中是/usr/bin的链接,不过UBuntu系统是两个独立的目录。/bin 存放系统管理员和普通用户都要使用的程序。

/sbin 存放用于系统恢复,系统启动,系统维护等程序

/usr/bin 登录用户可以使用的预装程序一般都放在这里

/usr/share/bin 可以通过web访问的程序一般放在这里

*local* 目录下的都不是系统预装,而是手动编译或者安装的程序

usr 指 Unix System Resource,而不是User


/usr/bin与/usr/local/bin区别

通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变

/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件

如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为

echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dean/bin

这里/usr/local/bin优先于/usr/bin, 一般都是如此。


/lib, /usr/lib与/usr/local/lib

/lib目录都是为/bin, /sbin准备的,一般作为开发者不用关心

开发者需要关心下面的事情,一个应用程序启动的时候,会在/lib 和 /usr/lib库中查找动态库,如果动态库没有放在此处,需要用环境变量LD_LIBRARY_PATH指定。比如在程序启动脚本中这样写,就能在/usr/local/lib目录中加载到自己放进去的动态库

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib


注意,这是运行时的环境变量,和程序编译时没有关系。


<think>好的,我现在需要帮用户整理Linux系统中常见目录操作命令列表。用户之前问过云服务器使用init命令的问题,之前的回答已经涉及了systemd和SysVinit的区别,以及一些服务管理命令。现在用户转向目录操作命令,可能需要基础但全面的信息。 首先,用户提供的引用中提到了rm命令,属于文件操作,但用户现在问的是目录操作,可能需要区分文件和目录的不同命令。引用1提到了基本命令大全,引用2提到了rm的用法,但用户需要的是目录操作,比如创建、删除、切换目录等。 用户可能的需求是学习Linux基础,特别是目录管理。可能使用场景包括服务器管理、日常文件整理等。需要列出常用命令,并给出用法示例,方便用户理解和应用。 接下来,我需要回忆常见目录操作命令。比如cd、ls、pwd、mkdir、rmdir、cp、mv、rm(虽然rm在引用2中提过,但删除目录需要-r选项),还有tree、find、du等可能相关的命令。需要确保这些命令正确对应目录操作,而不仅仅是文件操作。 需要注意用户可能混淆文件和目录命令,比如rm用于删除目录时需要加参数,而rmdir只能删除空目录。需要明确说明每个命令的用途、选项和示例,避免用户误操作。 另外,用户可能对权限相关命令感兴趣,比如chmod、chown,但这些更多属于文件权限管理,可能不属于目录操作的核心命令,但如果有涉及目录权限的,可以简要提及。 还要考虑用户的实际操作场景,比如在云服务器上管理目录,可能需要使用绝对路径和相对路径的区别,或者如何在脚本中批量创建目录结构。这些可以作为进阶提示。 最后,确保回答结构清晰,分点列出,每个命令有说明、语法和示例,符合用户要求的尽量真实可靠,并参考之前的引用,但引用中的内容主要是文件操作,需要调整重点到目录操作。需要补充更多目录相关的命令,比如pushd/popd,或者ls的目录查看选项,如ls -l等。 需要检查命令的正确性,例如mkdir -p创建多级目录,rm -r删除目录,cp -r复制目录等。同时,注意安全提示,比如使用rm -rf要谨慎,避免误删。 可能还需要包括查看目录大小的命令,如du,或者查找目录的find用法。这些虽然不完全是操作命令,但和目录管理相关,用户可能感兴趣。 总结需要涵盖创建、删除、切换、查看、复制、移动目录等基本操作,以及相关选项和示例,确保用户能快速上手使用。</think>### Linux 常用目录操作命令详解 #### 一、基础目录操作命令 1. **`cd`(切换目录)** - **用途**:切换当前工作目录。 - **语法**: ```bash cd [目录路径] ``` - **示例**: ```bash cd /var/log # 进入绝对路径 cd .. # 返回上级目录 cd ~ # 切换到用户家目录 ``` 2. **`pwd`(显示当前路径)** - **用途**:显示当前工作目录的绝对路径。 - **语法**: ```bash pwd ``` 3. **`ls`(列出目录内容)** - **用途**:显示目录中的文件和子目录。 - **常用选项**: - `-l`:详细列表(包含权限、所有者、大小等信息) - `-a`:显示隐藏文件(以 `.` 开头的文件) - `-h`:以易读格式显示文件大小(如 KB/MB) - **语法**: ```bash ls [选项] [目录路径] ``` - **示例**: ```bash ls -lah /home # 查看 /home 目录下的所有文件(含隐藏文件) ``` 4. **`mkdir`(创建目录)** - **用途**:创建新目录。 - **常用选项**: - `-p`:递归创建多级目录(如 `a/b/c`) - **语法**: ```bash mkdir [选项] 目录名 ``` - **示例**: ```bash mkdir project # 创建单级目录 mkdir -p data/2024/logs # 创建多级目录 ``` --- #### 二、目录删除与复制命令 1. **`rmdir`(删除空目录)** - **用途**:删除空目录目录中无文件或子目录)。 - **语法**: ```bash rmdir 目录名 ``` - **示例**: ```bash rmdir temp # 删除空目录 temp ``` 2. **`rm`(删除目录及内容)** - **用途**:**强制删除目录及其所有内容**(需谨慎使用)。 - **常用选项**: - `-r`:递归删除(用于目录) - `-f`:强制删除(不提示确认) - **语法**: ```bash rm [选项] 目录名 ``` - **示例**: ```bash rm -rf old_data # 强制删除目录 old_data 及其所有内容 ``` 3. **`cp`(复制目录)** - **用途**:复制目录及其内容到新位置。 - **常用选项**: - `-r`:递归复制(用于目录) - `-v`:显示复制过程 - **语法**: ```bash cp [选项] 源目录 目标路径 ``` - **示例**: ```bash cp -rv backup/ /mnt/disk # 将 backup 目录复制到 /mnt/disk ``` 4. **`mv`(移动/重命名目录)** - **用途**:移动目录到新位置,或重命名目录。 - **语法**: ```bash mv 源目录 目标路径 ``` - **示例**: ```bash mv logs/ /var/log/archived # 移动 logs 到 /var/log/archived mv old_name new_name # 重命名目录 ``` --- #### 三、高级目录操作命令 1. **`tree`(树状显示目录结构)** - **用途**:以树形结构显示目录内容(需安装 `tree` 包)。 - **安装与使用**: ```bash sudo apt install tree # Debian/Ubuntu sudo yum install tree # CentOS/RHEL tree -L 2 ~/project # 显示 ~/project 的 2 级目录结构 ``` 2. **`find`(查找目录)** - **用途**:根据名称、类型等条件搜索目录。 - **语法**: ```bash find 起始路径 -type d -name "目录名" ``` - **示例**: ```bash find /home -type d -name "config" # 查找 /home 下名为 config 的目录 ``` 3. **`du`(查看目录大小)** - **用途**:统计目录及其子目录的磁盘使用量。 - **常用选项**: - `-h`:以易读格式显示 - `-s`:仅显示总大小 - **示例**: ```bash du -sh /var/log # 显示 /var/log 目录的总大小 ``` --- #### 四、操作注意事项 - **权限问题**: 若提示 `Permission denied`,可在命令前加 `sudo`(需管理员权限)。 ```bash sudo rm -rf /path/to/dir ``` - **路径类型**: - **绝对路径**:以 `/` 开头(如 `/usr/local/bin`)。 - **相对路径**:基于当前目录(如 `../backup`)。 --- ### 相关问题 1. 如何批量创建多个嵌套目录? 2. `rm -rf /` 命令为何极其危险? 3. 如何统计当前目录下各子目录的大小? 4. Linux 中软链接(Symbolic Link)与硬链接的区别是什么?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值