初识计算机及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,提示无此命令
执行命令: 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:相关的安全策略等信息的存储位置