一、linux操作系统初识
了解操作系统之前我们需要先了解一下计算机的硬件组成,因为操作系统都是运行在硬件之上。遵循冯诺依曼体系,计算机是由控制器、运算器、存储器、输入设备、输出设备五部分组成。对应到我们现在使用计算机上硬件分别为:
运算器:对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。
控制器:对输入的指令进行分析,并统一控制计算机的各个部件完成一定任务的部件
控制器、运算器—-控制器和运算器已经完全集成到cpu中
存储器:对信息进行存储并在必要的时候提供给运算器和控制器进行使用。其有分为主存储器(简称为主存或内存)和辅助存储器(简称辅存或外存)。
输入设备:将程序、原始数据、文字、字符、控制命令等信息输入到计算机;常见的输入设备有键盘、鼠标等。
输出设备:把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。现在最常使用的就是显示器还有各种远程连接工具,早期还会使用打印机。
二、linux的发行版本
在我们使用过程中直接面对硬件进行操作及其不友好,因此操作系统就诞生了。操作系统中又有不同的种类,linux、windows、unix。。。。现在只对linux进行介绍。linux大体有两种分类,一种是由商业公司维护的发行版本,以RedHat为主;一种是社区组织维护的发行版本,以Debian为主。
1、RedHat
RedHat是国内使用最多的linux版本,Redhat系列的包管理方式采用的是基于RPM包的YUM(以后可能会改成dnf)包管理方式,安装简单,可以自动解决包依赖关系。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用。
子版本包括: Redhat Enterprise Linux(红帽官方发行的企业收费版本)
Fedora(有红帽官方赞助的发行的免费版本,对于红帽来说这是红帽官方软件或技术的测试版本,一些新技术会在这个版本上进行测试,稳定以后会应用到红帽的收费版本中)
CentOS(RHEL的社区克隆版本,免费)基于RHEL的社区版本的源码编译,与原版有10%左右的差异。
2、Debian
Debian是社区发行版遵循GUN协议的典范,最具特色的就是dpkg包管理系统使用,前端使用apt-get工具。
子版本包括:Ubuntu (基于Debian的unstable衍生版本,更加专注于个人pc系统方面的使用)
3、Slockware
Slockware也是遵循GUN协议的发行版,因为它与其他的发行版不太一样的是它坚持KISS(keep it simple stupid)原则,更力图成为“UNIX”风格的linux发行版本,追求稳定性,只吸收稳定版本的应用程序,坚持BSD的启动风格与当今盛行的systemd大行其道。包管理方式依然是rpm,前端工具是zypper
衍生版本:S.U.S.E—>OPEN S.U.S.E。
4、Gentoo
严格来说Gentoo并不是一个linux的发行版本,而是定制专属自己的linux系统的技术,它几乎所有的软件都需要自己下载安装。
三、linux的哲学思想
1、一切皆文件
对于linux来说所有的系统资源都是文件,包括硬件设备、接口等
2、有众多功能单一的程序组成:一个程序只负责一件事情
组合众多程序完成复杂任务
3、程序启动后尽量避免与用户交互
易于以编程方式实现自动化任务
4、使用文本文件保存配置信息
更易于修改和配置
四、linux的常用命令(ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date)
ifconfig
–用于显示系统的网络接口和网络参数
常用参数
-a 用于查看所有处于启用状态的网络接口信息(默认项)
-s eth0 简要显示eth0的网口信息(不加eth0显示所有处于启用状态的网口信息)
eth0 arp| – arp 开启或关闭端口eth0的arp
eth0 显示指定网口eth0名称的网络信息
eth0 down|up
关闭网口eth0或启用网口eth0(当前有效,重启系统后失效)
eth0 192.168.10.1 netmask 255.255.255.0
设置指定网口eth0的IP地址是192.168.10.1 掩码是255.255.255.0(当前有效重启后失效)
echo
–用于将指定内容输出出来
常用参数
-n 输出内容时不换行显示,默认输出时换行显示
-e 使转义符生效,在输出时遇到以下字符参数时特殊处理
\n: 换行
\table: 插入table
tty
–显示当前时刻当前用户登录的终端
w
–显示当前时刻登录在系统中的用户
startx
–启动图形化桌面(centos6以及一下版本还可以用 init5 进行图形化桌面切换)
export
–查看环境变量以及将本地变量声明成环境变量
export 查看环境变量
export aaa=123 将变量aaa声明成环境变量
unset aaa 撤销变量aaa
pwd
–显示当前工作目录的路径
pwdx
–根据运行程序的pid显示程序的家目录
pwdx pid
basename <dir|file>
–显示当前目录或文件基名(基名指当前目录的名称)
history
–查看已命令的记录
常用参数
-c 清除历史记录
-r filename 从文件中读取命令到历史记录中
-w filename 将历史命令保存到文件中
历史命令记录中的命令可以再次被调用
!# 再次执行第#号命令。#指命令历史中的编号
!! 再次执行最近一次的命令
!STRING 再次执行最近一次以STRING开头的文件
调用上一个命令的一个参数
ESC . esc按键加上.
!$
shutdown
–关机命令
常用参数
-h now|+#| hh:mm 立刻关机|在#分钟后关机|在hh:mm时间关机(24小时制);优先停止系统服务。
-r 停止系统服务后重启
-k “message” 向所有登录用户发送message信息
-c 在关闭系统服务过程中,新开终端输入会停止关机
poweroff、halt、init 0(centos6以及以下系统)
–关机命令
reboot、init 6(centos6以及以下系统)
–重启命令
hwclock
–硬件时间
常用参数
-set time 将time设置为硬件时间
-s 将硬件时间设置为系统时间
-w 将系统时间设置为硬件时间
date
–显示和设置系统时间
常用参数
-s time 设置系统时间
-d time 显示输入的time 并不修改
+%F 显示当前年月日,年月日中间连接符为-
+%Y 显示当前年份
+%y 显示当前年份后两位
+%d 显示当前日期
+%D 显示日月年,日月年的连接符是/,年份显示后两位
+%m 显示当前月份数字显示
+%M 显示当前分钟数
+%H 显示当前小时
+%h 显示当前月份英文缩写
+%T 显示当前时间格式hh:mm:ss
+%S 显示当前秒数
+%s 显示当前时间戳
+%w 显示当前星期(周一到周日 1、2、3、4、5、6、0)
+%W 显示本周是今年第几周
注:date命令的显示时间命令可以连接起来使用
五、linux的命令帮助信息使用
linux的命令分为内部命令和外部命令,在不确定想要查询帮助信息的命令是内部命令和外部命令,可以使用type命令来进行分别。
type command
显示命令的使用路径是外部命令,反之则是内部命令。
内部命令
内部命令使用help命令来获取简要帮助信息
help command
外部命令
外部命令使用–help参数或-h参数来获取简要帮助信息
command –help|-h
外部命令还可以使用man命令来进行详细信息的查看
man command
man手册的内容结构
NAME:功能性说明
SYNOPSIS:语法格式
DESCRIPTION:描述信息
OPTIONS:各选项的详细说明
EXAMPLES:使用示例
AUTHOR:命令的作者
BUGS:报告程序bug的方式
在man手册中还有一些特殊符号的功用说明
[] 表示被[]起来的参数是可选项
<> 表示被<>起来的参数是必选项
| 表示|的左右是可选内容
… 表示相同的内容可以出现多个
man手册并不是只有一个,因查询信息较多,man手册中也被按照内容分为不同的章节
1、用户命令:普通用户和超级管理员能够使用的命令
2、系统调用
3、C库调用
4、设备和特殊文件
5、文件格式(配置文件)
6、游戏使用帮助
7、杂项(不属于其他项的内容)
8、管理工具及守护进程
注:有时候一个命令在多个章节都有帮助信息
可以使用whatis 命令查询命令的简要信息和该命令的帮助信息存在man手册的哪些章节中
whatis command
whatis的查询到的内容是whatis的数据库中的内容,该数据库是系统在空闲时后自动更新,也可使用makewhatis来进行更新(在有些情况下不能查到信息而自己确定该信息存在系统中是可以手动更新)。
man手册打开后可以使用一下方法来进行操作查找想要查询的信息
翻屏:
空格键:向文件尾部翻一屏
b:向文件首部翻一屏
crtl+d:向文件尾部翻半屏
crtl+u:项文件首部翻半屏
回车键:向文件尾部翻一行
k:向文件首部翻一行
G:跳转至最后一行
#G:跳转至第#行
1G:跳转至文件首部
文本搜索:
/keyword 从文件首部向尾部搜索指定keyword
?keyword 从文件尾部向首部搜索指定keyword
N: 按照命令顺序查找下一个keyword
n: 按照命令顺序查找上一个keyword
退出:
q:退出
六、linux系统的基本目录
在linux系统中有一些基本目录各有各的定义和功能
/bin :bin是binary的缩写。这个目录存放着最常使用的命令
/sbin :s是super user的意思,这里存放的是超级管理员才能使用的系统管理命令和程序
/boot :存放linux启动时使用的一些文件(kernel、grub等)
/dev :dev是设备(Device)的缩写。该目录中存放的是linux的硬件设备文件。
/etc : 存放所有的系统管理所需要的配置文件和子目录
/home :用户的主目录,除了root外其他用户在创建时家目录默认创建在该目录下
/root :root用户的家目录
/lib : 存放系统中使用到的库文件
/lib64 :64位系统特有的存放64位库文件目录
/lost+ found :一般为空,在系统非法关机后可能会保存一些文件在这里。
/media :系统自动识别一些设备移动设备后会自动将该设备挂载在该目录下
/mnt : 系统预留让用户来进行移动设备挂载时的目录
/opt : 系统预留给用户存放安装文件的目录
/selinux :Redhat/Centos系统特有的目录,存放有关SElinux的配置文件
/srv : 存放某些服务启动后需要提取使用的数据
/sys: 存放内核一些信息映射的目录文件
/tmp :临时文件目录,所有人可读写
/usr :安装文件存放目录类似windows的program files
/usr/bin:存放系统用户使用的命令或程序
/usr/sbin:存放超级管理员使用的命令或程序
/usr/src :在安装文件时源代码的默认存放目录
/usr/local :通常用来安装第三方程序
/var :通常用来存放日志文件
/proc: 系统硬件和内存中的信息的映射文件
多数系统命令文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin./usr/local/bin,/usr/local/sbin
普通命令:/bin,/usr/bin,/usr/local/bin
管理命令:/sbin,/usr/sbin,/usr/local/sbin
共享库:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
原创文章,作者:胡安慧,如若转载,请注明出处:http://www.178linux.com/64723
评论列表(1条)
总结的很好,如能在相关命令后附上使用样例就–完美了