初识计算机及Linux基本命令

Linux的第一堂课

这是学习Linux的第一篇学习笔记,重点是一些发展史和基础命令,发展史是年轻人应该积累的谈资,基础命令是系统操作过程最常用的一些命令:

  • 描述计算机的组成及其功能
  • 按系列罗列Linux的发行版,并描述不同发行版的联系与区别
  • 描述Linux的哲学思想,并按照自己的理解对其经行解释性描述
  • 说明Linux系统上命令的使用格式,并详细介绍以下命令:ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date等命令的使用
  • 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的
  • 请罗列Linux发行版的基础目录名称命名法则及功用规定

描述计算机的组成及其功能

  • 计算机普遍遵循冯.诺依曼体系,由CPU内存硬盘I/O设备组成
  • CPU包含了运算器和控制器,用于加工数据;内存用于存储运算数据;硬盘为外设存储设备;I/O设备用于人机交互使用
  • CPU频率高运算速度快,内存存储速度相对较慢,内存的存储速度限制了计算机整体性能的提升,在此问题上,引申出缓存的解决方案,高速缓存在一定程度上解决了CPU和内存速度不匹配的问题。早先计算机为单任务系统即批处理,将工作任务依次写入磁带,CPU按先后顺序对任务进行处理,为更好地利用CPU资源,引入时序和多任务系统(multi tasks),将CPU按时间划分,多任务按时间分配CPU资源,避免CPU出现空耗,充分利用了CPU性能。
  • 内存划分若干单元(cell),即1字节,其中1字节1Byte=8bits,字节是数据存储的最小单元。至于为什么1个字节为8位,因为2^8变化,涵盖了英文所有字符。内存寻址方面,取决于CPU位数,32位CPU可支持2^32个地址,即2^32个字节,1024字节=1Kb,1024Kb=1MB,1024MB=1GB,因此32位系统2^10*2^10*2^10*2^4=1024*1024*1024*2^2=4G。
  • 硬盘用于存储输入和输出数据,与内存不同的是,硬盘断电后,数据仍会保留。
  • I/O设备用于人机交互,输入需要运算的数据和输出CPU运算结果

按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

由于Linux是开源软件,但并非每个用户都有编译能力,因此一些组织将Linux源码进行编译封装,即Linux的各种发行版

  • Red Hat Linux
    RedHat是比较成熟的版本,目前分为两个系列,即提供收费技术支持的Red Hat Enterprise Linux和社区开发的免费的Fedora Core,企业版用于服务器服务,个人版专注于个人桌面版。
  • CentOS
    CentOS是基于RHEL,提供免费系统升级的社区版本。国内多数企业使用的是CentOS
  • Debian
    Debian是迄今为止最为遵循GNU规范的Linux系统
  • Ubuntu
    Ubuntu是Debian的衍生版,拥有Debian的所有优点,提供桌面版和服务器版本,较为流行的桌面系统。
  • Slackware
    Slackware是历史最为悠久的Linux发行版,曾经非常流行,但随着Linux的普及,易用性成为它的弊端,但因为其高性能,稳定且安全,仍然有大批的忠实用户。
  • SuSE
    SuSE是起源于德国的Linux发行版,SuSE基于Slackware发行。
  • Gentoo
    Gentoo由Daniel Robbins(Stampede Linux和FreeBSD的开发者之一)开发,是一款基于源代码的发行版,有着高度的自定制性,编译需要大量时间,与硬件耦合度高,性能好,适合有经验的Linux用户使用。

描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。

  • 一切皆文件,把所有资源抽象成文件,包括硬件设备,通信接口等
  • 命令精简,不累赘,从而实现命令高效执行
  • 用众多功能单一的程序组成,每个程序专注于某个功能的实现,小功能组合成大的功能,完成复杂的任务
  • 使用文件保存配置信息
  • 避免与用户的交互,以编程的方式,实现自动化任务

说明Linux系统上命令的使用格式,并详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用

  • Linux的命令格式:Command [option] [argument1] [argument2]…
  • ifconfig:用于显示网络连接
    • 查看所有网卡:
      ifconfig -a #包含被禁用的网卡
    • 开启/禁用指定网卡:
      ifconfig ens33 up #开启指定网卡,ens33为网卡名称
      ifconfig ens33 down #禁用指定网卡
    • 配置IP地址:
      ifconfig ens33 192.168.4.44
      ifconfig ens33 192.168.4.44 netmask 255.255.255.0
      ifconfig ens33 192.168.4.44 netmask 255.255.255.0 broadcast 192.168.4.255

