-
计算机的组成及其功能
-
Linux的发行版介绍
-
Linux的哲学思想
-
Linux命令格式及一些基础命令
-
在Linux系统上获取命令的帮助信息
-
Linux发行版的基础目录
计算机的组成及其功能
简单来说,计算机系统是由 硬件系统(hardware system)和 软件系统(software system)两部分组成。
硬件的基本组成: 运算器、存储器、控制器、输入输出设备。
-
运算器:运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理
-
控制器: 是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等
-
存储器: 存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息
-
输入输出设备:输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机.输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来.
软件: 主要分为系统软件和应用软件
-
系统软件: 系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作.
-
应用软件: 应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序.应用软件包是利用计算机解决某类问题而设计的程序的集合,供多用户使用。
Linux的发行版介绍
因为并不是每个人都具有源码安装各种软件的能力,满足各种用户需求的Linux发行版应运而生,发展的蓬蓬勃勃,到今天已经达数百种之多。其中最为主流的有以下几个分支。
-
Redhat
在该分支中主要有RHEL(商业收费版),CentOS((RHEL的社区克隆版本,免费),Fedora Core(桌面版,免费) -
slackware
slackware下最有名的分支当属SuSe,SuSE有SLES(企业版)和openSUSE(社区版) -
Debian
Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最具特色的是apt-get / dpkg包管理方式。
Debian下比较有名的分支有Ubuntu,Mint -
Gentoo
追求极限的配置、性能,以及顶尖的用户和开发者社区,都是Gentoo体验的标志特点。Gentoo的哲学是自由和选择。 -
ArchLinux
Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版。
Linux的哲学思想
-
一切皆文件,把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口等;
资源(文件,硬件设备)的管理更加简单,方便。 -
由众多功能单一的程序组成;一个程序只做一件事,并且做好;组合小程序完成复杂任务;
-
尽量避免跟用户交互
目标:易于以编程的方式实现自动化任务; -
使用文本文件保存配置信息
配置信息可以持久保存,极大的发挥了文本编辑器的作用
Linux命令格式及一些基础命令
命令的语法通用格式:
COMMAND OPTIONS ARGUMENTS
COMMAND:
发起一命令:请求内核将某个二进制程序运行为一个进程; 程序 –> 进程 静态 –> 动态(有生命周期)
-
命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件;
-
多数系统程序文件都存放在:/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
32bits的库:/lib, /usr/lib, /usr/local/lib
64bits的库:/lib64, /usr/lib64, /usr/local/lib64
注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件
-
命令必须遵循特定格式规范:exe, msi, ELF(Linux)
~]# file /bin/ls 查看文件内容格式类型 -
命令分为两类:
由shell程序的自带的命令:内置命令(builtin)
独立的可执行程序文件,文件名即命令名:外部命令
查看命令类型:
type COMMAND
OPTIONS:
指定命令的运行特性
选项有两种表现形式:
-
短选项:-C, 例如-l, -d
注意:有些命令的选项没有-;
如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld -
长选项:–word, 例如–help, –human-readable
注意1:长选项不能合并;
注意2:有些选项可以带参数,此称为选项参数; 短选项用空格分割, 长选项用等号分割
ARGUMENTS:
命令的作用对象;命令对什么生效;
注意:不同的命令的参数;有些命令可同时带多个参数,多个之间以空白字符分隔
基础命令
-
ifconfig: 查看、配置、启用或禁用网络接口;
注意: 命令立即生效,重启失效ifconfig #处于激活状态的网络接口 ifconfig -a #所有配置的网络接口,不论其是否激活 ifconfig eth0 #显示eth0的网卡信息 ifconfig eth0 down #关闭eth0网卡 ifconfig eth0 up #开启eth0网卡 ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #修改MAC地址 ifconfig eth0 192.168.1.56 netmask 255.255.255.0 #给eth0网卡配置IP地址,并加上子掩码 ifconfig eth0 mtu 1500 #设置能通过的最大数据包大小为 1500 bytes
示例:
配置网卡ip地址并启动 [root@node1 ~]# ifconfig eno16777736 172.16.0.150 netmask 255.255.0.0 up 添加网卡别名 [root@node1 ~]# ifconfig eno16777736:0 172.16.0.151 netmask 255.255.0.0 [root@node1 ~]# ifconfig eno16777736:1 192.168.0.100 netmask 255.255.255.0 保留网卡别名信息 1. 将增加ip别名的命令填写到/etc/rc.local文件中,这个方法最方便,但不太可靠,有时会失灵。 2. 手动编写ip别名的网卡配置文件 所有网卡的配置文件都保存在/etc/sysconfig/network-scripts目录中,一个网卡对应一个配置文件 [root@node1 network-scripts]# cp ifcfg-eno16777736 ifcfg-eno16777736:0 [root@node1 network-scripts]# vim ifcfg-eno16777736:0 清除别名 [root@node1 network-scripts]# ifconfig eno16777736:0 down [root@node1 network-scripts]# ifconfig eno16777736:1 down
-
echo 回显
格式: echo [SHORT-OPTION]… [STRING]…
-n: 不进行换行;
-e:让转义符生效;
\n:换行
\t:制表符
[root@node1 network-scripts]# echo -e "hello \nworld" hello world
-
tty 查看当前的终端设备
[root@node1 network-scripts]# tty /dev/pts/2
-
startx 启动图形化界面
在某一虚拟终端接口运行命令:startx & -
export 显示和设置环境变量值
设置环境变量
export JAVA_HOME=/usr -
pwd 显示工作目录
-P 符号链接时,显示真实路径[root@node1 ~]# pwd /root
-
history 命令历史
shell进程会其会话中保存此前用户提交执行过的命令
定制history的功能,可通过环境变量实现:
HISTSIZE:shell进程可保留的命令历史的条数;
HISTFILE:持久保存命令历史的文件;
HISTFILESIZE:命令历史文件的大小;
命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 参数 [参数…]
常用参数:
-c: 清空命令历史(内存中的);
-d offset:删除指定命令历史
-r: 从文件读取命令历史至历史列表中;
-w:把历史列表中的命令追加至历史文件中; history #:显示最近的#条命令;
调用命令历史列表中的命令:
!#:再一次执行历史列表中的第#条命令;
!!:再一次执行上一条命令;
!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;
调用上一条命令的最后一个参数:
快捷键:ESC, . 按esc,放开,按.
示例: 显示最近的两条命令
histroy 2
-
shutdown 关机或重启命令
shutdown [OPTIONS…] [TIME] [WALL…]
OPTIONS:
-h: halt 关机
-r:reboot 重启
-c:cancel 取消关机或重启(未到时间)
TIME:
now 现在
hh:mm 几点几分
+m 几分钟后
+0相当于now 现在
WALL 给所有终端发送的告警信息
示例:
现在关机: shutdown -h now 现在重启: shutdown - r now 取消关机或重启: shutdown -c
-
poweroff 关机
-
reboot 重启
-
hwclock 显示或设定硬件时钟,clock是hwclock的软连接
hwclock : 显示硬件时钟
-s, –hctosys:以硬件为准,把系统调整为与硬件时间相同;
-w, –systohc:以系统为准,把硬件时间调整为与系统时钟相同;
示例:
以硬件为准,把系统调整为与硬件时间相同; [root@node1 ~]# date 2016年 12月 01日 星期四 01:44:07 CST [root@node1 ~]# hwclock 2016年12月01日 星期四 01时43分50秒 -0.621642 秒 [root@node1 ~]# hwclock -s [root@node1 ~]# hwclock 2016年12月01日 星期四 01时44分37秒 -0.849592 秒 [root@node1 ~]# date 2016年 12月 01日 星期四 01:44:40 CST
-
date 显示日期时间
格式: date [OPTION]… [+FORMAT]
FORMAT:格式符 %F 相当于%Y-%m-%d %T 相当于 %H:%M:%S %Y 年 %m 月 %d 日 %H 时 %M 分 %S 秒 %s: 从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻经过的秒数;
示例:
~]# date +%F 2016-11-17 ~]# date +%T 23:22:07 ~]# date +%F-%T 2016-11-17-23:22:48 ~]# date +"%Y-%m-%d %H:%M:%S" 2016-11-17 23:25:52 ~]# date +%s 1479396446
在Linux系统上获取命令的帮助信息
内部命令:
help COMMAND
外部命令:
(1) 命令自带简要格式的使用帮助
COMMAND –help
(2) 使用手册:manual
# man COMMAND SECTION: NAME:功能性说明,简要说明 SYNOPSIS:语法格式 DESCRIPTION:描述 OPTIONS:选项 EXAMPLES:使用示例 AUTHOR: 作者 BUGS: 报告程序bug的方式 SEE ALSO: 参考 ... SYNOPSIS: []:可选内容; <>:必须提供的内容; a|b|c:多选一; ...:同类内容可出现多个; 注意:并非每个COMMAND在所有章节下都有手册; 查看命令在那些章节有手册: ~]# whatis COMMAND 注意:其执行过程是查询数据库进行的; 手动更新数据库 Centos 6: ~]# makewhatis centos7: ~]# mandb man命令打开手册以后的操作方法: 翻屏: 空格键:向文件尾翻一屏; b: 向文件首部翻一屏; Ctrl+d 或d:向文件尾部翻半屏; Ctrl+u 或 u:向文件首部翻半屏; 回车键:向文件尾部翻一行; k: 向文件首部翻一行; G:跳转至最后一行; #G: 跳转至指定行; 1G:跳转至文件首部; 文本搜索: 不区分字符大小写 /keyword:从文件首部向文件尾部依次查找;不区分字符大小写; ?keyword:从文件尾部向文件首部依次查找; n: 与查找命令方向相同; N: 与查找命令方向相反; 退出: q: quit man手册可以放到任意目录下,需要指定 选项: -M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开之;
(3) info COMMAND
获取命令的在线文档;man手册的补充;
(4) 很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION
README:程序的相关的信息; INSTALL: 安装帮助; CHANGES:版本迭代时的改动信息;
(5) 主流发行版官方文档
http://www.redhat.com/doc
(6) 程序官方的文档:
(7) 搜索引擎 google
keyword filetype:pdf
keyword site:domain.tld
man手册的章节是如何划分的?
-
用户命令
-
系统调用
-
C库调用
-
设备文件及特殊文件
-
文件格式(配置文件格式)
-
游戏使用帮助
-
杂项
-
管理工具及守护进行
使用示例:
~]# man CHAPTER COMMAND man 8 lvcreate man 1 passwd man 5 passwd
Linux发行版的基础目录
FHS: Filesystem Hierarchy Standard 文件系统层级结构标准
/bin:所有用户可用的基本命令程序文件; /sbin:供系统管理使用的工具程序; /boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等; /dev:存储特殊文件(软件模拟设备)或设备文件; 设备有两种类型:字符设备(线性设备)、块设备(随机设备); /etc:系统程序的配置文件,只能为静态; /home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME; /root:管理员的家目录;可选; /lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块 libc.so.*:动态链接的C库; ld*:运行时链接器/加载器; modules:用于存储内核模块的目录; /lib64:64位系统特有的存放64位共享库的路径; /media:便携式设备挂载点,cdrom, floppy等; /mnt:其它文件系统的临时挂载点; /opt:附加应用(第三方应用)程序的安装位置;可选路径;早期使用比较多 /srv:当前主机为服务提供的数据;一般用不到 /tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限; /usr:usr Hierarchy,全局共享的只读数据路径; bin, sbin 非系统启动所需要的 lib, lib64 库文件 include:C程序头文件; share:命令手册页和自带文档等架构特有的文件的存储位置 ,/usr/share/man /usr/share/doc local:另一个层级目录; X11R6:X-Window程序的安装位置 src:程序源码文件的存储位置 可选 /usr/local:Local hierarchy,让系统管理员安装本地应用程序(与系统程序不冲突);也通常用于安装第三方程序; /var:/var Hierarchy,存储常发生变化的数据的目录; cache Application cache data 缓存数据 lib Variable state information 状态数据 local Variable data for /usr/local 变化数据(/usr/local) lock Lock files 锁文件 log Log files and directories 日志文件 opt Variable data for /opt run Data relevant to running processes spool Application spool data 暂存队列数据 tmp Temporary files preserved between system reboots 重启后需要留存的数据 /proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;内核参数虚拟为文件 /sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;主要用来管理硬件设备
原创文章,作者:hansj,如若转载,请注明出处:http://www.178linux.com/62023