一、计算机的组成
冯· 诺依曼则提出了计算机体系结构的设想主要分为五个部分:控制器,运算器,存储器,输入设备,输出设备。
1.控制器
是整个计算机的大脑,根据要求进行控制调度数据协调计算机的工作

2.运算器
运算器的功能是对数据进行逻辑计算,进行数据的加工

3.存储器
存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。

4.输入设备
输入设备是向计算机输入数据和信息的设备,是用户和计算机系统之间进行信息交换的主要装置之一,键盘,鼠标,摄像头,扫描仪,光笔等都属于输入设备。

5.输出设备
是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等,将其回馈给用户

6.操作系统
操作系统运行着程序,统一管理计算机硬件,将用户的操作命令提供给计算机,将计算机的计算结果通过协调硬件反馈给用户,主流操作系统分为linux和windows

二、llinux主流发行版本
服务器:
1.Uubuntu
服务器版旨在充当web服务器,可用来托管文件、网页及相似内容,并带有LAMP,即Linux、Apache、MySQL和PHP的缩写,与个人使用版本核心相同,更方便使用
2.Red Hat
RedHat Linux朴实、简洁、稳定,是作为商业应用,并有着发行商的技术支持
3.CentOs
CentOS 是 RHEL(Red Hat Enterprise Linux)源代码再编译的产物,与redhat一样朴实、简洁、稳定,centos也会为用户创建软甲更新包,但为了避免兼容性额影响一般不会启用,其拥有高度稳定性与可靠性可以长时间安全运行,但是有时无法实现承诺的安全更新一集稳定发布,更没有任何商业支持,centos也不会附上任何商业责任。

个人使用
1.Uubuntu
ubuntu有着非常丰富的应用市场,可以像使用mac一样进行软件的安装与卸载。ubuntu与其他linux的衍生版兼容性好,其应用市场可以安装于其他linux版本中。ubuntu还有这有好的GUI让人更容易使用,并且是默认安装。并且有着良好的开源社区,并有丰富的衍生版本。
2.Debian
早期发行的linux版本之一,非常稳定支持很多的硬件设施,对于系统与软件的整合更加控制品质,不过对于系统版本的更新来说更加漫长
3.kali
kali更像是一个工具而不是一个系统,kali之中包含了很多的网络与系统的安全工具,可以更好地帮助管理员对重要的服务器与网络环境进行安全排查
4.Minit
minit让Linux更加的贴近了普通用户,他有着不断更新的图形工具,新的结构菜单,mintInstall 易用于软件的安装使用,mintUpdate软件的更新,相比ubuntu更加贴合桌面用户。
5.Deepin
是由武汉深之度科技有限公司开发的Linux发行版,专注于个人用户的日常使用,有着高度定制,更加贴合国内人使用windows的习惯,并有有着丰富的扩展功能,如游戏中心、翻译、音乐播放器等自主研发的工具

三、linux的哲学思想

