N21-北京-泥人-马哥教育网络班21期+第一周课程练习

马哥教育网络班21期  第一周课程练习

一、计算机的组成

1、计算机主要由以下几部分组成:运算器 控制器 存储器(编址存储单元)、 输入、输出设备  

2、运算器负责运算:只能做二进制的数学、逻辑运算,

控制器:控制由哪得到数据,放到哪去,协调运算器、存储器、输入、输出等设备

运算器、控制器整合到一起就是常说的中央处理器,也就是CPU。

3、存储器负责数据存储,由内存(RAM)、硬盘、U盘、光盘、软盘等组成,其中内存的读写速度最快,最接近CPU的运算速度(不算CPU的缓存),但内存的容量较小造价高,而且断电后数据会丢失。

 硬盘:主数据存储,也可以叫数据仓库,它的容量较大,读写速度比内存慢,但比其它的存储要快,硬盘容量可以根据需要扩展。

 U盘:便携式存储,容量现在比光盘大,读写速度比光盘要快,主要是使用方便,小巧,易携带。

 光盘:在U盘出现之前是容量比较大的便携存储工具,分为两种,一种是只能写一次,可反复读取;一种是可多次擦除,写入,可反复读取,不过每重写一次都会丢失一部分容量。

 软盘现在已经基本不用。

4、输入/输出设备:也是人机交互工具,

     输入设备:告诉CPU要处理什么,怎么处理,比较常见的有键盘、鼠标、扫描仪等;

     输出设备:CPU运算完成后告诉我们处理结果,常见的有显示器、打印机等。

二、Linux的发行版

Linux目前分三个主流发行版

1、slackware

slackware有很多二次发行版,主要有,suse,基于suse三次开发的有 opensuse(开源)、SLES(企业级)

2、debian

debian是最接进原始Linux的发行版,对使用者要求较高。

debian的二次发行版有ubuntu,基于ubuntu的三次发行版有mint

3、redhat

 redhat分为企业版 rhel,rhel发行比较保守,大约18个左右发行一个新版本,后续支持可长达10提左右。

 个人版:fedora 主要用于测试软件、硬件,发行很快,大约6个月发行一次。

CentOS是rhel的二次编译版本,适用于服务器,稳定,但发行较慢。

三、Linux的哲学思想

  Linux的开发,主要是至力于提供一种完全开源、完全免费的平台及应用,通过GPL、LGPL、BSD等协定,Linux应用迅速发展,取之开源,用之开源。

Linux的主要特点:

1、自由:Linux是一个完全自由的软件,它可以自由下载、自由学习、自由改编、自由分发等。

2、文件:Linux是以文件为基本的系统,它的几乎一切资源皆文件,包括硬件资源都是由文件组成。

3、单一:Linux是由功能单一的小程序组成,它的小程序只为实现一个功能,要求功能要准确。

4、交互:Linux尽量避免跟用户交互,它通过编辑脚本自动实现所需功能;

5、文本:Linux所有文件皆是文本格式,可以通过合适的文本编辑器编辑,也就是用一个适合的文本编辑器就可以实现系统配置。

四、Linux 命令 (强行终止命令:ctrl+c;输出分屏显示命令(管道命令):|more)

1、Linux 命令格式

COMMAND [options] [arguments]

命令的选项、参数所使用符号的含义:

    [] :可省略之内容

    <> : 必须提供

    a|b : 二选一,或多选一

1) COMMAND: 表示命令的名称, 如 ifconfig、ls 、help

  命令分为内部命令和外部命令

    内部命令:当前shell自带的命令,且通过某命令格式提供

    外部命令:当前系统下的某一目录中有此命令的可执行文件

    查看内、外命令:# type COMMAND (命令名) 

如:

blob.png

blob.png

注:命令要求在命令提示符(#)后直接写,不能有其它字符在命令前面!

2) options:定义命令的执行特性,打开或关闭某些功能,可以有长短两种选项:

长选项: 用 — 引导,后面跟完整的单词,如 –help

短选项: 用 – 引导,后面跟单个的字符, 如 -a

多个短选项可以组合使用,例如:

-h -l -a  -hla

但是长选项不能组合使用,如 –help后面就不能再跟另外一个单词了。

