马哥面授班20期-第一周(计算机基础,linux入门)

一.计算机发展历史及硬件组成部分

    计算机发展历史:第一代:(1946-1957)电子管时代,第二代:(1958-1964)晶体管时代,

             第三代:(1965-1970)集成电路时代,第四代:(1971以后)大规模集成电路时代。

    计算机硬件组成部分:

            运算器:执行各种运算和逻辑运算的操作部件。

            控制器:制逻辑单元的核心组件。

            输出设备:输出计算机的处理结果。

            输入设备:把原始数据和处理这些数据的程序通过输入接口输入到计算机的存储器中。

            存储器:

                内部存储器:用于存放计算机当前正在运行的程序、数据等;内部存储还分为随机存取存储器RAM和只读存储器ROM。

                外部存储器:用于存放大量不参加计算机运算和处理的程序,数据等。 

                高速缓冲存储器:CPU与内存交换数据的缓冲区,是为了解决内存与CPU速度不匹配问题而设计的存储设备

二.服务器硬件组成部分,操作系统以及linux发行版本

    服务器Server是计算机的一种,是网络中为客户端计算机提供各种服务高性能的计算机。服务器在网络操作系统的控制下,将硬盘,磁带,打印机等转中网络设备给网络上的客户站点共享,也能为网络用户提供集中计算,信息发布及数据管理等。

    服务器按应用功能可分为:Web服务器,数据库服务器,日志服务器,文件服务器等等。

    服务器按外形分类:塔式服务器,机架式服务器(高度以U为计算单位,1U=1.75英寸=44.45毫米),刀片式服务器。

     服务器硬件组成部分:

            cpu英文缩写(central Peocessing Unit),又叫中央处理器,有控制器和运算器组成,cpu主流类型:x86。

            主板:(mainboard),系统板(systemboard)或母板(motherboard)是计算机最基本的也是最重要的部件之一。

            内存:内存是介于cpu和外部存储之间,cpu对外部存储中程序和数据进行高速运算时存放程序指令,数据和中间结果的空间,物理实质就是一组具备数据输入输出和数据存储功能的高速集成电路。内存是cpu能直接寻址的存储空间,存取速度快。

            硬盘:物理存储的介质

            电源:支持服务器的电力负载

            风扇:散热

            显卡:GPU(Graphic processing Unit)图形处理器

            Pci:扩展槽

            热插拔:又叫热交换技术(HotSwap)允许不关机的状态下更换有故障支持热插拔技术的设备,热插拔一硬盘技术和Raid技术配合可以使服务器在不关机的状态下恢复故障硬盘上的数据,并不影响网络用户对数据的使用。

    服务器三大操作系统:windows,linux,Unix(System,BSD)

     linux发行版本:slackware,debian,redhat(rhel,CentOS,中标麒麟,fedrea)Archlinux,Gentoo,LFS,Android

     DAS(Direct Attached Storage)直接连接存储,存储设备与主机紧密相连。

     NAS(Network Attached Storage)网络连接存储,通过局域网在多个文件服务器之间实现了互联,基于文件的协议。

     SAN(Storage Area Networks)存储区间网络,利用告诉的光纤网络链接服务器和存储设备,基于SCSI,IP,ATM等多种高级协议,实现存储共享

三、linux哲学原理

    

    一切皆文件,包括硬件也能以文件的形式显示出来。

    有众多单一目的的小程序组成,一个程序完成一个功能。

    链接一个个小程序,组合起来完成复杂的任务。

    避免令人困惑的用户界面。

配置数据存储在文本里。

            

四、linux基础


    管理员用户:# 一个特殊的管理用户,也叫超级用户,对系统损害几乎有无限的能力。

         管理员用户全靠uid来判断,uid为0,就是管理员。

                    [root@English6 ~]# id root
                    uid=0(root) gid=0(root) groups=0(root)
            由此可见,root用户uid为0,所以root为管理员用户。

    普通用户:$ 权限有限,对系统草成伤害的能力有限。

    终端:

        物理终端:对应/dev/console 直接接入本机的显示器和键盘设备。

        虚拟终端:对应/dev/pts 附加在物理终端上以软件方式虚拟实现的终端。

        交互式接口:启动终端后,在终端设备上附加一个交互式应用程序。分为GUI和CLI两种。

        查看当前的终端设备:tty

                    [root@English6 ~]# tty
                    /dev/pts/1

    Shell:linux命令解释器,接收用户输入的命令把它送入内核执行;shell也是一种编程语言.

        bash shell:linux标准的shell。

        显示当前实用的shell:echo $shell

                    [root@English6 ~]# echo $SHELL
                    /bin/bash

        显示当前系统使用所有shell:cat /etc/shells

                    [root@English6 ~]# cat /etc/shells
                    /bin/sh
                    /bin/bash
                    /sbin/nologin
                    /bin/dash
                    /bin/tcsh
                    /bin/csh

        执行命令:输入命令,用回车键发送,在shell程序中找到输入命令所对应的可执行程序或代码,并由其分析提交给内核分配资源将其运行起来。

        shell中可执行的命令有两种:

            内部命令:shell自带的命令,通过某命令形式提供。

            外部命令:当先系统的某文件路径下有对应的可执行程序文件。

        区分内部命令还是外部命令:type

                    [root@English6 ~]# type history
                    history is a shell builtin
                    显示history是内部命令。
                    [root@English6 ~]# type date
                    date is /bin/date
                    显示date是外部命令。

         hash:查询外部命令路径结果会缓存在kv存储中,

                    [root@English6 ~]# hash
                    hits	command
                       0	/bin/date
                       2	/bin/cat

        hash -r:清除缓存

                    [root@English6 ~]# hash -r
                    [root@English6 ~]# hash
                    hash: hash table empty

        命令格式:command[options][arguments]

            选项:用于启用或关闭命令的某个或某些功能。

                短选项:-c,-l,-h

                长选项:–word,–all,

            参数:命令的作用对象,比如文件命,用户名等。

