设为首页 收藏本站
查看: 1605|回复: 0

[经验分享] LINUX的初探

[复制链接]

尚未签到

发表于 2019-2-18 09:13:11 | 显示全部楼层 |阅读模式
计算机的组成
冯诺依曼体系
  一般而言,计算机的组成遵循着“冯诺依曼体系结构”。这种结构的体现实质上是一种存储程序的原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式来存储。这种结构的要点是:计算机的数制采用二进制;计算机应该按照程序顺序执行。
“冯诺依曼体系”可以知道,计算机是由几个独立的单元所组成的,包括控制器,运算器,存储器,输入设备,输出设备五大单元所组成。
DSC0000.jpg

各部分组成的功能
  从宏观角度来讲,计算机又分为两个部分组成,分别是硬件软件。硬件的组成对应着“冯诺依曼体系结构”的五大单元。软件则是由包括汇编语言,系统软件和应用软件。一台正真意义上的标准计算机必须是带有软件和硬件的。
硬件:

  •   控制器:所对应的硬件为CPU,CPU被称为计算机的中央处理器,它是计算机的核心组成部分。控制器是它的重要组成部分之一。控制器是计算机的指挥系统,它通过地址访问存储器,从存储器中取出指令,经编码器分析后,更具指令分析结果产生相应的操作控制信号作用于其他部件,使得个部件在控制器下有条不紊地协调工作。
  •   运算器:所对应的硬件也为CPU,它也是CPU重要的组成部分之一。控制器用来实现算数运算和逻辑运算的部件。
  • 存储器:存储器是计算机中用来存放所有数据和程序的记忆部件,它的基本功能是按指定的地址存(写)入或者取(读)出信息。计算机中的存储器可分成两大类:一类是内存储器,简称为内存;另一类是外存储器,简称外存。存储器由若干个存储单元所组成,每个存储单元都有一个地址,CPU通过地址对存储单元进行读写。****存储器对应着电脑上的内存条和硬盘。内存储器就是内存,外存储器就是硬盘。一个存储器所包含的字节数即为存储容量,单位为B,KB,MB,GB,TB等。
  软件:
  软件是指一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件,应用软件和介于两者之间的中间件。


  •   汇编语言:一种用于CPU的低级语言。它使用助记符代替二进制语言,方便人们的阅读及操作。一种汇编语言只能与相应的计算机系统结构对应,无法在不同平台移植。
  •   系统软件:用来运行或控制硬件所开发的计算机软件,如操作系统,编译器,数据库等。
  • 应用软件:为了某种特定用途而被开发的软件。它可以是一个特定的程序,也可以是一个由众多独立程序组成的庞大软件系统。LINUX的发行版
什么是LINUX
  Linux是一套免费使用和自由传播的Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
该操作系统的内核由Linux Torvalds于1991年10月5日首次发布。
LINUX的著名发行版
  按照程序包管理器的不同,Linux被分成了许多不同的派系。
  Linux的主流发行版有一下几种:
  1.Debian
  分支: Ubuntu,knopix
  2.Slackware
  分支:S.u.S.E, SLES, OpenSUSE
  3.RedHat
  分支:RedHat   Enterprise  Linux,    Centos, 
Fedora  Core.

  4.其他版本
  Gentoo, ArchLinux.
DSC0001.jpg

LINUX发行版之间的不同
  Linux各发行版之间最大的不同之处在于软件包管理器的不同,不同的系统,软件包管理系统也不相同。常见的软件包管理系统有:


  • dpkg: 一般常用在Debian系列.
  • rpm: 一般常用于RedHat系列,S.u.S.E也可使用.
  常见的前端工具:

  • apt-get:用于Debian系列;
  • yum:用于RHEL和CentOS;
  • dnf:用于Fedora;
  • ZYpper:用于S.u.S.E和opensuse;
  • urpmi:用于Mandriva Linux和Mageia;LINUX的哲学思想
    1. 一切皆文件;
      此思想是UNIX/LINUX的基本哲学之一。不仅普通文件,目录,字符设备,快设备等在UNIX/LINUX中都以文件被对待;它们虽然类型有所不同,但是对其提供的只是同一套操作界面。
    物理终端:/dev/console
    虚拟终端:/dev/tty# [1, 6]
    串行终端:/dev/ttyS#
    伪终端:/dev/pts/#
    ......

2. 小型,单一用途的程序;
  程序和可执行文件不能太复杂,这样能够保证Linux内核的高效运行。通常可以使用管道命令‘|’来完成多命令组合的单一操作。
3. 连接程序,共同完成复杂功能;
  复杂的任务可以通过连接多个简单的程序实现复杂的功能。对于复杂的功能linux通过许多简单程序的组合等方式实现,在保证简单功能的高效性的同时,复杂的程序也必然是高效性的。
4. 避免了令人困惑的用户界面;
  在使用windows的过程中,常常会出现一些致命的提示错误或误操作导致系统无形的崩掉,如果解决不了,就要重装系统,这样的操作大大的给用户带来了麻烦。Windows作为一个闭源系统,一旦出现复杂性的问题,一般的人是根本没有办法解决的。对于Linux这样的开源系统,无论什么问题都可以通过简洁的命令行来实现排错,修改系统的配置文件,一切都是简洁明了地实行操作.
5. 配置数据库存储在文本中;
  Linux所有的配置信息都存放在文本配置文件中,无论什么配置只需要修改其配置文件即可。
6.  尽量避免与用户交互;
  容易以编程的方式实现自动化任务,可大大的缩短运维的时间,实现高效率架构运作。
Linux系统上命令的使用格式和几种常用命令的使用方法
命令机制


  • 命令的语法通用格式:command [options] [arguments]
  • 命令的使用原理:发起命令实则为请求内核将某个二进制程序运行为一个进程;
  • 命令本身就是一个可执行的程序文件:命令文件为二进制格式的文件,有可能会调用共享库库文件;
命令的存放路径:

  •   普通命令:/bin,  /usr/bin,  /usr/local/bin
  • 管理命令:/sbin, /usr/sbin, /usr/local/bin
共享库存放路径:

  •   32bits库:/lib,  /usr/lib,  /usr/local/lib
  • 64bits库:/lib64,/usr/lib64,/usr/local/lib64
  注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件!

  • 命令必须遵循特定的格式规范:exe, msi, ELF(Linux)
  • 可通过file命令来查询  实例:~]#  file /bin/ls
命令的两大类:
  Shell程序自带的命令:内置命令
  独立的可执行程序文件,文件名即命令名:外部命令
  Shell程序是独特的程序,负责解析用户所提供的命令,它被称为命令解析器。查看命令的类型命令:type  'COMMAND'
选项(OPTIONS):
  选项用来指定命令的运行特性;
  选项的两种表现形式:

  •   短选项:-C,  举例:-l, -d
      注意:有些命令的选项没有“-”;如果命令同时使用多个短选项,多数可合并,例如:-l  -d = -ld

  • 长选项:--word, 举例:--help,  --human-readable
  注意:长选项不能合并;
参数(ARGUMENTS):
  参数用来指定命令的作用对象.
  注意:有些命令可同时带多个参数,多个之间以空白字符分隔;
举例:ls  -ld  /var/log     /etc/
常用命令
ifconfig
  ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。
  语法:ifconfig [Options] [interface]
  常用方法:

  •   ifconfig:查看当前系统中存在的网络接口设备信息
    DSC0002.jpg
  •   ifconfig [name]:查看指定的网络接口设备信息
    DSC0003.jpg
  •   ifconfig -a:查看所有网络接口信息。(包括非运行状态下的网卡)
  •   ifconfig [name] up:启动指定网卡设备工作。
  •   ifconfig [name] down:关闭指定网卡设备工作。
  •   ifconfig [name] add “IPV6 ip address”:添加指定网卡的ipv6地址。
  •   ifconfig [name] del “IPV6 ip address”:删除指定网卡的ipv6地址。
  •   ifconfig [name] hw ether “MAC address”:修改指定网卡的mac地址。
  •   ifconfig [name] “ip address”:设置指定网卡的ip地址。
  •   ifconfig [name] “ip address” netmask “netmask”:设置指定网卡的IP和子网掩码。
  •   ifconfig [name] “ip address”netmask “netmask”broadcast “ip address”:设置指定网卡的IP和子网掩码,广播地址。
  • iconfig [name] mtu [num]:设置指定网卡的最大传输单元。
  注意:使用此命令若需要永久生效,则需要通过修改配置文件,配置文件路径为:
/etc/sysconfig/network-scripts/
echo
  echo用来将字符串输出到终端上。它通常在Shell脚本中使用,以便将状态信息输出到屏幕或文件中。
  语法格式:echo [short options] [string]
echo [long options]
  常用方法:

  •   echo -n:不进行换行
  • echo -e:让转义符生效;
  转义符号:
  \a:发出警报声
  \b:删除前一个字符
  \c:不加换行符
  \f:换行且光标仍停留在原来的位置
  \n:换行
  \r:光标移至行首,但不换行
  \t:制表符
  \:插入“\”字符
  注意:String可以使用引号,均可使用单引号和双引号;


  •   单引号:强引用,变量引用不执行替换;
      ~]# echo ‘$SHELL’

  • 双引号:弱引用,变量引用会被替换;
  ~]# echo “$SEHLL”
tty
  tty用来查看当前的终端设备
  语法格式:tty [options]
  常用方法:
tty
示例:
DSC0004.jpg
startx
  startx用来启动x-window。
  常用方法:

  •   start:启动x会话
  • startx -w:强制启动x会话
export
  用于将shell变量输出为环境变量。
  语法格式:bash builtin commands
  常用方法:

  •   -f:代表【变量名称】中为函数名称
  •   -n:删除指定的变量。变量实际上并为删除,只是不会输出到后续指令的执行环境中。
  • -p:列出所有shell赋予程序的环境变量
pwd
  pwd用来表示以绝对路径的方式显示用户当前的工作目录。
  语法格式:pwd  [options]
  常用方法:

  • pwd:显示当前用户的工作目录
    示例:
    DSC0005.jpg
history
  history用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区,将历史命令缓冲区写入命令文件。
  语法格式:bash builtin commands
  常用方法:

  •   -c:清空当前的历史命令;
  •   -a:将历史命令文件中的命令写入历史命令文件中;
  •   -r:将历史命令文件中的命令读入当前历史命令缓冲区;
  •   -w:将当前历史命令缓冲区命令写入历史命令文件中;
  • “number”:打印最近n条历史命令;
shutdown
  shutdown用来关闭操作系统
  语法格式:[Options] [time] [wall]
  常用方法:

  •   -c:取消关机
  •   -f:重新启动时不执行fsck
  •   -F:重新启动时执行fsck
  •   -h:将系统关机
  •   -k:送出信息给所有用户,但不会实际关机
  •   -n:不调用init程序进行关机,而由shutdown控制
  •   -r:重启系统
  •   time:设置多久时间后执行shutdown指令
  • wall:要传送给所有登入用户的信息
poweroff 
  poweroff是用来关闭操作系统的另一命令
  语法格式:poweroff [options]


  •   -n:关闭操作系统时不执行sync操作
  •   -w:不是真正意义上的关机
  •   -d:关机时,不将操作写入日志文件
  •   -f:强制关闭系统
  •   -i:关闭系统之前关闭所有的网卡
  • -h:关闭操作系统之前将系统中所有的操作设置为备用模式
reboot
  reboot用来重启操作系统
  语法格式:reboot [Options]
  常用方法:

  •   -d:重新开机时不将数据写入数据文件/var/tmp/wtmp
  •   -f:强制重新开机,不调用shutdown指令的功能
  •   -i:在重开机之前,先关闭所有网络界面
  •   -n:重开机之前不检查是否有未结束的程序
  • -w:仅做测试使用,并不是真正的将系统重新启动,只会将重新开机的数据写入/var/log目录下的wtmp记录文件
hwclock
  hwclock是一个硬件时钟访问工具,它用于显示当前时间,设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。
  语法格式:hwclock [functions] [options]
  常用方法:

  •   -adjust:校正目前的硬件时钟
  •   -debug:显示hwclock执行时详细的信息
  •   -hctosys:将系统时钟调整与当前的硬件时钟一致
  •   -set -date:设定硬件时钟
  •   -show:显示硬件时钟的时间与日期
  •   -systohc:将硬件时钟调整为与当前的系统时钟一致
  • -text:测试程序
