• 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>

  • 相关阅读:
    shell进行mysql统计
    java I/O总结
    Hbase源码分析:Hbase UI中Requests Per Second的具体含义
    ASP.NET Session State Overview
    What is an ISAPI Extension?
    innerxml and outerxml
    postman
    FileZilla文件下载的目录
    how to use webpart container in kentico
    Consider using EXISTS instead of IN
  • 原文地址:https://www.cnblogs.com/cnyxj/p/11208219.html
Copyright © 2020-2023  润新知