linux主要发行版:
1. slackware:SUSE Linux Enterprise Server (SLES)
2. OpenSuse桌面
3. debian: ubuntu,deepin(深度),mint
4. redhat: RHEL: RedHat Enterprise Linux
5. ArchLinux:轻量简洁,遵循K.I.S.S.原则( keep it simple and stupid )
6. Gentoo:极致性能
7. FS:Linux From scratch 自制Linux
8. Android:kernel+busybox(工具集)+java虚拟机
Linux哲学思想:
1. 一切都是一个文件(包括硬件)
2. 小型,单一用途的程序
3. 链接程序,共同完成复杂的任务
4. 避免令人困惑的用户界面
5. 配置数据存储在文本中
虚拟机安装centos:
1.软硬件准备
软件:推荐使用VMwear,我用的是VMwear 14
硬件:因为是在宿主机上运行虚拟化软件安装centos,所以对宿主机的配置有一定的要求。最起码I5CPU双核、硬盘500G、内存4G以上。
2.虚拟机准备
1.打开VMwear选择新建虚拟机
2.典型安装与自定义安装
典型安装:VMwear会将主流的配置应用在虚拟机的操作系统上,对于新手来很友好。
自定义安装:自定义安装可以针对性的把一些资源加强,把不需要的资源移除。避免资源的浪费。
这里我选择自定义安装。
3.虚拟机兼容性选择
这里要注意兼容性,如果是VMwear12创建的虚拟机复制到VM11、10或者更低的版本会出现一不兼容的现象。如果是用VMwear10创建的虚拟机在VMwear12中打开则不会出现兼容性问题。
4.选择稍后安装操作系统
5.操作系统的选择
这里选择之后安装的操作系统,正确的选择会让vm tools更好的兼容。这里选择linux下的CentOS
6.虚拟机位置与命名
虚拟机名称就是一个名字,在虚拟机多的时候方便自己找到。
VMwear的默认位置是在C盘下,我这里改成E盘。
7.处理器与内存的分配
处理器分配要根据自己的实际需求来分配。在使用过程中CPU不够的话是可以再增加的。
内存也是要根据实际的需求分配。我的宿主机内存是8G所以我给虚拟机分配1G内存。
8.网络连接类型的选择,网络连接类型一共有桥接、NAT、仅主机和不联网四种。
桥接:选择桥接模式的话虚拟机和宿主机在网络上就是平级的关系,相当于连接在同一交换机上。
NAT:NAT模式就是虚拟机要联网得先通过宿主机才能和外面进行通信。
仅主机:虚拟机与宿主机直接连起来
桥接与NAT模式访问互联网过程,如下图所示
这里选择桥接模式
9.其余两项按虚拟机默认选项即可
10.磁盘容量
磁盘容量暂时分配100G即可后期可以随时增加,不要勾选立即分配所有磁盘,否则虚拟机会将100G直接分配给CentOS,会导致宿主机所剩硬盘容量减少。
勾选将虚拟磁盘拆分成多个文件,这样可以使虚拟机方便用储存设备拷贝复制。
11.磁盘名称,默认即可
12.取消不需要的硬件
点击自定义硬件
选择声卡、打印机等不需要的硬件然后移除。
13.点击完成,已经创建好虚拟机。
3.安装CentOS
1.连接光盘
右击刚创建的虚拟机,选择设置
先选择CD/DVD,再选择使用ISO映像文件,最后选择浏览找到下载好的镜像文件。启动时连接一定要勾选上后确定。
2.开启虚拟机
3.安装操作系统
开启虚拟机后会出现以下界面
Install CentOS 7 安装CentOS 7
Test this media & install CentOS 7 测试安装文件并安装CentOS 7
Troubleshooting 修复故障
选择第一项,安装直接CentOS 7,回车,进入下面的界面
选择安装过程中使用的语言,这里选择英文、键盘选择美式键盘。点击Continue
首先设置时间
时区选择上海,查看时间是否正确。然后点击Done
选择需要安装的软件
选择 Server with Gui,然后点击Done
选择安装位置,在这里可以进行磁盘划分。
选择i wil configure partitioning(我将会配置分区),然后点击done
如下图所示,点击加号,选择/boot,给boot分区分300M。最后点击Add
然后以同样的办法给其他三个区分配好空间后点击Done
然后会弹出摘要信息,点击AcceptChanges(接受更改)
设置主机名与网卡信息
首先要打开网卡,然后查看是否能获取到IP地址(我这里是桥接),再更改主机名后点击Done。
最后选择Begin Installation(开始安装)
设置root密码
设置root密码后点击Done
点击USER CREATION 创建普通管理员用户
输入用户名密码后点击Done
等待系统安装完毕重启系统即可
linux命令基本使用及使用示例:
1.命令基本格式:
COMMAND [OPTIONS…] [ARGUMENTS…]
选项:用于启用或关闭命令的某个或某些功能
短选项:-c 例如:-l, -h
长选项:–word 例如:–all, --human-readable
参数:命令的作用对象,比如文件名,用户名等
注意:
多个选项以及多参数和命令之间使用空白字符分隔
取消和结束命令执行:Ctrl+c,Ctrl+d
多个命令可以用;符号分开
一个命令可以用\分成多行
2.echo命令:
功能:显示字符
语法:echo [-neE][字符串]
选项:选项:
-E (默认)不支持 \ 解释功能
-n 不自动换行
-e 启用 \ 字符的解释功能
显示变量
echo "$VAR_NAME” 变量会替换,弱引用
echo '$VAR_NAME’ 变量不会替换,强引用
3.screen命令:
功能:多重视窗管理
语法:screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]
选项:
创建新screen会话
screen –S [SESSION]
加入screen会话
screen –x [SESSION]
退出并关闭screen会话
exit
剥离当前screen会话
Ctrl+a,d
显示所有已经打开的screen会话
screen -ls
恢复某screen会话
screen -r [SESSION]
date命令:
功能:显示或设置系统时间与日期
语法:date(选项)(参数)
选项:
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
–help:在线帮助;
–version:显示版本信息
日期格式字符串列表
%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)
ifconfig命令:
功能:显示或设置网络设备
选项:
add<地址> 设置网络设备IPv6的IP地址。
del<地址> 删除网络设备IPv6的IP地址。
down 关闭指定的网络设备。
<hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
io_addr<I/O地址> 设置网络设备的I/O地址。
irq<IRQ地址> 设置网络设备的IRQ。
media<网络媒介类型> 设置网络设备的媒介类型。
mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
mtu<字节> 设置网络设备的MTU。
netmask<子网掩码> 设置网络设备的子网掩码。
tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
up 启动指定的网络设备。
-broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
-pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
-promisc 关闭或启动指定网络设备的promiscuous模式。
[IP地址] 指定网络设备的IP地址。
[网络设备] 指定网络设备的名称。
实例:
显示网络设备信息
启动和关闭网卡:
#ifconfig ens33 down
#ifconfig ens33 up
为网卡配置和删除IPv6地址:
#ifconfig ens33 add 33ffe:3240:800:1005::2/ 64
#ifconfig ens33 del 33ffe:3240:800:1005::2/ 64
用ifconfig修改MAC地址:
#ifconfig enss33 hw ether 00:AA:BB:CC:DD:EE
配置IP地址:
#ifconfig ens33 192.168.0.115 netmask 255.255.255.0 broadcast 192.168.0.255
export命令:
功能:用于设置或显示环境变量
语法
export [-fnp][变量名称]=[变量设置值]
参数说明
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
history命令:
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps arg [arg…]
-c: 清空命令历史
-d offset: 删除历史中指定的第offset个命令
n: 显示最近的n条历史
-a: 追加本次会话新执行的命令历史列表至历史文件
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-n: 读历史文件中未读过的行到历史列表
-p: 展开历史参数成多行,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后
命令历史相关变量:
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
实例:
显示历史命令;显示历史命令的最后5条,删除第一条历史命令;
设置历史命令条数为10条;设置历史文件中保存的命令为5条;设置显示的格式带时间