本篇博客适合新手小白快速了解Linux,在自己电脑上安装一个Linux系统,同时熟悉一些基本的操作
一、Linux简介
Linux是一个自由的、免费的、开源的操作系统,相比windows具有更稳定、安全、高效的特点,同时具有良好的移植性和可靠的兼容性。
二、环境准备
1、Vmware安装
(1)、简介
虚拟机化技术,将多个操作系统作为虚拟机在单台物理服务器上运行,并且每台虚拟机都可以访问底层服务器的计算资源,从而解决计算地下问题。
(2)、安装:
版本:VMware12
下载地址:https://www.vmware.com/cn.html
接受许可申请、安装路径可自行更改,其余可全部点击下一步,完成安装。
安装密钥(供学习使用)
MA491-6NL5Q-AZAM0-ZH0N2-AAJ5A
5A6F6-88247-XZH59-HL0Q6-8CD2V
HF6QX-20187-2Z391-522NH-9AELT
5F29M-48312-8ZDF9-A8A5K-2AM0Z
5A02H-AU243-TZJ49-GTC7K-3C61N
2、虚拟机Linux安装
查看VMware中Linux系统的安装
3、网络配置
linux安装完成后
输入
[root@node01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
按i编辑,修改如下配置
DEVICE=eth0 #网卡设备名,请勿修改名字
TYPE=Ethernet #网络类型,以太网
BOOTPROTO=static #启用静态IP地址
ONBOOT=yes #开启自动启用网络连接
IPADDR=192.168.78.100 #设置IP地址(100前面需要与网关相同)
NETMASK=255.255.255.0 #设置子网掩码
GATEWAY=192.168.78.2 #设置网关 此处网关是VMware-->虚拟网关编辑器-->net设置中查到的网关
再进行网络解析器配置配置
[root@node02 ~]# vim /etc/resolv.conf
nameserver 192.168.78.2 #(虚拟机网关)
完成后执行
[root@node02 ~]# service network restart //进行网络服务重启
执行
[root@node02 ~]# ping www.baidu.com //能够ping通,说明网络部署成功
三、文件系统
1、Linux目录结构
Linux文件系统是数据的集合,文件系统不仅包含文件中的数据,还有文件系统的结构
查看方式
[root@node02 ~]# cd / //注意,默认下为root(~)目录,需到根目录 / 下查看
[root@node02 /]# ls
目录结构说明
bin:存放二进制可执行文件(ls,cat,mkdir等)
boot:存放用于系统引导时使用的各种文件
dev:用于存放设备文件
etc:存放系统配置文件
home 存放所有用户文件的根目录
lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt 系统管理员安装临时文件系统的安装点
opt 额外安装的可选应用程序包所放置的位置
proc 虚拟文件系统,存放当前内存的映射
root 超级用户目录
sbin 存放二进制可执行文件,只有root才能访问
tmp 用于存放各种临时文件
usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
var 用于存放运行时需要改变数据的文件
2、目录操作
cd + 目录的路径
[root@node01 /]# cd /usr //进入/目录下的usr文件夹
[root@node01 usr]# pwd //显示当前所在文件的绝对路径
[root@node01 usr]# cd .. //返回上一级目录
[root@node01 tmp]# cd ../.. //返回上一级的上一级
[root@node02 /]# cd //后面什么也不加为进入root目录 cd /root == cd ~ == cd
mkdir +
[root@node01 tmp]# mkdir demo01 //新建目录
[root@node02 tmp]# mkdir -p aa/bb //创建两层的文件夹,且aa文件夹不存在,需加-p,否则报错,若aa文件夹已存在,则可不加-p
拷贝目录
[root@node01 demo02]# cp demo01 demo02 -r //在当前目录下复制
[root@node01 demo02]# ls
demo01 demo02
[root@node01 tmp]# cp demo01 /usr/tmp/demo02 -r //将当前目录下文件拷贝至指定目录下
删除目录
[root@node01 demo02]# rmdir demo01 //删除空目录
[root@node01 demo02]# rm -rf demo02 //删除目录及下面所有文件目录
移动 更改目录
[root@node01 tmp]# mv demo01 /usr/tmp/demo02 //移动demo02到指定位置
[root@node01 demo02]# mv demo01 demo04 //重命名demo01 为demo04
3、文件操作
[root@node01 demo02]# touch web.log //新建文件
[root@node01 demo02]# cp web.log web_1.log //拷贝文件
[root@node01 demo02]# rm -rf web.log //删除文件
查看目录下的东西 ls ll(ls -l)
[root@node01 tmp]# ls //显示当前目录下文件
[root@node01 tmp]# ll //显示当前目录下的详细信息
查看所有东西包括隐藏文件
[root@node01 demo02]# ll -a
查看文件内容
[root@node01 demo02]# cat web_1.log //一次性展示文件所有内容
[root@node01 demo02]# more web_1.log //一次展示一屏幕内容
/*
按Space键,显示文本的下一屏内容。
按Enier键,只显示文本的下一行内容。
按B键,显示上一屏内容。
按Q键,退出。
*/
[root@node01 demo02]#head -10 web_1.log //打印文件前10行
[root@node01 demo02]#tail -10 web_1.log //打印文件末尾10行
[root@node01 demo02]#tail -f web_1.log //监视文件的变化状态,按Ctrl+c可退出
查找文件目录
[root@node01 /]# find / -name dem* //在/目录下查找名为dem...的文件,最后列出符合的 所有文件的绝对路径
[root@node02 ROOT]# find /usr/soft/apache-tomcat-8.5.24 -name *.jsp
四、文本编辑
vi
vi filename //打开或新建文件,并将光标置于第一行首
vi +n filename //打开文件,并将光标置于第n行首
vi + filename //打开文件,并将光标置于最后一行首
vi +/pattern filename //打开文件,并将光标置于第一个与 pattern匹配的串处
插入(insert)模式
• w保存
• q退出
• q!:不保存文件并退出vi
– 在VI的命令模式下输入“:set nu”,就有行号了。
– 在VI的命令模式下输入“:set nonu”,取消行号。
编辑(esc)模式
yy 复制光标所在行(常用)
nyy 复制光标所在行的向下n行,例如, 20yy则是复制20行(常用)
p为复制的数据粘贴在光标下一行
P则为粘贴在光标上一行(常用)
G:光标移至第最后一行
nG:光标移动至第N行行首
n+:光标下移n行
n-:光标上移n行
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
• dd:删除 行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
• u 恢复前一个动作(常用)
• 删除第N行到第M行:N,Md
• 删除光标所在位置到M行:,$-Md
vim
vim是由vi发展来的,代码补全,自动高亮,编译错误跳转等功能
[root@node01 /]# yum install vim -y //安装 vim
[root@node01 /]# vim /etc/hosts //使用
五、文件传输
克隆虚拟机
选中虚拟机(关闭状态)–>管理–>克隆
选中创建完整克隆,更改虚拟机名字,路径
其余下一步
远程拷贝
本地文件复制到远程机器
[root@node01 tmp]# scp web.log root@192.168.30.4:/usr/tmp/
root@192.168.30.4's password:
web.log
本地目录复制到远程机器
[root@node01 tmp]# scp -r demo02 root@192.168.30.4:/usr/tmp/
root@192.168.30.4's password:
上传
安装lrzsz : yum install lrzsz
输入rz,跳出windows目录,选中一个文件确认后上传到linux当前目录下
下载
[root@node01 tmp]# sz web.log //下载至windows系统
windows和Linux系统文件的交互可用4Xftp 或 XFTP等传输
六、网络指令
查看网络配置信息:ifconfig
[root@node01 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:42:9F:74
inet addr:192.168.30.3 Bcast:192.168.30.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe42:9f74/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5143 errors:0 dropped:0 overruns:0 frame:0
TX packets:3753 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2346063 (2.2 MiB) TX bytes:895089 (874.1 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
测试与目标地址的连通性
ping 目标地址
测试时Linux会一直ping,直至ctrl+c结束,而windows默认发四个包进行测试
[root@node01 ~]# ping www.baidu.com
PING www.a.shifen.com (115.239.210.27) 56(84) bytes of data.
64 bytes from 115.239.210.27: icmp_seq=1 ttl=128 time=11.8 ms
64 bytes from 115.239.210.27: icmp_seq=2 ttl=128 time=11.6 ms
64 bytes from 115.239.210.27: icmp_seq=3 ttl=128 time=13.1 ms
64 bytes from 115.239.210.27: icmp_seq=4 ttl=128 time=12.0 ms
64 bytes from 115.239.210.27: icmp_seq=5 ttl=128 time=11.2 ms
^C
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4398ms
rtt min/avg/max/mdev = 11.255/11.992/13.128/0.634 ms
//5 receive :接收到5个包 0% packetloss 丢包率
显示各种网络相关信息
[root@node01 ~]# netstat -a
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
七、系统配置
主机名配置
[root@node01 ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node01
DNS配置
[root@node01 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.30.4 node02 //后续虚拟机可直接ping node2 连接到地址为192.168.30.4
环境变量配置
Linux系统环境变量在/etc/profile文件里配置
也配置局部环境变量(优先使用局部的,两个不能同时配置)
[root@node02 ~]# vim .bash_profile
将对应bin目录下的命令路径拷贝至path下
八、服务操作
列出所有操作
[root@node02 ~]# chkconfig 列出所有操作
其中一到六代表不同的系统初始化级别
0:停机状态
1:单用户模式
2:多用户,不能使用net file system,一般很少用
3:完全多用户,一部分启动,一部分不启动,命令行界面
4:未使用、未定义的保留模式
5:图形化,3级别的部分图形界面进程都启动,并且会启动一部分图形界面
6:停止所有进程,卸载文件系统,重写启动(reboot)
Linux默认级别为3,不能将initdefault设置为0和6
服务操作
service 服务名 start/stop/status/restart
例:
关闭防火墙 service iptables stop
开启防火墙 service iptables start
永久关闭 chkconfig iptables off (默认为2345) chkconfig --level 2345 iptables off
永久开启 chkconfig iptables on chkconfig --level 2345 iptables on
九、linux进程操作
查看进程
ps -aux
-a 列出所有
-u 列出用户
-x 列出详细 cpu等等
-eu
-f
ps -ef|grep ssh 列出所有ssh的进程
杀死进程
kill pid
pid通过查看进程查到
-9 强制杀死
十、其他常用命令
yum
是Fdora和redhaty以及centOS中shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并进行安装,可以自动处理依赖关系,并且一次安装所有依赖包,免去重复安装
我们常用阿里云提供的yum下载源,而不是在国外的centOS
使用方式:
第一步:备份原镜像文件
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
第二步:下载新的centOS-Base.repo至yum.repos.d
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
运行完成后
vim /etc/yum.repos.d/CentOS-Base.repo //可以看到aliyun的来源地址
第三步:运行yum makecache生成缓存
yum makecach
wget
从网络上自由下载文件的自由工具,支持HTTP、HTTPS、FTP三种最常见的TCP/IP协议的下载传输
使用方法:
安装
yum install wget –y
爬一个网站
wget www.baidu.com -O baidu.html //-O 后面为保存当前目录下的文件名
tar
解压压缩工具
-z 进行解压或压缩 解压.hz或压缩至.gz的都要加
-x 解压
-c 压缩
-f 目标文件,压缩文件或解压文件名
-v 解压时打印信息
常用:
tar -zvxf xxxx.tar.gz //解压
tar -zcf xxxx.tar.gz //压缩
十一、JDK部署
下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
上传并解压
tar -zxf jdk-7u80-linux-x64.tar.gz
配置环境变量(2种方法)
[root@node02 tmp]# vim /etc/profile //方式一
JAVA_HOME=/usr/soft/jdk1.8.0_191
export PATH=$PATH:$JAVA_HOME/bin
[root@node02 ~]# vim .bash_profile //方式二
JAVA_HOME=/usr/soft/jdk1.8.0_191
export PATH=$PATH:$JAVA_HOME/bin
重新加载环境变量
source /etc/profile
验证安装成功
java -version //可出现版本号
十二、tomcat部署
上传解压
直接进入解压后的tomcat文件夹下的bin目录下
[root@node02 bin]# ./startup.sh //此时已启动
[root@node03 bin]# jps //jps作用查看java进程,tomcat的进程名为Bootstrap
验证
关闭Linux防火墙
浏览器输入 linux虚拟机ip:8080 出现tomcat主页面即tomcat启动成功