zoukankan      html  css  js  c++  java
  • linux学习基础1

    简介

      包含计算机组成,发行、核心思想、主要目录,一些命令ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date的使用,并配合相应的示例来阐述。

    一、计算机的组成及其功能。

      计算机是由几个单元所组成,输入单元,输出单元,运算器,控制器,存储器,5大单元组成

       1、运算器

        又称运算器又称算术逻辑单元,它是计算机对数据进行加工处理的部件,包括算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或、比较等)。

      2、控制器

        负责从存储器中取出指令,并对指令进行译码;根据指令的要求,按时间的先后顺序,负责向其它各部件发出控制信号,保证各部件协调一致地工作,一步一步地完成各种操作。控制器主要由指令寄存器、译码器、程序计数器、操作控制器等组成。  

             硬件系统的核心是中央处理器(Central Processing Unit,简称 CPU)。它主要由控制器、运算器等组成,并采用大规模集成电路工艺制成的芯片,又称微处理器芯片。  

      3、存储器        

        存储器是计算机记忆或暂存数据的部件。计算机中的全部信息,包括原始的输入数据。经过初步加工的中间数据以及最后处理完成的有用信息都存放在存储器中。而且,指挥计算机运行的各种程序,即规定对输入数据如何进行加工处理的一系列指令也都存放在存储器中。存储器分为内存储器(内存)和外存储器(外存)两种。  

      4.输入设备    

        输入设备是给计算机输入信息的设备。它是重要的人机接口,负责将输入的信息(包括数据和指令)转换成计算机能识别的二进制代码,送入存储器保存。   

      5.输出设备    

        输出设备是输出计算机处理结果的设备。在大多数情况下,它将这些结果转换成便于人们识别的形式

    二、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

      1、Linux的发行版:

              1)、slackware:

                                     suse不长见

                                     sles企业级发行版

                                     opensuse

              2)、debian:原汁原味是爱好者自己自发维护的

                                 ubuntu

                                    mint

              3)、redhat:

                                rhel: redhat enterprise linux,每18个月发行一个新版本

                                CentOS:兼容rhel的格式

                                fedora:每6个月发行一个新版本,测试的新版本

     

              4)、ArchLinux轻量级

              5)、Gentoo比较难

              6)、 LFS: Linux From scratch,自己编译的linux

              7)、Android: kernel+busybox+java虚拟机

      2、联系:各个版本都是使用linux内核进行开发

      3、区别:

        1)、风格,安装包管理及维护都是不同的;

                2)、分为企业版与社区维护版:企业版比如redhat enterprise linux, 服务是收费的,社区维护的比如redhat的社区版centos,是免费的,而且非常稳定,所以目前在中国作为服务器使用的linux占比比较大。

     

    三、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。

      1、一切皆是文件,把几乎所有资源,包括硬件设备目录驱动等都是文件格式;

      

      2、由众多单一目的地的小程序组成;一个程序只能实现一个功能,而且能做的很好,多个小程序组合完成复杂的任务;

      3、尽量避免跟用户交互,其目标是实现脚本编程,以及自动化完成某些功能;

      4、使用纯文本文件保存配置文件,使用文本编辑器既能完成系统的配置工作;

     

    四、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。

      1、ifconfig命令

        通常需要以root身份登录或使用sudo以便在linux机器上使用ifconfig工具。不仅可以湖区网络接口配置信息,还可以修改这些信息。

        1)使用格式:       

                       ifconfig [interface]

                       ifconfig interface [aftype] options | address …

        2)命令功能:

                        查看和配置网络设备。

        3)命令参数:

                        up/down

                        arp

                        -a

                        -s

                        add

                        address

                        del

                        mtu

                        netmask

                        dstaddr

        例如:

          ifconfig 显示网络设备信息

            [root@test1 ~]#  ifconfig

              eth2      Link encap:Ethernet  HWaddr 00:50:56:36:7F:40  

                      inet addr:192.168.17.110  Bcast:255.255.255.255  Mask:255.255.255.0

                     inet6 addr: fe80::250:56ff:fe36:7f40/64 Scope:Link

                     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

                     RX packets:4486 errors:0 dropped:0 overruns:0 frame:0

                     TX packets:2096 errors:0 dropped:0 overruns:0 carrier:0

                     collisions:0 txqueuelen:1000 

                     RX bytes:1754983 (1.6 MiB)  TX bytes:345955 (337.8 KiB)

              lo        Link encap:Local Loopback  

                     inet addr:127.0.0.1  Mask:255.0.0.0

                     inet6 addr: ::1/128 Scope:Host

                     UP LOOPBACK RUNNING  MTU:16436  Metric:1

                     RX packets:0 errors:0 dropped:0 overruns:0 frame:0

                     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

                     collisions:0 txqueuelen:0 

                       RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

                        

        第一行:是连接类型

        第二行:网卡的ip地址,子网,掩码

        第三行:UP(代表网卡开启状态),RUNNING(代表网卡的网线被连接),组播,最大传输单元

     

        给网卡配置地址时配置的信息在重启网卡后就不存在了,如果想永久存在电脑里需要修改配置文件

                        ifconfig etho 192.168.7.110 netmask 255.255.255.0

                  永久生效可以配置下面文件

                        [root@test1 network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

                        DEVICE=eth2

                        HWADDR=00:50:56:36:7f:40

                        TYPE=Ethernet

                        #UUID=16688dbb-6f52-4347-bbec-5bbeb2b0b516

                        ONBOOT=yes

                        NM_CONTROLLED=yes

                        BOOTPROTO=dhcp

                        #IPADDR=10.3.71.196

                        #NETMASK=255.255.255.128

                        #GATEWAY=10.3.71.188

                        [root@test1 network-scripts]# 

      2、echo命令

        1)命令格式        

          echo [SHORT-OPTION]… [STRING]…

                  echo LONG-OPTION

          echo [-ne][字符串]或 echo [–help][–version]  

        2)命令功能

          显示文字

        3)参数

          补充说明:echo会将输入的字符串送往标准输出,输出的字符串间以空白字符隔开, 并在最后加上换行号。
          -n 不要在最后自动换行,也就是禁止自动添加换行符号;
          -e 可以使用转义符;

        文字输出:

                     \     backslash

                               \为反斜线    

                       a     alert (BEL)

                               a为警告声

                            backspace

                              为退格键

                       c     produce no further output

                               最后不输出换行符       

                       f     form feed

                                换页

                            new  line

                              换行光标至行首

                            carriage return

                             光标移至行首,但不换行

                            horizontal tab

                               插入 tab表格跳位键

                       v     vertical tab

                                纵向制表

                       NNN  byte with octal value NNN (1 to 3 digits)

                                插入八进制的ASCII字符

                       xHH   byte with hexadecimal value HH (1 to 2digits)

                                  插入十六进制的ASCII字符

                        –help 显示帮助
                        –version 显示版本信息

       4)实例

        显示一段文字

        [root@test1 ~]# echo "this is centos6.5"

          this is centos6.5

        [root@test1 ~]# echo  -e "hellworad centos"

          hellword

          centos

        注意:最后一个后面没有字符所有没有执行

        [root@test1 ~]# echo $?

          0

        上一次命令成功还是失败,0是成功,1-255失败;

     

      3、tty命令

        1)命令格式

          tty [OPTION]…

        2)作用

          查看当前终端设备

        3)参数

                      -s, –silent, –quiet: 什么也不打印,只是返回退出状态码。 

                      –help: 打印帮助信息。 

                      –version: 打印版本信息并退出。 

        4)实例

          [root@test1~]# tty

          /dev/pts/1也就是模拟终端

          /dev/tty1也就是虚拟终端

         /dev/console也就是物理终端

        /dev/ttyS1或/dev/tss/1也就是串行端口终端

      4、statx

        # startx &图形界面

      5、export命令

        1)命令格式

          export [-fnp][变量名称]=[变量设置值]

        2)作用

          设置或显示环境变量

        3)参数

     

           -f  代表[变量名称]中为函数名称。 

          -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。 

          -p  列出所有的shell赋予程序的环境变量

        4)实例

          让用户的PATH环境变量的值多出/usr/local/mysql/bin

          # export PATH="/usr/local/mysql/bin"

      6、pwd命令

        1)格式

        pwd [选项]

        2)命令功能:

        查看”当前工作目录“的完整路径

        3) 常用参数:

        一般情况下不带任何参数

        如果目录是链接时:

        格式:pwd -P  显示出实际路径,而非使用连接(link)路径。 

        4)实例:

        [root@test1 ~]# pwd

        /root

     

        [root@test1 ~]# cd /etc/init.d

        [root@test1 init.d]# pwd

        /etc/init.d

        [root@test1 init.d]# pwd -P

        /etc/rc.d/init.d

        [root@test1 init.d]# 

        如果当前目录被删除pwd还是显示这个目录

        [root@test1 ~]# mkdir /tmp/rm

        [root@test1 ~]# cd /tmp/rm

        [root@test1 rm]# rm ../rm -rf

        [root@test1 rm]# pwd

        /tmp/rm

        [root@test1 rm]# cd

        [root@test1 ~]# pwd

        /root

        [root@test1 ~]# 

      7、history 命令

        1)环境变量

                  HISTSIZE:命令历史记录的条数;

                  HISTFILE:~/.bash_history;

                  HISTFILESIZE:命令历史文件记录历史的条数;

        2)作用

     

              管理命令历史;

                        登录shell时,会读取命令历史文件中记录下的命令:~/.bash_historyh

                        登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中;

        3)参数

                        history: //可以用跳板机远程记录你的操作历史

                            -a: 追加本次会话新执行的命令历史列表至历史文件中;

                            -d: 删除历史中指定的命令;

                            -c: 清空命令历史;

     

                    快捷操作:

                        !#: 调用历史中第#条命令;

                        !string:调用历史中最近一个以string开头的命令;

                        !!: 上一条命令

        4)实例

        history 显示历史命令条数

        history -d 5 删除第五行历史记录

      8、shutdown、poweroff、reboot

     

       关机:

                halt, poweroff, shutdown, init 0

                //shutdown可以依据当前启动的服务依次关闭后在关机

                /sbin/shutdown[-t秒][-arkhncfF]时间[告警讯息]

                //需要注意,时间参数请务必加入指令中,否则会跳到担任维护的登入状况

                //shutdown -h now ,立刻关机

                //shutdown -h 20:25

                //shutdown -h +10

                //shutdown -r +30 "the system will reboot"三十分钟后重启,并提供信息给在线的使用者

                //shutdown -k now 'this system will reboot'吓唬人的,并不会真正关机 

                //poweroff -f

     

             重启:

                reboot, shutdown, init 6

                 //sync;sync;sync;reboot

                 //shutdown -r now 立刻重启

     

                //init说明

                //0 关机,3 纯文本模式,5 含有图形接口模式,6 重启;

      9、hwclock命令

         hwclock: 显示硬件时钟

                    -s, –hctosys 使每次开机时读取RTC时间,并同步给系统时间。

                    -w, –systohc将系统时钟写入硬件时钟

                    -r   看时间是否在变化

     

      10、date命令

        1)格式        

          date [OPTION]… [+FORMAT]:显示

                   FORMAT: 格式符号

                                时间域 

                                %H 小时(00..23) 

                                %I 小时(01..12) 

                                %k 小时(0..23) 

                                %l 小时(1..12) 

                                %M 分(00..59) 

                                %p 显示出AM或PM 

                                %r 时间(hh:mm:ss AM或PM),12小时 

                                %s 从1970年1月1日00:00:00到目前经历的秒数 

                                %S 秒(00..59) 

                                %T 时间(24小时制)(hh:mm:ss) 

                                %X 显示时间的格式(%H:%M:%S) 

                                %Z 时区 日期域 

                                %a 星期几的简称( Sun..Sat) 

                                %A 星期几的全称( Sunday..Saturday) 

                                %b 月的简称(Jan..Dec) 

                                %B 月的全称(January..December) 

                                %c 日期和时间( Mon Nov 8 14:12:46 CST 1999) 

                                %d 一个月的第几天(01..31) 

                                %D 日期(mm/dd/yy) 

                                %h 和%b选项相同 

                                %j 一年的第几天(001..366) 

                                %m 月(01..12) 

                                %w 一个星期的第几天(0代表星期天) 

                                %W 一年的第几个星期(00..53,星期一为第一天) 

                                %x 显示日期的格式(mm/dd/yy) 

                                %y 年的最后两个数字( 1999则是99) 

                                %Y 年(例如:1970,1996等) 

     

        需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间

        2)参数

                    -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; 

                    -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号; 

                    -u:显示GMT; –help:在线帮助; –version:显示版本信息。

                    

          date [MMDDhhmm[[CC]YY][.ss]]:设置

          date "+%f-%H-%M-%S"

          date 0815170115.21

        显示今天为周几?

        date -R

     

             设定当前系统时间? 

        date -s 06/20/2014

        date -s 14:20

             显示今天的日期,形如:08/15/15?

        date +%y/%m%d,年月日

            显示当前的时间,形如: 16:01:21?

                 date +%H:%/M

    五、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。

      (1)内部命令和外部命令

      内部命令:

          # help COMMAND

      外部命令:

          (1) # COMMAND –help

               # COMMAND -h

        (2) 使用手册(manual)

            # man COMMAND

        (3) 信息页

            # info COMMAND

        (4) 程序自身的帮助文档

            README

            INSTALL

            ChangeLog

        (5) 程序官方文档

            官方站点:Documentation

        (6) 发行版的官方文档

        (7) Google

      man文档的章节

     1  用户命令,  可由任何人启动的。

     2  系统调用,  即由内核提供的函数。

     3  例程,   即库函数。

     4  设备,   即/dev目录下的特殊文件。

     5  文件格式描述,  例如/etc/passwd。

     6  游戏,   不用解释啦!

     7  杂项,   例如宏命令包、惯例等。

     8  系统管理员工具, 只能由root启动。

     9  其他(Linux特定的), 用来存放内核例行程序的文档。

     n  新文档,  可能要移到更适合的领域。

     o  老文档,  可能会在一段期限内保留。

     l  本地文档,  与本特定系统有关的。

    六、请罗列Linux发行版的基础目录名称命名法则及功用规定

      

        /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录;
        /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;
        /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序;
        /lib:基本共享库文件,以及内核模块文件(/lib/modules);
        /lib64:专用于x86_64系统上的辅助共享库文件存放位置;
        /etc:配置文件目录(纯文本文件);
        /home/USERNAME:普通用户家目录;
        /root:管理员的家目录;
        /media:便携式移动设备挂载点;
            cdrom
            usb
        /mnt:临时文件系统挂载点;
        /dev:设备文件及特殊文件存储位置;
            b: block device,随机访问
            c: character device,线性访问
        /opt:第三方应用程序的安装位置;
        /srv:系统上运行的服务用到的数据;
        /tmp:临时文件存储位置;
        /usr: universal shared, read-only data;
            bin: 保证系统拥有完整功能而提供的应用程序;
            sbin:
            lib:
            lib64:
            include: C程序的头文件(header files);
            share:结构化独立的数据,例如doc, man等;
            local:第三方应用程序的安装位置;
                bin, sbin, lib, lib64, etc, share

        /var: variable data files
            cache: 应用程序缓存数据目录;
            lib: 应用程序状态信息数据;
            local:专用于为/usr/local下的应用程序存储可变数据;
            lock: 锁文件
            log: 日志目录及文件;
            opt: 专用于为/opt下的应用程序存储可变数据;
            run: 运行中的进程相关的数据;通常用于存储进程的pid文件;
            spool: 应用程序数据池;
            tmp: 保存系统两次重启之间产生的临时数据;

        /proc: 用于输出内核与进程信息相关的虚拟文件系统;
        /sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;
        /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置;

  • 相关阅读:
    撩妹技能 get,教你用 canvas 画一场流星雨
    git详细使用教程入门到精通(史上最全的git教程)
    Google Performance工具,你还不会用?Git走起。
    使用PIE.htc让万恶的IE内核浏览器IE678支持CSS3部分属性
    HTML编码规范
    Canvas制作的下雨动画
    Flex 布局教程:语法和实例
    CSS编码规范
    奇葩程序写的神一样的注释,被老板看见会不会开出呢?
    Vertical-Align你应该知道的一切
  • 原文地址:https://www.cnblogs.com/zhangxingeng/p/9951602.html
Copyright © 2011-2022 走看看