计算机基础
服务器
根据应用功能,服务器可分为:
Web服务器、数据库服务器、文件服务器、中间件应用服务器、日志服务器、监控服务器、程序版本控制服务器、虚拟机服务器、电子邮件服务器、打印服务器、域控服务器、多媒体服务器、通信服务器ERP服务器等。 服务器按外观分类: 塔式服务器、刀片式服务器、机架式服务器。
服务器尺寸
服务器宽度标准为19英寸(48).26cm), 高度(厚度)为1U=1.75英寸=44.45毫米 一般有1台服务器U,2U,4U… 深度为600mm,800mm,900mm,1000mm 服务器机柜通常是42U约两米高。 服务器机柜一般放600mm,深1000mm,高2000mm; 网络设备柜的深度一般为800mm。
服务器常用CPU
Intel: Xeon 志强 Itanium 安腾 AMD: ALthion IBM: power
CPU频率
主频:
主频是CPU的时钟频率(CPU Clock Speed),是CPU操作时工作频率(1秒内同步脉冲数)的简称。Hz。 外频:
系统总线的工作频率, CPU与外部(主板芯片组)交换数据和指令的工作时钟频率。 倍频:
倍频则是指CPU外频与主频相差的倍数。 三种关系是:主频=外频x倍频 常用的热插拔设备:硬盘、电源、PCI设备、风扇等 机箱外裸漏设备一般支持热插拔。
服务器内存
内存带宽是内存与北桥芯片之间的数据传输率 断电后内存数据丢失 外存断电后的数据可以保存 内存带宽=内存总线频率X数据总线位数/8 1Byte(字节)=8bit(位) 100Mbps 1G bit s 100Mbps带宽=12.8MB/s 下载速度 1B=8b Byte bit
硬盘
硬盘接口类型:
IDE接口:硬盘接口规范,采用ATA技术规范 SCSI接口:高速数据传输技术应用于小型机器 SATA接口: Serial ATA,提高传输速率,支持热插拔 SAS接口: Serial Attached SCSI,兼容SATA
目前主流硬盘接口是SATA和SAS接口
存储基本知识–存储网络
DAS-----直接连接存储(Direct Attached Storage) 数据块 磁盘和服务器可以分离,易于管理,但数据分散,连接距离短
NAS-----网络连接存储(Network Attached Storage) 文件 文件服务器不占用应用服务器资源,即插即用,不适用于存储量大的设备
SAN-----存储区域网络(Storage Area Networks) 数据块 可扩展性高,数据集中易于管理,安装升级复杂
操作系统
OS分类:
服务器OS:RHEL, CentOS,Windows Server,AIX
桌面OS:Windows 10,Windows 7,Mac OS,Fedora
移动设备OS:Andriod,IOS,YunOS
开发界面标准
ABI接口:应用程序与OS使用兼容性的底层接口允许编译目标代码ABI系统可以在不改变的情况下运行
API接口:API源代码和库之间的界面是定义的,所以同样的源代码可以支持这个API在任何系统中编译
Linux哲学思想
一切都是文件(包括硬件) 小,单用程序 链接程序,共同完成复杂的任务 避免用户界面混乱 文本中存储配置数据
终端terminal
设备终端
物理终端(//物理终端(/dev/console )
控制台console
虚拟终端
(tty:teletypewriters,/dev/tty# #为[1-6]) tty可有n个,Ctrl Alt F[1-6]
图形终端
/dev/tty7 )startx, xwindows CentOS 6: Ctrl Alt F7 CentOS 7: 在哪个终端启动,即位于哪个虚拟终端
串行终端
(/dev/ttyS# ) ttyS
伪终端
(pty:pseudo-tty,/dev/pts/# ) pty, SSH远程连接
查看当前的终端设备:
tty
交互式接口
交互式接口:启动终端后,在终端设备上添加交互式应用程序 GUI:Graphic User Interface X protocol, window manager, desktop Desktop: GNOME (C, 图形库gtk), KDE (C ,图形库qt) XFCE (轻量级桌面)
CLI:Command Line Interface
shell程序:sh(bourn 史蒂夫·伯恩)cshtcshksh(korn)bash (bourn again shell)GPL zsh
命令提示符
命令提示符:prompt [root@localhost~]# #管理员 $ 普通用户 显示提示符格式 [root@localhost~]#echo $PS1 修改提示符格式 PS1="[\e[1;5;41;33m][\u@\h \W]\$[\e[0m]"
\e \033 … \u 当前用户 \h 主机名简称 … \H 主机名 \w 目前的工作目录 … \W 目前的工作目录基名 \t 24小时时间格式 … \T 12小时格式 ! 命令历史数 … # 开机后命令历史数
常见命令及使用
内部命令
内部命令:由shell自带,并以命令的形式提供
help或者enable #查询所有内部命令 type 命令 #查询命令是否为内部命令,显示builtin,不显示路径 enable -n cmd #禁止内部命令 enable -n 命令 #禁用命令 enable -n #查询被禁止的命令 内部命令执行速度快 如果不去外面找外部命令,优先考虑内部命令
外部命令
外部命令:在文件系统路径下有相应的可执行程序文件 查看路径:
which -a |–skip-alias; whereis which 命令查询命令路径 whereis 命令 查询命令路径及其配置文件更详细
执行外部命令
Hash缓存表
系统初始hash表是空的,当执行外部命令时,默认会从PATH在路径下找到命令,找到后记录命令的路径hash在表中,当命令再次使用时,shell先检查解释器hash如果不存在,表将被执行。PATH寻找路径hash缓存表可大大提高命令的调用速率 长命令
hash常见用法
hash 显示hash缓存 hash –l 显示hash缓存可用作输入 hash –p path name 命令全路径path起别名为name hash –t name 打印缓存中name的路径 hash –d name 清除name缓存 hash –r 清除缓存
命令别名
alias 自定义名字=输入自定义名称可以代替长串命令 命令行中定义的别名只针对当前shell进程有效 要想永久有效,必须在配置文件中定义 仅对当前用户:~/.bashrc 对所有用户有效:/etc/bashrc unalias 自定义命令 取消此别名
命令格式
-n 短选项 例如:-l, -h -e加\ 解释功能
日期和时间
Linux的两种时钟 系统时钟:由Linux内核通过CPU的工作频率进行的 硬件时钟:主板 相关命令
date 显示和设置系统时间
date +%s
date -d @1509536033
hwclock,clock: 显示硬件时钟
-s, --hctosys以硬件时钟为准,校正系统时钟
-w, --systohc以系统时钟为准,校正硬件时钟
时区:/etc/localtime
显示日历:cal–y
简单命令
关机:halt, poweroff
重启:reboot
-f: 强制,不调用shutdown
-p: 切断电源
关机或重启:shutdown
shutdown [OPTION]... [TIME] [MESSAGE]
-r: reboot
-h: halt
-c:cancel
TIME:无指定,默认相当于+1(CentOS7)
now: 立刻,相当于+0
+m: 相对时间表示法,几分钟之后;例如+3
hh:mm: 绝对时间表示,指明具体时间
例如:shutdown +5 -h 5分钟后关机
shutdown +5 -r 5分钟后重启
shutdown -c 取消关机
用户登录信息查看命令:
whoami: 显示当前登录有效用户
who: 系统当前所有的登录会话
w: 系统当前所有的登录会话及所做的操作
screen命令(重点)
创建新screen会话 screen –S [SESSION] 加入screen会话 screen –x [SESSION] 退出并关闭screen会话 exit 剥离当前screen会话 Ctrl+a+d 显示所有已经打开的screen会话 screen -ls 恢复某screen会话 screen -r [SESSION]
例如:
screen -S help 创建一个名为help的会话
screen -ls 查看其他人创建的会话
screen -x help 加入名为help的会话,两个终端可以同步操作
screen 可以单独开一个终端,在开的临时会话中做任务,即使此时网络或者系统出现问题,也不会丢失任务
echo命令
功能:显示字符 语法:echo [-neE][字符串] 说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号 选项:
-E (默认)不支持\解释功能 -n 不自动换行 -e 启用\字符的解释功能
显示变量 echo " V A R N A M E ” 变 量 会 替 换 , 弱 引 用 e c h o ′ VAR_NAME” 变量会替换,弱引用 echo ' VARNAME”变量会替换,弱引用echo′VAR_NAME’ 变量不会替换,强引用 例如:
echo {1,2,3}
1 2 3
echo 1 2 3
1 2 3
echo file {1,2,3}
file1 file2 file3
echo file {1,2,3}
echo file {1,2,3}.{txt}
file1.txt file2.txt file3.txt
echo file {1,2,3}.{txt,log}
file1.txt file1.log file2.txt file2.log file3.txt file3.log
启用命令选项-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
echo
>\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行
\t 插入tab
\\插入\字符
\0nnn 插入nnn(八进制)所代表的ASCII字符
echo -e '\033[43;31;5mmagedu\033[0m'
\xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii)
命令行历史
保存你输入的命令历史。可以用它来重复执行命令 登录shell时,会读取命令历史文件中记录下的命令~/.bash_history 登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中 重复前一个命令,有4种方法
重复前一个命令使用上方向键,并回车执行 按!! 并回车执行 输入!-1 并回车执行 按Ctrl+p并回车执行
!:0 执行前一条命令(去除参数)
Ctrl + n 显示当前历史中的下一条命令,但不执行
Ctrl + j 执行当前命令
!n 执行history命令输出对应序号n的命令
!-n 执行history历史中倒数第n个命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
!string:p仅打印命令历史,而不执行
!$:p 打印输出!$ (上一条命令的最后一个参数)的内容
!*:p打印输出!*(上一条命令的所有参数)的内容
^string删除上一条命令中的第一个string
^string1 ^string2将上一条命令中的第一个string1替换为string2
!:gs/string1/string2将上一条命令中所有的string1都替换为string2
使用up(向上)和down(向下)键来上下浏览从前输入的命令 ctrl-r来在命令历史中搜索命令 (reverse-i-search)`’: Ctrl+g:从历史搜索模式退出 要重新调用前一个命令中最后一个参数 !$ 表示 Esc, .(点击Esc键后松开,然后点击. 键) Alt+ .(按住Alt键的同时点击. 键)
command !^ 利用上一个命令的第一个参数做cmd的参数 command !$ 利用上一个命令的最后一个参数做cmd的参数 command !n:* 调用第n条命令的所有参数 command !string:^ 从命令历史中搜索以string 开头的命令,并获取它的第一个参数 command !string:$ 从命令历史中搜索以string 开头的命令,并获取它的最后一个参数 command !string:n 从命令历史中搜索以string 开头的命令,并获取它的第n个参数 command !string:* 从命令历史中搜索以string 开头的命令,并获取它的所有参数
命令history
HISTSIZE:命令历史记录的条数
HISTFILE:指定历史文件,默认为~/.bash_history
HISTFILESIZE:命令历史文件记录历史的条数
HISTTIMEFORMAT=“%F %T “ 显示时间
HISTIGNORE=“str1:str2*:… “ 忽略str1命令,str2开头的历史
控制命令历史的记录方式: 环境变量:HISTCONTROL
ignoredups默认,忽略重复的命令,连续且相同为“重复”
ignorespace忽略所有以空白开头的命令
ignoreboth相当于ignoredups, ignorespace的组合
erasedups删除重复命令 export 变量名="值“ 存放在/etc/profile 或~/.bash_profile
bash的快捷键(重点)
Ctrl + l清屏,相当于clear命令 Ctrl + o执行当前命令,并重新显示本命令 Ctrl + s阻止屏幕输出,
锁定 Ctrl + q允许屏幕输出 Ctrl + c终止命令 Ctrl + z挂起命令 Ctrl + a光标移到命令行首,相当于Home Ctrl + e光标移到命令行尾,相当于End Ctrl + f光标向右移动一个字符 Ctrl + b光标向左移动一个字符 Alt + f光标向右移动一个单词尾 Alt + b光标向左移动一个单词首 Ctrl + xx光标在命令行首和光标之间移动 Ctrl + u从光标处删除至命令行首 Ctrl + k从光标处删除至命令行尾 Alt + r 删除当前整行 Ctrl + w从光标处向左删除至单词首 Alt + d从光标处向右删除至单词尾 Ctrl + d删除光标处的一个字符 Ctrl + h删除光标前的一个字符 Ctrl + y将删除的字符粘贴至光标后 Alt + c从光标处开始向右更改为首字母大写的单词 Alt + u从光标处开始,将右边一个单词更改为大写 Alt + l从光标处开始,将右边一个单词更改为小写 Ctrl + t交换光标处和之前的字符位置 Alt + t交换光标处和之前的单词位置 Alt + N提示输入指定字符后,重复显示该字符N次
注意:Alt组合快捷键经常和其它软件冲突
whatis
whatis +命令 查询命令功能 鼠标左键选择命令,右键可以直接粘贴该命令 makewhatis安装whatis数据库 8.163.128 在伪终端直接输入用户名和密码登录终端
好玩的欢迎界面!
nano /etc/motd 将下面图案写入motd,按ctrl+x,然后按enter保存,形成开机欢迎界面
_.._ ,------------.
,' `. ( I want you! )
/ __) __` \ `-,----------'
( (`-`(-') ) _.-'
/) \ = / (
/' |--' . \
( ,---| `-.)__`
)( `-.,--' _`-.
'/,' ( Uu",
(_ , `/,-' )
`.__, : `-'/ /`--'
| `--' |
` `-._ /
\ (
/\ . \.
/ |` \ ,-\
/ \| .) / \
( ,'|\ ,' :
| \,`.`--"/ }
`,' \ |,' /
/ "-._ `-/ |
"-. "-.,'| ;
/ _/["---'""]
: / |"- '
' | /
` |