Unix&Linux

本文内容是来源于<<Unix & Linux 大学教程>>一书

1. 基本概念(1)内核(kernel)

计算机启动时,需经历一系列的动作,这些动作构成引导过程,该过程的最后一个动作是启动一个非常复杂的程序,这个程序称为内核。

单内核(monolithic kernel):规模较大的一类称为单内核。

微内核(microkernel):规模较小的一类称为微内核。

服务器(server):单内核由一个非常庞大的程序构成,该程度自身可完成所有的事情,微内核量个非常小的程序,只能执行最基本的任务,为了执行其他功能,微内核要调用其他的程序,这些程序称为服务器(server)。

(2)不同类型的shell

Bash:$

C-Shell:%

Kom Shell:nipper$

(3)其他

大小写:Unix区分小写字母和大写字母

注销: logout、exit、login

改变口令:passwd

检查他人是否使用过您的Unix账户:last

用户标识和用户:who

超级用户的用户标识: root

2. Unix工作环境(1)同时做不止一件事情

Unix系统是多任务处理系统,可同时运行不止一个程序。

进程(processs):进程即装载到内在中准备运行的程序及程序的数据与跟踪程序状态所需的信息。但一个处理器一次只能执行一个进程,即单处理器的计算机在某一时刻只能接受一个请求,多处理器的计算机能处理多个请求,但也不能在同一时间服务所有的进程。

时间片(time slice):Unix是这样一种系统,即允许每个进程轮流使用处理器一段极短的时间,这一段极短的时间称为时间片。

(2)GUI vs CLI

GUI登陆: 登陆后出现四个个选项: Language(操作的语言),Session(选择的工作会话),Reboot(重新启动计算机),Shutdown(关闭计算机)

用户权限:

在知道了root口令后,有两种成为超级用户:

在登录提示处,可以root登录;当系统初次启动或用虚拟控制台时,可以root登录;

作为一名普通用户登录系统,可用命令su(substitute userid, 替换用户标识)变成超级用户。

以超级用户执行一条单独的命令: sudo

sudo命令允许用户以另一个用户标识执行一条单独的命令(sudo:替换成当前用户标识,然后做一些事情);与su命令一样,sudo命令的默认用户标识为root。用为以超级用户执行一条具体的命令,只需键入sudo,后面跟着这条命令即可。

sudo command

配置文件

Unix配置文件依赖于一个叫inittab的特定配置文件中的信息。

Windows下配置文件存储在两个地方:注册表或.ini文件中,但注册表内容的文档性不好,不鼓励修改。

Unix:配置文件的内容文档化。

浏览配置文件

为浏览配置文件,可使用一个叫less的程序,less的任务就是每次一屏地显示一个文件的内容。

系统关闭与重新启动:init、reboot、shutdown

系统启动或停止dmesg

登录系统后,可在空闲时候显示启动消息,只需输入命令:dmesg | less即可;dmesg命令的任务就是显示启动消息;

同时做不止一件事情 :

3. Unix键盘使用(1)Teletype

”tty“作为Unix终端的符号

tty:显示自己终端名称

stty:(”set tty“,设置tty)用来显示或改变终端的设置

getty:(”get tty“,获取tty)用来打开与一个终端的通信,并启动登录进程

(2)Termcap、Terminfo与curses

curses(该名称指的是cursor addressing):用来执行屏幕显示管理所需的所有功能,同时对程序员隐藏细节。

Termcap:Termcap数据库必须包含每台Unix可能使用的终端的每种变种,且所有这些数据都必须饮食在一个单独的文件中。

Terminfo: 将数据存储在一系列文件中,每种终端类型一个文件。

less程序操作:

每次一屏

向前移动一屏,按<Space>键

向后移动一屏,按<B>键

退出,按<Q>键

显示帮助,按<H>键

跳到VT100在Termcap中的条目,键入/^vt100并按<Return> 其中,字符/(斜线)是“search(搜索)”,而字符^(插入记号)代表着“at the beginning of a line(在某行的开头)”。

(4)Unix中的终端类型4种类型的终端:

VT100

xterm:

VT220:

3270:

echo命令:

echo后面跟一个$字符和变量的名称

printenv:

printenv代表“print environment variables,显示环境变量”。 “print”作为“display”的同义词

(5)修饰键: <Ctrl>键

因写“Ctrl”不方便,Unix社区使用一种简写表示方法:字符^(插入记号)。当出现这个字符后面有另一个字符时,意味着“按住<Ctrl>键”。

