一、linux发展历程
①1969年unix诞生贝尔实验室
②谭宁邦:minix unix
③斯托曼(stallman),公司:自由软件基金会(FSF)
项目:GNU
规则:GPL(所有人可以自由传播,自由修改)
④斯托曼:91年开发出linux内核。
二、如何选择linux的发行版本
(一)linux桌面系统
①Ubuntu(乌班图),开发人员开发平台
②服务器linux系统:
redhat,centos(去掉redhat收费软件,去掉红帽里面的log)
③安全性较高:debian,freedsd
④数据库高级服务:openSUSE
⑤新技术、新功能:Fedora(稳定性:Fedora》redhat》centos)
⑥中文版本:红旗linux,麒麟linux。
三、企业标准选择系统
(一)系统分类
centos6.,centos7.
官网为:Centos.org
国内镜像网站:mirrors.aliyun.com
镜像源解释:
LiveDVD:体验版,写入到光盘中个,刻录到u盘中。
bin-DVD:生产中使用的。
torrent:下载种子。
(二)系统位数区别及虚拟机
32位和64位区别
①设计时候定位不同。
②安装配置要去不同。
③运算速度不同。
④寻址能力不同。
四、虚拟机
在一台计算机上,虚拟出多台计算机。
(一)学习环境的选择与推荐配置
Win7/10,intel i5以上cpu,内存8G以上,硬盘500G
虚拟机版本选择:
windows:Vmware 8.0/12
mac:vmware fusion
(二)虚拟机创建(vmware)
创建新的虚拟机--自定义--稍后安装操作系统--linux/redha/centos--虚拟机名称、虚拟机存放位置(vmware)--处理器配置(默认)--内存设置(大于1G)--网络类型(推挤nat)--磁盘(默认)-创建一个新的磁盘--指定磁盘容量(20G)--指定磁盘位置。
(三)虚拟机常见问题
①权限不够:右击以管理员身份运行
②编辑虚拟机配置:
CD/DVD:使用ISO读取文件,选择镜像所在的位置。
③点击运行虚拟机
Inter-vt-x不支持。
重启计算机后-F1,F2 进入安全模式:
security-vitualizaition-vitualizaition(开启)
vmware 相关windows服务没有开启:
services.msc 启动所有vmware
(四)企业级标准安装centos系统
运行虚拟机:选择
①install or upgrade an existing system
rescue installled system 启动救援模式
②media found --skip
③语言选择:English
④键盘:默认
⑤安装硬件存储类型:basic storage device
⑥hostname:centos6.9
⑦时区:上海
⑧设置root密码:123456
⑨分区:
use all space 使用所有空间
replace existing linux system 替换现有linux系统
shrink current system 缩小现有系统
use free space 使用剩余空间
***create custom layout 创建自定义布局
/boot 引导系统启动--200M
swap --内存的1.5倍。交换分区,临时作为内存使用
/ 根分区,剩余多少给多少。一切从根开始(c盘)。
点击(分区3次,点击3次):Free,选择分区,force to be primary partion。--format(格式化)
选择安装方式安装系统:minmal 最小化,customize now(自定义)
base system:base,cmpatibility libraries,debugging tools
deveplopment:deveplopment tools
reboot (重启)
配置虚拟机网络:
vmware 编辑虚拟网络编辑器:点击nat模式
(五)Linux网络配置
网络配置:
①setup-②network-configuration-③device conf -④eth0-⑤network configuration(去掉型号,按空格)-⑥ok-⑦save-⑧saveandquit-⑨quit
网卡的配置生效:
重启网卡:ifdown eth0;ifup eth0
查看网卡信息:ifconfig
(六)xshell 安装与优化
常用登陆登陆工具:xshell,secureCRT,putty
文件-属性:进行个性化设置
工具-选项:文件存储位置
登陆失败问题排除:
ip地址+端口(22)
vmware 的3种的网络模式
①电脑pc--皇帝
②虚拟机--贫民百姓
贫民百姓只关注谁给分配房子。
NAT模式:
①电脑pc---皇帝
②nat----宰相
③虚拟机---贫民百姓
贫民百姓的房子是宰相分配的,与皇帝无关。
虚拟机的ip是nat分配的,电脑环境无论怎么变化,都不会影响虚拟机。
好处:无论何处,连接虚拟机都可以使用相同的IP。
桥接模式:
①电脑pc--皇帝
②虚拟机--贫民百姓
只要更换环境,电脑和虚拟机的ip地址都会变化。
仅主机模式:
①电脑pc--皇帝
②虚拟机--贫民百姓
虚拟机贫民百姓被控制了,无法与外界联系,无法上网。
远程连接排错:屌丝去洗浴中心之路
①查看道路是否畅通
ping服务器的ip地址(本地shell进行ping测试)
②是否有人打劫
③查看是否提供服务
本地测试:telnet ip 端口
五、知识回顾
(一)基础知识
1.1解释下什么是GPL,GNU,自由软件
GNU:GNU is not unix
自由软件:gawk,bash,gcc,cmacs
GPL:通用许可证
1.2.如何选择linux操作系统发行版本?
redhat ,centos
1.3linux下面进行分区的几种方法?
/boot 引导分区
swap 交换分区
/ 根目录
1.4远程连接排错问题?
使用ping和telnet命令在本地进行测试:ip和端口。
(二)初次接触linux必会规则
[root@centos6-kvm2 ~]#
用户名,主机名,当前位置,提示符
linux系统命令操作语法的命令
命令和参数之间要有空格。
六、linux使用命令
/ 一切从根从开始。(斜线方向和win相反)
(1)创建一个目录(directory):
mkdir /data
ls #list 列表,显示目录里面的内容。
ls -l /data #查看目录里详细信息(tap键可以自动补全)。
(2)进入到某个目录:
cd /data
绝对路径:从根开始的路径,最前面有个/,如:/data,/etc/hosts
相对路径:不是从根目录开始,前面无/。
pwd #查看当前目录位置。
(3)创建文件:
touch /data/oldboy.txt
ls -l /data/
(4)编辑文件内容
vim /data/oldboy.txt
编辑文件:i
保存编辑文件:esc ,:wq!(q!强制退出,不保存编辑内容)。
(5)查看文件内容
查看编辑文件的内容:cat /data/oldboy.txt
(6) echo 命令使用
echo hello world
将内容追加到文件最后一行:(》重定向符号)
echo hello world >>/data/oldboy.txt
⑥在文件中放入多行内容
cat >>/data/oldboy.txt< i am 。。。 EOF(end of file ,也可以使用其他符号,和上面配对使用即可) (7)重定向符号 标准输出重定向(>),将文件内容清空后再写入。 追加重定向(>>),把内容放在文件最后一行。 重定向符号前有1(1>>,1>),将正确的内容重定向至文件。 重定向符号前有2(2>,2>>),将错误的内容重定向至文件。(错误命令执行的结果),如:eho hello >>/data/oldboy.txt 2>>/data/oldboy.txt。可以简写成:eho hello >> /data/oldboy.txt 2>&1 #把错误的对的信息都放入。 小于号(<):输入重定向 xargs #分组命令 两个大鱼号(>>): (8)复制(cp) 复制文件: cp /data/oldboy.txt /data/num.txt 备份: cp /data/oldboy.txt /data/oldboy.txt .bak 复制目录: cp /data /temp (omitting directory 忽略这个目录) cp -r /data /temp (递归复制) 复制目录也可以:cp -a /data /tmp (-a,-pdr,复制所有:-p保持属性) (9)将文件移动(mv,剪切) mv /data/oldboy.txt /temp ls -l /data/oldboy.txt 注意:vmware快照功能。 (10)进入目录删除文件 cd /tmp/data ls -l #查看当前目录内容 rm oldboy.txt #-f,强制删除 rm -r /data #删除目录-r,-rf强制删除 注意:快捷键 ctrl +c #退出 ctrl + l #清屏 (11)find 命令使用 find /root/ -type f -name "oldboy.txt" -type :类型,f文件,d目录 -name :名字,使用双引号。范围查找:“*.txt” 管道符:|,把前面命令的结果,传递给后面的命令。管道符和xargs 搭档使用。 (12)退出至上一级目录 cd ..#退至上一级目录 cd ../#退至根目录 注意:(.)一个点表示当前目录。 (13)删除文件中固定的内容 grep :查找内容所在的行,-v,取相反的内容 [root@centos6-kvm2 /]# grep -v 'AM' /data/num.txt head #默认取前10行,-nxx,取前xx行。 [root@centos6-kvm2 /]# head /data/num.txt -n 2 tail:#默认取后10行,-nxx,取后xx行。 [root@centos6-kvm2 /]# tail -2 /data/num.txt awk:过滤,!表示取反。 [root@centos6-kvm2 /]# awk '!/OLDBOY/' /data/num.txt sed:过滤 [root@centos6-kvm2 /]# sed '/OLDBOY/d' /data/num.txt (14)使用一条命令创建目录(多级) mkdir -p /oldboy/test #-p,创建多级命令;-v显示创建过程。 (15)已知tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。 强制:不提示确认键 方法1:反斜线 -i #命令提示参数,linux别名中带有-i linux别名:防止危险命令,简化命令。 临时设置linux别名: 查看系统中别名:alias cp 配置别名: 执行rm 让其显示 do not rm: alias rm='echo do not rm' 永久设置linux别名: vim /etc/profile alias rm='echo do not rm' source /etc/profile #使其生效。 移动光标至最后一行:G 移动光标至第一行:gg 在光标所在位置的下一行插入一行,并进入编辑模式:o 在vim /root/.bashrc 中有:rm,cp,mv -i的别名,如果要修改,需要将这个文件中的别名注释掉。 命令前加,临时取消别名。 (16)取出某一行或者多行 sed -n '20p' /data/num.txt sed 默认取出所有内容,-n参数,只取出所选择的内容。 head +tail组合: awk: 小结: 1取出文件某一行 awk:三剑客之老三,擅长取列,NR表示行号。 sed :三剑客之老二,取行,与p配合使用。-n取消默认输出 '10p','10,15p' head + tail组合使用。 grep -A10,找到显示的内容及接下来的行。 (17)替换文件工作 找出文件 find /data/ -type f -name '*.text' 把oldboy文件的内容替换成oldgirl 把find命令找到内容交给后面命令处理 注意:linux命令帮助,man 命令[root@centos6-kvm2 ~]# mkdir /data
[root@centos6-kvm2 ~]# touch /data/num.txt
[root@centos6-kvm2 ~]# echo 1 2 3 4 5 >>/data/num.txt
[root@centos6-kvm2 ~]# xargs -n2
[root@centos6-kvm2 ~]# cat >> /data/num.txt << EOF
> I AN
> STUDING
> LINX
> EOF
[root@centos6-kvm2 ~]#
[root@centos6-kvm2 /]# find /data/ -type f -name "num.txt" | xargs ls -l
-rw-r--r-- 1 root root 28 Dec 11 00:01 /data/num.txt
[root@centos6-kvm2 /]#
方法2:使用命令的绝对路径,全路径(如:which cp)[root@centos6-kvm2 /]# sed -n '10,15p' /data/num.txt
[root@centos6-kvm2 /]# sed -n '10p' /data/num.txt
[root@centos6-kvm2 /]# head -15 /data/num.txt | tail -5
[root@centos6-kvm2 /]# awk 'NR==10,NR==15' /data/num.txt
1
1
1
1
4
[root@centos6-kvm2 /]# sed -n '10,15p' /data/num.txt
1
1
1
1
4
[root@centos6-kvm2 /]#
[root@centos6-kvm2 /]# sed -i 's#OLDBOY#OLDGIRL#g' /data/num.txt
[root@centos6-kvm2 /]# find /data/ -type f -name num.txt | xargs sed -i 's#OLDBOY#OLDGIRL#g' /data/num.txt