马哥面授班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

相关推荐

  • rpm包及rmp命令详解

    一、软件运行环境           API: Application Programming Interface              国际标准&nbs…

    Linux干货 2016-08-22
  • Linux软件管理(rpm,yum)

    Linux的应用程序安装提供了两中格式的软件包:一种是软件开发者直接提供的源码包;另一种是发行版厂商提供事先编译好打包的软件包;用户需要根据需要来选择何种方式安装软件,作为系统管理运维人员,要想合理应用,必须熟悉这两者之间的内在联系以及各自的特性和差异; *软件包管理工具)   — RPM软件包管理工具  — YUM软件包前端管理工具 软…

    Linux干货 2016-08-29
  • 用户和组的管理

    在Linux系统上,用户管理是基于用户名和密码的方式进行资源的分配的,Linux上的用户分为以下的类别: 管理员 : root  ,UID为0 (这个用户有极大的权限,可以直接无视很多的限制,包括读写执行的权限。所以这个用户的使用要小心,因为他的权限太大。) 普通用户的UID:1-65535 普通用户又可分为: 系统用户(已经存…

    2017-04-08
  • N28-第三周

    1. 列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。
    2. 取出最後登入到當前系統的用戶的相關信息。
    3. 取出當前系統上被用戶當做其默認shell的最多的那個shell。
    4. 將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
    5. 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6. 列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
    7. 顯示/var目錄下一級子目錄或文件的總各數。
    8. 取出/etc/group文件中第三個字段數值最小的10個組的名字。
    9. 將/etc/fstab和/etc/issue文件的內容合併為同一個內容後保存至/tmp/etc.test文件中。
    10. 請總結描述用戶和組管理類命令的使用方法並完成以下練習:
    (1) 創建組distro,其GID為2016。
    (2) 創建用戶mandriva,其ID號為1005,基本組為distro。
    (3) 創建用戶mageia,其ID號為1100,家目錄為/home/linux。
    (4) 給用戶mageia添加密碼,密碼為mageedu。
    (5) 刪除mandriva,但保留其家目錄。
    (6) 創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin。
    (7) 修改slackware的默認shell為/bin/tcsh。
    (8) 為用戶slackware新增附加組admins。

    2017-12-19
  • 控制字体颜色的输出echo[转载]

    http://onlyzq.blog.51cto.com/1228/546459 echo显示带颜色,需要使用参数-e格式如下:echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"例如: echo -e "\033[41;37m TonyZhang \033[0m"其中41的位置…

    Linux干货 2017-02-01
  • #招聘福利#饿了么/运维核心岗位/上海

    饿了么/运维核心岗位/上海 待遇面谈 具体岗位:         应用运维,核心岗位,负责商家订单系统,有之前的学长带着成长 要求:     1、1-2年以上工作经验,     2、熟悉shell和python,    &nbsp…

    Linux干货 2016-03-18