这篇文章主要罗列Windows系统和Linux系统最常见的一些区别。

1、Linux严格区分大小写

Linux是严格区分大小写的,这一点和Windows系统不一样,所以操作时要注意区分大小写。

包括文件名和目录名、命令、命令选项、配置文件设置选项等。

Tips:

  • Linux系统中大写的不多,常用就几个,遇到用心记一下就行。
  • Linux系统中的命令,是没有大写的,命令后跟的选项是有大写的。

2、Linux一切皆文件

Linux中所有内容都是以文件的形式保存和管理的,硬件设备也是文件,这和Windows完全不同。Windows是通过设备管理器来管理硬件的。Linux的设备文件保存在/dev/目录中,硬盘文件是/dev/sd[a-p],光盘文件是/dev/hdc等。

注意:

到底一个配置会不会永久生效,就看一件事,配置会不会写入对应的配置文件中。

如果写入了配置文件中,这就会是个永久生效,否则反之。

大多数通过命令生效的都是临时生效,要想永久生效,一般会修改配置文件。

说明:

  • 永久生效:无论关机还是重启,配置都不会消失的。
  • 临时生效:现在生效,重启就不在生效了。

3、Linux不靠扩展名区分文件类型

(1)Windows系统中的文件类型

Windows是依赖扩展名区分文件类型的,一个文件的名称组成是文件名+扩展名。而文件的类型,就看扩展名来决定。比如,.txt是文本文件、.exe是执行文件、.ini是配置文件、.mp4是小电影等。

说明:

Windows系统,基本上每一种类型的软件,都有对应的扩展名。

换句话说, 每一个不同类型的扩展名文件,都需要不同的软件才能打开。

(2)Linux系统中的文件类型

Linux不是靠扩展名区分文件类型的

Linux是靠权限位标识来确定文件类型的,而且文件类型的种类也不像Windows下那么多,常见的文件类型只有普通文件、目录、链接文件、块设备文件、字符设备文件等几种。

说明:

Linux中文件的类型,你写也行,不写也行,没有硬性要求。比如你创建一个abc.exe文件,在Windows系统系统中就是一个可执行文件,而在Linux系统中,就是一个普通文本。

但是,我们绝大多数的人都是先接触Windows系统操作系统,而Windows系统通过扩展名来标识文件类型也相对于Linux系统更为清晰,所以在Linux系统中创建常用的文件,文件名还是写上对应的扩展名,这样好分别,好记忆,尽管只是个名称。

提示:Linux系统下常见的文件类型为7种,如果在加上Unix和一些不常见的文件类型,大概有12种左右。

(3)Linux的可执行文件不过就是普通文件被赋予了可执行权限而已

但Linux中的一些特殊文件还是强制要求写“扩展名”的,但是大家小心,并不是Linux一定要靠扩展名来识别文件类型,写这些扩展名是为了帮助管理员来区分不同的文件类型。这样的文件扩展名主要有以下几种。

  • 压缩包:Linux下常见的压缩文件名有:.gz.bz2.zip.tar.gz.tar.bz2.tgz等。

    为什么压缩包一定要写扩展名呢?

    原因是Linux系统中的压缩类型比Windows系统的要多(Windows系统常见的压缩格式:.zip.rar.7z,而Linux系统有十几种之多),如果不写清楚扩展名,那么管理员不容易判断压缩包的格式。

    而且Linux系统每种不同的压缩包,解压缩的命令或者方式是不一样的。

    之前上边说过Linux系统中文件是不强制写扩展名的,但之所以强制推荐要写上,不是方便Linux系统进行区分,而是方便管理员来进行区分的。

    虽然有命令可以帮助判断,但是直观一点更加方便。另外,就算没写扩展名,在Linux中一样可以解压缩,不影响使用。

  • 二进制软件包:CentOS中所使用的二进制安装包,是RPM包。所有的RPM包都用.rpm扩展名结尾,目的同样是让管理员一目了然。

  • 程序文件(或者脚本):Shell脚本一般用.sh扩展名结尾,其他还有用.c”扩展名结尾的C语言文件等。

    原因一:也是给管理员查看方便的。

    原因二:Linux系统默认可以识别一些脚本,如果是可识别的脚本Shell脚本,如果你把文件的扩展名写上.sh,Linux就知道你写的程序是Shell脚本。编辑的时候就会有颜色,格式等出现提示。

  • 网页文件:网页文件一般使用.html.php等结尾,不过这是网页服务器的要求(如Apache),而不是Linux的要求(强制)。

4、Linux中所有的存储设备都必须在挂载之后才能使用

Linux中所有的存储设备都有自己的设备文件名,这些设备文件必须在挂载之后才能使用,包括硬盘、U盘和光盘。

挂载:简单的说就是把设备文件(如/dev/sdb)和挂载点(已经建立的空目录)连接的过程叫作挂载。相当于在Windows系统中给你的存储设备分配盘符。

而Windows中的盘符用英文字母表示,而Linux中的盘符则是一个已经建立的空目录。我们把这些空目录叫作挂载点(可以理解为Windows的盘符)。

扩展了解:

Linux中硬盘是全自动挂载的(如/dev/sdb),开机之后自动进行挂载,而U盘和光盘需要手动进行挂载。

既然Linux系统识别自动挂载,为什么U盘和光盘也设置设置成自动挂载?

不行的,因为Linux系统是无条件信任管理员,如果设置成开机自动挂载U盘和光盘,那么Linux系统开机的时候,就必须一定要挂载U盘和光盘。

万一有一次在开机时候忘记放U盘和光盘,Linux系统会认为你欺骗了它纯洁感情,它会死给你看的(导致直接系统启动失败)。

这种启动失败修复并不难,但是要修复就一定要拿到本机的,因为服务器一般都不放到本地的,是放在远程机房管理的。

5、Windows下的程序不能直接在Linux中使用

Linux和Windows是不同的操作系统,可以安装和使用的软件也是不同的,所以能够在Windows中安装的软件是不能在Linux中安装的。

有好处吗?

当然有,那就是能够感染Windows的病毒和木马都对Linux无效。

有坏处吗?

也有,那就是所有的软件要想在Linux中安装,必须单独开发针对Linux的版本,或者依赖模拟器软件运行。

很多软件也会同时推出针对Windows和Linux的版本,如大家熟悉的即时通信软件QQ。

『学了就忘』Linux基础 — 16、Linux系统与Windows系统的不同的更多相关文章

  1. 『学了就忘』Linux基础 — 14、Linux系统的设备文件名和挂载

    目录 1.设备文件名 (1)为什么需要设备文件名 (2)硬件设备文件名命名规则 2.挂载点 3.挂载 (1)什么是挂载 (2)挂载前的分区要求 (3)小结(重点) 1.设备文件名 (1)为什么需要设备 ...

  2. 『学了就忘』Linux基础 — 6、VMware虚拟机安装Linux系统(超详细)

    目录 1.打开VMware虚拟机软件 2.选择Linux系统的ISO安装镜像 3.开启虚拟机安装系统 (1)进入Linux系统安装界面 (2)硬件检测 (3)检测光盘 (4)欢迎界面 (5)选择语言 ...

  3. 『学了就忘』Linux基础 — 1、UNIX系统介绍

    目录 (一)UNIX系统介绍 1.UNIX系统发展历史 2.UNIX 主要发行版本 (二)GNU计划 1.GNU计划介绍 2.为何Stallman会发起这个GNU计划呢? 3.GNU的通用公共许可证: ...

  4. 『学了就忘』Linux基础 — 5、使用VMware创建虚拟机

    目录 1.在VMware中创建虚拟机 (1)点击[创建新的虚拟机]. (2)选择系统安装方式 (3)选择客户机操作系统 (4)自定义虚拟机的名称和安装位置. (5)指定系统硬盘容量 (6)完成创建 2 ...

  5. 『学了就忘』Linux基础 — 13、Linux系统的分区和格式化

    目录 1.Linux系统的分区 (1)磁盘分区定义 (2)两种分区表形式 (3)MBR分区类型 2.Linux系统的格式化 (1)格式化定义 (2)格式化说明 1.Linux系统的分区 (1)磁盘分区 ...

  6. 『学了就忘』Linux基础 — 15、了解Linux系统的目录结构

    目录 1.一级目录说明 (1)一级目录列表 (2)/bin/和/sbin/目录说明 (3)/boot/目录说明 (4)/lib/和/lib64/目录说明 (5)/lost+found/目录说明 (6) ...

  7. 『学了就忘』Linux基础命令 — 22、Linux中的硬链接和软链接

    目录 1.文件和目录的基本存储 2.In命令介绍 (1)我们来看看ln命令的基本信息 (2)ln命令的基本格式 3.创建硬链接 (1)如何创建硬链接 (2)硬链接特征 (3)硬连接原理 4.创建软链接 ...

  8. 『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用

    目录 1.基本权限的介绍 (1)权限位的含义 (2)权限的优先级 2.权限的基本作用 (1)权限含义的解释 (2)目录权限说明 1.基本权限的介绍 (1)权限位的含义 前面讲解ls命令时,我们已经知道 ...

  9. 『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令

    目录 1.chmod命令 2.权限模式 (1)用户身份. (2)赋予方式. (3)权限. 3.数字权限 4.文件常用权限 5.chown命令 6.chgrp命令 7.总结 常用基本权限操作命令: ch ...

随机推荐

  1. 深入学习Composer原理(四)

    本系列第四篇文章,也是最后一篇 首先,我们先看看Composer的源码从哪里看起.当然,请您先准备好源码. composer init或者直接install之后,自动生成了一个vendor目录,这时您 ...

  2. Shell条件判断(6)- 多重条件判断

    多重条件判断 多个条件判断一起使用 测试选项 作用 判断1 -a 判断2 逻辑与,判断1和判断2都成立,最终的结果才为真 判断1 -o 判断2 逻辑或,判断1和判断2有一个成立,最终的结果就为真 ! ...

  3. shell脚本中 /dev/null 的用途

    /dev/null 是一个特殊的设备文件,它丢弃一切写入其中的数据 可以将它 视为一个黑洞, 它等效于只写文件, 写入其中的所有内容都会消失, 尝试从中读取或输出不会有任何结果,同样,/dev/nul ...

  4. PC+PLC通过Modbus协议构建工控系统

    一. 概述 工业设备采用HMI+PLC控制是比较常见的方案,随着工业自动化的要求越来越高,现在很多设备都要求接入企业MES系统,MES系统一般为WEB系统,接口形式大部分为HTTP协议,这种传统方案和 ...

  5. linux下部署Elasticsearch6.8.1版本的集群

    一.准备工作 安装包的下载:elasticsearch-6.8.1.tar.gz 集群服务器:A     B 一.单节点elasticsearch的安装部署 a.进入es的下载目录home:解压tar ...

  6. requests接口测试-requests的安装

    requests接口测试-requests的安装 安装常见问题 提示连接不上,443问题 一般是因为浏览器设置了代理,关闭代理. 网络加载慢,设置国内镜像地址 1.pip安装 2.pycharm安装 ...

  7. django forms的常用命令及方法(一)

    根据别人网上发布,个人爱好收集 Form表单的功能 自动生成HTML表单元素 检查表单数据的合法性 如果验证错误,重新显示表单(数据不会重置) 数据类型转换(字符类型的数据转换成相应的Python类型 ...

  8. Java基础(七)——多线程

    一.概述 1.介绍 Java VM 启动的时候会有一个进程Java.exe,该进程中至少有一个线程负责Java程序的执行.而且这个线程运行的代码存在于main方法中,该线程称之为主线程.其实从细节上来 ...

  9. Linkerd stable-2.11.0 稳定版发布:授权策略、gRPC 重试、性能改进等!

    公众号:黑客下午茶 授权策略 Linkerd 的新服务器授权策略(server authorization policy)功能使您可以细粒度控制允许哪些服务相互通信.这些策略直接建立在 Linkerd ...

  10. 【k8s】使用k8s部署一个简单的nginx服务

    名词解释 Namespace 表示命名空间 Deployment 表示pod发布 Service 表示多个pod做为一组的集合对外通过服务的表示 kubectl 是k8s的命令行操作命令,可以创建和更 ...