N25_第一周

计算机组成

计算机通常由硬件和软件组成
1.硬件

  • CPU 
    CPU通常由控制器和运算器组成。
    控制器:是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。
    运算器:是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。

  • 存储 
    存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息

  • 输入
    输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标等

  • 输出
    输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示器、打印机等。

2.软件
软件通常分为系统软件、应用软件

  • 系统软件
    系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。

  • 应用软件
    应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。

Linux基础介绍(一)

Linux发行版

Linux发行版本有数百种,其中主流的有以下几款:

  • Redhat系列 
    Red Hat Enterprise Linux:是红帽公司的Linux发行版,面向商业市场
    CentOS:免费版的Red Hat Enterprise Linux; 
    Fedora 是一款由全球社区爱好者构建的面向日常应用的快速、稳定、强大的操作系统

  • Debian系列 
    Ubuntu:基于Debian的免费版Linux系统; 
    Linux Mint:基于Ubuntu的Linux Mint,面向用户且对用户友好而功能强大的操作系统;

  • Slackware系列 
    SUSE Linux、 openSUSE等

Linux哲学思想

  • 一切皆文件,是Linux重要哲学思想之一;包括硬件设备,通信接口通信管道等;

  • 组合小程序,完成大任务;功能单一的小程序,进行有效的组合,获得最大的功能;

  • 尽量避免用户的干扰,实现自动化任务;

  • 文本保存配置信息,非易失。

Linux目录

/bin:所有用户可用的基本命令程序文件;
/sbin:供系统管理使用的工具程序;
/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;
/dev:存储特殊文件或设备文件;

设备有两种类型:字符设备(线性设备)、块设备(随机设备);

/etc:系统程序的配置文件,只能为静态;
/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;
/root:管理员的家目录;
/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块;

libc.so.*:动态链接的C库;
ld*:运行时链接器/加载器;
modules:用于存储内核模块的目录;

/lib64:64位系统特有的存放64位共享库的路径; 
/media:便携式设备挂载点,cdrom, floppy等;
/mnt:其它文件系统的临时挂载点;
/opt:附加应用程序的安装位置;可选路径;
/srv:当前主机为服务提供的数据;
/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;
/usr:usr Hierarchy,全局共享的只读数据路径;

bin, sbin
lib, lib64
include:C程序头文件;
share:命令手册页和自带文档等架构特有的文件的存储位置
local:另一个层级目录;
X11R6:X-Window程序的安装位置
src:程序源码文件的存储位置

/usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;
/var:/var Hierarchy,存储常发生变化的数据的目录;

cache   Application cache data
lib     Variable state information
local   Variable data for /usr/local
lock    Lock files
log     Log files and directories
opt     Variable data for /opt
run     Data relevant to running processes
spool   Application spool data
tmp     Temporary files preserved between system reboots

/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数。

例如net.ipv4.ipforward, 虚拟为net/ipv4/ipforward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;

/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;

Linux命令格式

Linux命令的语法通用格式:[]# 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, /usr/local/lib, /usr/local/lib64 32bits的库:/lib, /usr/lib, /usr/local/lib 64bits的库:/lib64, /usr/lib64, /usr/local/lib64 注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件

    命令分为两类: 由shell程序的自带的命令:内置命令(builtin) 独立的可执行程序文件,文件名即命令名:外部命令

    查看命令类型: type COMMAND

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

    选项有两种表现形式:
    短选项:-C, 例如-l, -d
    注意:有些命令的选项没有-;
    如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld
    长选项:–word, 例如–help, –human-readable
    注意:长选项不能合并;

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

  • ARGUMENTS: 命令的作用对象;命令对什么生效;

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

Linux基础命令(一)

  • ifconfig:查看设备的网卡信息

    [root@server1 ~]# ifconfig  
    eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500          
             inet 192.168.2.106  netmask 255.255.255.0  broadcast 192.168.2.255
             inet6 fe80::20c:29ff:fee5:3b6d  prefixlen 64  scopeid 0x20<link>
             ether 00:0c:29:e5:3b:6d  txqueuelen 1000  (Ethernet)
             RX packets 0  bytes 0 (0.0 B)
             RX errors 0  dropped 0  overruns 0  frame 0
             TX packets 891  bytes 55795 (54.4 KiB)
             TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • echo:回显,将输入内容标准输出 
    -n: 不进行换行;
    -e:让转义符生效:

    • \n:换行

    • \t:制表符

    • \r:回车

      例:  
      [root@server1 ~]# name=4  
      [root@server1 ~]# echo $name  
      4        
      [root@server1 ~]# echo '$name'  
      $name  
      [root@server1 ~]# echo "$name"
      4  
      [root@server1 ~]# echo -e "$name\n$name"  
      4  
      4  
      [root@server1 ~]#