注意,命令与选项,选项与选项之间,选项与参数之间,参数与参数之间必须有空格!

3) arguments:表示命令的作用对象,向命令提供数据

如:ls /etc/shells  

blob.png

/etc/shells 就是ls 命令的作用对象。

注意:取消命令执行、强行中止命令用Ctrl + C 键

2、常用命令

1)ifconfig:查看和配置网络设备

(1)命令格式:ifconfig [网络接口] [参数]

(2)命令选项:

up 启动指定网络设备/网卡

down 关闭指定网络设备/网卡该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。

arp 设置指定网卡是否支持ARP协议

-promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包

-allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包

-a 显示全部接口信息

-s 显示摘要信息(类似于 netstat -i)

add 给指定网卡配置IPv6地址

del 删除指定网卡的IPv6地址

<硬件地址> 配置网卡最大的传输单元

mtu<字节数> 设置网卡的最大传输单元 (bytes)

netmask<子网掩码> 设置网卡的子网掩码掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。

tunel 建立隧道

dstaddr 设定一个远端地址,建立点对点通信

-broadcast<地址> 为指定网卡设置广播协议

-pointtopoint<地址> 为网卡设置点对点通讯协议

multicast 为网卡设置组播标志

address 为网卡设置IPv4地址

txqueuelen<长度> 为网卡设置传输列队的长度

(3)示例

A:显示网络配置信息(当前活动的网卡)

# ifconfig 

blob.png

显示eth0的MAC地址,IP地址、网关、子网等信息

B:开、关网络端口

# ifconfig eth0 down/up

# ifconfig eth0 down

blob.png

当网卡关闭后,直接执行ifconfig 命令无法显示已关闭的网卡信息,只有加上eth0参数后才能显示关闭的网卡信息

# ifconfig eth0 up

blob.png

网卡打开后,ifconfig可以直接显示配置信息

C:修改MAC地址:

# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EEblob.png

注意:ifconfig 修改的配置信息,只在系统重启前有效,如果想保存配置信息,需要修改配置文件。


2)echo:显示字符

(1)命令格式:echo [-ne][字符串]

(2)命令选项:

   -n:显示字符串不换行

   -e:对字符转译,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般

文字输出:
   \a 发出警告声;
   \b 删除前一个字符;
   \c 最后不加上换行符号;
   \f 换行但光标仍旧停留在原来的位置;
   \n 换行且光标移至行首;
   \r 光标移至行首,但不换行;
   \t 插入tab;
   \v 与\f相同;
   \\ 插入\字符;
   \nnn 插入nnn(八进制)所代表的ASCII字符;
 

(3)示例

A:输出字符,最后有回车键(换行)

#echo aaaaa

blob.png

B:输出字符,最后没有回车键(不换行)

#echo -n aaaaa

blob.png 

C:输出字符前插入TAB键

#echo -e "\taaaaa"

blob.png 

3) tty:命令用于显示终端机连接标准输入设备的文件名称

(1)命令格式 :tty [-s]  

(2)命令选项:

   -s :不显示任何信息,只回传状态代码

(3)示例:

  A:显示当前在那个模拟终端下   

  命令:#tty

   blob.png

4)startx:初始化一个 X 会话(启动图形界面)

(1)命令格式:

startx [ -d Display:0 ] [ -t | -w ] [ -x Startup | [ -r Resources ] [ -m Window_Manager ] ] [ -wait ]

(2)命令选项:

  -d Display :0 指定在启动过程中传递给 X 客户机的 X 服务器的显示名称。
  -m Window_Manager 当未找到 startup 脚本时,启动窗口管理器。
  -r Resources 当未找到 startup 脚本时,装入资源文件。
  -t 为一个 X 终端启动 X 客户机。
  -w 为工作站上的 X 窗口会话启动 X 服务器和 X 客户机。
  -wait 当 xdm 命令调用 startx 时,防止重新启动 X 会话。
  -x Startup 使用 startup 脚本启动 X 窗口会话。

(3)示例

A:在工作站或终端上启动X会话:

命令:startx

blob.png注意:

1、如果已经启动了startx ,再输入命令会报错,只能启动一个图形界面,这时可用ctrl+alt+f7(f1-f7)来切换图形/命令界面