eg: ^A表示按住<Ctrl>键并按下<A>键。

另<Ctrl – A>划开C-a等表示方法,其含义相同

(6)Unix键盘信号

Unix中的键盘映射特效,可用于任意类型的键盘。为控制程序运行时的操作,Unix使用了一组键盘信号。

eg:

intr(interrupt,中断)的信号可终止进程的运,若输入了一条需要花费秀长时间才能结束的命令可向该命令发送intr信号来停止该命令的运行。

(7)键入过程中使用的信号:erase、werase、kill

在键入过程中有三个键盘信号可以使用:erase、wearse和kill。

erase:删除最后一个键入的字符

werase:删除最后一个键入的单词

kill:删除整行

(8)<Backspace>和<Delete>

^H退格,<Rubout>将错误擦掉

若有<Backspace>键,可将其映射到erase信号

若无<Backspace>键,<Delete>键映射到erase信号

若是Sun公司的计算机,<Backspace>等同于^H,<Delete>键等同于^?

(9)神秘的字符^H

(10)intr、quit、stop及susp

停止程序:intr

Unix提供了几种停止或暂停程序的信号,包括:intr、quit、stop及susp

(11)eof文件结束信号:eof

当数据输入完,没有数据再输入时,可通过按下^D发送eof(end of file,文件结束)信号指示这一点。

shell和eof信号:

可通过按下^D(eof键)停止shell,为防止误操作,可告诉shell封闭eof信号

Bash:封闭eof信号Bash是Linux的默认shell,为了告诉Bash忽略eof信号,需使用一个叫IGNOREEOF的环境变量。

Korn Shell:封闭eof信号

C-Shell:封闭eof信号

(12)键映射显示键映射: stty -a

修改键映射:stty

(13)命令行编辑

对于大多数shell来说,可以简单地使用左箭头键,每按一次光标可向左移动一个位置,然后可进行希望的修改,并按<Return>键运行命令。

这个命令是echo

(14)返回和换行

按下^M将发送返回信号,按下^J将发送换行信号

重新设置终端为合理的值:

在命令前和命令后键入^J

4. 能够立即使用的程序(1)which

which:查看某个程序是否可用,并给出程序安装在系统上的位置

(2)date

date:显示时间和日期

(3)cal

cal:显示日历

(4)calendar

calendar:提醒服务

(5)查看系统信息:uptime、hostname、uname

uptime:显示系统已运行多长时间的有关信息(连续运行)

hostname:用来查看计算机的名称

uname:显示操作系统的名称

(6)显示自己的信息:whoami、quota

(7)显示其他用户的信息:users、who、w

(8)终端临时上锁:lock

(9)请求Unix提醒何时离开:leave

(10)内置计算器:bc(11)逆波兰表示法(12)基于栈的计算器:dc

5. 文档资料:Unix手册与Info

RTFM

(1)Unix手册:man

(2)说明书页

Unix手册中拥有大量的条目,其中许多条目已不能在一张纸上打印,而无论条目有多长,仍习惯将一个单独的条目为一页,或更正式地称之为一个说明书页。

(3)显示说明书页

说明书页太长,无法一下显示,Unix解决方案:将输出发送到一个程序中,再让这个程序一次一屏地显示输出,即分页程序。

分页程序:less、more、pg

结束标志:less和pg程序显示一个冒号: more程序显示一个包含单词“More”的提示

“/”:若在搜索一种模式, 但是搜索到的行并不是希望的那一行,则可继续搜索相同的模式,一遍又一遍,直至找到希望的那一条;

“n”:(next,下一个)键一次或多次搜索同一个模式;

“N”:向后搜索同一个模式;

“?”:若要向后搜索,可使用?来取代/

“f”:(forward)向下移动一屏;

“b”:(backward)向上移动一屏。

“g”:(“go to top”,跳到顶部)

“G”:(“go to button”, 跳到底部)

(4)两个有用的说明书页技术

可开两个或多个窗口,操作与查命令并行

(5)Unix手册的组织方式

(6)whatis

快速查寻命令作用的方法

(7)搜索命令:apropos

(8)Info系统

Info系统是一个联机帮助系统,独立于Unix手册,用来记录GNU实用工具。

6. 命令语法(1)一次输入多条命令

(2)命令语法

-: minus,dash

没有人陪你走一辈子,所以你要适应孤独,

Unix&amp;Linux

相关文章:

你感兴趣的文章:

标签云: