Linux基础(1)

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

整个计算机由硬件与软件组成

1.硬件

计算机硬件由以下五大基本部件组成,遵循冯诺依曼体系。

运算器:用于完成各种算术运算、逻辑运算等运算。

控制器:协调各周边元件与各单元间的工作。

存储器:主存储器,即内存,CPU所使用的数据都是来自于内存;辅存储器,即硬盘,断电后依然能够保存数据。

输入设备:下指令以及提供需要加工的数据。

输出设备:输出数据加工后的结果。

2.软件

系统软件:操作系统以及语言处理系统等,系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。

应用软件:应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。

二、Linux的发行版

Linux发行版时间线

linux发行版中三大分支比较主流,包括

1.Debian,

其中Debian本身,分支中Ubuntu,Knopix比较流行。

2.Slackware

其中S.u.S.E,OpenSUSE比较流行。

3.Red hat

其中Fedora,CentOS,RHEL比较流行。

4.以及Gentoo,ArchLinux等。

联系:使用Linux内核、以及来自GNU计划的大量的函数库。。区别:可以分为社区发行版和商业发行版,每个发行版软件包管理方式可能不相同,以及是否带有图形界面等等。

三、Linux的哲学思想

1、一切皆文件

把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;

2、 由众多功能单一的程序组成

一个程序只做一件事,并且做好,组合小程序完成复杂任务。

3、尽量避免跟用户交互

应用命令行方式,稳定性好。目标:易于以编程的方式实现自动化任务;

4、使用文本文件保存配置信息

直观修改,方便维护

四、Linux系统上命令的使用格式以及常用命令使用

Linux命令的语法通用格式:

# COMMAND OPTIONS ARGUMENTS

原理:把COMMAND启动为一个进程,COMMAND运行过程当中的特性由OPTIONS来修正,并且这个COMMAND,作用在ARGUMENTS之上。

#:命令提示符

COMMAND:内部命令与外部命令,发起命令,请求内核将某个二进制程序运行为一个进程。本身为可执行的程序文件。

OPTIONS:选项,指定命令的运行特性;两种表现形式,以“-”开头短选项,或者以“--”开头长选项。

ARGUMENTS:命令的作用对象;命令对什么生效

常用命令用法

ifconfig

用途:ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

语法

ifconfig [-v] [-a] [-s] [interface]

ifconfig [-v] interface [aftype] options | address ...

选项:

-a: 显示全部接口信息;

-s: 以简短的列表显示(类似 netstat -i)

-v: 对于错误条件要详细一些

up: 启动指定网络设备/网卡。

down: 关闭指定网络设备/网卡

arp:设置指定网卡是否支持ARP协议。

[-] promisc:设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包

[-] allmulti:设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包

mtu <#>: 设置网卡的最大传输单元 (bytes)

dstaddr addr: 设定一个远端地址,建立点对点通信

netmask addr: 设置网卡的子网掩码。

address 设置网卡IPv4地址。

hw class address:如接口驱动程序支持,则设定接口的硬件地址。

multicast:为接口设定组播标志。

txqueuelen length:为接口设定传输队列的长度。

实例:

eth0表示第一块网卡,

inet 表示IP地址

echo

用途:echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。

语法:echo [SHORT-OPTION]... [STRING]...

echo LONG-OPTION

选项:

-n: 不进行换行;

-e:让转义符生效;

\n:换行

\t:制表符

实例:查看系统语言

[root@VM_44_50_centos ~]# echo $LANG

zh_CN.UTF-8

tty

用途:用来显示连接的终端的类型

语法:tty [OPTION]...

实例:

[root@VM_44_50_centos ~]# tty

/dev/pts/0

startx

startx命令用来启动X Window

export

用途:export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。

语法: export [-fn] [名称[=值] ...] 或 export -p

选项:

-f:代表[变量名称]中为函数名称;

-n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中;

-p:列出所有的shell赋予程序的环境变量。

实例:

[root@VM_44_50_centos ~]# export LANG=zh_CN.UTF-8

pwd

用途:pwd命令以绝对路径的方式显示用户当前工作目录。

语法:pwd(选项)

