JAVA学习 DAY4 DOS操作讲解及实例
本系列可作为JAVA学习系列的笔记,文中提到的一些练习的代码,小编会将代码复制下来,大家复制下来就可以练习了,方便大家学习。
点赞关注不迷路!您的点赞、关注和收藏是对小编最大的支持和鼓励!
系列文章目录
JAVA学习 DAY1 初识JAVA
JAVA学习 DAY2 java程序运行、注意事项、转义字符
JAVA学习 DAY3 注释与编码规范讲解
JAVA学习 DAY4 DOS操作讲解及实例
JAVA学习 DAY5 变量&数据类型 [万字长文!一篇搞定!]
目录
系列文章目录
前言
一、DOS(磁盘操作系统)-个人计算机时代的基石
1、DOS的定义与起源
2、DOS的核心功能
3、DOS的架构与组成
4、相对路径和绝对路径
(1)绝对路径(Absolute Path)
(2)相对路径(Relative Path)
(3)相对路径与绝对路径的对比
(4)常见问题与注意事项
5、常见DOS命令
(1)目录操作类命令
(2)文件操作类命令
(3)系统信息与网络相关命令
(4)其他常用命令
6、DOS的版本演进
7、DOS的影响与遗产
8、DOS的局限性
9、DOS的现代应用
二、总结
前言
小编作为新晋码农一枚,会定期整理一些写的比较好的代码,作为自己的学习笔记,会试着做一下批注和补充,如转载或者参考他人文献会标明出处,非商用,如有侵权会删改!欢迎大家斧正和讨论!
本系列文章可以作为学习JAVA的笔记使用,本文除了小编的笔记,还整理了 宝藏老师 B站up主:韩顺平 的系列视频笔记:【零基础 快速学Java】韩顺平 零基础30天学会Java
一、DOS(磁盘操作系统)-个人计算机时代的基石
1、DOS的定义与起源
DOS(Disk Operating System)即磁盘操作系统,是早期个人计算机(PC)的核心系统软件。它诞生于1981年,由微软公司为IBM PC开发,最初命名为MS-DOS(Microsoft Disk Operating System)。DOS以命令行界面(CLI)为核心,用户通过输入文本命令完成文件管理、设备控制、程序运行等操作。
- 技术背景:DOS的设计受早期微型计算机操作系统(如CP/M)启发,采用单用户、单任务架构,直接管理硬件资源(如内存、磁盘、输入输出设备)。
- 市场地位:在1980年代至1990年代中期,DOS是IBM PC及兼容机的主流操作系统,奠定了个人计算机普及的基础。
2、DOS的核心功能
- 文件管理
- 支持FAT12/FAT16文件系统,管理磁盘上的文件和目录。
- 提供文件创建、删除、复制、移动、重命名等操作(如
COPY
、DEL
、REN
命令)。 - 通过目录结构组织文件,支持路径导航(如
CD
、DIR
命令)。
- 设备管理
- 控制硬件设备(如磁盘驱动器、打印机、键盘、显示器)的输入输出。
- 通过设备驱动程序(如
CONFIG.SYS
配置)扩展硬件支持。
- 存储管理
- 管理内存分配,支持常规内存(640KB)和扩展内存(通过XMS/EMS规范)。
- 提供磁盘分区、格式化(如
FORMAT
命令)和文件系统维护工具。
- 程序加载与执行
- 直接运行
.COM
或.EXE
格式的可执行文件。 - 支持批处理脚本(
.BAT
文件),实现自动化任务。
- 直接运行
3、DOS的架构与组成
- 系统文件:
IO.SYS
:输入输出管理,负责硬件初始化。MSDOS.SYS
:核心功能模块,管理文件系统和内存。COMMAND.COM
:命令解释器,处理用户输入的命令。
- 配置文件:
CONFIG.SYS
:定义系统启动时的硬件配置(如内存管理、设备驱动)。AUTOEXEC.BAT
:自动执行的批处理脚本,用于初始化环境变量或启动程序。
4、相对路径和绝对路径
在操作系统或编程中,路径(Path)用于定位文件或目录的位置。相对路径和绝对路径是两种不同的路径表示方式,理解它们的区别和适用场景对文件操作、脚本编写和系统开发至关重要
(1)绝对路径(Absolute Path)
绝对路径是从文件系统的根目录(如/
或C:\
)开始,完整描述文件或目录位置的路径。无论当前工作目录(Current Working Directory)如何变化,绝对路径始终指向同一位置。
特点:
- 唯一性:绝对路径在文件系统中是唯一的,不会因当前目录改变而失效。
- 可移植性差:不同操作系统或设备上的绝对路径可能不同(如Windows的
C:\Users\
vs Linux的/home/
)。 - 冗长:路径可能较长,尤其是深层嵌套的目录结构。
示例:
- Windows:
C:\Users\Alice\Documents\report.pdf
从根目录C:\
开始,完整描述文件位置。 - Linux/macOS:
/home/alice/documents/report.pdf
从根目录/
开始,完整描述文件位置。使用场景 - 需要明确指向文件或目录的唯一位置时(如配置文件、脚本中的硬编码路径)。
- 在不同目录下执行程序时,确保路径始终有效。
(2)相对路径(Relative Path)
相对路径是相对于当前工作目录(Current Working Directory)的路径,描述文件或目录与当前目录的相对位置。路径中不包含根目录,因此会随当前目录的变化而变化。
特点:
- 简洁性:路径通常较短,适合描述当前目录下的文件或子目录。
- 可移植性好:相对路径不依赖具体文件系统结构,适合在不同环境中使用。
- 依赖当前目录:路径的有效性取决于当前工作目录。
示例:
假设当前工作目录为/home/alice/documents
:
- 子目录文件:
./projects/notes.txt
.
表示当前目录,projects
是子目录,notes.txt
是文件。 - 上级目录文件:
../images/photo.jpg
..
表示上级目录,images
是上级目录下的子目录,photo.jpg
是文件。 - 同级目录文件:
../data/data.csv
从当前目录返回上级目录,再进入data
目录。 - 在项目代码中引用同级或子目录下的文件(如HTML引用CSS、JavaScript)。
- 编写可移植的脚本或程序,避免硬编码绝对路径。
(3)相对路径与绝对路径的对比
特性 | 绝对路径 | 相对路径 |
---|---|---|
起点 | 根目录(如/ 或C:\ ) | 当前工作目录 |
唯一性 | 是 | 否(依赖当前目录) |
可移植性 | 差(不同系统路径不同) | 好(不依赖具体文件系统) |
路径长度 | 通常较长 | 通常较短 |
适用场景 | 明确指向唯一位置 | 描述当前目录或子目录的文件 |
(4)常见问题与注意事项
- 当前目录的动态性
相对路径的有效性取决于当前工作目录。例如:- 在终端中,当前目录可通过
cd
命令改变。 - 在程序中,当前目录可能因程序启动方式不同而变化。
- 在终端中,当前目录可通过
- 路径分隔符的差异
- Windows使用反斜杠
\
(如C:\Users\
),而Linux/macOS使用正斜杠/
(如/home/
)。 - 在编程中,建议使用跨平台的路径库(如Python的
os.path
或pathlib
)。
- Windows使用反斜杠
- 符号链接与路径解析
符号链接(Symbolic Link)可能导致路径解析结果与预期不符,需注意路径的实际指向。
- 绝对路径:明确、唯一,但可移植性差,适合需要固定指向的场景。
- 相对路径:简洁、可移植,但依赖当前目录,适合描述当前目录或子目录的文件。
- 选择建议:
- 在脚本或程序中,优先使用相对路径以提高可移植性。
- 在配置文件或需要明确指向的场景中,使用绝对路径。
- 使用跨平台的路径工具(如Python的
pathlib
)处理路径差异。
5、常见DOS命令
以下是一些常见的DOS命令及其讲解示例:
(1)目录操作类命令
- dir
- 功能:显示指定目录下的所有文件和文件夹,包括它们的名称、大小、修改日期等信息。
- 示例:
dir
:列出当前目录下的所有文件和文件夹。dir D:\
:列出D盘根目录下的所有文件和文件夹。dir /s
:显示当前目录及其子目录下所有的文件。dir /p
:分页显示目录内容,按任意键查看下一屏。dir /w
:宽屏显示,一行显示多个文件名。
- cd
- 功能:改变当前目录。(这里建议学会相对路径和绝对路径再学)
- 示例:
cd Documents
:进入当前目录下的Documents文件夹。cd ..
:返回上一级目录。cd \
:返回根目录。cd /d F:\Programs
:切换到F盘的Programs目录(跨盘符跳转)。
- md(mkdir)
- 功能:创建新目录。
- 示例:
md NewFolder
:在当前目录下创建一个名为NewFolder的新目录。md D:\NewFolder
:在D盘根目录下创建一个名为NewFolder的新目录。
- rd(rmdir)
- 功能:删除目录(注意,该命令只能删除空目录,除非使用
/s
参数)。 - 示例:
rd EmptyFolder
:删除当前目录下的EmptyFolder空目录。rd /s /q NonEmptyFolder
:强制删除NonEmptyFolder目录及其所有内容(不提示确认)。
- 功能:删除目录(注意,该命令只能删除空目录,除非使用
(2)文件操作类命令
- copy
- 功能:复制文件。
- 示例:
copy source.txt destination.txt
:将source.txt复制到destination.txt。copy C:\Data\*.txt D:\Backup\
:将C盘Data目录下的所有.txt文件复制到D盘Backup目录下。
- move
- 功能:移动文件或重命名文件/目录。
- 示例:
move oldfile.txt newfolder\
:将oldfile.txt移动到newfolder目录下。move oldname.txt newname.txt
:将文件重命名为newname.txt。
- del(erase)
- 功能:删除文件。
- 示例:
del oldfile.txt
:删除名为oldfile.txt的文件。del *.tmp
:删除当前目录下所有.tmp文件。del /f readonlyfile.txt
:强制删除只读文件readonlyfile.txt。
- ren(rename)
- 功能:重命名文件或目录。
- 示例:
ren oldfile.txt newfile.txt
:将oldfile.txt重命名为newfile.txt。ren *.txt *.bak
:将所有.txt文件重命名为.bak文件。
- type
- 功能:显示文本文件的内容。
- 示例:
type example.txt
:在命令行中显示example.txt的内容。
(3)系统信息与网络相关命令
- systeminfo
- 功能:显示计算机的详细系统信息,包括操作系统版本、处理器信息、内存大小等。
- 示例:
systeminfo
:显示当前计算机的系统信息。
- ipconfig
- 功能:显示计算机的网络配置信息,如IP地址、子网掩码等。
- 示例:
ipconfig
:显示当前计算机的网络配置信息。ipconfig /all
:显示详细的网络配置信息,包括MAC地址、DNS服务器等。
- ping
- 功能:测试网络连接是否正常。
- 示例:
ping www.baidu.com
:测试与百度网站的连接是否正常。
(4)其他常用命令
- cls
- 功能:清除当前命令窗口中的内容。
- 示例:
cls
:清除命令窗口中的内容,使屏幕显示干净整洁。
- exit
- 功能:退出DOS命令窗口。
- 示例:
exit
:关闭当前打开的命令提示符窗口。
- shutdown
- 功能:关闭或重启计算机。
- 示例:
shutdown -s -t 600
:600秒后自动关机。shutdown -r
:立即重启计算机。shutdown -a
:取消定时关机。
6、DOS的版本演进
- 早期版本(1981-1985):
- MS-DOS 1.0至3.3:支持基本文件操作和硬件管理,逐步增加对硬盘、网络和图形界面的支持。
- 成熟期(1985-1993):
- MS-DOS 4.0至6.22:引入图形界面工具(如
MOUSE.COM
)、内存管理优化(如EMM386.EXE
)、网络支持(如LAN Manager
)。
- MS-DOS 4.0至6.22:引入图形界面工具(如
- 过渡期(1993-1995):
- MS-DOS 7.0(Windows 95内置):兼容长文件名、FAT32文件系统,但逐渐被Windows图形界面取代。
7、DOS的影响与遗产
- 技术遗产
- 命令行文化:DOS的命令行界面为后续操作系统(如Linux、macOS终端)奠定了基础。
- 文件系统标准:FAT文件系统至今仍用于U盘、存储卡等设备。
- 硬件抽象层:DOS的驱动程序模型影响了后续操作系统的硬件管理方式。
- 历史意义
- 个人计算机普及:DOS的易用性和低成本推动了PC的广泛普及。
- 软件生态:大量应用程序(如WordStar、Lotus 1-2-3)基于DOS开发,形成了早期的软件产业。
- 技术启蒙:DOS是许多程序员和系统管理员接触计算机技术的起点。
8、DOS的局限性
- 单用户单任务:无法同时运行多个程序,效率低下。
- 内存限制:常规内存仅640KB,扩展内存需特殊管理。
- 图形界面缺失:依赖命令行操作,用户体验不如图形界面友好。
- 安全性差:缺乏用户权限管理,易受病毒攻击。
9、DOS的现代应用
- 嵌入式系统:某些工业控制设备仍使用DOS或类似系统。
- 复古计算:爱好者通过模拟器(如DOSBox)运行经典DOS游戏或软件。
- 系统维护:Windows的命令提示符(CMD)保留了部分DOS命令,用于系统管理和故障排除。
二、总结
DOS是个人计算机发展史上的里程碑,它以简洁的命令行界面和高效的硬件管理能力,推动了PC的普及和软件产业的发展。尽管现代操作系统已全面转向图形界面和多任务处理,但DOS的技术遗产仍深刻影响着计算机领域。对于研究计算机历史或学习底层技术的人来说,DOS依然是一个值得深入探索的经典系统。