您的位置:首页 > 其它

笔记02:发行版本、系统交互、帮助信息获取

2019-01-04 23:31 106 查看

来源:第二章

笔记:

  • Linux的发行版:

    slackware:
    suse
    opensuse
    debian:
    ubuntu
    mint
    redhat:
    rhel:每18个月发行一个新版本
    CentOS:兼容rhel等等格式
    fedora:每6个月发行一个新版本
    ArchLinux
    Gentoo
    LFS:Linux From scratch
    Android:kernel+busybox+java虚拟机

  • 程序包管理器

    rpm:
    RHEL,Fedora,SuSE,CentOS
    dpt:
    Debian,Ubuntu
  • 终端:

    用户与主机交互,必然用到的设备:
    物理终端:直接接入本机的显示器和键盘设备:console
    虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,CentOS默认启动6个虚拟终端:Ctrl+Alt+F1-F6
    图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但会额外提供桌面环境;设备文件路径:/dev/tty#
    模拟终端:
    图形界面下打开的命令行接口,基于ssh协议或telnet协议等远程打开的界面,设备文件:/dev/pts/#
  • 交互式接口
    启动终端后,在终端设备附加一个交互式应用程序,用于人机交互:

    GUI:X protocol, Window manager,desktop
    Desktop:
    GNOME(C,gtk)
    KDE	(C++,qt)
    XFCE(轻量级桌面)
    CLI:
    shell程序:
    sh(bourn)
    csh
    tcsh
    ksh(korn,商业软件)
    bash(bourn again shell),GPL
    zsh
    Tip:
    #echo $SHELL:显示当前shell
    #cat /etc/shells:查看当前系统可用shell
    #echo $PS[1-4]:显示命令提示符格式
  • Linux文件系统:

    1、严格区分大小写;
    2、分为matedata(元数据)和data(数据);
    3、文件名为除 / 以外的任意字符,但不建议使用特殊字符;
    4、文件名长度不超过255个字符;
    5、以 . 开头的文件为隐藏文件;
    6、路径分为相对和绝对路径;
  • Linux命令帮助的获取:

    内部命令:
    # help COMMAND
    外部命令:
    1、#  COMMAND --help
    # COMMAND -h
    2、使用手册(manual)
    # man COMMAND
    3、信息页:
    # info COMMAND
    4、程序自身的帮助文档:/usr/share/doc/COMMAND-VERSION
    README
    INSTALL
    CHANGELOG
    5、程序官方文档
    官方站点:Documentation
    6、系统发行版的官方文档
    7、Google
    8、www.slideshare.net

    命令路径:

    1、#echo $PATH:显示当前shell的命令搜寻路径,从左至右查找
    2、可在命令行中或在bashrc或profile文件中进行PATH变量重新赋值,修改搜寻路径
    3、命令执行时,命令路径结果会缓存至kv存储中:
    #hash 显示当前kv存储中缓存的命令及hit
  • 命令历史:

    1、登录shell时,会读取命令历史文件:~/.bash_history;
    2、在shell中新执行的命令只会存储在缓存中,在登出缓存时会追加至~/.bash_history
    3、# history:显示命令历史
    -a:追加当前shell缓存的命令历史到文件中
    -d:删除命令历史条目
    -c:清空命令历史
    快捷操作:
    !!:执行上次命令
    !#:执行第#条命令
    !string:执行最近一次以string开头的命令
    调用上一个命令的参数:
    !$:例,ls  !$
    ESC,.
    alt+.
    控制命令历史的记录方式:
    环境变量:HISTCONTROL,有以下值:
    ignoredups:忽略重复的命令,连续且相同的才称为‘重复’;
    ignorespace:忽略所有以空白开头的命令;
    ignoreboth:忽略以上两者;
    修改其值:export HISTCONTROL=ignoredups|ignorespace|ignoreboth
  • man手册:

    1、手册页一般位置:/usr/share/man,分man1.man2.。。man8:
    man1:用户命令
    man2:系统调用
    man3:C库调用
    man4:设备文件及特殊文件
    man5:配置文件格式
    man6:游戏
    man7:杂项
    man8:管理类的命令
    Tip:一个关键字可能会存在多个类别的man文档,使用man # COMMAND查看
    2、man命令的配置文件:/etc/man.config,定义了man文档的搜索路径:
    MANPATH /path/to/somewhere:指明新的手册搜索位置
    3、man -M /path/to/somewhere:打开指定位置的man文档
    4、man文档中的操作:d或u,半屏翻页
  • 时间:

    系统时间:date设置和显示
    硬件时间:hwclock(或clock)显示和设置:
    -s:hwtosys,同步硬件时间到系统;
    -w:systohw:同步系统时间到硬件
    日历:cal
  • cd:

    cd 或cd ~:
    cd ~USERNAME:回指定用户家目录
    cd -:回上次所在路径
    变量:
    PWD:当前路径
    OLDPWD:上次路径

    ls显示的详细信息:

    -rw-------. 1 root root   1639 Aug  8 16:33 anaconda-ks.cfg
    -:显示文件类型
    -:普通文件,-、l、s、d、p、b、c
    rw:显示权限
    1:显示被硬链接的次数
    root root:属主、数组
    1639:文件大小(byte)
    Aug 8 16:33 :文件最近一次改变(modify)的时间
    anaconda-ks.cfg:文件名
    stat FILE:显示文件的元数据

    cat、tac、file、echo、which、whatis、tty:

    cat file1 file 。。。:连接多个文件显示
    -E:显示行结束符
    -n:显示行号(不属于文件内容,只是显示格式)
    echo
    -n:禁止自动添加换行符;
    -e:允许使用转义符:
    \n:换行
    \t:tab
    which:显示命令完整路径
    --skip-alias:不显示alias信息
  • Linux的哲学思想:

    1、一切皆文件;
    2、组合小程序完成复杂任务;
    3、尽量避免用户交互,用脚本实现任务自动化;
    4、使用纯文本保存配置信息,方便完成各种配置工作;

练习:

date命令:
显示今天为周几?
设定当前系统时间?
显示今天的日期,形如:08/15/15?
显示当前的时间,形如:16:01:21?
设置时间:date 【MMDDhhmm[CC]YY】.[SS]

Tip:

请回答一下问题:
问题1:CentOS和Linux、RHEL的关系?
问题2:各种开源协议的具体细节?如GPL,LGPL,Apache,BSD

备忘:

#startx & 启动图形界面
centos7:
#yum groupinstall “X Window System”
#yum groupinstall “Gnome Desktop”
#startx
centos6:图形桌面包

修改:

1、ls -l据实测,显示的是modify的时间,而非change的时间;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: