Linux系统快速入门
1学习目标:
对linux的基本认识
常用linux命令的使用
JAVAEE :后台应用都会涉及到linux系统,应用程序的部署,运维,分布式集群,大数据,云计算
Linux基本概念:
什么是linux:Linux是一种自由和开放源码的操作系统
应用在哪里:服务器操作系统(比如数据库服务器:安装了“oracle服务软件”的计算机)
UNIX封闭、收费的,跟硬件捆绑销售的;LINUX自由和开源,兼容性非常好
Linux的发行版(封装版):企业市场占有率最高:redhat企业版 ,次之:社区版centos
个人市场:Ubuntu
2 linux系统安装
下载linux发行版光盘镜像
在物理机或者虚拟机上安装linux系统
虚拟机:用软件模拟出来的一台虚拟计算机
虚拟机软件:用来创建和运行虚拟计算机的一个软件
步骤:
[if !supportLists]1、 [endif]启动vmware
[if !supportLists]2、 [endif]点击新建虚拟计算机
[if !supportLists]3、 [endif]给虚拟计算机做各种硬件配置,其中,虚拟网络模式一定要选择:
[if !supportLists]4、 [endif]所有硬件设备配置完成后,勾上power on
2.2如何使用一台已经安装好的虚拟机
1、把安装好的虚拟机的文件夹拷贝到windows的某个目录,比如C:\CentOS32\CentOS
2、启动vmware软件
3、从vmware的菜单中点击file,然后选择open
[if !supportLists]5、 [endif]在弹出的文件选择框中:
[if !supportLists]6、 [endif]然后,vmware会弹出一个提示“i moved it “ or “i copied it”,建议选择“i moved it “
[if !supportLists]7、 [endif]然后,vmware的虚拟机列表中会多出一台虚拟机
[if !supportLists]8、 [endif]选择这一台虚拟机,对它的硬件进行修改
9、启动centos就可以了
3 linux系统的远程登陆
[if !supportLists]l [endif]计算机网络基本常识
TCP/IP协议:是计算机网络的传输层及路由层全球通用的协议
TCP:传输层的协议 IP:网络层协议——根据IP地址来在网络中查找路由
IP地址配置:
[if !supportLists]1、 [endif]网络中的每一个节点都需要至少一个ip地址
[if !supportLists]2、 [endif]网络中的ip地址不能重复
[if !supportLists]3、 [endif]配置格式:
Ip : 192.168.2.171
网关: 192.168.2.1
子网掩码:255.255.255.0
——子网掩码是用来区分网段(跟ip地址与操作得到网段192.168.2.0)
域名服务器:8.8.8.8 (默认情况下就填网关的地址也可以192.168.2.1)
4、内网域名的配置:在访问端(客户机)上的hosts文件中,配置目标主机的ip和自定义域名
网关——路由器/交换机
主机名
[if !supportLists]l [endif]如何远程登录linux服务器
1、要知道目标linux服务器的ip地址
2、客户端跟目标服务器两者要能联网
3、要有一款ssh登录的客户端软件
4、启动ssh客户端软件进行登录
[if !supportLists]l [endif]虚拟网络配置
虚拟出来的linux服务器可通过vmware提供的虚拟网络进行组网,组网的方式主要有两种:
[if !supportLists]1. [endif]NAT模式
[if !supportLists]2. [endif]桥接模式
建议采用NAT方式,NAT组网方式如下:
[if !supportLists]ü [endif]要点:vmware会虚拟出一台“虚拟交换机”,所有的虚拟主机以及宿主物理机都通过虚拟网卡连接到了这台交换机上,如图:
[if !supportLists]ü [endif]配置步骤:
首先,要在vmware中给虚拟计算机选择虚拟网络模式NAT
接下来,要在vmware中为NAT虚拟网络配置一下虚拟网关的地址
[if !supportLists]l [endif]在弹出的窗口中选择NAT项
[if !supportLists]l [endif]点击NAT Settings,弹出一个虚拟网关地址配置窗口,填入自己想要的虚拟网关地址
[if !supportLists]l [endif]然后回到linux服务器,配置linux服务器的ip地址,先通过图形界面配置
[if !supportLists]l [endif]选择Manual来手动指定ip地址:
这里的网关地址要与VMWARE模拟的那台虚拟交换机的地址一致
配置完成以后,要在网络连接小图标上“禁用”网络,然后再“启用”网络,才能让配置生效
[if !supportLists]l [endif]Linux服务器的ip地址配置好后,还要配置物理宿主机windows的ip地址
进入网络连接配置,选择VMNET8这块网卡(由vmware虚拟出来的一块NAT模式网卡)
[if !supportLists]l [endif]在VMNET8上点击右键,弹出属性配置窗口
[if !supportLists]l [endif]配置IP地址,如下:
[if !supportLists]Ø [endif]Ip地址配好以后,就可以远程登录服务器进行操作管理了
对服务器的管理,都是通过远程登录来进行,远程登录的常用软件有以下3款:
xshell
putty
secureCRT ----recommend推荐
这些软件都是基于一种通信协议来进行远程登录:SSH协议
(这种协议要求远程登录者进行身份验证
有两种认证方式——“用户名+密码”机制<默认机制>,密钥机制<需要事先配置才有>)
启动crt远程登录软件,点击闪电图标,进行连接配置
在弹出的连接配置窗口中,把地址配成我们的虚拟linux服务器的地址
**登录之后的提示符:
[renwoxing@localhost ~]$
其中renwoxing是当前登陆者的用户名
localhost是本服务器的主机名
~是表示登陆者目前所处的目录,~就是指该登陆者的主目录/home/renwoxing
4 linux文件系统常用管理操作命令
[if !supportLists]ü [endif]Linux的文件系统跟windows有一个最显著的区别:
文件系统有一个统一的根目录:“/” ,所有存储资源(磁盘分区,光驱,usb外部存储等等全部都挂载在根目录下)
系统刚安装好时,都会有这样一些文件夹:
要认识这几个:
/bin可执行的命令|程序
/sbin系统管理命令所在的目录,此目录中的命令,默认只有root才能执行
/home是所有普通用户的家目录的上级目录,比如angelababy的家目录:/home/angelababy
/root是超级用户root的家目录
/etc是系统配置文件所在的目录
/tmp是系统的临时文件夹
/usr unix shared resource各用户之间共享资源存放的目录
[if !supportLists]ü [endif]Linux系统的关机或重启或睡眠
[if !supportLists]ü [endif]Linux系统时间修改
弹出一个设置窗口:
4.1日常文件管理命令
tips:输入命令的时候要常用tab键来补全
ls 查看目录信息(ls /)
ls -l等价于 ll
pwd查看当前所处目录的绝对路径
cd切换工作目录 (cd /) ,如果不带参数则切换到用户主目录 ~
路径的表示方法有“相对路径”和“绝对路径”
比如如果当前所处目录为/home/angelababy,要查看/home目录下的信息,可以有两种方法:
ls ../
ls /home
mkdir创建文件夹
mkdir -p a/b/c如果要创建的文件夹的父目录不存在,则自动创建
rmdir删除空文件夹 (只能删除空文件夹)
rm -r /a/b (删除非空文件夹)
删除文件
rm filename (rm -r删除文件夹 rm -rf 强制删除文件或文件夹)
创建文件
touch a.avi创建一个空文件
echo "angelababy,zhen de hen xihuan ni" > qingshu.txt把左边的输出放到右边的文件里去
echo "huangxiaoming,gun cu" >> qingshu.txt往已经存在的文件中追加内容
移动文件修改文件名
mv a/wenjian1.txt b/file1.txt (移动文件的同时还修改了文件名)
拷贝文件,如:
cp ./a/srcfile ./b/destfile
查看文本文件内容
cat wodeqingshu.txt一次性将整个文件内容全部显示在屏幕上
more wodeqingshu.txt可以分页看(翻页:空格, 往回翻:b ,退出: q或者 Ctrl+C)
less wodeqingshu.txt 不仅可以分页,还可以方便地搜索,回翻等操作(翻页:空格,往回翻页:b 往回一行:↑,往下一行:↓,退出:q或者 Ctrl+C)
tail -10 wodeqingshu.txt查看文件的尾部的10行
程序打出的日志在生产实践中具有非凡的debug的意义
tail -f user.log实时刷新显示文件的尾部
head -20 wodeqingshu.txt查看文件的头部20行
4.2文件归档压缩(1:打包--归档; 2:压缩)
1、归档
打包:
tar -cvf testdir.tar testdir/
参数解释:c:create v:verbose显示进度 f:file
解包:
tar -xvf testdir.tar
参数解释:x:extract
2、压缩
gzip testdir.tar
gzip file
bzip file
解压缩:gzip -d testdir.tar.gz
归档压缩一次完成:
tar -czvf testdir.tar.gz testdir/
tar -xzvf testdir.tar.gz解压到当前目录下
tar -xzvf testdir.tar.gz -C Downloads/解压到指定的Downloads目录下
4.3文件权限管理
linux系统中对文件权限的描述机制:
d r w x r w x r - x
所有者所属组其他人
可以表示为二进制:111 111 101
也可以表示为十进制:7 7 5
修改权限
chmod u+rwx file为file添加或取消所属用户的权限
(u代表所属用户 o代表其他用户 g代表所属组的成员用户)
chmod 567 file用数字也可以表示权限
5 ---> 101 ---> r-x
6 ---> 110 ---> rw-
7 ---> 111 ---> rwx
修改文件的所有者owner(只能由root权限才能操作)
chown root:root file#将file的所有者改成hadoop用户,所属组改成hadoop组
[if !supportLists]Ø [endif]rwx权限的含义:
r:对文件---可以读取文件的内容 cat
对文件夹——可以查看文件夹的子节点信息ls
w:对文件——可以修改文件的内容
对文件夹——可以增减文件夹中的子节点(文件或子文件夹)
x:对文件——是否可运行
对文件夹——是否可cd进入
5用户管理
5.1添加用户
useradd itcast0526
必须设置密码才能正常登陆passwd itcast0526
5.2删除用户
userdel itcast0526----这样删除的时候,用户的主目录会被保留
userdel -r itcast0526-----删除用户的同时删除用户的主目录
5.3修改用户属性(******了解*******)
usermod-l itcast itcast0526将itcast0526的登陆名改为itcast
usermod -g angelababy diadia将diadia的primary组改为angelababy 组
usermod -G hadoop,hellogrp itcast给itcast添加两个组hadoop,root
usermod -d /home/itcast itcast0526将itcast0526的主目录改成/home/itcast
(要事先创建itcast目录,并且拷入环境变量文件)
----****----修改用户的密码
passwd itcast0526
5.4用户组管理
创建用户组
groupadd heros
删除用户组
groupdel beauties
查看当前登陆者的身份
whoami
查看用户所属组
groups angelababy
6常见系统管理
****(凡是涉及到修改,就一定要用root权限)
轻易不要使用su去切换到root的身份
普通用户使用sudo来执行root权限的命令
如,将heima16 用户添加到sudoers文件中去vi /etc/sudoers
root ALL=(ALL) ALL
heima16 ALL=(ALL) ALL
6.2磁盘空间信息查看
df -h查看磁盘空间状态信息
du -sh ./*查看指定目录下所有子目录和文件的汇总大小
6.3进程管理
free查看内存使用状况 可以带单位,比如,显示M, free -m
top查看实时刷新的系统进程信息
ps -ef查看系统中当前瞬间的进程信息快照
ps -ef | grep myshell.sh搜索myshell进程的信息
kill -9 pid杀掉进程 (-9 表示强制杀死)
6.4网络管理
[if !supportLists]ü [endif]查看ip地址
ifconfig
修改ip地址的配置
[if !supportLists]ü [endif]vi /etc/sysconfig/network-scripts/ifcfg-eth0修改该配置文件即可改ip地址;
[if !supportLists]ü [endif]或者在root权限下用setup指令通过一个带提示的伪图形界面来修改;
[if !supportLists]ü [endif]修改主机名
sudo vi /etc/sysconfig/network修改其中的hostname配置项
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=heima16-server-01
要想立即生效可以执行指令
[root@localhost ~]# hostname heima16-server-01
执行完后重登陆可以立刻看到效果
[if !supportLists]ü [endif]管理内网的"主机名---ip地址"本地映射
[if !supportLists]ü [endif]查看当前的进程连接网络的信息
netstat -nltp 获取系统当前正在监听端口tcp协议的进程
netstat -natp
获取系统当前所有网络监听进程以及建立了连接的网络进程
[if !supportLists]ü [endif]网络服务管理(root权限下)
重启网络服务service network restart
关闭防火墙服务service iptables stop
关闭防火墙自动启动chkconfig iptables off
指定运行级别下的自启动chkconfig --level 2345 iptables on
查看防火墙运行状态:service iptables status
查看防火墙的自动启动配置:chkconfig iptables --list
防火墙开启端口:
iptables -I INPUT -p tcp -j ACCEPT --dport 8080
service iptables save
6.5修改系统的默认启动级别(****了解******)
vi /etc/inittab
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
~
用level 3就启动全功能状态的字符界面
注:在命令行模式下,用startx可以手动启动图形界面(在服务器上操作)
7常用工具指令
[if !supportLists]ü [endif]wc #统计文本信息(行数,词数,字符数)
[if !supportLists]ü [endif]date #查看或者修改系统的日期和时间
date -s 2015-08-03
date -s 14:15:00
date -s "2015-08-03 14:15:00"
把系统时间写入CMOS
clock -w
[if !supportLists]ü [endif]echo #输出字符串或者变量的值
[if !supportLists]ü [endif]vi #linux系统中最常用的文本编辑器
vi hello.world进入文件编辑
进去之后处于非编辑模式,此时,要按一个i进入insert模式
在insert模式下,可以跟普通文本编辑器一样编辑内容
编辑完成之后,先按Esc退出insert模式,进入非编辑模式
然后再按:进入底行命令模式,在底行命令中敲入wq并回车,即可保存
(保存文件的另一种模式:按Esc退出insert模式,然后直接按快捷键保存—— shift + zz)
如果不保存,底行命令就用q!
[if !supportLists]ü [endif]grep在文本中搜索关键词
grep “common” install.log
通常将grep跟别的命令组合使用来搜索我们感兴趣的信息
比如,我要在进程信息中找到某个特定进程:
ps -ef | grep “hello”
[if !supportLists]ü [endif]find查找文件
find /home/angelababy -name “qingshu”
8 linux中的软件安装
8.1 java软件安装
[if !supportLists]ü [endif]Jdk安装
将安装包解压到你的安装路径下
然后修改环境变量
vi /etc/profile
修改保存退出vi编辑器后,执行命令:
source /etc/profile #用以让环境配置生效
[if !supportLists]ü [endif]Eclipse安装
选择正确的版本拖到linux系统中,解压即可执行
8.2 RPM包安装
redhat公司的RPM方式的包管理 也是很常用的软件包管理器
示例:Mysql安装
先删除系统中自带的残存mysql库
rpm -qa | grep mysql#查看系统中已有的mysql相关的库
rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps#删除老的库
rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm #安装mysql服务器
rpm -ivh MySQL-client5.1.73-1.glibc23.i386.rpm #安装mysql客户端
64位 MySql安装后的密码修改步骤:
/root/.mysql_secret#安装后生成的mysql中root用户的随机密码
service mysql start#启动mysql服务
mysql -uroot -p randomp#使用随机密码登陆
>set password=password("root");
>flush privileges;
>exit;
开启远程访问权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES
8.3网络版RPM----yum(Yellow dog Updater)
1、列出所有可以安装的软件包,从其中查找tomcat相关的包
yum list | grep tomcat
2、安装软件包(比如tomcat)
yum -y install tomcat6.i686
yum会自动解决依赖,如下:
3、查询yum所安装的软件的安装目录
[if !supportLists]ü [endif]先查询所安装的软件包的名称:
rpm -qa | grep vsftp
[if !supportLists]ü [endif]再查询安装目录
[root@notrue-centos ~]# rpm -qa | grep vsftp
vsftpd-2.2.2-14.el6.x86_64
[root@notrue-centos ~]# rpm -ql vsftpd-2.2.2-14.el6.x86_64
4、更新软件包
yum update tomcat