2、如果想关闭图形界面可以在命令界面输入:init <1-6>,1到6不同,可以上网上学习下

5)export:设置或显示环境变量

(1)命令格式:export [-fnp][变量名称]=[变量设置值]  (变量修改只对当前登录有效)

(2)参数:

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

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

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

(3)示例

   A:显示当前shell环境变量:

   命令:#export [p]

  blob.png

B:修改变量

 命令:export PWD="mage"

blob.png

注意:用export命令通常显示的结果会出现分屏显示,这时就要用到管道命令 [|more],这个参数的作用就是将输出结果分屏显示,用空格翻页,命令格式如下:

#export |more

blob.png

6)pwd:查看”当前工作目录“的完整路径

(1)命令格式:pwd [选项]

(2)选项

一般情况下不带任何选项或参数

如果目录是链接时

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

(3)示例

  A:显示当前路径

  命令:pwd

 blob.png

7)history:显示输入过的历史命令

(1)命令格式:history [选项]

    Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认保存1000条,你也可以更改这个值。如果你键入 history, history会向你显示你所使用的前1000个历史命令,并且给它们编了号,你会看到一个用数字编号的列表快速从屏幕上卷过。你可能不需要查看1000个命令中的所有项目, 当然你也可以加入数字来列出最近的 n 笔命令列表。linux中history命令不仅仅让我们可以查询历史命令而已. 我们还可以利用相关的功能来帮我们执行命令。运行特定的历史命令history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“!接编号”的方式运行特定的历史命令.

(2)选项:

  n  :数字,要列出最近的 n 笔命令列表
  -c :将目前的shell中的所有 history 内容全部消除
  -a :将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles,则预设写入 ~/.bash_history
  -r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
  -w :将目前的 history 记忆内容写入 histfiles

(3)示例:

 A:显示所有应用过的命令

   命令格式:#history |more (太多,用管道命令分屏显示)

blob.png

 B:显示最后20条命令:

  命令格式:#history 20

blob.png

 C:重复执行第278条命令:

  命令格式:!278

blob.png

8)shutdown

(1)命令格式:shutdown [-efFhknr][-t 秒数][时间][警告信息]

(2)选项:

 -c  取消一项已经运行关机命令。
 -f  重新启动时不执行fsck。
 -F  重新启动时执行fsck。
 -h  将系统关机。
 -k  只是送出信息给所有用户,但不会实际关机。
 -n  不调用init程序进行关机,而由shutdown自己进行。
 -r  shutdown之后重新启动。
 -t<秒数>  送出警告信息和删除信息之间要延迟多少秒。
 [时间]  设置多久时间后执行shutdown指令,时间格式是hh:mm,now是立即执行。
 [警告信息]  要传送给所有登入用户的信息。

(3)示例:

  A:15分钟后重启

   命令:shoutdown -r +15 "restart in 15 min"

  blob.png

  B:终止15分钟重启命令(注意:如果不是用ctrl+c 强行终止程序,就需要切换到其它模拟终端输入命令)

   命令:shoutdown -c 

blob.png

blob.png

  C:向用户输出警告信息,但不关机

   命令:shoutdown -k now "Server would shutdown in 15 min!"

blob.png

9)poweroff:关闭计算机操作系统并且切断系统电源

  (1)命令格式:poweroff [选项]

  (2)选项:

    -n, –no-sync      在做重起或关机时不做同步处理

    -f, –force        不论主机处于何种状态均强制立即关机。

    -p, –poweroff      在做关机时,关闭电源

    -w, –wtmp-only      实际上并不重新启动或停止,只是写wtmp纪录

    -q, –quiet        只显示错误信息

    -v, –verbose       输出运行过程中的详细信息

       –help        显示帮助信息

       –version      显示版本信息

(3)示例:

  立即关机:#poweroff

10)reboot:重启系统

(1)命令格式:reboot [选项]

(2)选项:

  -f  强制重新开机,不调用shutdown指令的功能。 
  -i  在重开机之前,先关闭所有网络界面。

   -p  在关机后暂时关闭电源再启动(相当于冷启动,检测硬件) 
  -n  重开机之前不检查是否有未结束的程序。 
  -w  仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。

