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

  • 相关阅读:
    pm2 配置
    添加项目到远程服务器(git)
    psql 命令行使用
    SQL
    iOS AFNetworking 打印从服务器返回的错误提示信息
    iOS 获取网络图片的大小
    iOS 10 常见配置的问题
    LGLTagsView
    xcode8 关闭控制台打印不用信息
    LGLProgressHUD
  • 原文地址:https://www.cnblogs.com/cnyxj/p/11208219.html
Copyright © 2020-2023  润新知