目录与路径
一.简介
1.工作目录和用户主目录
工作目录:用户当前所在的目录,可以随时改变
用户主目录:是用户登录成功后进入的默认目录一般在“/home/用户名”目录下。
2.路径
通过“/”结合在一起的一个或多个目录及文件名的集合称为路径,路径又分为绝对路径和相对路径。
绝对路径:
由 根目录“/”写起,例如 /usr/share/doc一般来说,如果是 shell脚本等类似的程序,务必使用 绝对路径的写法。
相对路径:
不是由根目录“/”写起,而是从当前所在的工作目录写起。
3.特殊目录
名称 | 作用 |
---|---|
. | 表示当前目录 |
… | 表示上一级目录(父目录) |
~ | 用户主目录 |
– | 表示上次所在目录 |
~username | 指定用户的家目录 |
二. 目录操作命令
1.创建目录-------mkdir命令
格式:mkdir [-p] 目录名
常用参数
名称 | 作用 |
---|---|
-p | 递归创建目录,即使上级目录不存在,会按目录层级自动创建目录 |
-m | 直接设置目录权限,不使用默认权限 |
2.删除空目录------ rmdir目录
格式: rmdir [-p] 目录名
常用参数
名称 | 作用 |
---|---|
-p | 表示递归删除空目录,如果子目录删除后其父目录为空,则同时删除父目录。 |
3.查看当前工作目录-----pwd 命令
格式: pwd [参数]
pwd命令执行结果显示的是工作目录的绝对路径。
常用参数
名称 | 作用 |
---|---|
-L | 显示逻辑路径。当目录下存在符号链接时,该参数会将符号链接解析成实际路径再进行显示。 |
-P | 显示实际物理地址。当目录下存在符号链接时,该参数会直接显示符号链接的路径 |
-version | 显示版本信息。 |
-help | 显示帮助信息。 |
4.切换工作目录-------cd命令
格式: cd [目录名]
常用参数
名称 | 作用 |
---|---|
-P | 强制不进入连接的目录。 |
-L | 强制进入连接的目录。 |
例子:
cd /home/test/ #从当前路径进入到/home/test绝对路径;
cd … #返回上一级路径;
cd …/…/…/ #返回上几级路径;
cd - #返回到上一次工作路径;
cd ~ #进入到自己的家目录;
cd -P link_dir/ #强制不进入链接的目录;
cd -L link_dir/ #强制进入链接的目录
5.列出目录内容----Is命令
格式: Is 【选项】 【文件或目录名】
常用参数
名称 | 作用 |
---|---|
-a | 列出目录下的所有文件,包括以 . 开头的隐藏文件。 |
-I | 以长格式列出文件的详细信息。 |
-d | 仅显示目录本身的详细信息。 |
-A | 显示除“.”和“…”外的所有文件。 |
-R | 以递归方式显示目录及其子目录的内容。 |
-S | 以文件大小降序排序。 |
-t | 以文件最近的一次修改时间排序显示文件。 |
6.创建空文件------touch命令
格式: touch [-d] 文件名
常用参数
名称 | 作用 |
---|---|
-d | 表示设置文件的读取时间和修改时间。 |
7.查看文件类型------file命令
格式: file 【参数】【】【文件或目录】
常用参数
名称 | 作用 |
---|---|
-L | 显示符号廉洁所指向文件的类型。 |
-i | 显示MIME类型。 |
-b | 显示结果时,不显示文件名。 |
8.复制文件或目录------cp命令
格式: cp【选项】 源文件或目录名 目标文件或目录名
常用参数
名称 | 作用 |
---|---|
-a | 相当于-d,-p-r的集合 |
-d | 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接; |
-i | 询问,如果目标文件已经存在,则会询问是否覆盖; |
-l | 把目标文件建立为源文件的硬链接文件,而不是复制源文件; |
-s | 把目标文件建立为源文件的软链接文件,而不是复制源文件; |
-p | 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间); |
-r | 递归复制,用于复制目录; |
-u | 若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。 |
9.删除文件或目录------rm命令
格式: rm 【选项】文件或目录名
常用参数
名称 | 作用 |
---|---|
-f | 强制模式,不提示确认即删除文件或目录。 |
-i | 交互模式,删除文件或目录前询问是否确认。 |
-r | 递归模式,删除目录及其下所有文件和子目录。 |
-v | 详细模式,显示删除的每个文件或目录名。 |
命令示例
1.删除单个文件:rm file.txt
2.删除多个文件:rm file1.txt file2.txt
3.删除目录及其下所有文件和子目录:rm -r /home/user/documents/
4.强制删除文件或目录:rm -f file.txt
5.显示删除的每个文件或目录名称:rm -v file.txt
注意事项
rm 命令可以删除一个或多个文件或目录,也可以删除目录及其下所有文件和子目录。
rm 命令默认不会提示确认即删除文件或目录,可以使用 -i 选项进入交互模式,删除文件或目录前询问是否确认,也可以使用 -f 选项强制删除文件或目录。
rm 命令在删除文件或目录时不会将其移动到垃圾箱或回收站,而是直接将其从文件系统中彻底删除,不可恢复,因此要谨慎使用该命令
10.移动文件或目录------mv命令
格式: mv 【选项】 源文件或目录名 目标文件或目录名
常用参数
名称 | 作用 |
---|---|
-i | 交互式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统会询问是否覆盖,用户输入‘y进行覆盖,输入’n’则不覆盖,这样可以避免误覆盖文件。 |
-f | 禁止交互式操作。在mv操作要覆盖某已有的目标文件或目录时不给任何指示,默认覆盖。 |
-b | 覆盖文件前先对其进行备份 |
-S或–suffix=后缀 | 不理会通常的备份后缀 |
-u或–update | 移动或覆盖目的文件时若日期比目的文件旧,且目的文件已经存在,则不执行覆盖文件命令 |
-t或–target-directory=目录 | 移动所以源参数到指定目录 |
-T或–no-target-directory | 将DEST作为普通文件 |
–help | 显示帮助信息 |
-v或–version | 显示版本帮助信息 |
–verbose | 显示执行的详细信息 |
-n: | 不要覆盖任何已存在的文件或目录。 |
注意事项:
如果所给目标文件不是目录已存在,此时该文件的内容将后备新文件覆盖,为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用i选项。
11.查找文件或目录------find命令
格式:find 搜索路径 [选项] 搜索内容
1>.按照文件名搜索
选项:
名称 | 作用 |
---|---|
-name | 按照文件名搜索 |
-iname | 按照文件名搜索,不区分文件名大小写 |
-inum | 按照inode号搜索 |
2>、按照文件大小搜索
选项:
名称 | 作用 |
---|---|
-size[±]大小 | 按照指定大小搜索文件 |
注意: 这里的“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件。
3>、按照修改时间搜索
选项:
名称 | 作用 |
---|---|
-atime[+ | -]时间 |
-mtime[+ | -]时间 |
-ctime[+ | -]时间 |
注意: 也有-amin、-mmin等时间选项,时间单位为分钟。如果以time结尾的时间单位,默认单位时间是天。
4>、按照权限搜索
选项
名称 | 作用 |
---|---|
-perm: 权限模式 | 查找文件权限刚好等于“权限模式”的文件 |
-perm: -权限模式 | 查找文件权限全部包含“权限模式”的文件 |
-perm: +权限模式 | 查找文件权限包含“权限模式”的任意一个权限的文件 |
5>、按照所有者和所属组搜索
选项
名称 | 作用 |
---|---|
-uid 用户ID | 按照用户ID查找所有者是指定ID的文件 |
-gid组ID | 按照用户组ID查找所属组是指定ID的文件 |
-user用户名 | 按照用户名查找所有者是指定用户的文件 |
-group组名 | 按照组名查找所属组是指定用户组的文件 |
-nouser | 查找没有所有者的文件 |
6>、按照文件类型搜索
选项:
名称 | 作用 |
---|---|
-type | 查找目录 |
-type f | 查找普通文件 |
-type l | 查找软链接文件 |
7>、逻辑运算符
选项:
名称 | 作用 |
---|---|
-a | and逻辑与 |
-o | or逻辑或 |
-not | not 逻辑非 |
12.查找命令的绝对路径 ------ which命令
格式: which .命令名
常用参数
名称 | 作用 |
---|---|
-a | 显示所有符合条件的命令路径,而不仅仅是第一个匹配的路径。 |
-s | 仅显示找到的命令路径,不显示其他信息。 |
-V | 显示详细的命令查找过程。 |
-h | 显示帮助信息 |
13.为文件创造链接------In命令
格式:In [-s] 源文件或目录名 链接文件或目标目录名
常用参数
名称 | 作用 |
---|---|
-s | 创建符号链接(软连接) |
无 | 创建硬链接3.命令参数: |
必要参数:
名称 | 作用 |
---|---|
-b | 删除,覆盖以前建立的链接 |
-d | 允许超级用户制作目录的硬链接 |
-f | 强制执行 |
-i | 交互模式,文件存在则提示用户是否覆盖 |
-n | 把符号链接视为一般目录 |
-s | 软链接(符号链接) |
-v | 显示详细的处理过程 |
选择参数:
名称 | 作用 |
---|---|
–help | 显示帮助信息 |
–version | 显示版本信息 |
-S “-S<字尾备份字符串> ”或 “–suffix=<字尾备份字符串>” | |
-V “-V<备份方式>”或“–version-control=<备份方式>” |
三.软链接
软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。
具体用法: ln -s 源文件 目标文件。
创建软链接: ln -s [源文件或目录] [目标文件或目录]
例子:
当前路径创建test 引向/var/www/test 文件夹
ln –s /var/www/test test
创建/var/test 引向/var/www/test 文件夹
1 ln –s /var/www/test /var/test
删除软链接:
和删除普通的文件是一样的,删除都是使用rm来进行操作
例子: 删除test
1 rm –rf test
修改软链接
ln –snf [新的源文件或目录] [目标文件或目录]
这将会修改原有的链接地址为新的地址
注意: 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在其它的 目录下用ln命令链接(link)就可以,不必重复的占用磁盘空间。
常用参数:
名称 | 作用 |
---|---|
-f | 链结时先将与 dist 同档名的档案删除 |
-d | 允许系统管理者硬链结自己的目录 |
-i | 在删除与 dist 同档名的档案时先进行询问 |
-n | 在进行软连结时,将 dist 视为一般的档案 |
-s | 进行软链结(symbolic link) |
-v | 在连结之前显示其档名 |
-b | 将在链结时会被覆写或删除的档案进行备份 |
-S SUFFIX | 将备份的档案都加上 SUFFIX 的字尾 |
-V METHOD | 指定备份的方式 |
–help | 显示辅助说明 |
–version | 显示版本 |
软链接和硬链接的区别
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建