初入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)
AbigheartAbigheart
上一篇 2017-02-18
下一篇 2017-02-18

相关推荐

  • linux获取”命令帮助“

    一、相关术语:         外部命令:一个可执行程序,位于文件系统某目录下;是系统为了完善各种功能而加入的程序。         内部命令:系统shell程序的部分程序。内部命令执行速度非常快,其…

    Linux干货 2016-06-09
  • 马哥教育网络班22期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统; [root@localhost ~]# fdisk /dev/sda 命令(输入 m 获取帮助):n All primary partitions are in use 添加逻辑分区 5 起始&nb…

    Linux干货 2016-10-09
  • 面向对象的实例方法,类方法和静态方法

    类方法和静态方法 普通函数 class Person: def normal_method(): print(‘normal’) Person.normal_method() # Person().normal_method() print(Person.__dict__) Person.normal_method()可以,是因为这个方法只是被Person这…

    2017-11-11
  • N26-第十二周

    1、请描述一次完整的http请求处理过程;        1、建立或处理链接:接收请求或拒绝请求        2、接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程;接收请求的方式通常是并发访问响应模型        3、处理请…

    2017-05-14
  • N-28作业第一周

    N-28作业第一周小结:以前看存储视频里面讲存储架构里不清楚的部分居然开始清晰。基础命令需要多花时间熟悉。

    2017-12-05
  • nginx提供web服务——虚拟主机

    练习:定义四个虚拟主机,混合使用三种类型的虚拟主机;   仅开放给来自于本地网络中的主机访问; [root@node1 ~]# vim /etc/nginx/nginx.conf user           …

    Linux干货 2016-10-23