N25第一周作业

第一周作业


一、计算机由硬件系统和软件系统两部分组成如下:

N25第一周作业

计算机硬件由CPU、内存、输入设备、输出设备组成。

1、中央处理器(CPU,Central Processing Unit)

  CPU的功能主要是对输入指令的判断和运算;CPU包括运算器、控制器和寄存器三部分;

(1)、运算器

  执行各种算术和逻辑运算操作,计算机运行时,运算器的操作和操作种类由控制器决定。运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。

(2)、控制器

  指挥计算机的各个部件按照指令的功能要求协调工作的部件

(3)、寄存器

  暂存指令、数据和地址

2、内存

作用:用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来;内存分为随机存储器(RAM)、只读存储器(ROM)、高速缓存存储器;

(1)、随机存储器(RAM):既可以从中读取数据,也可以写入数据。当机器电源关闭时,存于其中的数据就会丢失。

(2)、只读存储器(ROM):在制造ROM的时候,信息(数据或程序)就被存入并永久保存。这些信息只能读出,一般不能写入,即使机器停电,这些数据也不会丢失。ROM一般用于存放计算机的基本程序和数据。

(3)、高速缓存存储器:就是平常看到的一级缓存(L1 Cache)、二级缓存(L2 Cache)、三级缓存(L3 Cache)这些数据,它位于CPU与内存之间,是一个读写速度比内存更快的存储器。当CPU向内存中写入或读出数据时,这个数据也被存储进高速缓冲存储器中。当CPU再次需要这些数据时,CPU就从高速缓冲存储器读取数据,而不是访问较慢的内存,当然,如需要的数据在Cache中没有,CPU会再去读取内存中的数据。

3、输入设备

键盘,鼠标,摄像头,扫描仪,光笔,手写输入板,游戏杆,语音输入装置等都属于输入设备。是人或外部向计算机进行输入的一种装置,用于把原始数据和处理这些数据的程序输入到计算机中。

4、输出设备

用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。也是把各种计算结果数据或信息以数字、字符、图像、声音等形式表现出来。常见的输出设备有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。

计算机软件有系统软件和应用软件组成

1、系统软件

   指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。代表性的系统软件是操作系统;

2、应用软件

  为满足用户不同领域、不同问题的应用需求而提供的那部分软件。 它可以拓宽计算机系统的应用领域,放大硬件的功能。

二、Linux的发行版及它们之间的联系和区别

blob.png

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux的发行版有数百种之多;发行版=GUN(开源软件)+Linux(内核)

1、Debian

   Debian Project诞生于1993年8月13日,它的目标是提供一个稳定容错的Linux版本。Debian没有商业公司提供支持,而是由一批Linux爱好者进行升级改进。在Debian的基础上还有一些衍生版

(1)、Ubuntu

  Ubuntu是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和unity桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。

(2)、Linux Mint

   Linux Mint由Linux Mint Team团队于2006年开始发行,是一份基于Debian和Ubuntu的Linux发行版。其目标是提供一种更完整的即刻可用体验,这包括提供浏览器插件、多媒体编解码器、对DVD播放的支持、Java和其他组件,它也增加了一套定制桌面及各种菜单,一些独特的配置工具,以及一份基于web的软件包安装界面。Linux Mint是对用户友好而功能强大的操作系统。它诞生的目的是为家庭用户和企业提供一个免费的,易用的,舒适而优雅的桌面操作系统。

(3)、knopix

   KNOPPIX是以自由软体Linux的Debian套件为主干,不必安装,免用硬碟,直接在光碟上执行完整的Linux作业系统,它既可以用来当桌上工作站用,也可以用来当网路伺服主机。

2、Slackware 

  Slackware Linux是由Patrick Volkerding开发的GNU/Linux发行版。它坚持KISS(Keep It Simple Stupid)的原则。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。 Slackware 很多特性体现出了KISS原则,最为有名的一些例子就是不依赖图形界面的文本化系统配置、传统的服务管理方式和不解决依赖的包管理方式。它的最大特点就是安装灵活,目录结构严谨,版本力求稳定而非追新。Slackware的软件包都是通常的tgz(tar/gzip) 或者txz(xz) 格式文件再加上安装脚本。Tgz/Txz 对于有经验的用户来说,比RPM更为灵活,并避免了APT 之类管理器可能带来的的依赖地狱。其二次开发版主要有:

