Unix & Linux 教程学习

Unix & Linux 大学教程


作者: Harley Hahn
学习随记

第1章 Unix简介


第2章 什么是Linux? 什么是Unix

  • 引导(booting)是bootstrapping的简写
  • 内核(kernel) 基本服务: 见P10
  • 内核种类: monolithic kernel, microkernel
  • 内核调用其他程序: 这些程序被称为服务器server
  • Unix = 内核 + 实用工具 (或说: Unix = kernel + shell + toos)
  • GUI(graphical user interface 图形用户界面)
  • 硬盘的分区: partition

第3章 Unix 连接

主机 + 终端 ( host + terminal )
最初的终端: 电传机 teletype33-ASR
多任务系统 multitasking
主机和终端 teletype( tty ), 从原理上unix可以使用任意数量的主机和任意类型的终端: 终端服务器(teminal server)
控制台: console
无头系统 headless system
客户端/服务器关系
SSH (secure shell)
您键入的字符通过主机回显到屏幕上,而不是通过终端 回显(echo)


第4章 开始使用Unix

login:
CR = carriage return 托架回车
LF = linefeed 换行
date whoami who w

  • 注销(停止使用Unix): logout, exit, login
    发送一个eof(end-of-line)

  • 改变口令: passwd
    "paaword"的缩写, Unix的人喜欢短名称。如ls, cp, ps.

  • 检查他人是否使用过你的账户: last

  • 用户标识和用户 who

  • 超户: root


第5章 GUI图形用户界面

  • X window

KDE和Gnome


第6章 Unix 工作环境

进程(process)
时间片(time slice)

命令行界面(command line interface, CLI)

  • 运行级别( runlevel )
运行级别 描述
0 停机
1 单用户模式:命令行
2 非标准化
3 多用户模式: 命令行
4 非标准化
5 多用户模式: GUI
6 重新启动

任务切换 <Alt-Tab>
虚拟控制台
唯一的控制台 console

6.16 以超级用户工作: su

如果你已经作为一句普通用户登录系统, 那你可能以使用命令su(substitute userid, 替换用户标记)变成超级用户
su命令允许你临时变成另一个用户标识,为此,只需在su命令之后输入新的用户标识即可.
假设你已经以harley登录系统, 下面是可能的shell提示:

[ harley ] \$

现在输入命令su将用标识变换为weedly. 然后系统提示输入weedly的口令。一旦输入了weedly的口令,当前shell就被挂起, 系统将为weedly启动一个新shell。

[ harley ] \$ su weedly
Password:
[ weedly ] \$

当您结束weedly的工作时,你需要做的是结束当前shell,输入exit命令就可结束当前shell, 一时结束了新的shell,就会自动返回到原来的shell,即用户标识harley.

[ weedly ] \$ exit
[ harley ] \$

尽管你可以用su命令变换到任何一个用户标识,但su命令的主要用途还是变换到超级用户。

su - weedly //-(连字符)两边都有一个空格, 同时变换用户标识和环境

变换成超级用户: su - root

[ harley ] \$ su - root
Password:
#
......
# exit
[ harley ] \$

6.17 以超户执行一条命令: sudo command

系统要求您输入您的口令(不是超级用户的)
su(substitute userid)
sudo(substitute the suerid and do someting)

8.19 浏览配置文件

例: less /etc/passwd
/boot/grub/menu.lst: 关于计算机上可以引导的操作系统的信息。
/etc/hosts: 系统已知的一列主机名称和IP地址。
/etc/inittable: 不同运行级别的定义。
/etc/passwd: 每个用户标识的基本信息。
/etc/profile: 当一个用户登录时,系统自动执行的命令。
/etc/samba/smb.conf: Samba的配置信息, Samba是一个允许Unix系统的Windows系统共享文件和打印机的工具。

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

例:
重启系统 sudo init 6
关闭系统 sudo init 0
我们日常通常使用的是:
重启 sudo reboot
关机 sudo shutdown now


第7章 键盘使用

  • intr(interrupt,中断)终止程序,
  • tty显示自己的终端名命令。
  • stty("set tty", 设置tty)用来显示或改变终端的设置。
  • getty("get tty", 获取tty)用来打开与一个终端的通信,并启动登录进程。
  • pwd "print working directory(显示工作目录)"
  • lp "line print"(行打印机)" lp(system V) or lpr(伯克利的Unix)

7.4 知道终端类型

echo $TERM
显示您的shell的所有环境变量的值:
printenv
代表" print evvironment variables, 显示环境变量"

  • 键盘映射系统, 大多数系统, ^C(Ctrl-C)键映射到intr信号上
  • 可以修改映射
  • erase删除最后一个字符, werase删除最后一个词, kill删除整行
  • 大多数键盘按下键发送**erase信号, 有的是用
  • 纸带机时代的错误处理:
  • 先按下键,发送一个BS(backspace, 退格), 然后,再按下<Rubour(擦掉)>键, 发送一个DEL命令。
  • ^H通常映射到erase键

设置擦除键:

stty erase \^H
ignore 忽视 ignore + eof **IGNOREEOF=5** 重复按\^D注销 **set -o iqnoreeof** **set +o iqnoreeof** **set -o**

7.18 显示键映射: stty -a

信号 作用
erase <Backspace>/<Delete> 删除键入的最后一个字符
werase ^W 删除键入的最后一个单词
kill ^X/^U 删除整行
intr ^C 停止正在运行的程序
quit ^\ 停止程序并保存core文件
stop ^S 暂停屏幕显示
start ^Q 重新启动屏幕显示
eof ^D 指示已经没有数据

显示系统的键盘映射时,使用下述命令:
stty -a
stty是"set terminal(设置终端)"命令.

^Z键可以暂停程序, ^Z映射到susp(suspend, 挂起)
^Z暂停一个程序,直到通过输入fg(foreground, 前台)命令重新启动程序。

7.9 修改键映射: stty

将kill键修改为^U:
stty kill ^U

7.21 返回和换行

Teletype ASR33时代,<Return>键的代码选择,不仅用于<Return>键,还是文本文件每行结束的一个特殊标记.
Teletype的两个动作:
1 CR(carriage return, 托架返回)
2 LF(linefeed, 换行)
因此,序列CR-LF执行打印一个新行所需的准备动作
键盘上按下<Return> 建或^M(它们等价)发送一个CR码。 按下<Linefeed>键或^J键可以发送LF码.
**当Unix开发人员开始使用Teletype作为终端时,他们基于CR和LF码创建了两个信号。CR码变成了返回信号,LF码变成了换行信号。

7.22新行字符的重要性

文本文件中, Unix使用^J(newline)字符标记每行结束.
Microsoft Windows使用^M^J标记每行的结束.
所以,两个系统中复制文本文件时,要转换。

7.23^J的一个重要用途: stty sane, reset

我们只需要在每行的末尾按下<Return>键就好, 其它让Unix做。
如果终端设置搞乱, 不能正常工作,有两条命令可以用来将终端设置恢复为合理值, 它们是stty sanereset.
^J是所有Unix都接受的,所以,当其它方法失效时,键入下述命令之一可以复原终端。
一定确保在命令前和命令后键入^J。
<Ctrl-J>stty sane<Ctrl-J>
<Ctrl-J>reset<Ctrl-J>

posted on 2019-07-18 16:35  青苹末末  阅读(268)  评论(0编辑  收藏  举报

导航