2.13 新手必读的Linux使用注意事项
通过安装并体验 Linux 系统,读者应该能发现 Linux 与 Windows 的一些不同之处,本节就几个容易让初学者混淆的问题做重点讲解,以便加深读者对 Linux 系统的认识。
Linux 严格区分大小写
和 Windows 不同,Linux 是严格区分大小写的,包括文件名和目录名、命令、命令选项、配置文件设置选项等。
例如,Windows 系统桌面上有一个名为 Demo 的文件夹,当我们在桌面上再新建一个名为 demo 的文件夹时,系统会提示文件夹命名冲突;而 Linux 系统不会,Linux 系统认为 Demo 文件和 demo 文件不是同一个文件,因此在 Linux 系统中,Demo 文件和 demo 文件可以位于同一目录下。
因此,初学者在操作 Linux 系统时要注意区分大小写的不同。
Windows 下的程序不能直接在 Linux 中使用
Linux 和 Windows 是不同的操作系统,两者的安装软件不能混用。例如,Windows 系统上的 QQ 软件安装包无法直接放到 Linux 上使用。
系统之间存在的这一差异,有弊也有利。弊端很明显,就是所有的软件要想安装在 Linux 系统上,必须单独开发针对 Linux 系统的版本(也可以依赖模拟器软件运行);好处则是能感染 Windows 系统的病毒(或木马)对 Linux 无效。
由于系统间存在差异,很多软件会同时推出针对 Windows 和 Linux 的版本,如大家熟悉的即时通信软件 QQ,既有 Windows 系统下的 QQ 版本,也有适用于 Linux 系统的 QQ for Linux 版本。
Linux 不靠扩展名区分文件类型
我们都知道,Windows 是依赖扩展名区分文件类型的,比如,".txt" 是文本文件、".exe" 是执行文件、".ini" 是配置文件、".mp4" 是小电影等。但 Linux 不是。
Linux 系统通过权限位标识来确定文件类型,且文件类型的种类也不像 Windows 下那么多,常见的文件类型只有普通文件、目录、链接文件、块设备文件、字符设备文件等几种。Linux 的可执行文件不过就是普通文件被赋予了可执行权限而已。
Linux 中的一些特殊文件还是要求写 "扩展名" 的,但大家小心,并不是 Linux 一定要靠扩展名来识别文件类型,写这些扩展名是为了帮助管理员来区分不同的文件类型。这样的文件扩展名主要有以下几种:
- 压缩包:Linux 下常见的压缩文件名有 .gz、.bz2、.zip、.tar.gz、.tar.bz2、.tgz 等。为什么压缩包一定要写扩展名呢?很简单,如果不写清楚扩展名,那么管理员不容易判断压缩包的格式,虽然有命令可以帮助判断,但是直观一点更加方便。另外,就算没写扩展名,在 Linux 中一样可以解压缩,不影响使用。
- 二进制软件包:CentOS 中所使用的二进制安装包是 RPM 包,所有的 RPM 包都用".rpm"扩展名结尾,目的同样是让管理员一目了然。
- 程序文件:shell 脚本一般用 ".sh" 扩展名结尾,其他还有用 ".c" 扩展名结尾的 C 语言文件等。
- 网页文件:网页文件一般使用 "*.php" 等结尾,不过这是网页服务器的要求,而不是 Linux 的要求。
在此不一一列举了,还有如日常使用较多的图片文件、视频文件、Office 文件等,也是如此。
Linux 中所有内容(包括硬件设备)以文件形式保存
Linux 中所有内容都是以文件的形式保存和管理的(硬件设备也是文件),这和 Windows 完全不同,Windows 是通过设备管理器来管理硬件的。比如说,Linux 的设备文件保存在 /dev/
目录中,硬盘文件是 /dev/sd[a-p]
,光盘文件是 /dev/hdc
等。
彻底搞明白“Linux一切皆文件”,请阅读《Linux一切皆文件》一文。
Linux中所有存储设备都必须在挂载之后才能使用
Linux 中所有的存储设备都有自己的设备文件名,这些设备文件必须在挂载之后才能使用,包括硬盘、U 盘和光盘。
挂载其实就是给这些存储设备分配盘符,只不过 Windows 中的盘符用英文字母表示,而 Linux 中的盘符则是一个已经建立的空目录。我们把这些空目录叫作挂载点(可以理解为 Windows 的盘符),把设备文件(如 /dev/sdb)和挂载点(已经建立的空目录)连接的过程叫作挂载。这个过程是通过挂载命令实现的,具体的挂载命令后续会讲。
2.13 新手必读的Linux使用注意事项的更多相关文章
- [转帖]新手必读,16个概念入门 Kubernetes
新手必读,16个概念入门 Kubernetes https://www.kubernetes.org.cn/5906.html 2019-09-29 22:13 中文社区 分类:Kubernetes教 ...
- 新手如何入门linux,linux原来还可以这么学
前言 在这个只有cangls和小白两人的小房间中,展开了一次关于学习方法的讨论. 小白:cangls啊,我想请教一个问题,您是如何记住那么多linux命令的. cangls:我啊,别人都看我的小电影, ...
- [转帖]运维必读:Linux 的内存分页管理
运维必读:Linux 的内存分页管理 https://cloud.tencent.com/developer/article/1356431 内存是计算机的主存储器.内存为进程开辟出进程空间,让进程在 ...
- Python数学建模-01.新手必读
Python 完全可以满足数学建模的需要. Python 是数学建模的最佳选择之一,而且在其它工作中也无所不能. 『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人. 1. 数学 ...
- Linux学习笔记(2)Linux学习注意事项
1 学习Linux的注意事项 ① Linux严格区分大小写 ② Linux中所有内容均以文件形式保存,包括硬件,如硬件文件是/deb/sd[a-p] ③ Linux不靠扩展名区分文件类型,但有的文件是 ...
- Linux入门——注意事项
Linux入门——注意事项 摘要:本文主要说明了在使用Linux操作系统时,需要注意的问题. 严格区分大小写 和Windows不同,Linux是严格区分大小写的,包括文件名和目录名.命令.命令选项.配 ...
- Lenovo E42-80安装Linux的注意事项
Lenovo E42-80安装Linux的注意事项 https://www.cnblogs.com/dylanchu/p/9750760.html 1. 用U盘做个liveCD While makin ...
- 深度剖析Linux与Windows系统的区别,新手必读!
当我们每个人接触Linux之前,应该先接触的都是windows吧?但我们一般接触Linux后,习惯linux的管理和使用方法后,我们再回过头再来使用windows的时候,内心其实是拒绝的.我们会觉得图 ...
- <转>13个实用的Linux find命令示例
注:本文摘自青崖白鹿,翻译的妈咪,我找到了! -- 15个实用的Linux find命令示例, 感谢翻译的好文. 除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作, ...
- 13个实用的Linux find命令示例
除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作,使你的命令行之旅更加简易. 本文将介绍15种无论是于新手还是老鸟都非常有用的Linux find命令. 首先,在你 ...
随机推荐
- Linux信号量(1)-SYSTEM V
信号量概念 信号量本质上是一个计数器(不设置全局变量是因为进程间是相互独立的,而这不一定能看到,看到也不能保证++引用计数为原子操作),用于多进程对共享数据对象的读取,它和管道有所不同,它不以传送 ...
- 手把手教你安装MINIGUI编程环境 (MINIGUI版本3.2.0)
0. MINIGUI MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明 ...
- 什么是AOP,以及在Springboot中自定义AOP
AOP (Aspect Oriented Programming)一般译为面向切面编程 Aspect [ˈæspekt] n.方面;层面;(动词的)体那么AOP 面相切面编程具体是指什么,它和之前的O ...
- Go语言目前主要有哪些应用框架
Go语言是一种高效.快速.简洁的编程语言,近年来越来越受到开发者的欢迎.由于Go语言的快速发展,出现了很多的优秀框架来支持Go应用程序的开发.以下是一些目前比较流行的Go语言框架: 1. Gin:Gi ...
- 解决向github上push报 error: failed to push some refs to 'xxxxx' 问题
解决向github上push报 error: failed to push some refs to 'xxxxx' 问题 1.问题 向github上push 代码时,报 error: failed ...
- dotnet 学习 CPF 框架笔记 了解 X11 里如何获取触摸信息
本文记录我学习 CPF 框架的笔记,本文记录我阅读 CPF 框架,学习到了如何在 dotnet C# 里面获取到 X11 的触摸信息,获取到多指触摸以及触摸点的面积和触摸点压感等信息的方法 开始之前, ...
- 掌握 C++17:结构化绑定与拷贝消除的妙用
C++17 特性示例 1. 结构化绑定(Structured Binding) 结构化绑定允许你用一个对象的元素或成员同时实例化多个实体. 结构化绑定允许你在声明变量的同时解构一个复合类型的数据结构( ...
- Angular 18+ 高级教程 – Dependency Injection 依赖注入
前言 本来是想先介绍 Angular Component 的,但 Component 里面会涉及到一些 Dependency Injection (简称 DI) 的概念,所以还是先介绍 DI 吧. 温 ...
- 在Activity中测量控件宽高的三种方式
在进行Android开发时,有时需要测量控件的宽和高,常用的方式有以下三种: (1)重写onWindowFocusChanged(hasFocus: Boolean)方法,在这个方法内获取控件的宽高 ...
- 使用MessagePipe实现进程间通信
1.MessagePipe介绍 可以用于.NET和Unity上面的高性能的内存/分布式消息传递管道.适用于发布/订阅模式.CQRS的中介模式.Prism中的EventAggregator.IPC(进程 ...