AI开发基础1-操作系统

这里介绍AI服务器开发所需的必要操作系统知识

1.文件系统

理论基础是《操作系统》,再深入些是《计算机组成原理》

目的是管理操作系统,核心是文件系统, 通过命令行操作

路径是文件系统中用来指示文件或目录位置的描述。

1.1 绝对路径 (Absolute Path)

绝对路径是从文件系统的根目录(在 Unix 系统中是 /)开始的完整路径,它唯一地标识文件或目录在文件系统中的位置。绝对路径总是以 / 开头,指明路径从根目录开始,并逐级向下到达目标文件或目录。

  • 始终从根目录开始:绝对路径从文件系统的最顶层(根目录 /)开始。
  • 唯一标识:无论当前工作目录在哪里,绝对路径始终指向同一个位置。
  • 不依赖于当前目录:可以在任何情况下使用,不受当前工作目录的影响。

假设有以下文件系统结构:

/
├── home
│   ├── user1
│   │   └── document.txt
│   └── user2
└── var
    └── log
        └── system.log
  • 文件 document.txt 的绝对路径是:/home/user1/document.txt
  • 文件 system.log 的绝对路径是:/var/log/system.log

在任何时候,只要使用这个路径,都能准确地找到文件的位置。

1.2 相对路径 (Relative Path)

相对路径是相对于当前工作目录的路径。它不从根目录开始,而是根据当前所在的目录位置指明目标文件或目录的位置。

特点:

  • 基于当前工作目录:相对路径是基于当前目录的位置。
  • 更简洁:相对路径通常比绝对路径更短,更便于输入。
  • 上下级目录:可以使用 … 表示上一级目录,. 表示当前目录。

假设当前工作目录是 /home/user1,我们有以下文件系统结构:

/
├── home
│   ├── user1
│   │   ├── document.txt
│   │   └── projects
│   │       └── project1
│   └── user2
└── var
    └── log
        └── system.log
  • 直接引用 document.txt 使用相对路径:document.txt
  • 进入 projects 目录可以使用:projects
  • 进入 project1 目录可以使用:projects/project1
  • 返回上一级目录(/home)使用:…
  • 进入 user2 目录(从 /home/user1 开始):…/user2
  • 访问 system.log 使用相对路径:…/…/var/log/system.log(从 /home/user1 开始,向上两级,再进入 var/log)
    比较和应用
  • 绝对路径适用于需要明确指定位置时,特别是在脚本或配置文件中,以避免因当前工作目录不同而导致路径解析错误。
  • 相对路径适用于操作当前工作目录附近的文件或目录,更加灵活和简便,适合交互式的操作。

假设当前目录为 /home/user1,以下是一些路径的使用:

# 使用绝对路径
cd /var/log          # 切换到 /var/log 目录
cat /var/log/system.log  # 查看 /var/log/system.log 文件内容

# 使用相对路径
cd projects          # 切换到 /home/user1/projects 目录
cat ../document.txt  # 查看 /home/user1/document.txt 文件内容

理解绝对路径和相对路径的概念以及如何在文件系统中使用它们是有效导航和操作文件系统的基础。

绝对路径提供了明确的、全局的路径指引,而相对路径则提供了灵活性,方便在特定上下文中进行操作。

2. unix系统

适用于ubuntu(mac)

2.1 文件系统结构

在这里插入图片描述

/ (Root)  # 根目录,是文件系统的顶层。

/bin #存放基本的用户命令的二进制文件,如 ls, cp, mv, rm 等。

/boot #启动引导加载器所需的文件,包括内核和初始化RAM磁盘镜像 (initrd 或 initramfs)。

/dev #设备文件目录,Linux系统中的所有设备都表示为文件,如 tty, sda, random 等。

/etc #配置文件目录,系统级配置文件和脚本,如 passwd, fstab, hosts 等。

/home #用户主目录,个人文件和配置文件的存储位置,每个用户都有一个子目录,如 /home/user1。

/lib #存放基本的共享库文件和内核模块(Library)。

/media #可移动介质挂载点,如 cdrom, usb 驱动器。

/mnt #临时挂载文件系统的挂载点,一般用于手动挂载设备。

/opt #可选的应用程序目录,通常用于第三方软件包。

/proc #虚拟文件系统,提供系统和进程的信息,如 cpuinfo, meminfo。

/root #超级用户 (root) 的主目录,与 /home 下的普通用户目录类似。

/run #运行时数据存储的目录,系统启动后创建并用于进程的PID文件、套接字等。

/sbin #系统管理员用的基本系统二进制文件,如 fsck, reboot, ifconfig。

/srv #服务数据目录,包含服务启动所需的数据。

/sys #供设备及系统信息的虚拟文件系统,类似于 /proc。

/tmp #临时文件目录,系统和用户都可以在此目录中存放临时文件,通常会定期清理。

/usr #用户二进制和只读数据目录,包含应用程序和用户工具,如 /usr/bin, /usr/lib。