实例:

[root@VM_44_50_centos ~]# pwd

/root

history

用途:显示或操纵历史列表。

语法:history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]

选项:

-c: 清空命令历史;-d offset:删除指定命令历史-r: 从文件读取命令历史至历史列表中;-w:把历史列表中的命令追加至历史文件中;history #:显示最近的#条命令;

实例:

[root@VM_44_50_centos ~]# history 5

2448 2018-05-11 01:19:38 histoy 5

2449 2018-05-11 01:19:42 history

2450 2018-05-11 01:19:44 history 5

2451 2018-05-11 01:19:48 history 5

2452 2018-05-11 01:19:59 history 5

shutdown

用途:用来系统关机命令。可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。

语法:shutdown [OPTIONS...] [TIME] [WALL...]

选项:

-h: 关机-r:重启-c:取消-k:只是送出信息给所有用户,但不会实际关机;

参数:

[时间]:设置多久时间后执行shutdown指令;[警告信息]:要传送给所有登入用户的信息。

实例:

立即关机

shutdown -h now

指定5分钟后关机,同时送出警告信息给登入用户:

shutdown +5 "System will shutdown after 5 minutes"

poweroff

用途:关闭计算机操作系统并且切断系统电源。

语法:poweroff [OPTIONS...]

选项:

-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;-f:强制关闭操作系统;-i:关闭操作系统之前关闭所有的网络接口;-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。--reboot 重启

实例:

重启

poweroff --reboot

reboot

用途:重新启动正在运行的Linux操作系统。

语法:reboot [OPTIONS...]

选项:

-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。

实例:

重启测试

reboot -w

hwclock

用途:硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。

语法:hwclock [function] [option...]

选项:

-s, --hctosys:以硬件为准,把系统调整为与硬件时间相同;-w, --systohc:以系统为准,把硬件时间调整为与系统时钟相同;

实例:

调整硬件时钟

hwclock –systohc

date

用途:显示或设置系统时间与日期。

语法:

date [OPTION]... [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

选项:

-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 +"%Y-%m-%d"

2018-05-11

显示上个月的日期

~]# date -d "-1 month" +%Y%m%d 20180411

转换格式

~]# date -d "2099-03-04" +"%Y/%m/%d %H:%M.%S"

2099/03/04 00:00.00

五、在Linux系统上获取命令的帮助信息。

1.内部命令

#help COMMAND

2.外部命令

(1)命令自带简要格式的使用帮助

# COMMAND --help

(2)查看使用手册

# man COMMAND

位于/usr/share/man目录下的man文档的章节根据命令功能划分为:

man1:用户命令

man2:系统调用

man3:C库调用

man4:设备文件及特殊文件

man5:文件格式(配置文件格式)

man6:游戏使用帮助

man7:杂项

man8:管理工具及守护进行

使用# whatis COMMAND查看命令man手册章节位置

使用# man CHAPTER COMMAND分章节查看

(3)获取命令的在线文档,作为man手册的补充

#info COMMAND

(4)自带帮助文档

查看/usr/share/doc/APP-VERSION目录下的文档

README:程序的相关的信息;

INSTALL: 安装帮助;

CHANGES:版本迭代时的改动信息;

六、Linux发行版的基础目录名称命名法则及功用规定。

根据FHS(Filesystem Hierarchy Standard)

/bin:所有用户可用的基本命令程序文件;

/sbin:供系统管理使用的工具程序;

/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;

/dev:存储特殊文件或设备文件;

/etc:系统程序的配置文件,只能为静态;

/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;

/root:管理员的家目录;可选;

/lib:为系统启动或根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块

/lib64:64位系统特有的存放64位共享库的路径;

/media:便携式设备挂载点,cdrom, floppy等;

/mnt:其它文件系统的临时挂载点;

/opt:附加应用程序的安装位置;可选路径;

/srv:当前主机为服务提供的数据;

/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;

/usr:usr Hierarchy,全局共享的只读数据路径;

/usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;

/var:/var Hierarchy,存储常发生变化的数据的目录;

/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;

/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;

你可能感兴趣的:(Linux基础(1))