初入linux_基础(一)

初入Linux知识点总结(一)
一、理论知识
1、时间点:
    1946年   第一代计算机ENIAC诞生于美国宾州大学,特点:块头大、效率低
        数学家冯诺•依曼提出计算机体系结构组成部分:计算器、运算器、存储器、输入设备、输出设备
    1969年  UNIX在美国贝尔实验室诞生
    1984年  GNU项目和软件基金会成立
    1991年  Linux在芬兰赫尔辛基诞生
2、计算机的组成
    硬件组成:CPU、内存、主板、硬盘、IO设备、电源
    软件组成:操作系统、应用软件
3、服务器的分类
    按规模:巨型机、大型机、小型机、微型机
    按服务:Web服务器、文件服务器、云存储服务器、邮件服务器、DNS解析服务器、数据库服务器、监控服务器、日志服务器等......
    按外形:塔式服务器、机架式服务器、刀片服务器
    按架构:X86服务器、非X86服务器
4、常见硬件设备
    机架:高度--xxU(1U=44.5mm),宽度48.26cm
    CPU:主频、高速缓存(L1/L2/L3)、地址总线宽度
           架构:X86 X64 Power ARM...
           品牌:Inter(至强、安腾)、IBM(Power)、AlthonMP
    内存: DDR、DDR2、DDR3、DDR4
                品牌:金士顿、威刚、三星......
    硬盘: 转速、容量(MB、GB、TB)、传输速率
        接口:IDE/SATA/SCSI/SAS
        固态、逻辑
5、操作系统
    分类: 服务器----Redhat、centos、windows server、AIX
        桌面------Windows、MacOS、Fedra
        移动设备---安卓、IOS、YunOS
    功能: 驱动硬件、进程管理、内存管理、网络管理、安全管理、文件管理
6、Linux发行版
    slackware:SUSE、opensuse,在欧洲流行
    debian:     ubuntu、mint
    redhat:       RHEL、Fedra、Centos、国产(中标、红旗)
    gentoo:       性能极致、操作复杂
    Archlinux:    轻量简洁
    LFS:          自制系统。
7、Linux系统哲学思想
    一切皆文件(硬件、驱动、系统、程序......)
    有很多用途单一、高效的工具、程序
    若干程序组合可解决复杂的任务
    配置文件数据都保存于文本中,方便配置、更改
    非图形操作界面,使系统更加高效、稳定运行
8、文件系统
特征:
    根为起点的树形结构
    文件名区分大小写(有些特殊情况除外)
    以.开头的都是隐藏文件
    路径间以/分隔
    所有文件都有两类数据:元数据(metadata)、数据(data)
    文件系统分层结构:LSB linux Standard  Base
目录结构
    /boot       存放引导文件、内核文件
    /bin        用户使用的常用命令,不能独立分区
    /sbin       管理类命令,不能独立分区
    /lib        程序共享库及内核模块文件
    /lib64      64位系统共享库
    /etc/       存放配置文件
    /home       用户家目录
    /root       root用户家目录
    /media      挂载点
    /mnt        临时文件挂载点
    /dev        设备文件、特殊文件存储位置
    /opt        第三方应用程序安装位置
    /srv        进程文件用到的数据
    /tmp        临时文件存放处
    /usr        /bin  /sbin  /lib  /lib64  /include  /share  /local
    /var        /cache  /lib  /local  /lock  /log  /opt  /run  /spool  /tmp
    /proc       输出内核与进程信息相关的虚拟文件系统
    /sys        输出当前硬件设备相关信息虚拟文件系统
    /selinux        selinux相关安全策略存储位置
    二进制程序   /bin  /sbin  /usr/bin  /usr/sbin  /usr/local/bin  /usr/local/sbin
    库文件     /lib  /lib64  /usr/lib  /usr/lib64
    配置文件    /etc  /user/local/etc/
    帮助文件    /usr/share/man  /user/share/doc   /user/local/share/man   /user/local/share/man 
