Linux 基础概念

Linux 基础概念

在最初学习Linux之前,首先需要搞清楚一些概念。熟悉这些概念之后紧接着熟悉各种命令,这有助于Linux命令的学习。这些概念绝对是你必须知道的,而且有些概念并不显而易见。但是当理解它们以后,你的shell命令也将更加有的放矢。

一切都是文件

在Linux系统中,一切都是文件。说到一切,首先就是那些看起来明显是文件的东西。当然,文本文档是文件,OpenOffice.org文档也是文件。别忘了,图片、MP3和视频,它们都是文件。这是毫无疑问的!

但是目录呢?它也是一种文件,只不过是一种特殊的文件,其中包含其他文件的信息。磁盘驱动器则是真正的大文件了。网络连接也是文件,甚至运行中的进程都是文件。这些都属于文件的范畴。

对于Linux来说,文件只是比特和字节流。Linux并不关心这些二进制位和字节最终组成了什么格式;相反,在Linux上运行的程序才关心它们组成的格式。对于Linux来说,文本文档和网络连接都是文件;而文本编辑器知道如何使用文本文档,因特网应用程序则可以识别网络连接。

本书随处都会提到文件。读者可以根据上下文将“文件”理解为“文件、目录、子目录以及系统中的其他所有东西”。特别是我提到的很多命令,它们对文档和目录都一样有效,可以随意在文档和目录上测试这些命令。

——摘自《Linux命令速查手册 (图灵交互设计丛书) – [美]Scott Granneman》

关于文件名

  • 最大长度

曾经使用过MS-DOS的人们应该记得,DOS中文件名的长度不能超过8个字符,再加上由3个字符组成的扩展名,这种命名方法得出的名字描述性很差,例如MSRSUME1.DOC。OS X之前的苹果机系统则将长度限制扩展到31个字符,虽然这样的文件名似乎应该够长了,但是仍然可能会导致一些稀奇古怪的名字。

Linux(和Unix)文件名最多可以长达255个字符。对于文件名来说,这有些过长。如果你真用了这么长的文件名的话,那界面看起来就跟字典一样烦琐了。有了长达255个字符的空间,就可以自由地将文件名起得更加具有描述性也更准确——当然,过犹不及。

事实上,将文件名的长度控制在80个字符以内比较好,因为大部分显示终端都是这个宽度,文件名能在一行显示完,不用换行。不过,这只是一个建议,不一定非得这样。你有权利去用200个以上的字符来描述一个文件,只是你应该明智地行使这一权利。

——摘自《Linux命令速查手册 (图灵交互设计丛书) – [美]Scott Granneman》

  • 文件名区分大小写

与Windows和Mac OS不同,Linux对于文件名是区分大小写的。在运行Linux的计算机上,同一目录中可能存在以下3个文件:

  • bookstobuy.txt
  • BooksToBuy.txt
  • BoOkStObUy.txt

对于Linux文件系统来说,它们是3个完全不同的文件。但是在Windows或者Mac OS上,如果想在已经包含有bookstobuy.txt的目录中增加另一个BooksToBuy.txt文件,系统就会要求你重新命名这个文件,或者取消这一操作。

区分大小写也意味着必须准确输入命令和文件名。例如,如果要运行rm​命令来删除文件,就不能输入RM、Rm或者rM,只能输入rm。如果原本要删除的是bookstobuy.txt,结果输入的是rm BooksToBuy.txt,那么就会错删了别的文件,或者输入的文件根本就不存在。

这一教训是双重的:Linux强制要求你必须精确,而精确性确实是个好东西。同时,Linux也给了你一定程度的灵活性,这在其他操作系统中是找不到的。精确性与灵活性的结合,是让使用Linux变得有趣的一个原因,但同时也会给新手带来一些困惑。

——摘自《Linux命令速查手册 (图灵交互设计丛书) – [美]Scott Granneman》

  • 命名时不要使用的特殊字符
字  符建  议
/​​绝对不能使用。不能被转义
\​​必须转义。避免使用
-​​不能作为文件名或目录名的开始
[ ]​​必须转义。避免使用
{ }​​必须转义。避免使用
*​​必须转义。避免使用
?​​必须转义。避免使用
'​​必须转义。避免使用
"​​必须转义。避免使用
:​​macos不支持,避免使用。
\​​windows不支持,避免使用。
空格

如果想要在文件名中使用特殊字符,需要用引号'​或"​将文件名括起来:

  • nano 'hello world.txt'​​

  • nano "hello world.txt"​​

总能安全使用的字符:数字、字母(大写字母或小写字母)、圆点(.​​)以及下划线(_​​)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/681451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 学习和实践笔记(8)

视频解释说,上图不用我们常规的写法,仅仅只是为了在同样的情况下,少写一个a而已!这我目前不能理解。毕竟后面这种对初学者来说,看起来更一目了解。

DS Wannabe之5-AM Project: DS 30day int prep day14

Q1. What is Alexnet? Q2. What is VGGNet? Q3. What is VGG16? Q4. What is ResNet? At the ILSVRC 2015, so-called Residual Neural Network (ResNet) by the Kaiming He et al introduced the anovel architecture with “skip connections” and features heavy b…

爬爬爬——今天是浏览器窗口切换和给所选人打钩(自动化)

学习爬虫路还很长,第一阶段花了好多天了,还在底层,虽然不是我专业要学习的语言,和必备的知识,但是我感觉还挺有意思的。加油,这两天把建模和ai也不学了,唉过年了懒了! 加油坚持就是…