五、linux基础命令及应用


    ls:列出当前路径下的文件或文件夹。        

[root@English6 ~]# ls
anaconda-ks.cfg  Documents    install.log.syslog  Public
a.out            Downloads    Music               Templates
Desktop          install.log  Pictures            Videos

    pwd:查看当前目录下的完整路径。

[root@English6 dev]# pwd
/dev

    cd:cd /dev 进入dev目录,cd进入系统根目录。

[root@English6 ~]# cd /bin
[root@English6 bin]# pwd
/bin
[root@English6 bin]# cd
[root@English6 ~]# pwd
/root

    lscpu:查看cpu信息。

[root@English6 ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Model name:            Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz
Stepping:              9
CPU MHz:               1795.921
BogoMIPS:              3591.84
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0,1

    lsb_release:查看系统版本发行信息。

[root@English6 ~]# lsb_release 
LSB Version:	:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch

    lsblk:查看当前硬盘信息。

[root@English6 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0 48.8G  0 part /
├─sda3   8:3    0 19.5G  0 part /testdir
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0  3.9G  0 part [SWAP]
sr0     11:0    1  3.7G  0 rom  /media/CentOS_6.8_Final

    free:查看内存信息。

[root@English6 ~]# free
             total       used       free     shared    buffers     cached
Mem:       1004136     880784     123352       2188      52948     487032
-/+ buffers/cache:     340804     663332
Swap:      4095996          0    4095996

    uname:查看内核信息。

[root@English6 ~]# uname
Linux

    hostname:查看完整的主机名。

[root@English6 ~]# hostname 
English6.8

    ifconfig:查看网络信息。

[root@English6 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:A0:BF:D3  
          inet addr:192.168.1.108  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fea0:bfd3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:31862 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13403 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:34253289 (32.6 MiB)  TX bytes:1199229 (1.1 MiB)

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:65536  Metric:1
          RX packets:791 errors:0 dropped:0 overruns:0 frame:0
          TX packets:791 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:113525 (110.8 KiB)  TX bytes:113525 (110.8 KiB)

    touch:创建一个空白文件。

    cat:查看文本文件。

[root@English6 ~]# touch wang
[root@English6 ~]# ls
anaconda-ks.cfg  Documents    install.log.syslog  Public     wang
a.out            Downloads    Music               Templates
Desktop          install.log  Pictures            Videos
[root@English6 ~]# cat /root/wang
[root@English6 ~]# 
用cat查看wang这个文件,没显示出wang的值,表示wang是个空白文件。

 

    whoami:当前在哪个用户下登录。

[root@English6 ~]# whoami
root

    su -:切入管理员用户,su – (用户名)切换到某一用户。

[root@English6 ~]# su - DYW
[DYW@English6 ~]$ whoami
DYW
[DYW@English6 ~]$ su -
Password: 
[root@English6 ~]# whoami
root

    cal:查看当月的日历。

[root@English6 ~]# cal
      July 2016     
Su Mo Tu We Th Fr Sa
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

    date:查看系统时间,

    clock:查看硬件时间。 -s以硬件时间为准,调整系统时间;-w以系统时间为准,调整硬件时间;

[root@English6 ~]# date
Sun Jul 24 13:07:25 CST 2016
[root@English6 ~]# clock
Sun 24 Jul 2016 01:07:32 PM CST  -0.504216 seconds

    screen部分应用:连接的是同一个机器,用同一个用户 安装screen:rpm -i/光驱/packages/screen

screen -s  新建一个会话

screen -x  连接回话

screen -r  恢复会话

    echo:输出,显示字符。

    命令格式:echo[-n]字符串,其中选项n表示输出文字后不换行;字符串能加引用,也能不佳引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

    echo显示文字:echo[-ne][字符串],echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,并在最后加上换行号。

        $:表示变量

    ‘’:强引用,

    “”:弱引用,

[root@English6 ~]# a=123
[root@English6 ~]# echo "$a"
123
[root@English6 ~]# echo '$'
$

    “=$():命令引用

[root@English6 ~]# echo "ls"
ls
[root@English6 ~]# echo 'ls'
ls
[root@English6 ~]# echo `ls`
anaconda-ks.cfg a.out Desktop Documents Downloads install.log install.log.syslog Music Pictures Public Templates Videos wang

        -n:不要在最后自动换行。-e:打印转义字符。

[root@English6 ~]# echo  -e "7\t8"
7	8
[root@English6 ~]# echo   "7\t8"
7\t8

    文本输出:

        \a发出警告声;

        \b删除前一个字符;

        \c最后不加上换行符号;

        \f换行光标仍旧停留在原来的位置;

        \n换行且光标移至行首;

        \r光标移至行首,但不换行;

        \t插入rab;

        \v与\f相同;

        \\插入\字符;

        \nnn插入nnn(八进制)所代表的ASCII字符。

    history:查看你输入的命令历史

[root@English6 ~]# history 
    1  vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    2   ls
    3  cd
    4  pwd
    5  cd /dev

        登录shell时,会读取命令历史文件中记录的命令 /.bash_history。登录进shell后新执行的命令只会记录在缓存中,这些命令会在用户退出时“追加”在命令历史文件中。

六、如何使用帮助


    whatis:查看命令的作用。

[root@English6 ~]# whatis ls
ls                   (1)  - list directory contents
ls                   (1p)  - list directory contents
查看ls命令的作用。

    help:帮助命令。 

        用type看是不是内部命令

        内部命令:help command   

              man bash

[root@English6 ~]# type cd
cd is a shell builtin          表示cd为内部命令。
[root@English6 ~]# help cd
cd: cd [-L|-P] [dir]
    Change the shell working directory.
    
    Change the current directory to DIR.  The default DIR is the value of the
    HOME shell variable.
    
......此处省略

        外部命令:command –help

[root@English6 ~]# type date
date is hashed (/bin/date)       表示date是外部命令。
[root@English6 ~]# date --help
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.

.......此处省略

    man:manual的简写,帮助文档,在/usr/share/man,外部命令可以实用man来查看。

        man command 

    man:命令默认查看最小章节,man 1-9command

        1:用户名令

        2:系统调用

        3:C库调用

        4:设备文件及特殊文件

        5:配置文件格式

        6:游戏

        7:杂项

        8:管理类的命令

        9:linux内核API

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

(0)
DYWDYW
上一篇 2016-07-26
下一篇 2016-07-26

相关推荐

  • 软件包管理工具的使用及yum源仓库的配置

    我们知道CentOS,本质上是RedHat的社区版,其无论是功能还是软件配置上都与RedHat保持一致,因此CentOs系列的软件包管理主要的也是rpm和yum工具。 RPM包管理 rpm包管理工具可以说是历史悠久、名声斐然了。rpm起初是RedHat公司研发的软件包管理工具,即RedHat Package Managemer。但由于其性能突出,在开源界得到…

    Linux干货 2016-11-06
  • LVM逻辑卷管理练习

         小编今天要讲的内容是如何创建逻辑卷,然后扩展它、缩减它。LVM 的重点就在于可以弹性的调整文件系统的容量!所以,下面练习开始。 1、创建一个至少有两个PV组成的大小为20G的名为testvg的 VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻 辑卷testlv;挂载至/users目录。 ①准备两个10G的…

    2017-08-26
  • bash特性及配置文件

    bash配置文件     两类:         profile:为交互式登录shell提供配置         bashrc:为非交互式登录shell提供配置…

    Linux干货 2016-08-31
  • httpd配置

    httpd配置 修改监听的IP和端口(port) 持久连接 MPM DSO(Dynamic Shared Object) main server的文档页面路径 站点访问控制 定义站点主页面 定义路径别名 设定默认字符集 日志 基于用户的访问控制 虚拟主机 httpd状态页面 使用压缩模块mod_daflate优化速度 基于IP 为每个虚拟主机至少准备一个IP…

    Linux干货 2016-12-21
  • 第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。  cp复制,mv移动,rm删除     1、cp:             1,用法:      &n…

    Linux干货 2016-07-04
  • N24期linux之学习宣言

        学习linux时间已经过去了一周之余,每天下班后拖着疲惫的身体回家。虽然很累,但也觉得这次选择很值得,但愿以后自己发展的会越来越好!     我的学习宣言是:     刻苦学习,努力超越自己。     明天的我一定会感谢今天努力的自己!     努力 …

    Linux干货 2016-10-29