【Linux基础】文件和目录管理指令
目录
cd命令
ls命令
mkdir命令
cat 命令
cp命令
mv命令
rm命令
chmod命令
ln命令
pwd命令
cd命令
作用:改变当前工作目录。
基本用法:
cd ..:切换到当前目录的上级目录。
cd ~:切换到用户的主目录。
cd ./:保持当前目录。
cd -:切换到上一个工作目录。
cd /:切换到根目录。
ls命令
作用:列出目录中的文件和子目录。
基本用法:
ls [选项] [目录或文件]
- 若不指定目录或文件,默认列出当前目录的内容。
- 若指定目录,则列出该目录的内容。
- 若指定文件,则显示该文件的信息。
常用选项:
- -l :以长格式显示详细信息,包括文件类型、权限、链接数、所有者、组、大小、修改时间等。(小写的L)
- -a :显示所有文件,包括隐藏文件(以 . 开头的文件)。
- -h :与 -l 一起使用时,以易读的格式显示文件大小(如 KB、MB)。
- -r :反向排序。
- -t :按修改时间排序,最新文件在前。
- -R :递归列出子目录内容。
- -S :按文件大小排序,最大文件在前。
- --color :彩色显示输出,通常不同类型文件会有不同颜色。
mkdir命令
作用:创建一个或多个空目录
基本用法:
mkdir [选项] 目录名
- 目录名:要创建的目录名称,可以是相对路径或绝对路径。
- 可以同时创建多个目录,用空格分隔。
常用选项:
- -p :递归创建目录。如果父目录不存在,会自动创建。
- -m :设置目录的权限模式(如 mkdir -m 755 dirname )。
- -v :显示创建目录的详细信息(verbose)。
例子:
#创建一个空目录
mkdir test#在已有的new目录中创建一个新的test目录并给它777权限
mkdir -m 777 /home/new/test#递归创建目录,new可以不存在
mkdir -p /home/new/test#创建目录并给权限
mkdir -p -m 777 路径
cat 命令
作用:查看、创建、合并和复制文件内容。cat命令适合查看小文件,大文件建议使用less或者more。主要是和重定向命令配合使用。
基本用法:
cat [选项] [文件]
- -n :显示行号。
- -b :显示非空行的行号。
- -s :压缩连续空行为一行。
- -A :显示所有字符,包括特殊字符(如换行符、制表符等)。
例子:
#查看文件内容
cat file.txt#显示行号
cat -n file.txt
#或者
nl file.txt#合并文件
cat file1.txt file2.txt > combined.txt#创建文件
cat > newfile.txt#复制文件
cat file.txt > copy.txt#显示特殊字符
cat -A file.txt
cp命令
作用:复制文件或目录。
基本用法:
cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录
- 源文件:要复制的文件或目录。
- 目标文件:复制后的文件或目录名称。
- 目标目录:将源文件复制到指定目录中。
常用选项:
- -r 或 -R :递归复制目录及其内容(用于复制目录)。
- -i :交互模式,覆盖前提示确认。
- -f :强制复制,覆盖目标文件时不提示。
- -v :显示复制过程的详细信息(verbose)。
- -p :保留文件的属性(如权限、时间戳等)。
- -a :归档模式,相当于 -dpR ,保留所有文件属性和递归复制目录。
- -u:仅当源文件比目标文件新时才复制(更新模式)。
例子:
#复制目录
cp -rf dir1 dir2#交互模式 如果flie2已经存在则会提示你是否覆盖
cp -i file1 file2#保留文件属性 复制文件并保留权限、时间戳等属性
cp -p file1 file2
mv命令
作用:移动或重命名文件和目录。
基本用法:
mv [选项] 源文件或目录 目标文件或目录
常用选项:
- -i :交互式操作,覆盖前提示确认。
- -f :强制操作,直接覆盖不提示。
- -v :显示详细操作信息。
- -n :不覆盖已存在文件。
- -u :仅在源文件比目标文件新或目标文件不存在时移动。
注意事项:
- 如果目标路径是目录,文件或目录会被移动到该目录下。
- 如果目标路径是文件名,文件或目录会被重命名或覆盖。
- 使用 -i 选项可避免意外覆盖文件。
rm命令
作用:删除文件或目录。
基本用法:
rm [选项] 文件或目录
常用选项:
- -f :强制删除,忽略不存在的文件,不提示确认。
- -i :交互式删除,删除前提示确认。
- -r 或 -R :递归删除目录及其内容。
- -v :显示详细操作信息。
- -d :删除空目录。
chmod命令
作用:用于更改文件或目录的权限。
基本用法:
chmod [选项] 模式 文件或目录
权限表示:
- 符号模式:使用 u(用户)、g(组)、o(其他)、a(所有)与 +(添加)、-(移除)、-(设置)结合 -(读)、w(写)、x(执行)来设置权限。
- 数字模式:使用三位或四位八进制数表示权限,每位分别代表用户、组、其他的权限。
常用选项:
- -R:递归更改目录及其内容的权限。
- -v :显示详细操作信息。
- -c :仅在更改时显示信息。
- -f :忽略错误信息。
例子:
1.符号模式:
#添加执行权限
chmod u+x file.txt#移除写权限
chmod g-w file.txt#设置读写权限
chmod o=rw file.txt
2.数字模式:
#设置权限为 rwxr-xr-- 用户:rwx,组:r-x,其他:r--
chmod 754 file.txt#递归更改权限
chmod -R 755 dir1
ln命令
作用:创建文件或目录的链接,分为硬链接和符号链接(软链接)。
基本用法:
ln [选项] 源文件或目录 目标文件或目录
常用选项:
- -s :创建符号链接(软链接)。如果不带改参数就默认硬链接。
- -f :强制创建链接,覆盖已存在的目标文件。
- -v :显示详细操作信息。
- -i :交互式操作,覆盖前提示确认。
软链接:
符号链接,它包含了到原文件的路径信息。类似window的快捷方式。是一个独立的文件,存储源文件的路径。
特性:
(1)软链接有自己的文件属性及权限等;
(2)可对不存在的文件或目录创建软链接;
(3)软链接可交叉文件系统;
(4)软链接可对文件或目录创建;
(5)创建软链接时,链接计数 i_nlink 不会增加;
(6)删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
创建软链接:
#创建file文件的软链接 并命名为link
ln -s file link
硬链接:
硬链接是一种特殊的文件链接方式,其本质是为文件创建了一个额外的“入口”。
特性:
- 共享 inode 和数据块:硬链接与源文件共享相同的 inode 和数据块,这意味着它们指向的是同一个文件内容。
- 基于已存在文件创建:硬链接只能针对已存在的文件进行创建,无法对尚未创建的文件或目录进行硬链接操作。
- 文件系统限制:硬链接不能跨越不同的文件系统。如果源文件和目标链接位于不同的文件系统中,硬链接将无法创建。
- 仅适用于文件:硬链接只能对普通文件创建,不能对目录创建硬链接。这是因为目录的结构和文件不同,目录需要维护其自身的层级关系。
- 删除不影响其他链接:删除一个硬链接文件不会影响其他具有相同 inode 的文件。只要还有其他硬链接存在,文件内容仍然可以被访问。
- 修改同步性:修改其中一个硬链接文件的内容,其他所有硬链接文件的内容也会同步更新,因为它们共享同一个数据块。
- 文件大小一致:由于硬链接与源文件共享数据块,因此它们的文件大小始终保持一致。
创建硬链接:
#为file.txt 创建一个硬链接 file_hardlink.txt
ln file.txt file_hardlink.txt
pwd命令
作用:显示当前工作目录的绝对路径。
基本用法:
pwd [选项]
常用选项:
- -L, --logical:显示逻辑路径,即当前目录的符号链接路径(默认行为)。如果当前目录是通过符号链接访问的,pwd -L 会显示符号链接的路径。
- -P, --physical:显示物理路径,即当前目录的实际路径,忽略任何符号链接。如果当前目录是通过符号链接访问的,pwd -P 会显示最终的目标路径。