【INTEL(ALTERA)】为什么 Nios V/m EMIF 数据移动器设计示例的 JTAG 终端中的内存测试失败?

说明 由于英特尔 Quartus Prime 专业版软件 22.3 版存在一个问题,当为Intel Agilex 7 - Nios V/m EMIF 数据移动器设计示例(预安装设计,随英特尔 Quartus Prime 专业版软件一起提供)的内存位置时,您可能会在 JTAG 终端…

LeetCode、1318. 或运算的最小翻转次数【中等,位运算】

文章目录 前言LeetCode、1318. 或运算的最小翻转次数【中等,位运算】题目链接与分类题解位运算 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领…

Linux:信号的处理

文章目录 信号处理 本篇总结的是关于信号的处理 信号处理 在之前有这样的观点:信号在合适的时候被处理好,当进程收到信号后,当前进程可能在做优先级更高的事,所以它来不及处理这个信号,那么就会把这个信号暂时保存起…

从零开始:Linux下的Miniconda安装教程

🚀从零开始:Linux下的Miniconda安装教程🚀 🌵文章目录🌵 🌳引言🌳🌳二、Miniconda简介:开启您的数据科学之旅的得力助手! 🌳🌳三、Lin…

Linux_文件系统

假定外部存储设备为磁盘,文件如果没有被使用,那么它静静躺在磁盘上,如果它被使用,则文件将被加载进内存中。故此,可以将文件分为内存文件和磁盘文件。 内存文件 磁盘文件 软、硬链接 一.内存文件 1.1 c语言的文件接口 …

实验5-1 使用函数计算两个复数之积

若两个复数分别为:c1​x1​y1​i和c2​x2​y2​i,则它们的乘积为 c1​c2​(x1​x2​−y1​y2​)(x1​y2​x2​y1​)i。 本题要求实现一个函数计算两个复数之积。 函数接口定义: double result_real, result_imag; void complex_prod( doub…

OpenMVG(EXIF、畸变、仿射特征、特征匹配)

本人之前也研究过OpenMVS但是对于OpenMVG只是原理层次的了解,因此乘着过年期间对这个库进行详细的学习。 目录 1 OpenMVG编译与简单测试 1.1 sfm_data.json获取 1.2 计算特征 2 OpenMVG整个流程的运行测试 3 OpenMVG实战 3.1 SVG绘制 3.2 解析图片的EXIF信息…

Decian 12.x基于LNMP安装phpIPAM(IP管理系统)

phpipam是一个开源Web IP地址管理应用程序(IPAM)。其目标是提供轻便,且有用的IP地址管理系统。它是基于PHP的应用程序,具有MySQL数据库后端,使用jQuery库,ajax和HTML5 / CSS3功能。 在Debian 12中&…

小马识途营销顾问分析营销故事五则

有两个做市场的小伙伴争论起来了,甲认为只有产品好才能在市场上胜出,乙认为只有营销搞好就能在市场上胜出。这两个观点小马识途营销顾问认为都有道理,但好的营销可以让好的产品尽快占领市场,好的产品可以让营销效果事半功倍。其实…

MogaNet实战:使用 MogaNet实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

Python weather app tutorial

import datetime as dt import requests """ 处理HTTP请求是在Web开发和许多网络应用中常见的任务 尤其是当需要与外部服务或API进行交互时。 python通过多个库提供了处理HTTP请求的功能 最著名且友好的是‘requests’库,以下是‘requests’库处理HT…

小游戏和GUI编程(7) | SimpleNN 界面源码解析

小游戏和GUI编程(7) | SimpleNN 界面源码解析 0. 简介 SimpleNN 是 AdamYuan 在高中一年级时用 1 天时间写出来的简易 CNN, 使用 SFML 做 UI, 用于交互式输入手写数字,这个数字被训练好的 CNN 网络执行推理得到识别结果, 它的运行效果如下: 这一篇我们…

Leetcode 1143 最长公共子序列

题意理解: 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字…

专业140+总分420+浙江大学842信号系统与数字电路考研经验电子信息与通信,真题,大纲,参考书。

今年考研已经结束,初试专业课842信号系统与数字电路140,总分420,很幸运实现了自己的目标,被浙大录取,这在高考是想都不敢想的学校,在考研时实现了,所以大家也要有信心,通过自己努力实…

【FPGA】VHDL:八段码到8421BCD码转换电路

目录 EDA设计基础练习题 : 实验要求如下: 代码 八段码到8421BCD码转换电路 8421BCD码到八段码转换电路 八段码到8421BCD~运行结果展示 8421BCD转八段码~运行结果展示 特别注意 软件:Quartus II 13.0 (64-bit) 语言:VHDL E…

勒索病毒最新变种.target勒索病毒来袭,如何恢复受感染的数据?

导言: 在当今数字化时代,数据被视为企业和个人最重要的资产之一。然而,随着技术的进步,网络安全威胁也在不断演变。其中,勒索病毒是一种极具破坏性的威胁,而".target"勒索病毒是近期备受关注的一…

Spark编程实验六:Spark机器学习库MLlib编程

目录 一、目的与要求 二、实验内容 三、实验步骤 1、数据导入 2、进行主成分分析(PCA) 3、训练分类模型并预测居民收入 4、超参数调优 四、结果分析与实验体会 一、目的与要求 1、通过实验掌握基本的MLLib编程方法; 2、掌握用MLLib…