0%

Shell学习笔记(1)——初识Linux shell

1.1什么是Linux

Linux的作者是Linus大爷,嗯,我最喜欢他那句Read the f*cking source code.(RTFSC)

Linux系统可以分为四个部分:Linux内核;GNU工具组件;图形化桌面环境;应用软件。

计算机硬件直接与Linux内核交互,而内核与窗口管理软件、GNU系统工具链交互;GNU系统工具链又与窗口管理软件交互;最后窗口管理软件与应用软件交互。

内核

内核有四个功能:系统内存管理;软件程序管理;硬件设备管理;文件系统管理。

  1. 系统内存管理:安装Linux的时候,会有一个SWAP分区。如果内存页面有一段时间未被访问,就会被复制到SWAP中去。当程序要访问它时,再把它复制到物理内存里。
    观察虚拟内存的状态可以用cat /proc/meminfo

使用ipcs –m查看系统上当前共享内存页面。

  1. 软件程序管理:运行中的程序叫做进程。内核创建了第一个进程(init)。其实关机可以用init 0
    一些Linux发行版用一个表来管理要自启的进程,通常在/etc/inittab中。还有的采用/etc/init.d目录,将开机时启动或停止某个应用的脚本放在这里。脚本通过/etc/rcX.d目录下的入口启动,X代表运行级。Linux有5个运行级,为1时只有基本的系统进程启动,同时会启动一个tty。标准启动运行级为3,大多数应用软件都能跑。为5时会启动图形化的X Window系统。

使用ps ax命令可以看到当前进程。

  1. 硬件设备管理:插入设备驱动有两种方式:编译进内核;使用可插入内核的设备驱动模块。

    Linux将设备当成设备文件。有三种分类:字符型设备文件(一次只能处理一个字符,如大多数调制解调器);块设备文件(如硬盘);网络设备文件(如网卡)。

  2. 文件系统管理:任何供Linux访问的硬盘都必须格式化成其支持的文件系统类型。

GNU工具链

GNU(=GNU’s Not Unix)在开源软件的理念下开发了一套完整的Unix工具链,然后与Linux内核合体了。

  1. 核心GNU工具链:包括用于处理文件、操作文本、管理进程的工具。

  2. Shell:跟Windows的cmd差不多,但是相比于cmd在win下的使用,shell在linux下更常用。默认的shell基本都是bash,其含义是Bourne again shell。Bourne shell是标准Unix Shell。程序员们真会玩……其他还有tcsh,zsh,korn等shell比较常用。

桌面环境

图形化大法好。

1.X Window:是与显卡及显示器一起工作的底层软件,控制Linux程序在电脑上显示出窗口和画面。

2.KDE,GNOME……不说了,几个比较出名的桌面。我用的是xfce,省内存,虽然有点难看。

Linux发行版

将完整的Linux系统包成为发行版。各种各样的发行版是为了满足用户各种各样的需要。

目前比较流行的家用发行版大概就是Ubuntu了吧……其他比较流行的还有Red Hat,Fedora,Gentoo,openSuSE,Debian,Arch等。

我用的是Fedora,至于原因是他能支持我cb的触摸板驱动……