马哥面授班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)
上一篇 2016-07-26 16:59
下一篇 2016-07-26 17:01

相关推荐

  • 第四周小结

    这周我们主要学习了写脚本的简单语法,写了一些简单的脚本,下面就由我来简单介绍一下: 第一步使用文本编辑来创建脚本: 创建好后在里面写想要运行的脚本即可,然后按Esc—wq退出保存即可。也可以按q不保存退出;q!不保存强制退出;wq!保存强制退出。 第二步运行脚本,给予执行权限,在命令行上指定脚本的相对路径和绝对路径 对了,当在脚本里输入内容时,要Ese&#8…

    2017-08-06
  • 用户和组管理

    Linux用户和用户组管理   Linux是个多用户多任务的分时操作系统,所有要使用系统资源的用户必须向系统管理员申请一个账号,然后以这个身份进入系统。用户登陆系统是也是一种验证方式,系统通过用户的UID(Username IDentification)这种机制来识别用户的身份和权限。每个用户账号都是唯一的用户名和用户口令。用户在登陆时键入正确的用…

    Linux干货 2016-08-07
  • 4

    1;复制/etc/skel目录为/home/tuinser1, 要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 #   install -d -m 700 /etc/skel /home/tuser1  #  &nbsp…

    Linux干货 2017-01-16
  • N26-博客作业-week15

    1、总结sed和awk的详细用法 sed: 语法结构 sed [OPTION]…’script’ [input-file]…[action] -r:支持扩展正则表达式 -n:不输出模式空间中的内容至屏幕 -e script1 -e script2 -e script3:指定多脚本运行 -f /path/to/script_file:从指定的文件中读取…

    Linux干货 2017-07-14
  • N22-第十一周作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 (1)数字签名 A与B通信,B发给A一段数据,为了证明数据确实是B发送过来的,B首先会用单向加密算法从数据中提取一段特征码,然后用自己的私钥加密这段特征码和原始数据后,发送给A;A接受到数据,首先用B的公钥解密,获取到特征码和原始数据;然后用同样的单向加密算法从原始数据中提取一段特征码,与之前用公钥解密得到的特…

    Linux干货 2016-11-01
  • 马哥linux2014|2015全套教程

    1、本课程全程将基于集成了Openstack云环境、支持高精度时间(PTP)及虚拟化性能大大提升的RHEL 6.5或CentOS 6.6,间或介绍CentOS 7系统的使用; 2、此文章给出的只是个课程知识点框架,实际讲解过程相当精细;另外,知识点讲授的次序未必同此文章所标示的顺序相同; 3、第15期面授班定于2015年3月24号开课;本期将会是马哥教育数年…

    Linux干货 2015-07-14