二、常见命令
1、命令提示符修饰符格式:$PS1
    PS1="\[\e[31m\][\u@\h \W]\\$\[\e[0m\]"
    \e  \[\e[F;Bm\],颜色修改符,F为字体颜色(30-37),B为背景色(40-47),分别代表(黑、红、绿、黄、蓝、紫、青蓝、白)
    d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"
    \H :#完整的主机名称
    \h :#仅取主机的第一个名字
    \t :#显示时间为24小时格式,如:HH:MM:SS
    \T :#显示时间为12小时格式
    \A :#显示时间为24小时格式:HH:MM
    \u :#当前用户的账号名称
    \v :#BASH的版本信息
    \w :#完整的工作目录名称
    \W :#利用basename取得工作目录名称,所以只会列出最后一个目录
    \# :#下达的第几个命令
    \$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$
2、hash  :外部命令缓存表
            -l      显示缓存列表
    -r      清除缓存
    -d  name    清除单个命令缓存    
    -t  name    显示单个命令缓存
    -p path name    将命令全路径path起别名为name
3、screen    
    -ls     查看所有会话
    -S name 创建新会话
    -x name     加入name会话
    -r name     恢复某个会话
    Ctrl+a,d        临时退出会话,先按“Ctrl+a",松手,按d 
4、echo  :   echo [-neE] [string]
     -n     不自动换行
    -e      启用\字符解释功能
        \a  发出警告声
        \b  退格键
        \c  最后不加上换行符号
        \n  换行且光标移至行首
        \r  回车,光标移至行首,不换行
        \t  插入"tab"键
        \\  插入"\"符
        \0nnn   插入"nnn"(八进制)所代表的ASCII码
        \xHH    插入"HH"(十六进制)所代表的ASCII码  
5、history
    用法: history [-c] [-d offset] [n]
        history -anrw [filename]
        history -ps arg [arg......]
        #   显示最近的#条历史
        -c  清空命令历史
        -d  删除指定的命令
        -a  追加新的缓存命令到历史文件
        -n  读取历史文件中未读取的命令到命令缓存当中
        -r  将文本中命令追加到命令缓存
        -w  将缓存命令另存到某个文件
        -p  展开历史参数成多行,不存在历史列表
        -s  展看历史参数为一行,附加在历史列表后
6、man手册
    NAME        名称
    SYNOPSIS    用法格式说明
        []  可有可无
        <>    必须存在
        a|b a或b
        {}  分组
        .....   各组可出现多次
    DESCRIPTION 详细说明
    OPTIONS 选项说明
    EXAMPLES    示例
    FILES       相关文件
    AUTHOR  作者
    COPYRIGHT   版本信息
    SEE ALSO    其他帮助参考
    REPORTING BUGS  bug信息   
7、man命令
    +[章节]  cmd  查看某章手册
    -a      详细查看手册          
    -k
    -f
    -w
    
    space/^v/^f/^F  向下翻屏(^代表Ctrl)
    b/^b        向上翻屏
    d/^d        向下翻半屏
    u/^u        向上翻半屏
    Enter       向下翻一行
    y/k     向上翻一行
    q       退出
    #       跳到#行
    1G      回到文件首部
    G       切到文件尾部
    /string     以字符串查找
        n   下一个
        N   上一个
    ?string     与上一命令相反
8、ls
    用法:ls  [optios]  /path-file
    -a      查看所有文件(包括.和..)
    -A      查看所有文件(不包括.和..)
    -R      递归显示整个目录
    -ld     目录和符号链接信息
    -1      文件分行显示
    -S      按从大到小排序
    -t      按mtime排序
    -X      按文件后缀排序
    -U      不排序显示
    -u      配合-t,显示并按atime从新到旧排序
9、stat
    atime       acess time,访问时间,读取文件内容
    mtime       modify time,修改时间,改变文件内容
    ctime       change time,改变时间,元数据发生改变
10、通配符
    *       匹配0或多个任意字符
    ?       匹配任意单个字符
    ~       当前用户家目录
    ~name       name用户家目录
    ~+      当前工作目录
    ~-      前一个工作目录 
    [0-9]       匹配数字范围
    [a-z]       字母(不只是小写字母,a/A/b/B...... ,是按这个排序的)
    [A-Z]       字母(同样不只是大写字母)
    [wang]      匹配列表中的任何一个字符
    [^aaa]      匹配列表中以外的所有字符
    [[:digit:]] 任意数字,同[0-9]
    [[:lower:]] 任意小写字母
    [[:upper:]] 任意大写字母
    [[:alpha:]] 任意大小写字母
    [[:alnum:]] 任意数字或字母
    [[:blank:]] 空格
    [[:space:]] 空格或空行
    [[:punct:]] 标点符号
    [[:print:]] 可打印字符
    [[:cntrl:]]     控制字符
    [[:graph:]] 图形字符
    [[:xdigit:]]    十六进制字符
11、touch
    语法:touch  [option]....  file....
    -a      仅改变atime 
    -m      仅改变mtime
    -t      
    -c      如果文件不存在,则不予创建
12、cp
    -i      交互式
    -r,-R       递归复制整个目录
    -a      归档(在生产环境中多用于备份)
    -d      不复制原文件,只复制链接名
    -p      等同--preserv=mode,ownership,timestamp
    -v      --verbose,显示复制过程
    -f      --force,强制复制
    --preserv=
        mode    权限
        owership    属主属组
        all
        timestamp
        links
        xattr
        context
13、mv
    -i      交互式
    -f      强制
14、rm
    -i      交互式
    -f      强制删除
    -r      递归
    --no-preserve-root  忽略root警告   如:rm -rf --no-preserve-root /
        
15、命令简述
    type        判断内部命令或外部命令
    enable cmd  启用内部命令
        -n  查看所有内部命令
        -n cmd  禁用内部命令  
    alias       查看别名,定义别名格式:alias name='value'
            配置文件.bashrc、/etc/bashrc
    unalias     撤销别名
        -a  撤销所有别名
    \alias_name 执行别名原命令
    'alias_name'    执行别名原命令
    clock/hwclock   显示硬件时钟
        -s  系统时钟同步硬件时钟
        -w  硬件时钟同步系统时钟
    cal     打印日期(默认打印当月)
        -y  打印当年日期
    halt,poweroff   关机
    reboot      重启
        -f  强制重启
        -p  切断电源
    shutdown    关机
        -r  重启
        -h  等价于halt
        -c  取消定时关机
        time    now  & +m & hh:mm
    whoami      只打印当前登录用户   
    who     打印:用户+登录终端+时间
    w       打印更详细的登录信息
    help cmd    获取内部命令帮助
    man bash    内部命令帮助手册
    cmd -h      查看外部命令帮助文档
    man cmd         外部命令man手册
    info  cmd   外部命令info手册
    自身帮助文档  :Readme、INSTALL、Changelog
    basename    提取基名
    dirname         提取目录名
16、快捷按键
    !#      调用history第#个命令
    !-n     重复n个命令之前的那个命令
    !string     重复最近一个以该字符串开头的命令
    !?string        重复前一个包含string的命令
    !string:p   仅打印命令历史,而不执行
    !$:p        打印输出最后的命令,不执行
    !*:p        打印输出最后一个命令的参数,不执行
    ^string     删除上一个命令的第一个参数,执行命令
    ^string1^string2    将上一条命令中的string1替换为string2
    !!:gs/string1/string2   将上一条命令中所有的string1都替换为string2
    Ctrl+r      在命令历史中搜索命令
    Ctrl+g      从历史搜索模式退出
    
    cmd !^      调用上一个命令的第一个参数
    cmd !$      调用上一个命令的最后一个参数
    cmd !*      调用上一个命令的全部参数
    cmd !:n     调用上一个命令的第n个参数
    cmd !n:^    调用第n条命令的第一个参数
    cmd !n:$    调用第n条命令的最后一个参数
    cmd !n:m    调用第n条命令的第m个参数
    cmd !n:*    调用第n条命令的全部参数
    cmd !string:^   调用以string开头的命令第一个参数
    cmd !string:$   调用以string开头的命令最后一个参数
    cmd !string:n   调用以string开头的命令第n个参数
    cmd !string:*   调用以string开头的命令全部参数
    
    Ctrl+l      清屏,相当于clear命令
    Ctrl+s      锁屏
    Ctrl+q      解锁
    Ctrl+c      终止命令
    Ctrl+z      挂起命令
    Ctrl+a      移到命令行首
    Ctrl+e      移到命令行尾
    Ctrl+u      从光标处,清除命令到行首
    Ctrl+k      从光标处,清除命令到行尾
    Ctrl+f      右移一个字符
    Ctrl+b      左移一个字符
    Ctrl+xx     光标处和行首来回移动
    Ctrl+w      从光标处向左删除至单词首
    Ctrl+d      删除光标处的字符
    Ctrl+h      删除光标前的字符
    Ctrl+y      将删除的字符粘贴至光标后
    Ctrl+t      交换光标处和之前的字符;    


    Ctrl+o      执行当前命令,并重新显示该命令
    Alt+f       按单词右移
    Alt+b       按单词左移
    Alt+d       从光标处向右删除至字尾
    Alt+c       从光标处更改为首字母大写的单词
    Alt+u       从光标处更改为全部大写的单词
    Alt+l       从光标处更改为全部小写的单词
    Alt+t       交换光标处和之前的单词
    Alt+N       
        
17、环境变量
    export var="值"  声明变量
    HISTSIZE    命令历史记录的条数
    HISTFILE    指定历史文件,默认~/.bash_history
    HISTFIELSIZE    指定历史文件中保存命令的数量
    HISTCONTROL=
        ignoredups  去除连续重复的命令
        ignorespace 忽略所有以空白开头的命令
        erasedups   删除重复命令(包括不连续的)
        ignoreboth  ==ignoredups+ignorespace        
    HISTTIMEFORMAT="%F %T"  显示时间
    HISTIGNORE="str1:str2:......"   忽略string1,string2历史
    PWD     当前目录路径
    OLDPWD          上一次目录路径
18、文件
    source  name        重新读取配置文件(或者使用.)
    ~/.bashrc       定义当前用户别名信息
    /etc/profiel        定义全局别名信息
    ~/.bash_history     当前用户历史命令存储位置        
    ~/.bash_profile     定义当前用户环境变量
    /etc/profile        定义所有用户环境变量
    文件类型
    -       普通文件    
    d       目录文件
    b       块设备
    c       字符设备
    l       符号链接文件
    p       管道文件 
    s       套接字文件

19、常见符号
    $()     命令替换
    ··      反引号,命令替换
    {}  
       echo {1..10} 打印1~10个数字
       echo {a..z}  打印小写字母
       file{1,3,5}  创建文件file1,file3,file5
       echo {000..20..2}  创建20以内以2递增的三位数

原创文章,作者:Abigheart,如若转载,请注明出处:http://www.178linux.com/69314

(0)
上一篇 2017-02-18 17:38
下一篇 2017-02-18 20:08

相关推荐

  • sed的用法小结

    sed的用法小结 sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等sed [OPTION]… ‘script’ [input-file] … OPTION: -n 不输出模式空间中的内容至屏幕,仅显示script处理后的结果 -e 多点编辑,eg: ~]# sed -e ‘s@^#[[…

    Linux干货 2017-08-22
  • linux网络属性管理

    Linux网络属性配置 计算机网络:TCP/IP:协议栈(使用)ISO,OSI:协议栈(学习) MAC:Media Access Control48bits:ICANN:24bits, 2^24地址块:2^24 网桥(bridge):MAC地址表静态指定:动态学习:根据原地址学习; 交换机(switch):多端口网桥; IP(Internet protoco…

    Linux干货 2017-10-14
  • Linux帮助文件的使用、history变量的使用和FHS

    怎样利用帮助文件来查询想要了解的信息? 这里以通过查找帮助文件来修改登陆信息为例子, 登陆的时候,我们可以看到CentOS的的版本和内核信息, 当我们查看该相关文件的时候,会发现,里面的文档和显示的不一致,由此可以了解到,该文档是调用某些参数来实现显示CentOS的版本和内核信息。 这个时候,我们该怎样去查看issue文档的相关信息? 首先我们可以查看一下通…

    Linux干货 2016-08-04
  • Linux中/etc目录下常用的配置文件及其含义总结

         在linux中有一个很重要的思想就是一切皆文件,也就是说所有的系统参数的配置都是保存在各种各样的配置文件当中的,这点Linux和Windows有很大的差别。      因为Linux中有众多配置文件,学习起来难免会不容易记忆,所以在此把一些常用的配置文件记录下来,做一个归纳总结。根据FHS…

    Linux干货 2017-03-26
  • Linux常用命令

    一、Linux常用命令(总) 二、Linux常用命令(分) 1、pwd – print name of current/working directory 2、cd – change directory 3、ls – list,dieplay directory content 4、date – pr…

    Linux干货 2016-09-19
  • Linux shell之bash特性大全详解(持续更新ing)

    一、shell是什么?     Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中…

    Linux干货 2016-03-09