(3)示例:

  A:重启系统(热启,不检测硬件)

 命令: #reboot 

 blob.png

 B:重启系统(冷启动,检测硬件)

 命令:#reboot -p

blob.png

  

11)hwclock:显示与设定硬件时钟

  在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

(1)命令格式:hwclock [–adjust][–debug][–directisa][–hctosys][–show][–systohc][–test]

[–utc][–version][–set –date=<日期与时间>]

(2)选项:

  –adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。 
  –debug  显示hwclock执行时详细的信息。 
  –directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。 
  –hctosys  将系统时钟调整为与目前的硬件时钟一致。 
  –set –date=<日期与时间>  设定硬件时钟。 
  –show  显示硬件时钟的时间与日期。 
  –systohc  将硬件时钟调整为与目前的系统时钟一致。 
  –test  仅测试程序,而不会实际更改硬件时钟。 
  –utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。 
  –version  显示版本信息。

(3)示例:

 A:显示当前硬件时钟

 命令:hwclock

blob.png

 B:同步系统时钟

 命令:#hwclock –systohc

blob.png

12)date:显示或设置系统时间与日期

(1)命令格式:date [选项] [参数] 

(2)选项:

     -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
    -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
    -u:显示GMT;
    –help:在线帮助;
    –version:显示版本信息。

(3)参数:

     <+时间日期格式>:指定显示时使用的日期时间格式。
    %H 小时,24小时制(00~23)
    %I 小时,12小时制(01~12)
    %k 小时,24小时制(0~23)
    %l 小时,12小时制(1~12)
    %M 分钟(00~59)
    %p 显示出AM或PM
    %r 显示时间,12小时制(hh:mm:ss %p)
    %s 从1970年1月1日00:00:00到目前经历的秒数
    %S 显示秒(00~59)
    %T 显示时间,24小时制(hh:mm:ss)
    %X 显示时间的格式(%H:%M:%S)
    %Z 显示时区,日期域(CST)
    %a 星期的简称(Sun~Sat)
    %A 星期的全称(Sunday~Saturday)
    %h,%b 月的简称(Jan~Dec)
    %B 月的全称(January~December)
    %c 日期和时间(Tue Nov 20 14:12:58 2012)
    %d 一个月的第几天(01~31)
    %x,%D 日期(mm/dd/yy)
    %j 一年的第几天(001~366)
    %m 月份(01~12)
    %w 一个星期的第几天(0代表星期天)
    %W 一年的第几个星期(00~53,星期一为第一天)
    %y 年的最后两个数字(1999则是99)

(4)示例:

  A:显示当前系统时间

  命令:#date

blob.png

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

 1、在Linux 命令的获取命令帮助

 1)内部命令:

 查看命令是内部还是外部:#type command

 内部命令获取帮助:help command [|more]

 示例:

blob.png

blob.png

2)外部命令获取帮助   

 (1)简单命令帮助

 命令格式:command [-h] 或 command [–help] 

 如果help文档过长或超出一屏显示,可以命令后加管道命令:|more,分屏显示

    命令格式:command [-h] | more 或 command [–help] |more

 示例:

 A:ls –help:

 blob.png 只能看到结尾。

B:ls –help |more

blob.png

分屏查看,按空格键翻页。

 (2)使用命令帮助手册查看命令帮助

   命令格式:man command

   示例:man reboot

blob.png

 (3)信息页方式查看命令帮助

   命令格式:info command

  示例 info reboot

 blob.png

 (4)程序的帮助文档

    A:readme:程序介绍文档

    B:install:安装文档

    C:changelog:修改信息

 (5)程序官方文档

    官方网站:documentation中有详细的说明

  (6)发行版的官方文档

  (7)google

3)man文档的章节是如何划分的

man1:用户命令

man2:系统调用

man3:C库调用

man4:设备文件及特殊文件

man5:配置文件格式

man6:游戏

man7:杂项

man8:管理类命令

章节内部分类:

NAME:程序名

SYNOPSIS:概要

DESCRIPTION:应用描述

OPTIONS:选项

ENVIRONMENT:环境

FILES:命令日志

AUTHOR:作者

REPORTING BUGS:BUGS报告

COPYRIGHT:版权

SEE ALSO :其它命令

UPSTART:程序时间

六:linux目录结构:

 1、/:根目录

 2、/bin: 系统有很多放置执行档的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般帐号所使用。

   主要有:cat,chmod(修改权限), chown, date, mv, mkdir, cp, bash等等常用的指令。

 3、/boot :主要放置开机会使用到的文件,包括Linux核心文件以及开机选单与开机所需设定档等等。

 4、 /dev: 在Linux系统上,任何装置与周边设备都是以文件的型态存在于这个目录当中。只要通过存取这个目录下的某个文件,就等于存取某个装置。

    比较重要的文件有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等   

 

 5、/etc:系统主要的设定档几乎都放置在这个目录内,例如人员的帐号密码档、各种服务的启始档等等。 一般来说,这个目录下的各文件属性是可以让一般使用者查阅的,但是只有root有权力修改。 

   比较重要的文件有:

   /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/。

   另外,其下重要的目录有:

   /etc/init.d/ :所有服务的预设启动script都是放在这里的。

 6、/home:这是系统预设的用户目录(home directory)。

    在你新增一个一般用户帐号时,预设的用户都会放到这里来。比较重要的是,用户目录有两种代号:

   ~ :代表当前用户,而 ~guest:则代表用户名为guest的用户目录。    

 7、/lib: 系统的函数库非常的多,而/lib放置的则是在开机时会用到的函数库,以及在/bin或/sbin底下的指令会呼叫的函数库 。    
 

8、/media:media是媒体的英文,顾名思义,这个/media底下放置的就是可移除的装置。包括软碟、光碟、DVD等等装置都暂时挂载于此。

   常见的文件名有:/media/usb, /media/cdrom。    

 9、/mnt: 如果妳想要暂时挂载某些额外的装置。

 10、/opt:这个是给第三方软件放置的目录 。    
 

 11、/root:系统管理员(root)目录。    

 12、/sbin Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来设定系统,其他用户最多只能用来查询而已。放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。

 13、/srv:srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。   
 

 14、/tmp:这是让一般使用者或者是正在执行的程序暂时放置文件的地方。这个目录是任何人都能够存取的,所以需要定期的清理一下。 

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

(0)
泥人泥人
上一篇 2016-07-12
下一篇 2016-07-12

相关推荐

  • CentOS下获取帮助

    CentOS中获取帮助 在使用和学习CentOS系统时,我们可能会遇上不熟悉的命令,需要获取帮助。在很多情况下,我们无法通过网络获取帮助,这个时候我们就需要自己通过查看系统帮助文档来解决问题。下面就来介绍获取帮助的方法: 1、 获取简单的帮助信息:whatis COMMAND   2、获取比较详细的命令帮助信息:help COMMAND;COMMA…

    2017-07-15
  • 马哥教育网络班20期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 # who |cut -d" " -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 # last | head -1 3…

    Linux干货 2016-06-26
  • RAID 0 软件实现

    RAID 0 软件实现        RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行…

    Linux干货 2017-05-02
  • Linux文件类型及颜色标识整理

    Linux文件类型及颜色标识整理 M21陆东贵 使用工具: ls命令     ls –l:以常格式显示文件及目录的详细信息     例如:-rw-r–r–  1 root root       0 10月 …

    Linux干货 2016-10-18
  • nginx

    nginx: master/worker master:配置文件分析和加载、管理worker、平滑升级; worker:处理用户请求; cache loader, cache manager:缓存加载和缓存管理 user Syntax: user user [group];        …

    Linux干货 2017-06-19
  • Kickstart+PXE自动部署

    Kickstart+PXE自动部署 无人值守安装简介 无人值守安装(Unattended Setup)指软件安装时无需任何用户干预,直接按默认或通过应答文件设置安装,这对于无特殊需求的用户或企业大批量部署安装操作系统及软件时非常方便。无人值守安装也称为静默安装,在安装过程中可以静默安装好预先设计集成的一些常用软件,安装结束以后软件就已经可以使用,很多软件都支…

    Linux干货 2016-09-17

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 14:54

    写的很好,排版还可以在漂亮一点,就不要截黑屏上来了,加油