1、一切皆文件:
把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等,例如

 	物理终端: /dev/console
 	虚拟终端: /dev/tty*
 	串行终端: /dev/ttys*
 	伪终端:	 /dev/pst/*

2、 由众多功能单一的程序组成;一个程序只做一件事,并且做好
组合小程序完成复杂任务,单个文件占用量小,代码轻量化,高效,易于与其他工具结合实现更多的功能

3、尽量避免跟用户交互,使用命令行效率更高,易于以编程的方式实现自动化任务

4、使用文本文件保存配置信息;因为文本是最易于实现的底层的数据接口表现形式,所以使用文本编辑器,就能完成大多数的程序管理,也便于阅读、理解、编辑。

5.提供机制而非策略,使用户可以更高效自由的使用操作系统。

四、linux上常用的命令以及格式

linux的命令格式通常如
命令 [选项] [参数]
ls -l /etc/shadow

1.ifconfig命令
显示本地网卡的详细配置,配置文件在此路径
/etc/sysconfig/network-scripts/ifcfg-[网卡名]

ifconfig [网络设备] [参数]

临时启动或关闭指定网卡 

ifconfig 网卡名 up 

ifconfig 网卡名 down 

设置ip地址

ifconfig	[网卡名]	192.168.1.5	netmask	255.255.255.0  broadcast 192.168.1.22

更改网卡mac

ifconfig 	[网卡名]	hw	ether  	00:11:22:33:44:55

临时开关arp

ifconfig eth1 arp  //开启arp

ifconfig eth1 -arp  //关闭arp

显示网卡全部信息

ifconfig  	-a


ifconfig输出结果
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.25  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::b9e8:16a7:3b99:9616  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d3:3e:bc  txqueuelen 1000  (Ethernet)
        RX packets 93  bytes 13296 (12.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 109  bytes 11583 (11.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

//第二行inet为本机IP地址,netmask为子网掩码,broadcast 为本机的广播地址,这些都可以通过命令修改

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:9b:90:44  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

不过现在较高版本的linux ifconfig命令已经被废弃无法使用,需要使用ip命令

在这里插入图片描述
使用ip命令

为网卡添加一条ip地址

ip addr add 192.168.1.25/24 dev [网卡名]

查看刚才添加的ip

[root@localhost ~]# ip addr show [网卡名]
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:d3:3e:bc brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.25/24 brd 192.168.1.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::b9e8:16a7:3b99:9616/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

删除刚才所添加的ip

ip addr del 192.168.1.25/24 dev [网卡名]

关闭网卡(ifdown)

ip link set em1 down

开启网卡(ifup)

ip link set em1 up

查看本机路由

ip route show

查看包的路由来源
[root@localhost ~]# ip route get [所需要查看的ip地址]
8.8.8.8 via 192.168.1.2 dev eth0  src 192.168.1.25 
    cache 

路由表操作

添加:

ip route add 1.1.1.0/24 via 192.168.1.1

删除:

ip route del 1.1.1.0/24 via 192.168.1.1

修改默认路由:

iproute add default via 192.168.1.2

查看本机arp

ip neighbour

由此可看出ip功能相比较于ifconfig更加全面丰富,ifconfig功能将在以后的linux更新中逐渐被淘汰

2.echo 回显命令

echo [SHORT-OPTION]… [STRING]…

echo指令可以将参数输出到标准输出设备上,多个参数之间默认用空格分开,在输出完成后自动添加换行符,多用户shell脚本,也可以显示环境变量如

 echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
转义

    \a 发出警告声; 
    \b 删除前一个字符; 
    \c 最后不加上换行符号; 
    \f 换行但光标仍旧停留在原来的位置; 
    \n 换行且光标移至行首; 
    \r 光标移至行首,但不换行; 
    \t 插入tab; 
    \v 与\f相同; 
    \\ 插入\字符; 
    \nnn 插入nnn(八进制)所代表的ASCII字符;

将显示结果定义至文件

echo "It is a test" > myfile

8显示命令执行结果

  echo `date`
  
结果将显示当前日期


STRING可以使用引号,单引号和双引号均可用;
单引号:强引用,变量引用不执行替换;
 echo '$SHELL'
引号:弱引用,变量引用会被替换;
 echo "$SHELL"

3.tty命令
查看当前连接的设备终端

[root@localhost ~]# tty
/dev/pts/0
/*当前使用虚拟机桌面连接就会显示pst,pst为伪终端
	 	物理终端: /dev/console
	 	虚拟终端: /dev/tty*
	 	串行终端: /dev/ttys*
	 	伪终端:	 /dev/pst/* 
*/

4.startx命令
startx本身为一个shell脚本,驱使xinit进行工作,xinit它是位于/usr/bin下的二进制文件
startx [ [ client ] options … ] [ – [ server ] [ display ] options … ]

关于startx详细见
https://blog.csdn.net/qq_39101111/article/details/78728857

5.export

