当前位置: 首页 > ai >正文

【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

硬链接

硬链接是一种特殊的文件链接方式,其本质是为文件创建了一个额外的“入口”。

特性:

  1. 共享 inode 和数据块:硬链接与源文件共享相同的 inode 和数据块,这意味着它们指向的是同一个文件内容。
  2. 基于已存在文件创建:硬链接只能针对已存在的文件进行创建,无法对尚未创建的文件或目录进行硬链接操作。
  3. 文件系统限制:硬链接不能跨越不同的文件系统。如果源文件和目标链接位于不同的文件系统中,硬链接将无法创建。
  4. 仅适用于文件:硬链接只能对普通文件创建,不能对目录创建硬链接。这是因为目录的结构和文件不同,目录需要维护其自身的层级关系。
  5. 删除不影响其他链接:删除一个硬链接文件不会影响其他具有相同 inode 的文件。只要还有其他硬链接存在,文件内容仍然可以被访问。
  6. 修改同步性:修改其中一个硬链接文件的内容,其他所有硬链接文件的内容也会同步更新,因为它们共享同一个数据块。
  7. 文件大小一致:由于硬链接与源文件共享数据块,因此它们的文件大小始终保持一致。

创建硬链接:

#为file.txt 创建一个硬链接 file_hardlink.txt
ln file.txt file_hardlink.txt

pwd命令

作用:显示当前工作目录的绝对路径。

基本用法

pwd [选项]

常用选项

  • -L, --logical:显示逻辑路径,即当前目录的符号链接路径(默认行为)。如果当前目录是通过符号链接访问的,pwd -L 会显示符号链接的路径。
  • -P, --physical:显示物理路径,即当前目录的实际路径,忽略任何符号链接。如果当前目录是通过符号链接访问的,pwd -P 会显示最终的目标路径。
http://www.xdnf.cn/news/5263.html

相关文章:

  • 对日开发 TeraTerm ttl脚本开发环境配置
  • python04——条件判断(选择结构)
  • 部署RocketMQ
  • 数孪实战笔记(1)数字孪生的含义、应用及技术体系
  • java-代理
  • [特殊字符] AI网关:大模型时代的智能交通指挥官 [特殊字符]
  • 科大讯飞TTS(文字转语音)和STT(语音转文字)
  • 如何将 Windows 11 的开始菜单移到左侧
  • ECMAScript 2017(ES2017):异步编程与对象操作的革新
  • CUDA编程——性能优化基本技巧
  • 常用的Linux命令100条
  • python 版本管理用的是pyenv pip install 把东西安装到那里了,好的检测方法,注意是windows环境
  • RENAME 语句与RENAME选项学习
  • 理解Yocto项目中`${D}`作为模拟目标系统根文件结构的临时目录
  • 投影显示技术全解析:主流方案对比与雷克赛恩 CyberPro1 的核心优势
  • 【桌面】【输入法】常见问题汇总
  • Day 14
  • 介绍一下synchronized锁升级过程
  • 2024年AI发展趋势全面解析:从多模态到AGI的突破
  • LintCode第485题-生成给定大小的数组,第220题-冰雹猜想,第235题-分解质因数
  • JDBC演进之路:从基础操作到高效连接池
  • 计算机科技笔记: 容错计算机设计03 系统可信性的度量 偶发故障期 浴盆曲线 韦布尔分布
  • 工程师视角下的 AI 浏览器智能体拆解(AI Browser Agent from an Engineer‘s Perspective)
  • TWAS、GWAS、FUSION
  • 使用Simulink开发Autosar Nvm存储逻辑
  • Qt开发经验 --- 避坑指南(11)
  • Ctrl + D是如何与内核文件结束符对应的?如何模拟文件结束符?数字中间为什么不能插入空格或逗号?丰富多彩的语句结束符或分隔符?语句结束符?
  • (剪映)视频添加字幕
  • SEO长尾关键词优化实战技法
  • 利用大型语言模型有效识别网络威胁情报报告中的攻击技术