Linux 入门基础
- 计算机组成及功能
一般而言,计算机的组成应该分为两部分:
一部分指的是硬件部分。根据冯诺伊曼提出的计算机体系架构,一台计算机主要分为五个部分:控制器、运算器、存储器、输入设备、输出设备
- 运算器:
包含算数逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等,主要作用如下
算数逻辑单元(ALU):进行二位元的算术运算,如加减乘(不包括整数除)、移位等
累加器(accumulator):储存计算产生的中间结果。保证ALU不用将计算结果写入内存
状态寄存器:存放两类信息
1)体现当前指令执行结果的状态信息
2)控制信息
通用寄存器组:可用于传送和暂存数据,也可以参与算术逻辑运算,保存运算结果,通用寄存器组包括以下几类:数据寄存器、变址寄存器、指针寄存器、段寄存器、指令指针寄存器
- 控制器:
CPU的组成部分之一。相当于计算机的中枢神经,通过控制器,可以有效的控制和协调整个计算机的如下动作
– 保障不同数率传输的数据可以得到缓冲
– 甄别IO设备传送数据的正错
– 实现数据与数据之间的交换
– 接收和识别命令
- 存储器:
存储程序和数据,并能在计算机运行过程中高速、自动地完成从程序或数据的存取,也就是俗称的内存RAM(Random Access Memory)
- 输入设备:
外部设备之一。作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据输入到计算机。常见的输入设备有:键盘、鼠标、磁带机、磁盘机、光盘机等
- 输出设备:
外部设备之一。作用是把计算机的中间结果或最后结果、机内的各种数据及文字等信息输出来。常见的输出设备有:显示器、打印机、绘图仪等
二部分指的是计算机软件。包括汇编语言、系统软件及应用软件,他们不像硬件一样“有形”,但只有软件硬件互相配合,才是一台标准的计算机组成
- Linux的发行版
Linux发行版(Linux distribution)
是一种为一般用户预先集成好的Linux操作系统及各种应用软件。一般不需要用户重新编译,在直接安装之后,只需要作出小幅度的更改设置即可。Linux发行版通常包含了桌面环境、办公包、媒体播放器、数据库等应用软件。这些操作系统通常使用Linux、以及来自GNU计划的软件、和基于X Window的图形界面组成。
Linux发行版通常分为商业发行版和社区发行版。也有少部分既不属于发行版又不属于社区发行版,其中最有名的是Slackware.
著名的Linux发行版:
Redhat系:RHEL(企业版)、CentOS(社区版)、Fedora
Slackware系:S.u.S.E、OpenSUSE
Debian系:Ubuntu、Knopix以桌面版为主
发行版之间的不同
在Linux发行版中,通常均使用软件包管理系统,不同的操作系统,软件包管理系统也不尽相同。比较常见的软件包管理系统有以下几种
– dpkg:一般为Debian系使用,前端管理工具为apt-get
– rpm(The RPM Package Manager):一般为Red Hat系使用,S.u.S.E也有使用,前端工具包含多种:
yum:作为RHEL及CentOS的前端工具
dnf:作为Fedora的前端工具
ZYpper:作为S.u.S.E及opensuse的前端工具
urpmi:作为Mandriva Linux及Mageia的前端工具
- Linux的哲学思想
1.一切都是一个文件(包括硬件也是以文件形式挂载)
2.小型,单一用途的程序
3.链接程序,共同完成复杂的任务
4.避免令人困惑的用户界面
5.配置数据存储在文本中
- 常用基础命令
命令格式:
COMMAND 【OPTION】Arguments
命令本身 【长选项/短选项】作用对象
命令类型:(使用type命令查看)
内建命令:由shell程序自带的命令,可以使用enable查看有哪些内建命令
外部命令:独立可执行的文件。存放$PATH路径下,可使用文件名执行命令。
常用命令:
ifconfig: 查看及配置网卡信息命令,类似于ip address
常用参数:
ifconfig: 查看当前系统存活的网卡信息
ifconfig –a :查看所有网卡信息,包括非运行状态网卡
ifconfig eth#:查看指定网卡的信息
ifconfig eth# up: 启动指定的网卡
ifconfig eth# down: 关闭指定的网卡
ifconfig eth# xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx:配置IP地址
使用此命令对于网络接口的所有操作,在系统重启后均会失效。若需永久生
效,需要通过修改配置文件的方式,vim /etc/sysconfig/network-script/ifcfg-eth#
echo : 回显命令
-n: 关闭自动换行功能
-e: 启用转义符
\t:制表符
\b:退格键(即删除键)
\n: new line 新添加一行
\033[##m: 控制颜色
第一个数字3:字体前景色
第一个数字4:字体背景色
第二个数字:表示颜色本身,0-7
如果同时使用前景色和背景色:\033[3#;4#m
\033[#m: 单个数字用于控制字体的加粗,下划线等功能
\033[0m: 关闭字体功能
echo “$VAR_NAME”:变量会替换,双引号表示弱引用
echo ‘$VAR_NAME’ : 变量不会替换,单引号表示强引用
tty: 查看当前终端设备
[root@centos7 ~]# tty
/dev/pts/0
startx: 启用图像化界面
export:用于设置或者显示环境变量
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
pwd: 以绝对路径的方式显示用户当前工作目录
[root@centos7 ~]# pwd
/root
history: 显示历史命令
-c:清空当前历史命令
-a:将历史命令缓冲区中命令写入历史命令文件中
-r:将历史命令文件中的命令读入当前历史命令缓冲区
-w:将当前历史命令缓冲区命令写入历史命令文件中
n:打印最近n条历史命令(n为数字)
shutdown: 根据需求关机或重启
-c:当执行“shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令;
-f:重新启动时不执行fsck;
-F:重新启动时执行fsck;
-h:将系统关机,-h now立即关机;
-k:只是送出信息给所有用户,但不会实际关机;
-n:不调用init程序进行关机,而由shutdown自己进行;
-r:shutdown之后重新启动;
-t<秒数>:送出警告信息和删除信息之间要延迟多少秒。
eg:
指定5分钟后关机,同时送出警告信息给登入用户:
shutdown +5 “System will shutdown after 5 minutes”
poweroff:关闭计算机操作系统并且切断系统电源。
-n:关闭操作系统时不执行sync操作;
–w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
-f:强制关闭操作系统;
-i:关闭操作系统之前关闭所有的网络接口;
-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
reboot:重新启动正在运行的Linux操作系统。
-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果;
-f:强制重新开机,不调用shutdown指令的功能;
-i:在重开机之前,先关闭所有网络界面;
-n:重开机之前不检查是否有未结束的程序;
–w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件
hwclock:硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。
–adjust:hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟;
–debug:显示hwclock执行时详细的信息;
–directisa:hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟;
–hctosys:将系统时钟调整为与目前的硬件时钟一致;
—set —date=<日期与时间>:设定硬件时钟;
–show:显示硬件时钟的时间与日期;
–systohc:将硬件时钟调整为与目前的系统时钟一致;
—test:仅测试程序,而不会实际更改硬件时钟;
–utc:若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
date:显示和设置系统时间
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%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)
实例:date +%s显示显示1970年上午8点整到现在过去了多少秒
[root@centos7 ~]# date +%s
1529852435
- 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的
在shell中可执行的命令有两类:内部命令和外部命令。
- 内部命令:由shell自带的,通过某种命令形式提供
- 外部命令:在文件系统路径下有对应的可执行程序文件
多层次的帮助:
- whatis COMMAND获取命令索引的简要说明:
- help
- man and info
- /usr/share/doc/
- Red Hat documentation
- 其它网站和搜索
获取帮助信息方式分类
- 内部命令:help COMMAND,eg:help echo;
man bash
- 外部命令:
(1) 命令自带简要格式的使用帮助:COMMAND –help & COMMAND -h
(2) 使用手册(manual):man COMMAND
(3) 信息页info COMMAND
(4) 程序自身的帮助文档READM、INSTALL、ChangeLog
(5) 程序官方文档官方站点:Documentation
(6) 发行版的官方文档
(7) Google
2、man文档的章节的划分:
路径:/usr/share/man
#man COMMAND
使用手册:压缩格式的文件,有章节之分:
/usr/share/man/(man1,man2,….)
man1:用户命令
man2:系统调用
man3:C库调用
man4:设备文件及特殊文件
man5:配置文件格式的说明
man6:系统自带游戏玩法说明
man7:杂项
man8:管理工具及守护进程
- Linux发行版的基础目录名称命名法则及功用规定
/:根目录,Linux文件系统的最上层根目录,其他所有项目均是该目录的子目录
/boot:引导系统启动,引导加载器必须用的各静态文件:kernel,initramfs(initrd),grub等
/bin:系统自身启动和运行时可能会用到的核心,所有用户可用的基本命令程序文件。
/sbin:管理类基本命令,提供系统管理使用的工具程序。
/etc:大多数应用程序的配置文件的集中存放位置,只能为静态
/lib:为系统启动或要文件系统上的应用程序(/bin,/sbin等)提供共享库文件,以及为内核提供内核模块文件。
/lib64:专用于x86_64系统上的共享库文件存放
/home:普通的家目录的集中存放位置:一般每个普通用户的家目录 默认为此目录下与用户名同名的子目录,/home/USERNAME
/root:管理员的家目录:可选so.*:动态链接的C库 ld*:运行时链接器/加载器
/modules:用于存储内核模块的目录
/media:便携式设备挂载点,cdrom,floppy等
/mnt:其它文件系统的临时挂载点
/dev:devices,存储特殊文件或设备文件:设备有两种类型:字符设备(线性设备)、块设备(随机设备)
/opt:第三方应用程序的安装位置
/srv:services,服务类程序用到的中间数据
/tmp:temporary,为那些会产生临时文件的程序提供的用于存储临时文件的目录:可供所有用户执行写入操作:有特殊权限
/usr:UNIX Software Resource,操作系统软件资源存放
/var::/var Hierarchy,存储常发生变化的数据的目录
/proc:用于输入内核与进程信息相关的虚拟文件系统,由内核参数映射而来的伪文件系统,多为内核参数
/sys::用于输出当前系统上硬件设备相关习性的虚拟系统文件,由内核中与硬件设备相关的信息映/selinux:selinux相关的安全策略等信息的存储位置。
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/101633