(1)、S.u.S.E

   SUSE Linux,针对个人用户。一个连接数据库的最佳Linux版本,基于2.4.10内核的SuSE 7.3,在原有版本的基础上提高了易用性。安装过程通过GUI完成,磁盘分区过程也非常简单,但它没有为用户提供更多的控制和选择。

(2)、SLES

  SUSE Linux Enterprise Server,由SUSE提供的企业级Linux操作系统。

(3)、OpenSUSE

   OpenSUSE是著名Novell公司旗下的 Linux的发行版,发行量在欧洲占第一位。它采用的KDE4.3作为默认桌面环境,同时也提供GNOME桌面版本。它的软件包管理系统采用自主开发的YaST,颇受好评。他的用户界面非常华丽,甚至超越windows7,而且性能良好。

3、RedHat

   Red Hat Linux是公共环境中表现上佳的服务器。它拥有自己的公司,能向用户提供一套完整的服务,这使得它特别适合在公共网络中使用。这个版本的Linux也使用最新的内核,还拥有大多数人都需要使用的主体软件包rpm。安装过程也十分简单明了。它的图形安装过程提供简易设置服务器的全部信息。磁盘分区过程可以自动完成,还可以选择GUI工具完成。主要使用范围是美洲和中国,RedHat 9.0之后分为Fedora Core和RHEL;

(1)、Fedora Core

   它是一套从Red Hat Linux发展出来的免费Linux系统。Fedora Core 的前身就是Red Hat Linux。Fedora是一个开放的、创新的、前瞻性的操作系统和平台,基于Linux。它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。Fedora 项目由 Fedora 基金会管理和控制,得到了 Red Hat, Inc. 的支持。Fedora 是一个独立的操作系统,是Linux的一个发行版,可运行的体系结构包括 x86(即i386-i686), x86_64 和 PowerPC。每六个月更新一次。

(2)、RHEL:RedHat Enterprise Linux

  Red Hat公司发布的面向企业用户的Linux操作系统。

(3)、CentOS

  CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。

三、Linux的哲学思想

1、一切皆文件:

  把几乎所有资源统统抽象为文件形式:包括硬件设备,甚至通信接口等;

  open(打开),read(读),write(写),close(关闭),delete(删除)create(创建)

2、由众多功能单一的程序组成:一个程序只做一件事,并且做好;

  启示:坚持做一件事,你才能做好。

  组合小程序完成复杂任务;

3、尽量避免跟用户交互;

  目标:易于以编程的方式实现自动化任务;

4、使用文本文件保存配置信息;

四、Linux系统命令的使用格式及常用命令简介

1、命令语法通用格式:

   COMMAND OPTIONS ARGUMENTS

   命令 选项 参数

COMMAND:命令

     发起一命令:请求内核将某个二进制程序运行为一个进程;

   程序 –> 进程

   静态 –> 动态(有生命周期)

     命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件;

     多数程序文件都存放在:/bin,/sbin,/usr/bin/,/usr/sbin, /usr/local/bin,/usr/local/sbin;

   普通命令:/bin,/usr/bin,/usr/local/bin;

   管理命令:/sbin,/usr/sbin,/usr/local/sbin;

     共享库:/lib,/lib64,/usr/lib,/usr/lib64,

   32bit的库:/lib,/usr/lib,/usr/local/lib;

   64bir的库:/lib64,/usr/lib64,/usr/local/lib64 (64可以兼容32的库)

      注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件

      命令必须遵循特定格式规范:exe,msi,ELF(Linux)

       ~}# file /bin/ls :查看文件内容的类型

   命令分为两类:

      由shell程序自带的命令:内置命令(builtin)

      独立的可执行程序文件,文件名即命令名,外部命令,可执行程序;

      shell程序是独特的程序,负责解析用户提供的命令:

    环境变量:

    PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件;

        ~]# echo $PATH

    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin(冒号分隔)

    查找次序:自左向右,以第一个为准;

    

OPTIONS:选项;指定命令的运行特性;

    选项有两种表现形式:

        短选项:-C,例如-l,-d;

            注意:有些命令的选项没有-;

            如果同一命令同时使用多个短选项,多数可以合并:-l -d = -ld

        长选项:–word,例如:–help,–human;

            注意:长选项不能合并;

        注意:有些选项可以带参数,此称为选项参数:

ARGUMENTS:参数

    命令的作用对象,表示命令对什么生效;

    注意:不同的命令的参数:有些命令可同时带多个参数,之间以空白符分隔;

    例如:ls -ld /var  /etc 

2、常用命令

ifconfig

ifconfig(interfaces config),通常需要以root身份登录或使用sudo执行,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。

(1).命令格式:

ifconfig [网络设备] [参数]

(2).命令功能:

ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

(3).命令参数:

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<长度> 为网卡设置传输列队的长度

(4).使用实例:

实例1:显示网络设备信息(激活状态的)

[root@localhost ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:20  

          inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0

          TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:596390239 (568.7 MiB)  TX bytes:2886956 (2.7 MiB)

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:68 errors:0 dropped:0 overruns:0 frame:0

          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:2856 (2.7 KiB)  TX bytes:2856 (2.7 KiB)

说明:

eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是 00:50:56:BF:26:20

inet addr 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.120.204,广播地址, Bcast:192.168.120.255,掩码地址Mask:255.255.255.0 

lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

第二行:网卡的IP地址、子网、掩码

第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节

第四、五行:接收、发送数据包情况统计

第七行:接收、发送数据字节数统计信息。

实例2:启动关闭指定网卡

命令:

ifconfig eth0 up

ifconfig eth0 down

说明:

ifconfig eth0 up 为启动网卡eth0 ;ifconfig eth0 down 为关闭网卡eth0。ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

实例3:配置IP地址

[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255

说明:

/给eth0网卡配置IP地址:192.168.120.56,加上子掩码:255.255.255.0,加上个广播地址: 192.168.120.255

 

实例4:启用和关闭ARP协议

[root@localhost ~]# ifconfig eth0 arp 

[root@localhost ~]# ifconfig eth0 -arp

说明:

ifconfig eth0 arp 开启网卡eth0 的arp协议;

ifconfig eth0 -arp 关闭网卡eth0 的arp协议;

 

实例5:设置最大传输单元

[root@localhost ~]# ifconfig eth0 mtu 1480

[root@localhost ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:1F  

          inet addr:192.168.120.203  Bcast:192.168.120.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1480  Metric:1

          RX packets:8712395 errors:0 dropped:0 overruns:0 frame:0

          TX packets:36631 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:597062089 (569.4 MiB)  TX bytes:2643973 (2.5 MiB)

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:9973 errors:0 dropped:0 overruns:0 frame:0

          TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:518096 (505.9 KiB)  TX bytes:518096 (505.9 KiB)

[root@localhost ~]# ifconfig eth0 mtu 1500

[root@localhost ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:1F  

          inet addr:192.168.120.203  Bcast:192.168.120.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:8712548 errors:0 dropped:0 overruns:0 frame:0

          TX packets:36685 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:597072333 (569.4 MiB)  TX bytes:2650581 (2.5 MiB)

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:9973 errors:0 dropped:0 overruns:0 frame:0

          TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:518096 (505.9 KiB)  TX bytes:518096 (505.9 KiB)

说明:

设置能通过的最大数据包大小为 1500 bytes

备注:用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

echo:回显

语法

  echo [SHORT-OPTION]… [STRING]…

选项:

  -n:不进行换行操作;

  -e:让转义符生效,\字符开头的是转义符;

    \n:换行;

\t:横向制表符

\v:纵向制表符;

\b:退格键;

参数:

  STRINBG可以使用引号,单引号和双引号;

单引号:强引用,变量引用不执行替换;

  ~]# echo '$SHELL'

双引号:弱引用,变量引用会被替换;

  ~]# echo "$SHELL"

注意:变量引用的正规符号

      ${name}

例:

[root@iZ25hfz3698Z ~]# echo "hello mage"

hello mage

[root@iZ25hfz3698Z ~]# echo -e "hello \nmage"

hello 

mage

[root@iZ25hfz3698Z ~]# echo  "$SHELL"        

/bin/bash

[root@iZ25hfz3698Z ~]# echo  '$SHELL'        

$SHELL

用echo命令打印带有色彩的文字:

文字色: 

echo -e "\e[1;31mThis is red text\e[0m" ##e[1;31m 将颜色设置为红色;;##e[0m 将颜色重新置回 

This is red text 

颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37 

背景色: 

echo -e "\e[1;42mGreed Background\e[0m" Greed Background 

颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47 

文字闪动: 

echo -e "\033[37;31;5mMySQL Server Stop…\033[39;49;0m" 

红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐

tty

用于显示终端机连接标准输入设备的文件名称。

在Linux操作系统中,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放于/dev目录下。你可以执行tty(teletypewriter)指令查询目前使用的终端机的文件名称。

语法

 tty [-s][–help][–version]

参数说明:

 -s或–silent或–quiet 不显示任何信息,只回传状态代码。

 –help 在线帮助。

 –version 显示版本信息。

实例

显示当前终端

~]# tty

/dev/pts/4

startx

用来启动X Window,其实startx命令启动的是xinit,然后再由xinit来启动X Window

语法:startx [程序][–服务器设置]

  补充说明:startx为启动X Window的script文件,实际上启动X Window的程序为xinit。

参数:

  [程序] 此处所指定的[程序]为X Window所要执行程序的配置文件。

  [–服务器设置] startx预设会去读取.xerverrc中的配置,决定启动X Window的方式。

export

Linux export命令用于设置或显示环境变量。

在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登陆操作。

语法

export [-fnp][变量名称]=[变量设置值]

参数说明:

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

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

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

实例

列出当前所有的环境变量

# export -p //列出当前的环境变量值

declare -x HOME=“/root“

declare -x LANG=“zh_CN.UTF-8“

declare -x LANGUAGE=“zh_CN:zh“

declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“

declare -x LESSOPEN=“| /usr/bin/lesspipe %s“

declare -x LOGNAME=“root“

declare -x LS_COLORS=““

declare -x MAIL=“/var/mail/root“

declare -x OLDPWD

declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“

declare -x PWD=“/root“

declare -x SHELL=“/bin/bash“

declare -x SHLVL=“1“

declare -x SPEECHD_PORT=“6560“

declare -x SSH_CLIENT=“192.168.1.65 1674 22“

declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“

declare -x SSH_TTY=“/dev/pts/2“

declare -x TERM=“XTERM“

declare -x USER=“root“

declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“

定义环境变量

# export MYENV //定义环境变量

# export -p //列出当前的环境变量

declare -x HOME=“/root“

declare -x LANG=“zh_CN.UTF-8“

declare -x LANGUAGE=“zh_CN:zh“

declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“

declare -x LESSOPEN=“| /usr/bin/lesspipe %s“

declare -x LOGNAME=“root“

declare -x LS_COLORS=““

declare -x MAIL=“/var/mail/root“

declare -x MYENV

declare -x OLDPWD

declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“

declare -x PWD=“/root“

declare -x SHELL=“/bin/bash“

declare -x SHLVL=“1“

declare -x SPEECHD_PORT=“6560“

declare -x SSH_CLIENT=“192.168.1.65 1674 22“

declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“

declare -x SSH_TTY=“/dev/pts/2“

declare -x TERM=“XTERM“

declare -x USER=“root“

declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“

定义环境变量赋值

# export MYENV=7 //定义环境变量并赋值

# export -p

declare -x HOME=“/root“

declare -x LANG=“zh_CN.UTF-8“

declare -x LANGUAGE=“zh_CN:zh“

declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“

declare -x LESSOPEN=“| /usr/bin/lesspipe %s“

declare -x LOGNAME=“root“

declare -x LS_COLORS=““

declare -x MAIL=“/var/mail/root“

declare -x MYENV=“7“

declare -x OLDPWD

declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“

declare -x PWD=“/root“

declare -x SHELL=“/bin/bash“

declare -x SHLVL=“1“

declare -x SPEECHD_PORT=“6560“

declare -x SSH_CLIENT=“192.168.1.65 1674 22“

declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“

declare -x SSH_TTY=“/dev/pts/2“

declare -x TERM=“XTERM“

declare -x USER=“root“

declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“

pwd

显示当前所在目录的绝对路径

 语法

pwd [–help][–version]

参数说明:

–help 在线帮助。

–version 显示版本信息。

例:

[root@CMCC120 /usr/local/NC-CR/data/9]

pwd

/usr/local/NC-CR/data/9

history

history命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。 

该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。 

历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制。 

语法 

history(选项)(参数) 

选项 

-c:清空当前历史命令; 

-a:将历史命令缓冲区中命令写入历史命令文件中; 

-r:将历史命令文件中的命令读入当前历史命令缓冲区; 

-w:将当前历史命令缓冲区命令写入历史命令文件中。 

参数 

n:打印最近的n条历史命令。 

实例 

使用history命令显示最近使用的10条历史命令,输入如下命令: 

[root@CMCC120 /usr/local/NC-CR/data/9]

history 10

  999  2016-12-05 16:41:19 root ll -rt /inputs/dpi_log/|head

 1000  2016-12-05 16:41:36 root logout

 1001  2016-12-05 18:10:26 root cd .ssh/

 1002  2016-12-05 18:10:27 root ll

 1003  2016-12-05 18:10:34 root cat id_rsa.pub

 1004  2016-12-05 18:21:00 root cd /usr/local/NC-CR/data/9/

 1005  2016-12-05 18:21:05 root du -shc *

 1006  2016-12-05 18:26:14 root tty

 1007  2016-12-05 18:44:09 root pwd

 1008  2016-12-05 18:48:33 root history 10


shutdown

关机命令

语法:

shutdown [OPTION…]  [TIME] [WALL…]

 选项      时间   

shutdown -r +10 "hello everyone"

选项OPTIONS:

-h:halt,关机

-r:reboot:重启

-c:cancel,取消

时间TIME:

now:立刻

hh:mm:指定时间,时分

+m :几分钟后

+0

WALL:

所有人的终端都发送一个信息;可以广播聊天;

poweroff

用来关闭计算机操作系统并且切断系统电源。

语法

  poweroff (选项)

选项:

-n:关闭操作系统时不执行sync操作; 

-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中; 

-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录; 

-f:强制关闭操作系统; 

-i:关闭操作系统之前关闭所有的网络接口; 

-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。

例如:[root@zf ~]# poweroff -f  #强制关机

reboot

reboot命令用来重新启动正在运行的Linux操作系统。

语法:

reboot (选项)

选项:

-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果; 

-f:强制重新开机,不调用shutdown指令的功能; 

-i:在重开机之前,先关闭所有网络界面; 

-n:重开机之前不检查是否有未结束的程序; 

-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。 

实例 

reboot //重开机。 

reboot -w //做个重开机的模拟(只有纪录并不会真的重开机)。

hwclock

hwclock = clock

显示或设定硬件时钟;主板上的纽扣电池;

选项:

-s,–hctosys:以硬件为准,把系统时间设置为硬件时间;

-w,–systohc:以系统为准,把硬件时钟调整为系统时钟;

例:

[root@CMCC101 ~/shell]

hwclock

2016年12月05日 星期一 19时05分57秒  -0.244289 seconds

date

显示日期时间;

语法:

dateb [OPTION]… [+FORMAT]

FORMAT:格式符

%Y:年

%m:月

%d:日

%H:时

%M:分

%S:秒

%s:时间戳,自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数;(Unix元年)

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00秒)