注:符号''为强引用,变量不转换;符号""是弱引用,变量转换

  • tty:查看当前终端使用的类型

    终端类型: 
    /dev/console:物理终端 
    /dev/tty#:虚拟终端,#取值为[1,6]
    /dev/pts/#:伪终端
    /dev/ttyS#:串行终端

    例:  
    [root@server1 ~]# tty   
    /dev/pts/0  
    [root@server1 ~]#
  • startx 进入图形界面

  • export 显示已有变量及设置变量

    [root@server1 ~]# export name=3  
    [root@server1 ~]# echo $name  
    3   
    [root@server1 ~]#
  • pwd 展示当前所在的目录

    [root@server1 network-scripts]# pwd  
    /etc/sysconfig/network-scripts  
    [root@server1 network-scripts]#
  • history 查看历史输入的命令
    -c: 清空命令历史; 
    -d offset:删除指定命令历史
    -r: 从文件读取命令历史至历史列表中;
    -w:把历史列表中的命令追加至历史文件中;
    history #:显示最近的#条命令;

  • shutdown 
    shutdown -H 关机,等同于halt
    shutdown -P 关机,等同于poweroff
    shutdown -r 重启,等同于reboot

  • poweroff 机关

  • reboot 重启

  • hwclock 硬件时钟 
    -s, –hctosys:以硬件为准,把系统调整为与硬件时间相同
    -w, –systohc:以系统为准,把硬件时间调整为与系统时钟相同;

  • date 系统时钟 
    设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]

Linux帮助信息

1.内部命令
help COMMAND

2.外部命令:
(1) 命令自带简要格式的使用帮助 # COMMAND –help

例:    
[root@server1 ~]# mkdir --help  
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.

Mandatory arguments to long options are mandatory for short options too.
  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask
  -p, --parents     no error if existing, make parent directories as needed
  -v, --verbose     print a message for each created directory
  -Z                   set SELinux security context of each created directory
                     to the default type
  --context[=CTX]  like -Z, or if CTX is specified then set the SELinux
                     or SMACK security context to CTX
  --help     display this help and exit
  --version  output version information and exit

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'mkdir invocation'

(2) 使用手册:manual
# man COMMAND

man命令的参数说明:

SECTION:
  NAME:功能性说明
  SYNOPSIS:语法格式
  DESCRIPTION:描述
  OPTIONS:选项
  EXAMPLES:使用示例
  AUTHOR: 作者
  BUGS: 报告程序bug的方式
  SEE ALSO: 参考
  ...

SYNOPSIS: 
  []:可选内容;
  <>:必须提供的内容;
  a|b|c:多选一;
  ...:同类内容可出现多个;

manual有章节之分:man1, man2, …(目录为/usr/share/man),不同章节的意义如下:

 1:用户命令;
 2:系统调用;
 3:C库调用;
 4:设备文件及特殊文件;
 5:文件格式;(配置文件格式)
 6:游戏使用帮助;
 7:杂项;
 8:管理工具及守护进行;

 查看命令对应的章节:~]# whatis COMMAND

注:不是每个命令都有命令手册

man命令操作方法:

翻屏:
    空格键:向文件尾翻一屏;
    b: 向文件首部翻一屏;
    Ctrl+d:向文件尾部翻半屏;
    Ctrl+u:向文件首部翻半屏;
    回车键:向文件尾部翻一行;
    k: 向文件首部翻一行;
    G:跳转至最后一行;
    #G: 跳转至指定行;
    1G:跳转至文件首部;

文本搜索:
    /keyword:从文件首部向文件尾部依次查找;不区分字符大小写;
    ?keyword:从文件尾部向文件首部依次查找;    
    n: 与查找命令方向相同;
    N: 与查找命令方向相反;

退出:
    q: quit

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

(3) info COMMAND 获取命令的在线文档;

(4) 很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION

部分参数说明:
  README:程序的相关的信息;
  INSTALL: 安装帮助;
  CHANGES:版本迭代时的改动信息;

(5) 主流发行版官方文档: http://www.redhat.com/doc

(6) 程序官方的文档: 官方站点上的“Document”

(7) 搜索引擎 google

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

(0)
上一篇 2016-12-03 19:47
下一篇 2016-12-03 21:55

相关推荐

  • vim编辑以及脚本编程练习

    vim编辑器的使用总结: vim在工作过程当中有三种模式:编辑模式、输入模式、末行模式。 1、编辑模式:即命令模式,键盘操作常被理解为编辑命令; 2、输入模式:在文本文件当中进行输入内容; 3、末行模式:vim内置的命令行接口,执行vim的内置命令。   vim的使用 打开文件 #vim[option]…[FILE] +#:打开文件后,直接让光标处…

    Linux干货 2017-10-29
  • Redis应用场景

    1.  MySql+Memcached架构的问题   实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:   1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据…

    Linux干货 2016-03-22
  • 马哥Linux第二周学习笔记

    文件管理,用户管理,权限管理

    Linux干货 2017-12-23
  • Linux文件属性及如何修改文件属性

    ls -al:显示文件的文件名与相关属性并列出所有文件详细的权限与属性   dr-xr-x—.   7       root     root       4…

    2017-04-03
  • 文件查找工具之——find

        前言:Linux一切皆文件,在linux的系统中如果我们需要找到所需的文件,除了一步一步慢慢找,还有一种办法就是要使用Linux中查找文件工具命令,能让我们很快定位到我们所需的文件。所以我们必须要学好文件查找工具 一、首先我们先要了解文本搜索和文件查找的区别     文本…

    Linux干货 2015-07-06
  • N24_阿龙弟弟 学习计划/目标/宣言

    嗨,大家好,这是我的第一篇文章。很高兴来到马帮门徒这个大家庭。 学习计划:没有自己的计划,跟着马哥课程的进度来吧,以周为单位,确保每周任务完成; 学习目标:掌握应有的运维能力,做一名合格的Linux运维工程师,提升自我价值,过更好的生活; 学习宣言:Be a better man(Not Only Linux)!

    Linux干货 2016-10-25

评论列表(1条)

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

    总结的很好,有例子有说明,加油 , 最后一条请牢记!