问题排查:CentOS安装完成后,执行ifconfig,提示无此命令
commad not found
执行命令: echo $PATH,查看root用户环境变量,环境变量正确
执行命令:yum search ifconfig,发现ifconfig存在于net-tools.x86_64这个包里
执行命令:yum install net-tools.x86_64,完成安装后,ifconfig命令可以正常执行,如图所示这里写图片描述

  • echo 用于标准输出

    • 查看用户环境变量
      echo $PATH
      这里写图片描述
  • tty 输出当前虚拟终端
    这里写图片描述

  • export 输出当前shell环境变量
    这里写图片描述

  • pwd 即print working dir输出当前工作目录
    这里写图片描述

  • history 打印使用命令的历史记录,通常默认可以记录1000条历史命令
    选项:
    -c 清空当前历史命令
    -a 将历史命令缓存区中命令写入历史命令文件中
    -r 将历史命令文件中的命令读入历史命令缓存区
    -w 将当前历史命令缓存区中命令写入历史命令文件中

    历史文件在家目录.bash_history,历史命令有两个存放位置,一个是缓存,一个是历史命令文件

    参数n,显示最近n条命令

    • 显示最近的15条命令
      history 15
      这里写图片描述

    • 执行第n条命令
      !56
      这里写图片描述

  • shutdown 关机命令
    -c 取消关机
    -h 将系统关机
    -k 发消息给用户,但不会执行关机动作
    -r shutdown之后重启
    -f 重新启动时不执行fsck(检查并试图修复文件系统中的错误)
    -F 重启时执行fsck

    • 倒计时关机并给出提示信息
      shutdown +15 “System will shutdown after 15 minutes”

    • 立刻关机
      shutdown -h now

  • poweroff 关机命令

  • reboot 重启命令
  • hwclock 硬件时钟命令

    • 将系统时钟调整与硬件时钟一致
      hwclock –hctosys

    • 显示硬件时钟和日期
      hwclock –show 默认显示格林威治时间
      hwclock –utc 格林威治时间显示模式
      这里写图片描述

  • date 系统时间命令
    -d<字符串>:显示字符串所指的日期与时间,字符串前后必须加双引号
    -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
    -u:显示UTC;
    参数用来显示日期格式:(记不住)
    %H 小时,24小时制(00~23)
    %I 小时,12小时制(01~12)大写的i
    %k 小时,24小时制(0~23)
    %l 小时,12小时制(1~12)小写的L
    %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)
    %Y 年份

如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的

man命令格式为:man command
使用空格或上下箭头,或者PgUp,PgDn进行翻屏
这里写图片描述

  • man帮助文档章节划分如下:
    NAME 命令的名称
    SYNOPSIS 命令格式
    DESCRIPTION 命令的详细描述
    AUTHOR 命令作者信息
    SEE ALSO 相关参考
    NOTES 相关注意事项
    FILES 相关配置文件
    EXAMPLES 相关示例

请罗列Linux发行版的基础目录名称命名法则及功用规定

LSB组织定义了Linux发行版基础目录名称命名法则和用途,这种标准叫做FHS(Filesystem Hierarchy Standard)文件系统层级标准. 根目录/下一般有以下目录:
/boot:系统引导启动时要加载的静态文件、内核和ramdisk及grub等
/bin:系统自身启动和运行时可能会用到的核心二进制程序,不能关联至独立分区
/sbin:管理类基本命令,不能关联至独立分区,系统启动便会用到的程序
/lib:基本共享文件,以及内核模块文件
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:大多数应用程序的配置文件
/home:普通用户的家目录的统一存放位置,每个用户的默认目录为:/home/username
/root:管理员root用户的主目录
/media:便携式移动设备的挂载点
/mnt:临时文件系统的挂着点
/dev:devices的简写,所有设备文件及特殊文件的存放位置
/opt:第三方应用的安装目录
/srv:services简写,服务类程序用到的中间数据
/tmp:temporary,临时文件存放位置
/usr:UNIX Software Resource UNIX操作系统软件资源存放位置
/var:经常发生变化的文件的存放目录
/proc:用于输入内核与进程信息相关的虚拟文件系统,也叫伪文件系统,由内核参数映射而来
/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统,内核中与硬件设备相关的信息映射
/selinux:相关的安全策略等信息的存储位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值