计算机的组成及其各部分的功能
现代计算机的基本结构是由匈牙利-美国科学家冯· 诺依曼于1946年提出的。迄今为止所有进入实用的电子计算机 都是按冯· 诺依曼提出的结构体系和工作原理设计制造的,故又统称为“冯·诺依曼型计算机".
根据冯.诺依曼原理:计算机由运算器、控制器、存储器、输入设备、输出设备所组成.
运算器: 进行算术与逻辑运算.
控制器: 从内存中依次取出命令,产生控制信号,向其它部件发出指令,指挥整个运算过程.
运算器,控制器,缓存,寄存器组成CPU.
存储器: 分为内部存储和外部存储 .内部存储包括ROM(只读)和RAM(随机); 外部存储包括硬盘,软盘,磁带机,光盘.
输入设备:键盘,鼠标和扫描仪。主要功能:下指令,提供数据等.标准输入设备(键盘)
输出设备:显示器,打印机和绘图仪。主要功能:输出数据加工的结果.标准输入设备(显示器)
Linux 主要发行版及各版本的区别与联系
Linux发行版有数百种之多,这里介绍最主要的几种:
—Debian, Slackware, RedHat,Gentoo, ArchLinux
Debian: ubuntu,knopix,mint
Debian是社区类Linux的典范,最遵循GNU规范。 特点是界面非常友好,对硬件的支持非常全面,最适合做桌面系统的Linux发行版.
Slackware:S.u.S.E, OpenSUSE
OpenSUSE 最可定制的发行版
RedHat: Fedora ,CentOS
RHEL Red Hat系列:包括RHEL、Fedora Core、CentOS.可以说是国内使用最多的Linux发行版.
稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,只好用于桌面应用.
Arch Linux 最好的企业级系统;
Gentoo: 是一个基于 Linux 或 FreeBSD 的自由操作系统,它几乎能为任何应用程序或需求自动地作出优化和定制.
对极限的配置、性能的追求,以及顶尖的用户和开发者社区,都是 Gentoo 的显著特点.
联系:都基于linux 内核
Linux 哲学思想
1、一切皆文件:
把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;
和操作一般意义上的文件一样,linux中对文件的操作只需要五个基本的函数:
open(), read(), write(), close(), delete(), create()
文件系统的第一级目录称为“根目录”,用 / 表示,所有其他的文件或目录都包含在其下,
并且一层一层组织成树型结构.
2、 由众多功能单一的程序组成;一个程序只做一件事,并且做好;
组合小程序完成复杂任务;可以通过管道等把各小程序组合起来,完成复杂任务.
3、 尽量避免跟用户交互;
目标:易于以编程的方式实现自动化任务;
4、使用文本文件保存配置信息(只需要一个简单的文本编辑器就可以操作整个系统)
Linux系统上命令的使用格式和常见的几个命令
命令的语法通用格式:
# COMMAND OPTIONS ARGUMENTS
COMMAND:
发起一命令:请求内核将某个二进制程序运行为一个进程;
程序 –> 进程
静态 –> 动态(有生命周期)
命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件;
命令分为两类:
由shell程序的自带的命令:内置命令(builtin)
独立的可执行程序文件,文件名即命令名:外部命令
例: [root@localhost ~]# type cd
cd is a shell builtin
[root@localhost ~]# type ls
ls is aliased to `ls –color=auto'
[root@localhost ~]# which ls
alias ls='ls –color=auto'
/usr/bin/ls
[root@localhost ~]# which –skip-alias ls
/usr/bin/ls
–skip-alias 过滤掉别名
shell程序是独特的程序,负责解析用户提供的命令;
环境变量:
PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件;
~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查找次序:
查看命令类型:
type COMMAND
OPTIONS:
指定命令的运行特性;
选项有两种表现形式:
短选项:-C, 例如-l, -d
注意:有些命令的选项没有-;
如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld
长选项:–word, 例如–help, –human-readable
注意:长选项不能合并;
注意:有些选项可以带参数,此称为选项参数;
ARGUMENTS:
命令的作用对象;命令对什么生效;
注意:不同的命令的参数;有些命令可同时带多个参数,多个之间以空白字符分隔;
ifconfig: – configure a network interface 配置网络接口;
1) 查看IP接口信息:
~]# ifconfig或ip addr list或ip addr show (CentOS 7):查看活动接口的ip地址:
-a display all interfaces which are currently available, even if down
显示所有接口信息;即使接口处于关闭状态;
例: ~]#ifconfig -a
-s display a short list (like netstat -i)
例: [root@localhost ~]# ifconfig -s
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eno16777 1500 660 0 0 0 520 0 0 0 BMRU
lo 65536 392 0 0 0 392 0 0 0 LRU
virbr0 1500 0 0 0 0 0 0 0 0 BMU
CentOS 5和 CentOS 6 查看的接口名称是eth0 ,CentOS 7上表现为eno16777736
具体查看哪个接口听信息,例:~]# ifconfig eno16777736
2)修改网卡的IP地址,子网掩码:(当不指定子网掩码时,将使用IP地址所在分类的默认子网掩码)
以CentOS 7为例:
~]# ifconfig eno16777736 192.168.1.50/24 或 ifconfig eno16777736 192.168.1.50 netmask 255.255.255.0
此命令重启系统后失效,永久生效只能修改配置文件,CentOS 7为例: 完整路径如下 /etc/sysconfig/network-scripts/ifcfg-eno16777736
3)禁用,激活网络接口:
需要临时禁用或重新激活指定的网络接口时,需要结合 "down", "up" 选项。网络接口被禁用以后,将无法使用该网络接口与其他主机进行连接。例: 执行以下操作将会禁用网卡eno16777726
~]# ifconfig eno16777736 down
4) 为网卡绑定虚拟接口:
在对服务器网络进行测试时,有时需要临时在同一个网卡上使用一个新的IP地址,但又不能覆盖原有的IP地址,而导致服务器程序不可用。这时可以为网卡绑定一个虚拟的网络接口,然后再为虚拟接口设置新的IP地址(相当于一块网卡配多个IP)
以CentOS 7 为例:
~]# ifconfig eno16777736:0 172.16.16.1
echo: NAME (回显)
echo – display a line of text
SYNOPSIS
echo [SHORT-OPTION]… [STRING]…
-n: 不进行换行;
-e:让转义符生效;
\n:换行
\t:制表符
\b: 退格
例: [root@localhost ~]# echo "hello world"
hello world
[root@localhost ~]# echo -n "hello world"
hello world[root@localhost ~]# echo -e "hello \tworld"
hello world
[root@localhost ~]# echo -e "hello \bworld"
helloworld
[root@localhost ~]# echo -e "hello \nworld"
hello
world
tty: NAME
tty – print the file name of the terminal connected to standard input
例: [root@localhost ~]# tty
/dev/pts/1
[root@localhost ~]# tty -s (–quiet print nothing, only return an exit status)
[root@localhost ~]# tty –help
-s, –silent
–help
–version
startx: – initialize an X session
startx命令用来启动X Window,实际上启动X Window的程序为xinit.
export: 功能说明:设置或显示环境变量.
语 法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。
-
[root@localhost ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# export PATH=$PATH:/opt/au1200_rm/build_tools/bin
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/au1200_rm/build_tools/bin
重新打开一个终端登录:
Last login: Tue Sep 13 17:59:34 2016
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
可以验证: export的效力仅及于该此登陆操作
2.#vi /etc/profile
在适当位置添加 PATH=$PATH: /opt/au1200_rm/build_tools/bin(注意:= 即等号两边不能有任何空格)
这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变
[root@localhost ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# vim /etc/profile
[root@localhost ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
3.#vi ~/.bash_profile
修改PATH行,把/opt/au1200_rm/build_tools/bin添加进去
这种方法是针对用户起作用的
注意:第2,3种方法若想改变PATH,必须重新登陆才能生效,以下方法可以简化工作:
如果修改了/etc/profile,那么编辑结束后执行source profile(source /etc/profile) 或 执行点命令 ./profile,PATH的值就会立即生效了。
这
个方法的原理就是再执行一次/etc/profile shell脚本,注意如果用sh
/etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反应到当前环境中,但是source是在当前
shell进程中执行的,所以我们能看到PATH的改变。
[root@localhost ~]# source /etc/profile
[root@localhost ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/au1200_rm/build_tools/bin
pwd: NAME 显示工作目录
pwd – print name of current/working directory
[root@localhost ~]# pwd
/root
history:命令历史:
shell进程会其会话中保存此前用户提交执行过的命令;
~]# history
定制history的功能,可通过环境变量实现:
HISTSIZE:shell进程可保留的命令历史的条数;
HISTFILE:持久保存命令历史的文件;
.bash_history
HISTFILESIZE:命令历史文件的大小;
[root@localhost ~]# history
1 history
2 vim .bash_history
…
178 history
[root@localhost ~]# history -c
[root@localhost ~]# history
1 history
清空了历史命令
[root@localhost ~]# echo $HISTSIZE
1000
[root@localhost ~]# cat -n .bash_history
1 history
2 vim .bash_history
…
[root@localhost ~]# history -r
[root@localhost ~]# history
1 history
….
实现了从文件读取命令历史到历史列表中
命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 参数 [参数…]
-c: 清空命令历史;
-d offset:删除指定命令历史
-r: 从文件读取命令历史至历史列表中;
-w:把历史列表中的命令追加至历史文件中;
history #:显示最近的#条命令;
调用命令历史列表中的命令:
!#:再一次执行历史列表中的第#条命令;
!!:再一次执行上一条命令;
!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;
注意:命令的重复执行有时候需要依赖于幂等性;
调用上一条命令的最后一个参数:
快捷键:ESC, .
字符串:!$
控制命令历史记录的方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令;
ignorespace:忽略以空白字符开头的命令;
ignoreboth:以上两者同时生效;
[root@localhost ~]# echo $HISTCONTROL
ignoredups
[root@localhost ~]# echo HISTCONROL=ignoreboth
HISTCONROL=ignoreboth
[root@localhost ~]# !echo $
echo HISTCONROL=ignoreboth $
HISTCONROL=ignoreboth $
修改变量的值:
NAME='VALUE'
shutdown: NAME
shutdown – Halt, power-off or reboot the machine
SYNOPSIS
shutdown [OPTIONS…] [TIME] [WALL…]
-H, –halt
-P, –poweroff
-r, –reboot
-k
just write wall message.
–no-wall
Do not send wall message before halt, power-off, reboot.
-c
Cancel a pending shutdown. 打开另一个终端输入shutdown -c,可取消关机命令
poweroff: NAME
halt, poweroff, reboot – Halt, power-off or reboot the machine
reboot:NAME
halt, poweroff, reboot – Halt, power-off or reboot the machine
shutdown,poweroff,reboot都能实现关机,重启,定时关机等操作.
关机命令:
CentOS 7:
~]# systemctl poweroff
~]# systemctl reboot
*:
~]# poweroff
~]# halt
~]# reboot
hwclock ,clock:
显示或设定硬件时钟
-s, –hctosys:以硬件为准,把系统调整为与硬件时间相同;
-w, –systohc:以系统为准,把硬件时间调整为与系统时钟相同;
Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种。系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIO的"Standard BIOS Feture"项中进行设置.
date 命令查看的是系统时钟,hwclock查看的是硬件时钟;
原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/47140
评论列表(1条)
写的很好,看得出来很用心,在注意一下排版会更好,加油