export命令用于设置或显示环境变量

export [-fnp][变量名称]=[变量设置值]

-f  代表[变量名称]中为函数名称。
-n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p  列出所有的shell赋予程序的环境变量

export name=value
export -p //列出当前的环境变量

6.pwd命令

显示当前所在目录

[root@localhost rpm]# pwd
/etc/rpm

7.history

命令行执行 history 命令后,会显示已执行命令的序号和命令本身,可以使用命令或者快捷键快速查找与使用历史命令。默认情况下,命令历史存储在 ~/.bash_history 文件中,可查看此文件获取。

[root@bogon ~]# history
    1  ifconfig
    2  sudo
    3  ifconfig
    4  ifcfg
    5  ipdrr
    6  ip addr

快速重复执行上一条命令

有 4 种方法可以重复执行上一条命令:

(1)使用上方向键,并回车执行。
(2)按 !! 并回车执行。
(3)输入 !-1 并回车执行。
(4)按Ctrl+P 并回车执行。
(5)输入!6直接执行第6个命令

8.shutdown

关机,shutdown为一种安全的关机方式,所有登录的用户都可得知关闭系统,shutdown还会协调进程进行关闭系统操作,保障系统的稳定性,shutdown会执行/etc/rc0.d/ 下的脚本,通过脚本可以得知shutdown是如何运作

shutdown [options…] [time][wall…]

	 		options :
	 			-h:halt   关机
	 			-r:rebot  重启
	 			-c:cancel 取消关机或者重启
	 		time
	 			now
	 			hh:mm 	几点几分
	 			+m 		几分钟以后
	 		wall:向每个登陆的终端发送信息
	 			shutdown会给所有登陆的终端发送wall信息,可以自定义
	 			shutdown -r +5  "xxxxx"

9.poweroff

切断系统电源
用于关闭计算机,与shutdown不同,poweroff使用时会立即杀死进程,关闭系统,并且通知电源切断,可能造成系统的不稳定。

10.reboot
重启命令
reboot [OPTIONS]
参数:

-n : 在重开机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
-f : 强迫重开机,不呼叫 shutdown 这个指令
-i : 在重开机之前先把所有网络相关的装置先停止

11.hwclock

hwclock [参数]… [+格式]

显示与设定硬件时钟
在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

显示硬件时钟
[root@bogon ~]# hwclock  
-s:以硬件为准,把系统调整为与硬件时间相同;
-w:以系统为准,把硬件时间调整为与系统时钟相同;

12.date

date 可以用来显示或设定系统的日期与时间

手动设置当前时间为2019年9月9日 11点11分11秒
-s "20190909 11:11:11"	

安年月日格式显示时间
[root@localhost ~]# date "+当前时间为:%Y-%m-%d %H:%M:%S"

--help:在线帮助
--version:显示版本信息

FORMAT:格式符
%H 小时(以00-23来表示)。 
%I 小时(以01-12来表示)。 
%K 小时(以0-23来表示)。 
%l 小时(以0-12来表示)。 
%M 分钟(以00-59来表示)。 
%P AM或PM。 
%r 时间(含时分秒,小时以12小时AM/PM来表示)。 
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。 
%S 秒(以本地的惯用法来表示)。 
%T 时间(含时分秒,小时以24小时制来表示)。 
%X 时间(以本地的惯用法来表示)。 
%Z 市区。 
%a 星期的缩写。 
%A 星期的完整名称。 
%b 月份英文名的缩写。 
%B 月份的完整英文名称。 
%c 日期与时间。只输入date指令也会显示同样的结果。 
%d 日期(以01-31来表示)。 
%D 日期(含年月日)。 
%j 该年中的第几天。 
%m 月份(以01-12来表示)。 
%U 该年中的周数。 
%w 该周的天数,0代表周日,1代表周一,异词类推。 
%x 日期(以本地的惯用法来表示)。 
%y 年份(以00-99来表示)。 
%Y 年份(以四位数来表示)。 
%n 在显示时,插入新的一行。 
%t 在显示时,插入tab。 
MM 月份(必要) 
DD 日期(必要) 
hh 小时(必要) 
mm 分钟(必要)
ss 秒(选择性) 

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

