zoukankan      html  css  js  c++  java
  • Linux基础学习笔记1

    MBR分区

    主分区: 1-4,一块硬盘最多四个主分区,对主机必须有,主区可以格式化ntfs,存数据;

    扩展分区:1-4,一块硬盘最多一个扩展分区,可以没有扩展分区,划分更小的单元,即逻辑分区;

    逻辑分区:5----,可以格式化ntfs,存数据。

    一般分区方法:

    /boot   500m
    /     50G
    /data   60G
    swap    一般为内存的2倍

    查询系统简单信息:

    hostname:查看主机名
    lscpu:查看cpu信息
    free  -h: 查看内存信息
    cat /proc/meminfo: 查看内存信息
    lsblk:查看硬盘信息
    ifconfig:查看网卡
    cat /etc/centos-release:查看系统版本
    lsb_release -a:查看系统本版本(更详细)
    uname -r :查看内核版本
    tty:查看当前设备的终端名
    who(who am i):查看当前账户
    echo ${shell}:显示当前所使用的shell
    cat /etc/shells:显示当前系统所使用的所有shell名

    命令提示符

    显示命令提示符格式:echo $PS1
    修改命令提示符格式:
    PS1="[e[1;5;41;33m][u@hW]\$[e[0m]"
    e 表示颜色 33     u 当前用户
    h 主机名简称           H主机名
    w 当前工作目录        W当前工作目录基名
    	 24小时时间格式      T12小时时间格式
    ! 命令历史数             #开机后命令历史数  
    命令行修改文件:nano  .bash_profile  
    

     执行命令

        输入命令后回车:提交shell程序找到键入命令对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来。
    
    在shell中可执行的命令有两种:
        内部命令:由shell自带的,而且通过某种命令形式提供
            enable 查看内部命令
            help  内部命令列表
            enable cmd 启用内部命令
            enable -n cmd 禁用内部命令
            enable -n 查看系统所有禁用的内部命令
        外部命令:在文件系统路径下有对应的可执行程序文件
            查看命令存放路径:whereis COMMAND;which COMMAND
         查看外部命令搜索路径:echo $PATH 区别指定的命令是内部或外部命令:type COMMAND

    Hash缓存表

        系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率。
       hash常见用法
            hash    显示缓存
            hash -l 显示hash缓存,可作为输入使用
            hash -p path name 将命令全路径path起别名为name
            hash -t name 打印缓存中name的路径
            hash -d name 清除name缓存
            hash -r 清除缓存

    命令别名

    #想要别名一直生效则需要保存至系统的文件中!(存放至/etc/.bashrc文件中,使用命令nano修改)
    显示当前shell进程中的所有可用别名:alias
    定义别名NAME,其相当于执行命令VALUE: alias NAME = 'VALUE'
    在命令行中定义的别名,仅对当前shell进程有效
    如果想永久有效,要定义在配置文件中
        仅对当前用户: ~/.bashrc
        对所用用户有效:/etc/bashrc
    ~表示root的家目录(/root)
    一般用户的家目录为/home/username
    编辑配置给出的新配置不会立即生效,需要bash进程重新读取配置文件
        source     /path/config_file
        .    /path/config_file
    撤销别名:unalias [-a] name [name...]
        -a    取消所有别名
    如果别名同原命令(内部、外部命令)相同,如果想执行原始命令,可使用以下几种方式
        ALIASNAME
        "ALIASNAME"
        'ALIASNAME'
        command ALIASNAME
        /PATH/ALIASNAME

    命令格式

    COMMAND [OPTIONS...] [ARGUMENTS...]
        选项:用于启用或关闭命令的某个或某些功能
            短选项:-c  例如:-l,-h
            长选项:--word  例如:--all,--human-readable
        参数:命令的作用对象,比如文件名、用户名
    
    注意:
        多个选项以及多参数和命令之间使用空白字符分隔
        取消和结束命令执行:Ctrl+c,Ctrl+d
        多个命令可以用;符号
        一个命令可以用分成多行

    日期和时间

    Linux的两种时钟
        系统时钟:由Linux内核通过CPU的工作频率进行的
        硬件时钟:主板
    相关命令
        date 显示和设置系统时间
            date 030709422019.30
            date -d @1509536033
        hwclock,clock:显示硬件时钟
            -s,--hctosys 以硬件时钟为准,校正系统时钟
            -w,--systohc 以系统时钟为准,校正硬件时间
    
    但上述修改只是权宜之计,在实际开发中,我们可以选定一台服务器(例如:172.16.0.1),然后让所有机器与该服务器时间同步即可。(注意与服务器之间网络能ping通)
    ntpdate 172.16.0.1    立即修正与服务器之间的时间偏差(只是暂时同步)
    修改文件永久生效:
        在vim /etc/ntp.conf 文件中指定行添加server 172.16.0.1 iburst,然后systemctl start ntpd生效即可(在centos7环境下)
        在nano /etc/ntp.conf 文件中指定行添加server 172.16.0.1 iburst,然后service ntpd start生效即可(在centos6环境下)
    时区:/etc/localtime
    显示整年日历:cal -y 
    显示所有时区: timedatectl list-timezones 查看当前时区情况:timedatectl status

    修改centos7的网卡名称:

    nano   /boot/grub2/grub.cfg
    linux16那一行最后加上 net.ifnames=0
    reboot后生效

    简单命令

    关机:halt,poweroff
    重启:reboot
        -f:强制,不调用shutdow
        -p:切断电源
    关机或重启:shutdown
        shutdown [OPTION]... TIME [MEAASGE]
        -r:reboot
        -h:halt
        -c:cancel
        TIME:无指定,默认相当于+1
            now:立刻,相当于+0
            +m:相对时间表示法,几分钟之后;例如+3表示3分钟后关机
            hh:mm:绝对时间表示,指明具体时间关机
    用户登录信息查看命令:
      whoami:显示当前登录有效用户
      who:系统当前所有的登陆会话
      w:系统当前所有的登陆会话及所做的操作
    nano 文本编辑
    
    screen命令(字符界面的同步,可以理解为qq里面的远程桌面协助功能,但需要两台主机连接到同一ip):
      创建新的screen会话: screen -S [SESSIONNAME]
      加入新的screen会话: screen -x [SESSIONNAME]
      退出并关闭screen会话:exit
      剥离当前screen会话:Ctrl+a,d
      显示所有已经打开的screen会话:screen -ls
      恢复某screen会话:screen -r [SESSIONNAME]
    
    bc:进入linux环境下的计算器
    命令扩展行:$()或``
      把一个命令的输出打印给另一个命令的参数,例如,echo "This system's name is $(hostname)";touch /data/`date +%F`.log(创建当天的系统日志文件)
    括号扩展:{}
      打印重复字符串的简化形式,例如,echo file{1,2,3};echo{a..z}
    
    tab键:命令补全
    
    命令行历史:history
      重复前一个命令,有四种方法:
        重复前一个命令使用上方向键,并回车执行
        按!!回车执行
        输入!-1回车执行
        按Ctrl+p并回车执行
      !:0 执行前一条命令(去除参数)
      !n 执行history命令输出对应序列号n的命令
      !-n 执行history历史中倒数第n个命令
    使用up(向上)和down(向下)键来上下浏览从前输入的命令
    ctrl -r 在命令中历史中搜索命令
    ctrl+g:从历史中搜索模退出
    要重新调用前一个命令中的最后一个参数:
      用!$ 表示
      Esc,.(点击Esc键后松开,然后点击.键)
    history [-c] [-d offset][n]...
      -c:清空历史
      -d offset:删除历史中指定的第offset个命令
      n:显示最近的第n条历史

    获取帮助

    多层次的帮助
        whatis
        command --help
        man and info
        /usr/share/doc
        其他网站搜索
    命令帮助
        内部命令:help command
            man bash
        外部命令:1)COMMAND --help
                  COMMAND -help
                 2)使用手册(manual)
                   man COMMAND
                 3)信息页
                   info COMMAND
                 4)程序自身的帮助文档
                   README
                   INSTALL
                   ChangeLong
    
    --help选项
      显示用法总结和参数列表
      示例: date --help
      Usage:date [OPTION]...[OPTION]...[+FORMAT] or:date [-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]
      [] 表示可选项
      CAPS或<> 表示变化的数据
      ...表示一个列表
      x |y| z的意思是"x或y或z"
        -abc的意思是-a -b -c
      {} 表示分组  

    man命令

    提供命令帮助的文件
    手册页存放在/usr/share/man
    几乎每个命令都有man的"页面"
    man页面分组为不同"章节"
    统称为Linux手册
    man命令的配置文件:/etc/man.config | man_db.conf
    man -M /PATH/TO/SOMEWHERE:到指定位置下搜索COMMAND命令的手册页并显示
    
    man章节
    1.用户命令
    2.系统调用
    3.C库调用
    4.设备文件及特殊文件
    5.配置文件格式
    6.游戏
    7.杂项
    8.管理类的命令
    9.Linux内核API
    
    man帮助段落说明
        NAME 名称及简要说明
        SYNOPSIS 用法格式说明
            [] 可选内容
            <> 必选内容
            a|b 二选一
            {} 分组
            ... 同一内容可出现多次
        DESCRIPTION 详细说明
        OPTIONS 选项说明
        EXAMPLES 示例
        AUTHOR 作者
        COPYRIGHT 版本信息
        REPORTING BUGS bug 信息
        SEE ALSO 其他帮助参考
    
    man帮助
        查看man手册页:man [章节] keyword
        列出所有帮助:man -a keyword
        搜索man手册:man -k keyword 列出所有匹配的页面
                              使用whatis 数据库
        相当于whatis:man -f keyword
        打印man帮助文件的路径:man -w [章节] keyword
    
    man命令的操作方法:使用less命令实现
        space,^v,^f,^F:向文件尾翻屏
        b,^b:向文件首部翻屏
        d,^d:向文件尾部翻办屏
        u,^u:向文件首部翻半屏
        RETURN,^N,e,^E or j or ^J:向文件尾部翻一行
        y or ^Y or ^P or k or ^K:向文件首部翻一行
        q:退出
        #:跳转至第#行
        1G:回到文件首部
        G:翻至文件尾部
        /KEYWORD:以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;
        ?KEYWORD:类似于/KEYWORD,不同的是向文件首部搜索。
        n:跟搜索命令同方向;
        N:跟搜索命令反方向;

    info帮助命令

    man常用于命令参考,GUN工具info适合通用文档的参考
    没有参数,列出所有的页面
    info的页面结构像是一个网站
    每一页分为"节点"
    链接节点之前*
    info [命令]
        方向键,PgUp,PgDn导航
        Tab键 移动到下一个链接
        d 显示主题目录
        Home 显示主题首部
        Enter进入 选定链接
        n/p/u/l 进入下/前/上一层/最后一个链接
        s 文字 文本搜索
        q 退出 info
    注意:相对而言,info的用不多

    通过本地文档获取帮助

    System->help(centos6)
    Applications -> documentaation ->(centos7)
    /usr/share/doc 目录
        多数安装了的软件包的子目录,包括了这些软件的相关原理说明
        常见文档:README INSTALL CHANGES

    通过在线文档获取帮助

    第三方应用官方文档
        http://www.nginx.org
        http://tomcat.apache.org
        http://httpd.apache.org
        http://www.python.org
    通过发行版官方的文档光盘或网站可以获得
        红帽知识库和官方在线文档
        http://kbase.redhat.com
        http://www.redhat.com/docs
        http://access.redhat.com
    网站和搜索
      http://tldp.org
      http://www.slideshare.net
      http://www.google.com
      Openstack filetype:pdf
      rhca site:redhat.com/docs

      

    做一枚奔跑的老少年!
  • 相关阅读:
    [转] css选择器中:first-child与:first-of-type的区别
    [转] Javascript中理解发布--订阅模式
    [转] 浅析JavaScript设计模式——发布-订阅/观察者模式
    [转] linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向
    [转] meta标签的作用及整理
    [转] 安装npm全局包提示权限不够
    [转] UniCode编码表
    Unicode字符编码表
    [转] Lodash常用API笔记
    [转] JavaScript 之 ArrayBuffer
  • 原文地址:https://www.cnblogs.com/xiaoshayu520ly/p/10505918.html
Copyright © 2011-2022 走看看