Linux基本概念:
什么是linux:Linux是一种自由和开放源码的操作系统
在哪里用:作为各种服务器的操作系统(比如数据库服务器、web服务器,缓存服务器)
UNIX封闭、收费的,跟硬件捆绑销售的;LINUX自由和开源,兼容性非常好
Linux的发行版(封装版):
通常所说的linux是指操作系统的内核
而真实安装的linux是某特定的发行版
各发行版中,企业服务器市场占有率最高:redhat企业版(收费) ,
次之:社区版centos / ubuntu
个人市场:Ubuntu,SUSE Linux
2 linux系统安装
2.1 安装一个全新的Linux系统
下载linux发行版光盘镜像
在物理机上安装——类似安装windows系统(光驱启动,硬盘分区,格式化,安装)
在虚拟机上安装
虚拟机:用软件模拟出来的一台计算机
虚拟机软件:用来创建和运行“虚拟计算机”的一个软件,例如,vmware、virtualBox
安装步骤:
1、 启动vmware
2、 点击新建虚拟计算机
3、 给虚拟计算机配置各种硬件,其中,虚拟网络模式一定要选择:
2.2使用一台之前安装好的虚拟机
1、把安装好的虚拟机的文件夹拷贝到windows的某个目录,比如C:\CentOS32\CentOS
2、启动vmware软件
3、从vmware的菜单中点击file,然后选择open
3 linux系统的远程登陆
由于服务器通常放置在机房中,对服务器的操作主要通过远程登录来进行
3.1 计算机网络基本常识
TCP/IP协议:是计算机网络的传输层及路由层的全球通用协议
TCP: 传输层的协议
IP:网络层协议——根据IP地址来在网络中查找路由
网关:路由器/交换机
主机名:主机在网络中的标识
IP地址配置:
1、 网络中的每一个节点都需要至少一个ip地址
2、 网络中的ip地址不能重复
3、 配置格式:
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)
如果是vmware的虚拟网络,那如何知道虚拟交换机(网关)的地址呢?
点击vmware的菜单–》edit
4、内网域名的配置:
在公网中,网络访问通常使用域名来标识目标主机,而在内网中,也可以自定义“内网域名”来进行网络主机标识和访问
如何自定义“内网域名”:
在访问端(客户机)的/etc/hosts文件中,配置目标主机的自定义域名和对应ip地址
3.2 如何远程登录linux服务器
远程登录访问的实质是两台计算机之间通过某种特定的协议来进行远程回话
而远程登录操作linux服务器通常使用SSH协议
1、要知道目标linux服务器的ip地址
2、客户端跟目标服务器两者要能联网
3、要有一款ssh登录的客户端软件(secureCRT / putty / xshell)
4、启动ssh客户端软件进行登录
虚拟网络配置
虚拟出来的linux服务器可通过vmware提供的虚拟网络进行组网,组网的方式主要有两种:
1. NAT模式
2. 桥接模式
建议采用NAT方式,NAT组网方式如下:
要点:vmware会虚拟出一台“虚拟交换机”,所有的虚拟主机以及宿主物理机都通过虚拟网卡连接到了这台交换机上,如图:
6、选择 Manual来手动指定ip地址:
3.3 利用SSH客户端软件登录linux服务器
对服务器的管理,都是通过远程登录来进行,远程登录的常用软件有以下3款:
xshell
putty
secureCRT —-recommend 推荐
这些软件都是基于一种通信协议来进行远程登录:SSH协议
(SSH协议要求远程登录者进行身份验证
有两种认证方式——“用户名+密码”机制<默认机制>,密钥机制<需要事先配置才有>)
1、启动crt远程登录软件,点击闪电图标,进行连接配置
2、在弹出的连接配置窗口中,把地址配成我们的虚拟linux服务器的地址,点击connect
要认识这几个:
/bin 可执行的命令|程序
/sbin 系统管理命令所在的目录,此目录中的命令,默认只有root才能执行
/home 是所有普通用户的家目录的上级目录,比如angelababy的家目录:/home/angelababy
/root 是超级用户root的家目录
/etc 是系统配置文件所在的目录
/tmp 是系统的临时文件夹
/usr unix shared resource 各用户之间共享资源存放的目录
Linux系统的关机或重启或睡眠
创建文件
touch a.avi 创建一个空文件
tail 查看文件尾部内容
tail -10 wodeqingshu.txt 查看文件的尾部的10行
程序打出的日志在生产实践中具有非凡的debug的意义
tail -f user.log 实时刷新显示文件的尾部
head 查看文件的头部内容
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组
rwx权限的含义:
r: 对文件—可以读取文件的内容 cat
对文件夹——可以查看文件夹的子节点信息 ls
w: 对文件——可以修改文件的内容
对文件夹——可以增减文件夹中的子节点(文件或子文件夹)
x: 对文件——是否可运行
对文件夹——是否可cd进入
5 用户管理
5.1 添加用户
useradd 0526
必须设置密码才能正常登陆 passwd 0526
5.2 删除用户
userdel 0526 —-这样删除的时候,用户的主目录会被保留
userdel -r 0526 —–删除用户的同时删除用户的主目录
5.3 修改用户属性
usermod -l lankao lankao0526 将lankao0526的登陆名改为lankao
usermod -g angelababy diadia 将diadia的primary组改为angelababy 组
usermod -G hadoop,hellogrp lankao 给lankao添加两个组hadoop,root
usermod -d /home/lankao lankao0526将lankao0526的主目录改成/home/lankao
(要事先创建lankao目录,并且拷入环境变量文件)
—-**—-修改用户的密码
passwd lankao0526
5.4 用户组管理
创建用户组
groupadd heros
删除用户组
groupdel beauties
查看当前登陆者的身份
whoami
查看用户所属组
groups angelababy
6 常见系统管理
6.1 sudo权限配置
**(凡是涉及到修改,就一定要用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 系统服务管理
列出系统服务
service –status-all
查看服务状态
service name status
启动服务
service name start
停止服务
service name stop
重启服务
service name restart
配置服务的自动启动或关闭自动启动
chkconfig iptables off #关闭自动启动
chkconfig iptables on #自动启动
6.5 网络管理
查看ip地址
ifconfig
修改ip地址的配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改该配置文件即可改ip地址;
或者在root权限下用setup指令通过一个带提示的伪图形界面来修改;
Ip地址修改之后,要生效,需要把network服务重启
service network restart
修改主机名
vi /etc/sysconfig/network 修改其中的hostname配置项
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=heima16-server-01
```要想立即生效 可以执行指令 <div class="se-preview-section-delimiter"></div>
[root@localhost ~]# hostname heima16-server-01
执行完后重登陆可以立刻看到效果
管理内网的”主机名(域名)—ip地址”本地映射
vi /etc/hosts
“
网络服务管理(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.6 修改系统的默认启动级别(*了解***)
“`
vi /etc/inittab
vi /etc/inittab
#
id:3:initdefault:
~
用level 3 就启动全功能状态的字符界面
注:在命令行模式下,用startx可以手动启动图形界面(在服务器上操作)
7 常用工具指令
wc #统计文本信息(行数,词数,字符数)
date #查看系统的日期和时间
带一个 -s参数就可以设置时间
date -s 2015-08-03
date -s 14:15:00
date -s “2015-08-03 14:15:00”
把系统时间写入CMOS
clock -w
echo #输出字符串或者变量的值
vi #linux系统中最常用的文本编辑器
vi hello.world 进入文件编辑
进去之后处于非编辑模式,此时,要按一个i进入insert模式
在insert模式下,可以跟普通文本编辑器一样编辑内容
编辑完成之后,先按Esc退出insert模式,进入非编辑模式
然后再按 :进入底行命令模式,在底行命令中敲入wq并回车,即可保存
(保存文件的另一种模式: 按Esc退出insert模式,然后直接按快捷键保存—— shift + zz)
如果不保存,底行命令就用 q!
grep 在文本中搜索关键词
grep “common” install.log
通常将grep跟别的命令组合使用来搜索我们感兴趣的信息
比如,我要在进程信息中找到某个特定进程:
ps -ef | grep “hello”
find 查找文件
find /home/angelababy -name “qingshu”
8 linux中的软件安装
8.1 java软件安装
Jdk安装
将安装包解压到你的安装路径下
然后修改环境变量
vi /etc/profile 打开配置文件编辑,并定位到文件末尾
source /etc/profile #用以让环境配置生效
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 ‘root’ @’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
4、更新软件包
yum update tomcat