%F:%Y-%m-%d,显示年月日;

%T:%H:%M:%S,显示时分秒;

date +"%F %T"

2016-12-04 17:18:37

date +%c:显示详细信息;

Sun 04 Dec 2016 05:20:03 PM CST

2016年12月04日 星期日 17时20分50秒

设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]

       月日时分  年   .秒

-s:设置时间

date  -s   "2016-11-27  00:50:00" 修改到指定时间

例:

[root@CMCC101 ~/shell]

date

2016年 12月 05日 星期一 19:10:26 CST

五、Linux获取命令的使用帮助

内部命令:

   help COMMAND

外部命令:

   1、命令自带简要格式的使用帮助

      ~]# COMMAND –help 

   2、使用手册:manual,man

 位置:/usr/share/man

 ~]# man COMMAND 

  SECTION:

NAME:功能性说明

SYNOPSIS:语法格式

DESCRIPTION:描述

OPTIONS:选项

EXAMPLES:使用示例

AUTHOR :作者

BUGS:报告程序bug的方式

SEE ALSO:参考

   SYNOPSIS:

[]:可选内容;

<>: 必须提供的内容;

a|b|c:多选一;

…:同类内容可出现多个;

{}:对a|b|c与其他的分隔;

man命令打开手册以后的操作方法:

翻屏:

空格键:向下翻一屏;

b:向上翻一屏;

Ctrl+d :向下翻半屏;

Ctrl+u :向上翻半屏;

回车键:向下一行;

K:向上翻一行;

G:跳到最后一行;

#G:跳到指定行,例:1G:跳到第一行;

文件搜索:用"/"或“?”

/keyword:不区分大小写,从文件首部向文件尾部依次查找;

    ?keyword:不区分大小写,从文件尾部向文件首部依次查找;

n:与查找命令方向相同;

    N:与查找命令方向相反;

退出:

q:quit;

选项:

    -M /PATH/TO?SOMEDIR:到指定目录下查找命令手册并打开之;

man章节的划分

/usr/share/man 

   man1,man2,…

   1:用户命令说明:

    2:系统调用;

   3:C库调用;

    4:设备文件及特殊文件;

    5:文件格式:(配置文件格式)

    6:游戏使用帮组;

    7:杂项;

    8:管理工具及守护进程;

~}# man CHAPTER COMMAND

    man  章节  命令

    注意:并非每个COMMAND在所有章节下都有手册:

    查看命令在哪个章节有手册,用whatis:

~]# whatis COMMAND

其执行过程是查询数据库进行的;

手动更新数据库:

~]# makewhatis

六、Linux发行版的目录命令规则