date


  •   date用于显示或设置系统时间与日期
  • 语法格式:date [options] [+format]
  常用方法:

  •   -d:显示字符串所指的日期与时间
  •   -s:根据字符串设置的日期与时间
  •   +format:格式符
  •   %F:年月日
  •   %T:小时分钟秒
  •   %Y:年
  •   %m:月
  •   %d:日
  •   %H:小时(24H进制)
  •   %S:秒
  • %s:秒(从1970-01-01 00:00:00开始到命令执行那一刻的描述unix元年)
LINUX上获取命令帮助
获取命令的使用帮助
命令大体分为内部命令和外部命令
  内部命令:help COMMAND
  外部命令:

  • 命令自带简要格式的使用帮助
    ~]#   COMMAND  --help
  • 使用手册:manual
    路径:/usr/share/manman手册:
      语法格式:~]#  man  COMMAND
  MAN的section:

  •   NAME:功能性说明
  •   SYNOPSIS:语法格式
  •   DESCRIPTION:描述
  •   OPTIONS:选项
  •   EXAMPLES:使用示例
  •   AUTHOR:作者
  •   BUGS:报告程序bug的方式
  •   SEE ALSO:参考
  • 在SYNOPSIS中:
  符号的意义
  [ ]:可选内容;   < >:必须提供的内容;
a | b | c:多选一;  …:同类内容可出现多个;
手册中有压缩格式的文件,有章节之分:
  man1, man2,…


  • man1:用户命令:
  • man2:系统调用;
  • man3:C库调用;
  • man4:设备文件及特殊文件;
  • man5:文件格式;(配置文件格式)
  • man6:游戏使用帮助;
    *man7:杂项;*man8:管理工具及守护进行;**
      注意:并非每个COMMAND在所有章节下都有手册;
    查看命令描述:~]# whatis COMMAND

打开手册后的操作方法:

  • 空格键:向文件尾翻一屏;
  • ctrl+d:像文件尾部翻半屏
  • ctrl+u:向文件首部翻半屏
  • 回车键:向文件尾部翻一行
  • K:向文件首部翻一行
  • G:跳转至最后一行
  • 数字+G:跳转至指定行
  • 1G:跳转至文件首部
  文本搜索:

  • /keyword:从文件首部向文件尾部依次查找;不区分字符大小写;
  • ?keyword:从文件尾部向文件首部依次查找;
  • n:与查找命令方向相同;
  • N:与查找命令方向相反;
  • 退出:q;LINUX发行版的基础目录名称命名法则及使用规定
    LINUX文件系统
      规则:
    1.文件名名称严格区分字符大小写;
    2.文件可以使用除/以外任意字符;
    3.文件名长度不能超过255字符;
    4.以.开头的文件为隐藏文件;
    .:当前目录;
    ..:当前目录的上一级目录;
  工作目录:working directory
家目录:home
LINUX文件系统描述

  • /:主层次的根,是整个文件系统层次结构的根目录;
  • /bin: 存放在单用户模式可用的必要命令二进制文件,所有用户均可用。
  • /boot:存放引导加载程序文件,如kernels,initrd等;
  • /dev:存放必要的设备文件
  • /etc:存放主机特定的系统级配置文件。
  • /home:用户的主目录,包括保存的文件,个人配置,等;
  • /lib:/bin和/sbin中的二进制嗯我那件的必需的库文件
  • /media:可移动的多媒体挂载点。
  • /mnt:临时挂载的文件系统
  • /opt:可选的引用程序软件包
  • /proc:以文件形式提供进程以及内核信息的虚拟文件系统,在Linux中,对应进程文件系统的挂载点;
  • /root:根用户的主目录;
  • /sbin:必要的系统级二进制文件,如,init,ip,mout;
  • /srv:系统提供的站点特定数据
  • /tmp:临时文件通常在系统重启后删除;
  • /usr:二级层级存储用户的只读数据;包含(多)用户主要的公共文件以及应用程序;
  • …….
    DSC0006.jpg





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673791-1-1.html 上篇帖子: linux 安全与加密 下篇帖子: linux中的(),(()),[],[[]],{}的作用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表