• 鸟哥私房菜基础系列第1篇


    鸟哥私房菜基础篇系列

    续篇和第一篇


    续篇

    从字符界面开始,这是基础,一定要从下往上学,而不是从上往下学,不然这样子早晚都要找回来的。

    第1篇 Linux是什么以及如何学习linux

    1.1 linux的发展简史,按时间轴来说

    • 先是出现了早起的Multics,研发这个团队的成员在这个项目结束之后就解散了,其中包括Ken,和Richie
    • Rechite在bell工作,工作需要,用C语言重写了一个精简的Multics,后来另个牛人Ken用更高级的C语言改写了Rechie的作品,并且命名为Unix。没想到这个操作系统是非流行,收人追捧
    • 时间接着往后走,这个时候有一个交Stallman的。这个历史背景下,软件版权之风开始盛行。但是Stallman特例独行,认为软件应当free,应当OpenSource促进文明的发展,成立了一个free software fundation(FSF),后来又发型了Gpl协议。当然,stallman必有过人之处,有很多牛叉的作品。GNU也是这位先生提出的 GNU is Not Unix,gun就是一个概念,这个概念的核心就是"自由软件"
    • 反正Unix变的很火,很多地方都用,当然都是一些大型机和工作站。为了普及在86年的时候,出现了一个XFree86计划,研制出unix配套的gui界面x-windows
    • 时间接着往后,开始出现小型机,intel公司揭竿而起,出现了一些列的x86系列的兼容机。就在这个背景之下,芬兰的一名大学生linus在gun上以及学到了很多unix内核相关的东西,于是就自己你想出来一个适合在intelx86系列小型机上跑的操作系统,名字linux。

    1.2 linux到底是个啥

    其实linux这是一个kernel内核,这个内核集中了一些核心的功能:

    system callinterface
    Process ctroll
    memory management
    file system management
    device driver
    

    1.linux的distro

    发行版本,其实linux只是一个核心而已,基于GNU的GPl协议,很多公司都自己加了很多别的功能,然后刻录成盘发行。
    因为Linux具有硬件需求低、架构开放、系统稳定性及保密性都够强、完全免费的特点。

    第1篇 Linux主机的规划

    Linux中的硬件文件代号:

    IDE硬盘/dev/hd[a-d]
    SCSI硬盘/dev/sd[a-p]
    光驱/dev/cdrom
    软驱/dev/fd[0-1]
    打印机/dev/lp[0-2]
    鼠标/dev/mouse
    磁盘 /dev/ht0(IDE)或/dev/st0(SCSI界面)
    网卡 /dev/ethn(n由0开始)
    

    硬盘的知识

    • 基本上,硬盘是由最小的存储单位扇区sector组成,而数个扇区又组成一个磁珠cylinder,最后构成整个硬盘的容量大小。然后一块硬盘,总的来看,就分为两部分:一个用于存放硬盘的信息,称为主引导分区(master boot partion,MBR),另一大块是数据区域。
    硬盘
    |————MBR
    |————数据区域
    
    • 这其中,MBR这个区域主要是用来记录两个东西的,一个是启动管理程序,一个是硬盘分区表(partition table)。启动管理程序,在开机启动的时候决定如果是多系统的话,考虑哪个系统先启动,到哪个分区去寻找系统文件。分区里面更加关注的是硬盘分区表,我们所谓的分区其实就是修改跟去表的内容,分区表中记录的是磁盘区块的其实为止。而且当年设计的时候,硬盘分区块被设计的只能记录四个分区块的位置,沿用至今。
    MBR 记录的内容
    |————启动管理程序
    |————partition table
    

    MBR只能记录分割的四个分割快的位置,这四个分割快就是所谓的主分区primary和拓展分区extended,也就是说硬盘分区primary加extended只能是4个,而且有extended的话只能有一个,所以4个分区的时候只能是下面的组合:

    P + P + P + P
    P + P + P + E 
    

    但是注意了,extended不能使用,要想使用extended的话,就必须吧extended分出来逻辑分区logical。扩展分区中分出逻辑分区的好处,就是我们可以打破只能分4区的数量限制。

    淡然你也可以分成单个分区,里面可以没有Extended。

    3P+E,4个分区表记录,一共6个可用的分区规划,这6个分区的代号如下图:
    分区代号示意图
    实际可以使用的是/dev/hda1,/dev/hda2,/dev/hda3,/dev/hda5,/dev/hda6和/dev/hda7这6个分区。而/dev/hda4这个扩展分区仅是用来规划出让逻辑分区可以利用的磁盘空间而已。
    注意hda1~4食欲留下来的,只能给primary或者extended用,比如下面只有连个分组的情况,如图:
    两个分区

    分区的时候起码有这么几个分区要考虑到

    / 根目录必须要有的,
    swap 交换分区必须要有的
    /user 相当于dindows先的programfile文件夹,而且linux本身作为一个安装文件,许多文件存放在这里
    /home 必须要有的,而且注意大小
    /var 必须要有的,整个系统中,会动态变化的文件都会放到这里,比如一些log都是放到这里的。
    /boot 这个是启动目录,推荐有,存放启动是的核心文件,方便系统的回复
    

    第4章 开机关机及帮助

    初次登录,我们使用的是“管理员身份”,也就是系统中的超级用户(super user),具有无穷的权利,这个时候会看到提示:
    [root@iZ0zpl7q0nklmuZ ~]#
    root是我们登录系统的身份,中间的iZ0zpl7q0nklmuZ表示我们登录的主机的名字,最后的~表示用户登录之后所在的家目录。

    注:关于登入的身份。为安全起见,我们希望一般时候不要以root身份登入Linux
    系统。这里有必要说明root身份与一般用户身份的区别。在Linux上实际记录用户身份的是UID与GID,分别代表用户ID与群组ID。系统管理员(root)的号码即是0,所以您进入/etc/passwd文件即可看到root的两个ID号都是0,基本上,您只要建立一个账号,并且将其UID设定为0,那么它就具有root的身份了。而一般用户的ID号通常在500以后,1~499之间多会留给系统使用,原因是这仅是一个习惯而已。我们都知道root具有无穷大的权力,例如它可以删除任何一个文件或目录,因此,若您以root身份登入Linux系统,不小心删除了任何一个文件,就有可能造成非常大的麻烦。除此之外,使用root身份登入系统最大的问题就是不安全,容易被有心人监听到您对主机下达的命令,使得密码或数据外泄。因此,称职的网管人员通常具有两个账号,平时以一般用户账号使用Linux主机,除非系统的主要功能需要修改设定时,才以root身份登入系统。所以建议您建立一个普通账号供自己平时使用,尤其是远程登入时(如telnet与SSH服务器),最好不要以root身份登入。

    退出系统 exit,退出不等于关机,这是你自己这个账户注销掉了,而已,可能别的用户还在系统中。

    图形模式和问及界面的切换

    这一块不同的发行版本可能略有不同
    Ctrl + Alt + [F1] ~ [F6] :文字界面tty1 ~ tty6终端
    Ctrl + Alt + [F7] :图形界面
    如果初次登入的是文字界面,你只能在6个tty之间来回切换,不能从登入的文字界面切换到图形界面,如果你登入的是文字界面,可以从文字界面通过上面的文字界面切换到字符界面。当然也可以在登入的文字界面,通过一条指令打开图形界面:
    startx

    指令的输入与基本的指令:

    指令组成图解
    linux的一个设计特色是,指令名都是小写,选项可能有大写。

    显示是简单额指令

    date    现实当前的时间
        date +%Y/%m/%d    加上时间现实的格式
        date +%H:%M
    

    显示月份的日历

    cal [month] [year]
    cal         //现实当前的日历
    cal 2017    //现实全年的日历
    

    计算器

    bc    //进入bash自带的计算器
    quit   //退出上面的计算器
    
    在bc下面基本上可以实现C语言的常规编程,是与类型的与javascript相似。
    

    中断进程

    ctrl + c        // 结束一个不停运行的指令
    q可以退出当前进入的指令,比如正在使用 more 或者 man指令的时候
    

    查看帮助

    man command     // manpages的缩写,可以查看某一个指令的具体用法
    info command 和man的功能一样,但是感觉没有man好用
    
    · 空格键: 向下翻页;
    · page up: 向上翻页;
    · page down: 向下翻页;
    · home: 回到最前面;
    · end: 转到最终页;
    · /word: 搜寻word所代表的文件。接着,按n寻找下一个关键词,按N寻找上一个关键词。    
    #### **打开的manpage也都放在/user/share/man文件夹中**
    

    正确的关机方式,只有root用户才有关机的权利,

    关机之前应当查看一下系统的状态,who可以查看当前系统登录的都有哪些用户,netstat -a可以查看当前系统的联网状态,ps -aux 可以查看系统当前的主机资源使用情况。
    常用额指令两个shutdown 和 reboot

    /sbin/shutdown [-t 秒 ] [-arkhncfF] 时间 ] [ 警告信息]
    
    • -t sec: -t后面跟秒数,亦即“过几秒后关机”的意思
    • -k: 不要真的关机,只是发送警告信息
    • -r: 在将系统的服务停掉之后就重新开机
    • -h: 将系统的服务停掉后,立即关机
    • -n: 不经过init程序,直接以shutdown功能关机
    • -f: 关机并开机之后,强制略过fsck工具的磁盘检查
    • -F: 系统重新开机之后,强制执行fsck磁
    • -c: 取消已经在进行的shutdown指令内容
    shutdown -h now 立刻关机,其中now相当于时间为0
    shutdown -h 20:25 系统在今天的20:25分关机
    shutdown -h +10 系统再过十分钟后自动关机
    shutdown -r now 系统立刻重新开机
    shutdown -r +30 'The system will reboot'
    再过三十分钟系统会重新开机,并显示后面的信息。
    shutdown -k 'This system will reboot'
    仅发出引号内的警告信息,系统不会关机
    
    

    shutdown -r now 和 reboot的作用基本上一样。
    当然还有别的方法 似乎是init 0 , halt now,poweroff这些都不是正规的挂机方法,容易出现问题。
    关机之前最好使用 sync; 这个吧内存中的东西同步到硬盘上,一面造成数据的丢失。

  • 相关阅读:
    第一部分 题目要求
    完全卸载oracle
    zabbix的面试题目总结
    性能优化之MySQL调优篇
    select与epoll、apache与nginx实现原理对比
    深度优化LNMP之PHP
    深度优化LNMP之Nginx (转)
    git常用命令
    ansible 安装与卸载软件
    java8两个List集合取交集、并集、差集、去重并集
  • 原文地址:https://www.cnblogs.com/OliverZhang/p/7653053.html
Copyright © 2020-2023  润新知