QQ图片20161205133120.png

/:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。

/bin:bin 就是二进制(binary),可执行文件。一般用户命令在/bin;/usr/bin;/usr/local/bin;

/boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。

/cdrom:这个目录在刚刚安装系统的时候是空的。可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom

/dev:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

/etc:在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。

/home:如果建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。

/lib:lib是库(library)。这个目录是存放系统动态连接共享库的,直接调用的工具。库文件一般放在/lib;/usr/lib;/usr/local/lib;

/lost+found:在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

/mnt:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。可以参看/etc/fstab的定义。

/media:挂载点目录;移动设备。

/opt:可选目录;第三方软件安装位置。

/proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。

/root:Linux超级权限用户root的家目录。

/sbin:这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的,凡是目录sbin中包含的都是root权限才能执行的。

/selinux :对SElinux的一些配置文件目录,SElinux可以让linux更加安全。

/srv :服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中;

/sys:伪文件系统,跟硬件设备相关的属性映射文件

/tmp:临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

/usr:这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具

/usr/local:这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面、。

/usr/share :系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。

/var :可变化的文件;例:系统默认日志存放目录,可以理解为vary的缩写。

/var/cache/:应用程序本身运作过程中会产生的一些暂存档;

/var/lib/:  程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。举例来说,MySQL 的数据库放置到/var/lib/mysql/而 rpm 的数据库则放到/var/lib/rpm        去!

/var/lock/ :某些装置或者是档案资源一次只能被一个应用程序所使用,如果同时有两个程序使 用该装置时,就可能产生一些错误的状况,因此就得要将该装置上锁(lock),以确保该装置只会给单一软件所使用。

/var/log/  :这是用来存放系统日志的目录!里面比较重要的档案如 /var/log/messages, /var/log/wtmp(记录登入者的信息)等。

/var/mail/ :放置个人电子邮件信箱的目录,不过这个目录也被放置到/var/spool/mail/目录中! 通常这两个目录是互为链接文件啦!

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

(0)
moermoer
上一篇 2016-12-05
下一篇 2016-12-05

相关推荐

  • 学习宣言

    好好学习,天天向上。

    Linux干货 2016-10-24
  • 软件包管理和磁盘管理

    软件运行和编译 ABI :Application Binary Interface 应用程序二进制接口     Windows和Linux不兼容      PE格式   ELF格式 库级别的虚拟化:       Linu…

    2017-04-24
  • 马哥教育网络班20期第2周课程练习

    答: 1、 cp,mv,rm,cat(tac,more,less,tail),touch 其中常用的有: cp(复制):                   -i:交互式              -…

    Linux干货 2016-06-23
  • 第五周练习

    1、显示当前系统上root、fedora或user1用户的默认shell 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一小组括号的行,刑如:hello() 3、使用echo命令输出一个绝对路径,使用grep取出基名 4、找出ifconfig命令结果中的1-255之间的数字 5、查找/var目录下属主为root,且属组为mai…

    2017-10-29
  • 8.12作业

    作业: 1、查找/var目录下属主为root,且属组为mail的所有文件   find /var  -user root  -group  mail -ls 2、查找/var目录下不属于root、lp、gdm的所有文件   find /var -not \( -user root  -o -user…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-09 20:43

    其实上面的图可以自己画的,总结的很好,有例子有说明,加油