获取命令的使用帮助:
内部命令:
help COMMAND
外部命令:
(1) 命令自带简要格式的使用帮助
# COMMAND --help
(2) 使用手册:manual
位置:/usr/share/man
# man COMMAND

SECTION:
NAME:功能性说明
SYNOPSIS:语法格式
DESCRIPTION:描述
OPTIONS:选项
EXIT STATUS:退出状态码
NOTES:额外的提示
SEE ALSO:额外可以参考的信息
EXAMPLES:使用示例
AUTHOR: 作者
BUGS: 报告程序bug的方式
SEE ALSO: 参考
...

SYNOPSIS: 
[]:可选内容;
<>:必须提供的内容;
a|b|c:多选一;
...:同类内容可出现多个;

使用手册:压缩格式的文件,有章节之分;
/usr/share/man
man1, man2, ...

1:用户命令;
2:系统调用;
3:C库调用;
4:设备文件及特殊文件;
5:文件格式;(配置文件格式)
6:游戏使用帮助;
7:杂项;
8:管理工具及守护进行;

控制命令

空格,b		前后翻页
回车,k		前后行
ctrl+d,ctrl+u 	前后翻半页
#G 			跳转到指定行
1G			跳转到第一行

搜索关键词

/关键词
?关键词
n 	搜索同方向
N 	搜索反方向

六、linux基础目录名称命名法则及功用规定

				/bin:供所有用户使用的基本命令文件
				/sbin:供系统管理使用的工具程序
				/boot:引导加载器必须用到的各静态文件:kernel,initramf(initrd),grub等
				/dev:存储特殊文件或设备文件
				设备有两种类型:字符设备(线性设备)、块设备(随机设备)
				/etc:系统程序的配置文件,只能为静态(复制/etc即可迁移主机服务)
						opt		专门为ope目录下程序提供配置文件
						x11		专门为图形界面提供配置
						sgml	为sgml格式配置文件提供保存路径
						xml		为xml提供配置文件保存路径
				/home:普通的家目录的集中文职,一般每个用户的家目录摩恩为此目录下与用户名同名的子目录,为完善系统结构而建立(可以不存在)
				/lib:为系统启动祸根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块
						libv.sc.*:动态链接的C库,C程序的头文件
						ld*:运行时连接器/加载器
						modules:存放内核模块的目录
				/lib64:64位系统特有的存放64为共享库的路径
				/media:便携式设备挂载点,如光盘、U盘
				/mnt:其他文件系统的临时挂载点,如硬盘
				/opt:附加应用程序的安装位置,第三方应用程序(可选路径),默认是空的
				/srv:当前主机为服务提供的数据
				/tmp:为那些会产生临时文件的程序提供用于存储临时文件的目录:可供所有用户执行写入操作,有特殊权限
				/usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;
				/var:/var Hierarchy,存储常发生变化的数据的目录;
					cache	应用程序缓存数据
					lib		应用程序的状态信息
					local	为/usr/local的放置经常发生变化数据
					lock	锁定文件
					log		日志文件和目录
					opt		为/opt程序存放可变数据
					run		与运行进程相关的数据
					spool	Application spool data    应用程序假脱机数据
					        假脱机即SPOOLing。SPOOLing技术是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,他的核心思想是以联机的方式得到脱机的效果。
					tmp		系统重新启动之间保留的临时文件	
		
				/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息。例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;
		
				/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux硬件设备提供一种统一模型的的接口;

Linux下的文件类型大致可分为

 - :普通文件
 d:  目录文件
 b:  块设备
 c:  字符设备
 l:  符号链接文件
 p:  管道文件pipe
 s:  套接字文件socket
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值