Linux和Windows最大差异:目录。在Windows中,磁盘是被分成了很多区的,比如C盘,D盘,不同的文件放在不同的盘下面。下图为Windows的磁盘管理,可以看到磁盘0被划分为了不同的区域,C盘,D盘等,包括我们熟悉的盘符
Linux采用的是挂在的方式,并且使用的是树状结构来表示文件,下图是Linux的磁盘管理,可以看到磁盘的第一个分区挂载到了Root文件(根目录)下,也就是说,访问根目录下的任意一个文件,就是在访问/dev/sda1。/dev/下的设备文件面向的是设备本身,你虽然可以打开、读取、写入一个存储设备,但是你面向的终究是一个存储设备,不是文件系统。说白了,就是根目录和Windows的C盘一个样。
下图是linux根目录/下的文件说明
Linux文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
如图可以看到很多字符,下面解释这些字符的含义
最左边第一个是文件的类型
后面9个字符,3个为一组,指的是文件的权限。文件类型后面的 9 个字符以 3 个为一组,第一组表示“文件所有者的权限”; 第二组表示“用户组的权限”;第三组表示“其他非本用户组的权限”。每组都是 rwx 的组合,其中 r 代表可读,w 代表可写,x 代表可执行;如果没有对应的权 限,就会出现减号(-)。比如“rw-r--r--”表示:文件的所有者对该文件有读 权限、写权限,但是没有执行权限;同一个用户组的其他用户对该文件只有读权 限;其他用户对该文件也只有读权限。
Linux命令格式
为什么在终端里面输入命令行会执行,个人理解:实际上这些命令就是提前写好的程序,我们在终端输入命令执行就是去执行程序,如上图,command就是程序函数入口(),后面的选项就是函数的参数,这些函数被写好放在文件中,并且配置环境变量在哪里寻找他们,就是上面展示的那些文件,输入回车后会在环境变量(也就是指定的文件)中寻找并执行。
如图所示,ls是一条可执行的命令,which ls就是这条命令在哪里,根据提示可以在对应的文件中找到可执行的程序,并查看bin目录下的文件属性,可以看到ls是x一个可执行文件。
参考资料
Linux /dev目录详解和Linux系统各个目录的作用_linux dev-CSDN博客
Linux文件属性查看和修改(非常重要)_检查重要文件属性设置-CSDN博客
深入理解linux系统的目录结构(总结的非常详细)_linux目录结构-CSDN博客
03_shell命令解析与PATH环境变量_哔哩哔哩_bilibili