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

相关推荐

  • Linux文件系统权限详解

    一、综述 在用户和组的管理中介绍了Linux系统是用户多任务的分时操作系统,这意味着同时可以有多人在同一台pc上进行不同的操作。为了能够保护每个用户的数据安全,针对不同的用户设置相应的权限是非常重要的。 Linux文件系统权限主要针对三类用户: 文件的所有者: owner,用u标识 文件的所有组:group,用g标识 其他人: other,用o标识。不包含在…

    Linux干货 2016-08-04
  • mysql or条件可以使用索引而避免全表

    在某些情况下,or条件可以避免全表扫描的。 1 .where 语句里面如果带有or条件, myisam表能用到索引, innodb不行。 1)myisam表:  CREATE TABLE IF NOT EXISTS `a` (   `id` int(1)&nb…

    Linux干货 2015-04-13
  • 标准I/O和管道

    程序包含指令和数据,经常需要读入数据和输出数据 打开的文件都有一个fd:file descriptor(文件描述符) 用nano打开一个文件,查看其PID  0,1,2就是所谓的文件描述符。 在Linux里输入输出和错误都由这三个描述符来表示 标准输入(STDIN) -0 默认接受来自键盘的输入 标准输出(STDOUT)-1 默认输出到终端窗口 标…

    Linux干货 2016-08-08
  • 方便实用的文件查找与压缩

    在平时的运维工作当中通常会编辑某些文件,但时间久了,突然一下子记不起文件的名字,遇到的事情又很紧急,需要立马去处理,而自己只知道那个文件部分的特征信息,我们需要在系统中去搜索自己想要的文件,那么有没有办法去实现呢,当然有,在我们的系统中,文件查找的工具有两个,locate和find。那么下面来介绍这两个工具的用法以及两个工具之间的差别。 在我们linux系统…

    Linux干货 2016-08-13
  • grep与正则表达式

    一、grep        grep常用于文本搜索。通过自定义的模式(pattern),筛选出使用者需要的文本内容。除了有grep,还有egrep和fgrep。其中egrep = grep  –E,而fgrep则是不支持正则表达式。     &nbs…

    2017-07-29
  • 用户管理命令之NBA版

    用户管理命令之NBA版 本文纯属扯淡,如有不严谨之处,还请海涵。 1 groupadd 作用:创建一个属组 格式:groupadd [选项] 属组名 选项: -:选项为空 创建新属组 -g:指定组GID,默认是GID+1 实例 1.1 添加属组team,指定组ID为1111      groupadd -g …

    Linux干货 2017-03-27

评论列表(1条)

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

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