/var #可变数据目录,用于存放经常变化的数据,如日志文件 (/var/log), 缓存 (/var/cache), 邮件队列 (/var/mail)。

2.2 常见命令

ls: 列出目录内容

ls                # 列出当前目录的内容
ls -l             # 以详细格式列出
ls -a             # 包含隐藏文件

cd: 改变当前目录

cd /path/to/dir   # 切换到指定目录
cd ..             # 返回上一级目录
cd ~              # 返回主目录
cd 			# 回到用户默认目录

pwd: 显示当前工作目录

pwd               # 输出当前工作目录的绝对路径

mkdir: 创建新目录

mkdir new_dir     # 创建名为 new_dir 的目录

rm: 删除文件或目录

rm file           # 删除文件
rm -r dir         # 递归地删除目录及其内容
rm -f file        # 强制删除文件,不提示确认

touch: 创建新文件或更新文件的时间戳

touch newfile.txt # 创建一个名为 newfile.txt 的新文件

cp: 复制文件或目录

cp file1 file2    # 复制文件 file1 到 file2
cp -r dir1 dir2   # 递归地复制目录 dir1 到 dir2

mv: 移动或重命名文件或目录

mv old_name new_name  # 重命名文件或目录
mv file1 /path/to/destination # 移动文件到指定目录

3. windows系统

windows操作系统下命令行最早可追溯到DOS系统,现在主要通过powershell或command(cmd)运行

3.1 文件系统结构

区别于unix系统,其有多个并行的根目录,如c,d,e盘; c盘通常用于存储操作系统。

在这里插入图片描述

3.2 常见命令

注意,windows下部分命令和unix名称不同,但功能类似:

dir: 列出目录内容

dir                  # 列出当前目录的内容
dir /a               # 列出包括隐藏文件和系统文件
dir /s               # 递归列出所有子目录的内容
dir /b               # 以简洁格式列出
dir /p               # 分页显示目录内容

cd : 改变当前目录(chdir)

cd \path\to\dir      # 切换到指定目录
cd ..                # 返回上一级目录
cd \                 # 返回根目录
D:		       #  切换到 D 盘
cd D:\path\to\dir # 切换到 D 盘的指定目录

md: 创建新目录

md new_dir           # 创建名为 new_dir 的目录
mkdir new_dir        # 创建名为 new_dir 的目录 (md 是 mkdir 的别名)

rd: 删除目录 (rmdir )

rd /s /q dir_name    # 删除目录及其所有内容(/s 递归删除,/q 静默模式)
rd dir_name       # 删除空目录

del / erase: 删除文件

del file.txt                     # 删除文件
del /f /q /s *.txt               # 强制删除所有 .txt 文件(静默模式,递归删除)
erase file.txt                   # 删除文件(erase 是 del 的别名)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/701341.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux ldd和ldconfig

ldconfig ldconfig 查看默认库路径和ld.so.conf包含的库路径,来建立运行时动态装载的库查找路径。 ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),…

【python】OpenCV—Cartoonify and Portray

参考来自 使用PythonOpenCV将照片变成卡通照片 文章目录 1 卡通化codecv2.medianBlurcv2.adaptiveThresholdcv2.kmeanscv2.bilateralFilter 2 肖像画cv2.divide 1 卡通化 code import cv2 import numpy as npdef edge_mask(img, line_size, blur_value):gray cv2.cvtColor(…

第二证券炒股技巧:科创板和创业板参与门槛一样吗?

科创板和创业板参加门槛是不相同的。 科创板注册条件:申请注册权限前20个生意日证券及资金账户日均财物不低于50万元,不包括融资融券融入的资金与证券,两年及以上的股票生意经历,风险承受才能C4及以上。 创业板注册条件&#xf…

Redux 与 MVI:Android 应用的对比

Redux 与 MVI:Android 应用的对比 在为 Android 应用选择合适的状态管理架构时可能会感到困惑。在这个领域中,有两种流行的选择是 Redux 和 MVI(Model-View-Intent)。两者都有各自的优缺点,因此在深入研究之前了解它们…

【YOLO系列】YOLOv1学习(PyTorch)原理加代码

论文网址:https://arxiv.org/pdf/1506.02640 训练集博客链接:目标检测实战篇1——数据集介绍(PASCAL VOC,MS COCO)-CSDN博客 代码文件:在我资源里,但是好像还在审核,大家可以先可以,如果没有的…

Hadoop3:MapReduce源码解读之Map阶段的FileInputFormat的切片原理(2)

Job那块的断点代码截图省略,直接进入切片逻辑 参考:Hadoop3:MapReduce源码解读之Map阶段的Job任务提交流程(1) 4、FileInputFormat切片源码解析 切片入口 获取切片 获取切片最大的Size和切片最小的Size 判断文件是…

[Shell编程学习路线]——编制第一个shell脚本入门篇

🏡作者主页:点击! 🛠️Shell编程专栏:点击! ⏰️创作时间:2024年6月12日10点23分 🀄️文章质量:93分 目录 ——前言—— 💥常用的几种shell Bash Sh …

ip地址的表示方式有哪几种

在当今数字化、网络化的时代,IP地址已成为我们生活中不可或缺的一部分。无论是浏览网页、在线购物,还是远程办公、视频会议,IP地址都在背后默默发挥着作用。IP地址是互联网协议地址的简称,它为每一个连接到互联网的设备提供了一个…

antdv 下拉框增加全选功能

由于select下拉框中内容过多&#xff0c;使用下拉框多选需要一个一个选取太过于麻烦&#xff0c;所以在下拉中增加全选和取消全选操作。 看官方文档发现&#xff0c;dropdownRender 可以自定义下拉框内容&#xff0c;可以满足我们的需要。 代码实现 <a-select mode"…

5款非常好用的小众软件,你值得拥有

​ 今天为大家推荐五款不常见但好用的win10软件&#xff0c;它们都有着各自的特色和优势&#xff0c;相信你会喜欢的。 1. 文件夹查看——Folder Size View ​ Folder Size View是一款高效的文件夹大小查看工具&#xff0c;它能够快速扫描并展示文件夹及其子文件夹的占用空间…

力扣42 接雨水

听说字节每人都会接雨水&#xff0c;我也要会哈哈哈 数据结构&#xff1a;数组 算法&#xff1a;核心是计算这一列接到多少雨水&#xff0c;它取决于它左边的最大值和右边的最大值&#xff0c;如下图第三根柱子能接到的雨水应该是第一根柱子高度和第五根柱子高度的最小值减去第…

光学知识 | 什么是超透镜,其工作原理是什么?

在复杂的成像和照明设备中&#xff0c;超透镜&#xff08;以及更普遍的超表面&#xff09;被越来越多地视为一种切实可行的解决方案&#xff0c;以用于提高系统性能&#xff0c;同时缩小系统尺寸并减轻重量。这是因为通常单个超透镜即可达到原本需要在设备中使用多个“传统”光…

带你走进信息安全软件架构

汽车行业网联化以及网络安全风险日益突出&#xff0c;汽车网络攻击&#xff0c;漏洞日益增加&#xff0c;危害防不胜防。汽车信息安全逐步受到重视&#xff0c;网络安全相关法律法规陆续颁布。在这样的背景下&#xff0c;AUTOSAR 组织也发布了有关信息安全模块和 Crypto Stack(…

对象和引用类型的赋值都是通过引用传递的方式进行的,这意味着变量实际上存储的是对象的引用,而不是对象本身的副本

这篇博客我主要想解释一下这句话&#xff1a;对象和引用类型的赋值都是通过引用传递的方式进行的&#xff0c;这意味着变量实际上存储的是对象的引用&#xff0c;而不是对象本身的副本。 其实这段话早在学习JS的时候就接触过&#xff0c;只是被我丢进了“记忆垃圾桶”&#xf…

【C++进阶】模板与仿函数:C++编程中的泛型与函数式编程思想

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;栈和队列相关知识 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀模板进阶 &#x1f9e9;<&…

Javascript学习之路:js中关于遍历总结

循环/遍历 循环&#xff0c;就是一遍又一遍的重复执行相同或者相似的代码循环结构的两个要素 循环体–要执行的相同或相似的语句循环条件–重复执行的次数&#xff0c;或者继续执行循环的条件 &#x1f449;while循环 while循环语法格式 while(boolean表达式){循环体语句}//…

数据库选型实践:如何避开分库分表痛点 | OceanBase用户实践

随着企业业务的不断发展&#xff0c;数据量往往呈现出快速的增长趋势。使用MySQL的用户面对这种增长&#xff0c;普遍选择采用分库分表技术作为应对方案。然而&#xff0c;这一方案常在后期会遇到很多痛点。 分库分表的痛点 痛点 1&#xff1a;难以保证数据一致性。由于分库分…

算法之分治

分而治之 分治法所能解决的问题一般具有以下几个特征&#xff1a; 1) 该问题的规模缩小到一定的程度就可以容易地解决 2) 该问题可以分解为若干个规模较小的子问题&#xff0c;即该问题具有最优子结构性质 3) 利用该问题分解出的子问题的解可以合并为该问题的解 4) 该问题所分…

Redis在互联网大厂中的应用案例分析

携程金融的Redis架构 携程金融在经过多年的演进后,形成了多层次的系统架构,其中基础数据(如用户信息、产品信息、订单信息等)由底层系统产生,并服务于所有的金融系统。这些基础数据通过统一的缓存服务(系统名utag)进行缓存。缓存数据具有全量、准实时、永久有效的特点,…

【SpringBoot + Vue 尚庭公寓实战】标签和配套管理接口实现接口实现(六)

【SpringBoot Vue 尚庭公寓实战】标签和配套管理接口实现接口实现&#xff08;六&#xff09; 文章目录 【SpringBoot Vue 尚庭公寓实战】标签和配套管理接口实现接口实现&#xff08;六&#xff09;1、保存或更新标签信息2、根据id删除标签信息3、根据类型查询配套列表4、新…