认识Shell之前我们一直在说shell,也一直在使用shell。那么shell到底是什么? 实际上,shell自身也是一个应用程序,它负责用户与操作系统之间的通信。当用户登录到shell时,系统会将一个shell程序调入内存——每个用户都有一个默认的shell,记录在/etc/passwd文件(口令文件)中。 如我(root用户)现在默认的shell为zsh,那么/etc/passwd中的记录就为: 有些特殊用户的记录可以不是shell程序,如上图中的第二个。 zsh是mac os自带的一个shell,以高度定制化和有众多的主题闻名,Linux需要安装。 用户登录、shell执行和用户退出的过程如下: 用户登录:init进程fork/exec一个login程序,输入用户名和密码。如果验证成功,则按照口令文件为用户fork/exec默认的shell程序。 shell执行:shell内置了解释器如sh,它可以解释用户输入的正确的命令。如果命令为shell内置命令,那么直接由shell完成即可;如果命令为可执行程序,那么fork/exec一个新的进程来执行该程序;如果命令为脚本文本 ...
前言这篇文章将研究两个很有趣的内容:Vim编辑器与正则表达式。 「如何退出Vim编辑器?」应该是每个初学者都会遇到的问题,也是各大论坛上经常被问到,浏览量很高的一个问题。Vim让初学者如此不知所措,却又被誉为“编辑器之神”。从不会到会用是很简单的,但从会用到用得好却是一个鸿沟。这篇文章的目的之一是“Vim从会用到不会”。 大多数和我一样的学生第一次遇到正则表达式应该是在Python中。但是很遗憾,编程语言中的正则表达式和Unix中的正则表达式使用的是两个不同的规范:PCRE和POSIX。POSIX又分为BRE和ERE——Unix中的正则表达式还真让人头疼。 Vim编辑器Vim四种工作模式Vim的四种工作模式分别为命令模式、插入模式、命令行模式与可视模式。 各模式间的切换如下:(后面会讲到) 回答开头的问题(怎么退出vim)。使用:q或:q!或:wq。 命令模式:刚进入Vim编辑器所处于的模式。一般在这个模式下停留最久,所以又被称为普通模式。此时我们输入的字母不会被当作文本写入文件中,而是会被当作命令解析执行。 插入模式:和我们平时使用编辑器的方式一样,输入什么,就向文件中写入 ...
Unix有三大抽象:文件对I/O设备的抽象、进程与线程对执行过程的抽象和地址空间对内存的抽象。这篇文章将介绍文件对I/O设备的抽象,后面两种抽象主要放在《操作系统》中讲,不是这门课的重点。 预备知识文件要长期保存,就必须存储在存储在硬盘这样的非易失性存储器中。以机械硬盘为例,一个硬盘包含多个盘片(记录面),每个记录面划分为若干磁道,每条磁道又可以划分为若干扇区。硬盘最小的读写单位就是一个扇区,通常为512B。 但是,读写硬盘都是很耗时的。如果每次都512B地操作,那么硬盘的读写就会占用大量的时间。所以,又将硬盘分块,块的大小一般为4KB,即8个扇区的大小。 这里的物理上的“分块”和虚拟存储器中的“分页”在逻辑上是一一对应的(地址空间对内存的抽象): Unix文件系统介绍Unix的文件分为普通文件、目录文件和特殊文件三种。普通文件包含字节序列,如代码、文本等;目录文件不是标准的ASCII文本文件,它包含了其中的各种文件的信息(包括子目录,套娃);特殊文件包含外部设备的特定信息,如驱动等。一个外设对应一个文件。 文件系统的结构上一篇中说了Unix的文件结构是下面这样的树形结构: ...
写在前面你应该听过Linux,但是也许没有听说过Unix。实际上,Linux就是Unix的一个变种,它的本质还是Unix。就好比Mysql支持sql语句,但又比原生的sql多了一些自己的语法一样。 学习Unix,一方面可以让我们多了解一些其他基于Unix的操作系统;另一方面,Linux也有不同的发行版,但它们最基本的东西都是通用的。学习Unix更便于我们在不同的Linux系统间进行切换。 本系列将使用Ubuntu系统,用的是云服务器,所以不会有图形界面。 最常用的命令下面这些都是Unix最常用的命令,使用率高达80%(据统计),各命令的含义以及它们的参数都要滚瓜烂熟! 命令格式Unix中一条命令的格式为:命令名 [-选项] [参数]。 选项包括长选项 --word和短选项 -character,如 ls --all和 ls -a,它们是全称与简写的关系。 有的选项需要带上参数,如 find -type f指定搜索的文件类型为普通文件(file)。 然后需要理解什么是命令名。命令名可以是一个可执行程序、也可以是shell内置程序或脚本程序。我们可以使用 type来查看命令类型: ...
avatar
Sato
我们的前方究竟会通往何处?
Follow Me In Github
公告

莱莎的炼金工房

十年炼金无人问,一朝肉腿天下知。

住在村裡的萊莎有如鄰家女孩,是一位“再普通不過”的少女。
某日,萊莎一行下定決心,前往禁止進入的「浮島對岸」,展開首次探險活動。
于是,僅限今夏的冒險,从此开始。