一、Linux目录结构
Linux目录结构是一个标准化的文件系统层次结构,非常有组织性并且易于管理。而与Windows
操作系统不同,Linux将所有文件和设备都组织在一个单一的根目录下。以下是Linux的标准目录结构:
/:根目录,包含了整个文件系统。
/bin:二进制可执行文件,例如cat、ls、ping等。
/boot:启动时使用的核心文件和引导加载程序。
/dev:设备文件,包括硬件设备和外部设备(如USB驱动器、打印机和调制解调器等)。
/etc:系统级配置文件,包括网络配置、用户账户、安全和服务启动脚本等。
/home:用户主目录,每个用户都有自己的子目录。
/lib和/lib64:共享库文件,支持/bin和/sbin中的命令。
/media:可移动介质,例如CD-ROM、闪存驱动器等。
/mnt:临时挂载点,系统管理员可以将其他文件系统挂载到此目录中。
/opt:第三方应用程序目录,通常在此处安装非默认软件。
/proc:虚拟文件系统,提供有关运行进程和系统状态的信息。
/root:超级用户(root)的主目录。
/run:文件系统中运行时数据的放置处,例如PID文件和套接字文件等。
/sbin:超级用户使用的系统二进制命令,用于管理系统和网络。
/srv:服务数据目录,例如Web服务器、FTP服务器等。
/sys:虚拟文件系统,包含了所有硬件设备、内核和驱动程序。
/tmp:临时文件目录,系统管理员和应用程序可以在此处创建和删除文件。
/usr:常规用户使用的应用程序和文件,包括/bin、/sbin、/lib和/usr/share等子目录。
/var:变量文件,包含日志文件、数据库文件、缓存文件以及其他一些变量数据。
与Linux不同,Windows操作系统采用了不同的目录结构:
C:\:Windows中安装的默认操作系统驱动器盘符,包含了整个文件系统。
C:\Program Files\:标准程序安装位置,包括与Windows系统预装程序无关的所有应用程序。
C:\Program Files (x86)\:32位Windows中的标准程序安装位置,使32位应用程序可以在64位Windows中运行。
C:\Windows\:Windows系统文件和系统级应用程序的主要目录。
C:\Users\:每个用户的个人文件夹和配置文件。
二、Windows目录结构
windows磁盘中用反斜杠(又称为右斜杠)\ 表示路径的分隔。在浏览器中用正斜杠/ 来表示路径的分隔。而Java中路径分隔使用正斜杠(又称为左斜杠) /,不推荐使用反斜杠\(反斜杠需要转义:两个反斜杠表示一个正杠)。
//在相对路径下创建Test.txt 文件
Filefile=newFile("Test.txt");
//在相对路径下 创建 newFile\\Test 目录
Filefile1=newFile("newFile\\Test");
//在相对路径下创建 newTestFile 文件夹
FilenewTestFile=newFile("newTestFile");
路径开头是斜杠以Java项目所在的磁盘为起始路径
File file1 = new File("/");
System.out.println("file1 的绝对路径为:" + file1.getAbsolutePath());
File file2 = new File("/new.txt");
System.out.println("file2 的绝对路径为:" + file2.getAbsolutePath());
以直接文件名开头java的相对路径是以java所在项目的为起始点
在Java中不存在…/ 只有 ./表示当前目录,…/表示上一级目录,如果输入…/Java程序会把…当作文件夹名
拼接路径建议使用File.separator,Windows都可以识别,而Linux只能识别 '/',使用File.separator就不用担心这个问题了。
三、绝对路径和相对路径
Linux cd路径 [root@myai jdk1.8.0_261]# cd bin/和[root@myai jdk1.8.0_261]# cd /bin 有什么区别?
cd bin/ 会将当前目录更改为 jdk1.8.0_261/bin/,也就是将当前工作目录切换到了 jdk1.8.0_261 目录下的 bin 子目录中。(其实cd bin/ 中的/加不加都行,cd bin 表示的也是同一个意思,或者还有一个写法,就是cd ./bin 也是同样的效果)
而 cd /bin 则会将当前目录更改为系统根目录下的 /bin 目录,也就是切换到了系统的可执行文件所在目录下。
两者的区别在于,前者是相对路径,后者是绝对路径。相对路径是相对于当前工作目录的路径,而绝对路径则是从系统根目录开始的完整路径。
/表示根目录
./表示文件所在的当前目录
../表示文件所在的上级目录
../../表示
这个放在Windows下也是一样的(Linux中是ls ,而Windows是dir)
当然,如果要进入D盘下的5.15文件夹(有绝对路径和相对路径两个方法)
这个错误提示可能是因为在 Windows 操作系统中,命令中的斜杠应该使用反斜杠来表示路径,而非正斜杠。此外,在切换磁盘时,应该使用冒号而非斜杠。因此,正确的命令应该是:cd /d D:\5.15 来切换到 D 盘下的 5.15 目录。
要想进一步查看这个5.15文件夹中的内容,可以继续查看,但是,我在5.15文件夹中只有一个jx-system的文件夹为什么会列出三个文件夹呢?
这是因为在 Windows 操作系统中,每个文件夹(或目录)都有两个隐藏的系统文件夹分别是 "." 和 ".."。其中 "." 表示当前文件夹,而 ".." 则表示当前文件夹的上一层目录,即父目录。这两个隐藏的系统文件夹会在执行 dir 命令时显示出来。因此,当进入 5.15 文件夹后,在执行 dir 命令时,会列出该目录下的三个文件夹,分别是当前目录(".")、父目录("..")和 jx-system 子目录。
当然,除了 dir 命令之外,还有一些命令可以查看文件和目录。以下是一些常用的命令:
ls (Linux, macOS) 或 dir (Windows):列出当前目录下的所有文件和子目录;
type (Windows) 或 cat (Linux, macOS):显示文本文件的内容;
more (Windows) 或 less (Linux, macOS):分页显示文本文件的内容;
head 和 tail (Linux, macOS):分别显示文件的前 N 行和后 N 行;
grep (Linux, macOS) 或 findstr (Windows):在文件中搜索指定的字符串或模式;
wc (Linux, macOS) 或 measure-object (Windows):统计文件的行数、单词数和字符数等信息。
这些命令的具体用法可以通过在命令行中输入 <command> /? 或 man <command> (其中 <command> 为命令名)来查看其帮助文档。
比如,type 命令需要指定要查看的文件名或路径,否则会出现“命令语法不正确”的错误提示。如果你想查看当前目录下的所有文件和子目录,应该使用 dir 命令。
如果你想查看当前目录下的某个文本文件的内容,可以在 type 命令后面加上文件名,并以回车键结束,例如:
D:\5.15\jx-system>type readme.txt
这将会显示 readme.txt 文件的内容。如果你希望将 readme.txt 的内容输出到控制台窗口中,可以使用 type 命令并将输出重定向到 more 命令中,例如:
D:\5.15\jx-system>type readme.txt | more
这将会把 readme.txt 文件的内容逐页显示在控制台窗口中。