Linux
背景:Linux相对windows安全、开源、免费、操作方便,故企业大多用Linux做服务器;
在测试过程中需要搭建测试环境,
小红帽版本出名,,但收费,
一、安装虚拟机与Centos 6.7
1、安装VMware
VMware是虚拟机管理工具,需要先安装VMware ,稍后Linux的Centos6.7版本在VMware里安装
VMware的安装按照流程一直下一步下一步即可。
2、安装Centos 6.7
安装参考:Centos 6.7安装步骤1.docx
创建快照(还原点)
二、Linux命令
在Linux图形界面的桌面右键,选择open in terminal 进到输入命令界面(类似Windows的cmd)
1、远程传输软件SecureCRTPortable介绍
实际工作使用 多是通过远程操作,
双击工具安装包,首次使用需链接到Linux服务器
然后可以在里边输入命令操作
Xftp与SecureCRTPortable一样是一个远程传输软件,适用于MS Windows平台的强大的FTP和SFTP文件传输程序。Xftp能安全地在UniX/LinuX和Windows 之间传输文件,是常用的文件传输软件。
2、Linux简介
- 管理员:root
非管理员用户的家目录是: /home/…
管理员的家目录是: /root
/
根目录
~
家目录
-
[root@localhost abc]#
命令提示符root: 当前用户. localhost: 计算机名 abc: 当前目录名 #: 管理员 $: 非管理员
-
Linux命令严格区分大小写,没有提示就是是最好的消息
3、常用命令
- 查看ip地址:
ifconfig
- 返回当前目录的绝对路径:
pwd
- 查看当前目录下文件名称:
ls
- 显示当前目录下 目录文件的详细信息:
ll
(ls-l的简写) - 清屏(向上翻页,记录未清除):
clear
- 用于查看命令信息或帮助信息:
man 命令名
- 重启:
reboot
- 关机:
halt
4、有关目录(文件夹)常用操作命令
-
创建目录:mkdir 目录名
- mkdir -p aa/bb/cc//dd 创建多级目录
-
切换到目录:cd 目录名
cd .. (切换到上一级目录) cd aa/bb/cc/... cd /root/... cd ~ (回到 家目录)
-
复制目录:
cp -r 目录1 目录2
(复制目录1粘贴为目录2) -
剪切目录:
mv 目录1 目录2
(原位置剪贴有重命名效果) -
删除目录:
- 删除空文件夹:
rmdir 目录名
- 提示删除目录:
rm -r 目录名
- 不提示删除目录:
rm -rf 目录
- 删除空文件夹:
5、有关文件的常用操作命令
-
创建空文件:
touch aa.txt
-
写入内容:
> 覆盖 >> 追加
(如果文件不存在,就会新建一个文件在往里写)- 覆盖写:
echo hello> aa.txt
- 接着写:
echo hello >>aa.txt
- 覆盖写:
-
查看文件内容:
cat aa.txt
- 查看多个文件内容:
cat aa.txt bb.txt
- 查看多个文件内容:
-
文件内容很多时,分屏查看:
more zz.txt
或less zz.txt
more:空格翻屏,回车翻行,Q 或 Ctrl+C退出查看,显示已阅百分比,命令提示符自动显示
Less:分屏查看,空格翻屏,回车翻行,不显示已阅百分比,按Q显示命令提示符
- 查看文件的前n行(默认10行):
head -n aa.txt
head -n aa.txt > bb.txt
(若bb.txt 不存在则先新建)
- 查看文件的后m行(默认10行):
tail -m aa.txt
tail -5 aa.txt > bb.txt
复制aa.txt后5行到bb.txt去
- 查看文件的前n行中的后m行:
head -n 文件名| tail -m
- 复制文件1的前n行中的后m行 粘贴到文件2 :
head -n 文件1| tail -m > 文件2
- 查看文件的后n行中的前m行:
tail -n 文件名| head -m
- 复制文件1的后n行中的前m行 粘贴到文件2:
tail -n 文件1| head -m > 文件2
- 复制粘贴文件 :
cp aa.txt cc.txt
( 复制文件aa.txt粘贴为文件cc.txt ) - 剪切粘贴文件 :
mv aa.txt cc.txt
( 剪切aa.txt粘贴为cc.txt ) - 删除文件:
- 提示删除:
rm aa.txt
或rm -r aa.txt
- 不提示删除:
rm -f aa.txt
或rm -rf aa.txt
- 提示删除:
6、Linux文本剪辑 vi
- Linux文本剪辑器就vi ,而Windows有记事本、WPS等等
Vi 文件名
: 有 一般模式,命令模式,首行模式
一般模式
- 移动光标: h:← j:↓ k: ↑ l:→
- G 移动到尾行行首
- gg 移动光标到首行行首
- 7gg或7G 移动到第7行行首(数字可以改变)
- 0 数字0回到当前行行首
- $ 移动光标到当前行的行尾
- yy 复制当前行(3yy 复制光标所在行往下3行(数字可以改变))
- u 撤销上步操作
- p 粘贴(3p 粘贴3次(数字可以改变))
- dd 剪切光标所在行(剪切完不用p粘贴就是是删除效果)
- ndd 剪切光标所在行往下n行
- r 替换光标所在字符
- R 连续替换,切换输入模式为 覆盖输入 (按ESC键可以退出)
- ?字符 或 / 字符 用于检索该字符
编辑模式(插入模式)
进入编辑模式: I
i
A
a
S ``s
O
o
;退出编辑模式,回到一般模式ESC键
i
在光标前 进入插入模式
I
在光标所在行行首 进入插入模式
a
在光标后 进入插入模式
A
在光标所在行 行尾 进入插入模式
s
删除光标所在字符 进入插入模式
S
删除光标所在行 进入插入模式
o
光标所在行的下一行新建一行进入插入模式
O
光标所在行的上一行新建一行进入插入模式
底行模式(命令行模式,末行模式,尾行模式):
切换到底行模式: :
回到一般模式:Esc键
显示行号: set nu
【尾行模式下操作,执行完默认回到一般模式】
取消显示行号:set nonu
【尾行模式下操作,执行完默认回到一般模式】
- 退出vi: q:文件未被编辑; wq: 保存退出 ; q!: 不保存退出
注:强制退出(Ctrl+c或中断)时会产生临时文件用(ls-a查看),需手动删除
7、修改网络配置文件
- 查看网络连接命令:cat /etc/sysconfig/network-scripts/ ifcfg-eth0
- ONBOOT=yes/no (yes: 开机网络自动连接; no: 开机网络需要手动连接)
- BOOTPROTO=dhcp/none ( dhcp: 自动获取IP; none: 设置固定ip )
- IPADDR=172.30.67.254 固定IP地址
- NETMASK=255.255.255.0 子网掩码(固定ip时需设置)
打开图形化界面命令:setup,后按下图所示操作,设置完后重启网络服务即可生效
重启网络服务: service network restart (restart重启,start启动,stop停止)
设置好后一路保存退出即可,出现乱码时需设置编码格式为utf-8
8、设置(linux)开机模式:
- 查看命令: cat /etc/inittab
- 修改: vi /etc/inittab
0,6不能设置为默认,否则无法正常使用服务器
9、用户与用户组相关命令
普通用户只能在自己家玩
- 切到指定用户:su 账号名 (普通用户换到管理员用密码)
用户常用操作:
-
添加用户: useradd 用户名 (管理员账号才能用此命令)
-
设置/修改当前账号密码:passwd 账号名 (不输入账号名可改当前用户自己的密码)
-
删除账号: userdel 账号 (正在使用的用户无法删除)
-
查看本机用户命令:cat /etc/passwd
用户组:
- 添加用户组: groupadd 组名
- 添加用户到用户组: gpasswd -a 用户名 组名
- 从组内移除用户: gpasswd -d 用户名 组名
- 删除用户组:groupdel 组名 (创建用户自带的组删不掉)
- 查看用户组 :cat /etc/group
10、修改权限(目录/文件夹)相关
修改用户、用户组 : chown
- chown 账号:组名 文件名 (修改目录/文件所属的用户与用户组)
- chown 账号 文件名 (修改文件所属的用户)
- chown :组名 文件名 (修改文件所属的组)
修改权限: chmod
- 修改 用户 对某文件的权限:chmod u+rwx aa.txt 【给用户加读写执行权限】
- 修改 组 对某文件的权限:chmod g+rwx aa.txt 【给组加读写执行权限】
- 修改 其他账号 对某文件的权限:chmod o+rwx aa.txt 【给其他用户加读写执行权限】
减权限 : chmod u-wx aa.txt
chmod g-rx aa.txt
chmod o-rw aa.txt
或者用数字表示读写运行权限 1表示x 2表示w 4表示r
chmod 007 aa.txt
(同时给用户、组、其他用户修改权限)
chmod 777 aa.txt
chmod 124 aa.txt
11、打包压缩 命令(有3种)
-
tar
tar -cf 包名 文件名
【创建打包文件】c: create 创建
z: gzip 压缩
x: extract: 解压
t: list: 不解压查看包内文件
v: verbose (冗余)解压或压缩的同时显示包内文件名
f: file 文件
f: 在最后, c x:不能同时使用
例:
tar -cf a.tar aa.txt (创建打包)
tar -czf aaa.tar aa.txt (创建打包并压缩)
tar -xf aaa.tar (解压 压缩文件或打包文件)
tar -xzf aa.tar (只能解压压缩文件)
-
gzip
gzip 文件名
:打包压缩单个文件
gzip -d 包名
: 解压
gzip -l 包名
:不解压查看包内信息【可看tar包文件压缩比例、大小】
gzip只能压缩单个文件,操作后原文件删除,重名文件有提示,不能操作目录
gzip *.txt
:把所有的txt文件打包成多个单独的包
- zip
zip 包名 文件名
:创建打包压缩文件【显示比例】
unzip 包名
:解压【有重名文件会提示】
zip aa.zip *.txt
:打包有所txt文件为一个包
12、进程管理
top :
查看动态进程信息,类似windows 任务管理器【小写q ,Ctrl+c 可以退出】
ps -ef:查看静态进程信息
ps -ef|grep ssh: 显示所有进程中带ssh的进程信息
kill pid: 结束进程【有些版本不通用】
kill -9 pid: 结束进程
13、服务管理
service 服务名 start/restart/stop
:启动/重启/停止 某服务
例:
service sshd start
启动sshd服务
chkconfig --list
: 显示系统中所有服务信息
例:
chkconfig --list | grep sshd
过滤显示 sshd服务
chkconfig --level 开机模式代号 服务名 on/off
:在某开机模式下某服务默认开启/关闭
例:
chkconfig --level 2345 sshd on
在开机模式为2345之一时,sshd服务默认开启
三、搭建环境
1、 常见环境
操作系统 | 开发环境 | web服务器 | 数据库 |
---|---|---|---|
Linux | java/jdk | tomcat/weblogic | mysql/oracle |
Linux | PHP | apache | mysql/oracle |
2、yum源的配置
- 什么是 yum 与 yum源
我们在windows上安装一个软件,可以通过各种软件管家。因为软件管家提供了软件的安装,卸载,并且解决了软件之间的依赖等相关问题,使得我们能够一键安装。而在linux上有一个提供与 软件管家类似功能的工具,叫做yum。使用yum我们就可以做到一个命令安装软件,并且不同的发行版的linux有不同工具,例如,红帽(read hat)linux就使用的rpm(read hat package manager )红帽软件包管理工具。
yum源是什么呢?可以理解为软件安装包的来源。我们安装软件的时候需要下载软件,如果我们是在线的,他会在网上给你下载安装包,如果是离线的没有网络。那么就只能配置本地的yum源了。yum本地源哪里有呢?其实在linux的安装镜像中就包含有常见的安装包。如果你使用压缩文件打开linux的iso镜像文件,你会发现在根目录下有个文件夹:packages
yum源,国内有名的有:阿里,清华,163的yum源,yum源需要有人专门的维护
-
yum本地源的配置:
1:挂载光盘:【把光驱下边的光盘挂载到mnt目录下】 mount /dev/cdrom /mnt 2: 配置本地yum源: 1) cd /etc/yum.repos.d 2)用ls命令,会看到4个repo文件,其中: CentOS-Base.repo 是yum 网络源的配置文件 CentOS-Media.repo 是yum 本地源的配置文件 3)禁用默认的yum网络源:【不禁用会优先在网络源中寻找安装包,可通过重命名方式禁用】 mv CentOS-Base.repo CentOS-Base.repo.bak 4)修改CentOS-Media.repo 文件: vi CentOS-Media.repo 找到 file:///media/cdrom 改为 :file:///mnt 【光盘挂载地址 /mnt】 找到 enabled=0 改为: enabled=1 5)执行yum命令: yum install postgresql 【过程中需要选y/n 时选择y】
-
通过yum本地源安装tree
输入命令:
yum search tree
yum install tree.i686
尝试使用tree命令,看能否使用
3、 搭建环境:JDK+tomcat7.0+MySQL5.0
- 安装 远程传输软件
把安装包从Windows传到Linux服务器需要用到传输工具,在这里介绍使用SSH Secure File Transfer Client传输工具。
1. SSH一路next 安装后,打开,快速链接 ,用root链接到linux服务器(linux提前开机);
2. 链接后,linux默认进入到 /root 目录,先切换到 /usr 目录,安装包一般放到这个目录下;
3. 然后新建一个java 文件夹:把安装包(jdk,tomcat)托进来,等待上传完成即可。
-
安装JDK
1、准备要安装的JDK与tomcat (1) linux版的jdk (86是32为,64是64位) (2) tomcat7.0 2、利用 远程传输软件,把要安装的包从Windows放到linux服务器的usr目录下新建的java目录上 3、解压这两个准备好的安装包 : tar -xzvf ......tar.gz 4、 打开系统配置文件: vi /etc/profile 然后把环境变量粘贴进来: 【 export JAVA_HOME=/usr/java/jdk1.7.0_07 export JAVA_BIN=$JAVA_HOME/bin export JAVA_LIB=$JAVA_HOME/lib export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar export PATH=$JAVA_BIN:$PATH】 5、保存退出后,重新链接linux,,输入java -version 返回jdk的版本,就表示安装成功
-
安装tomcat
只需要解压就可以了,不需要配置环境变量,解压后可以重命名1、 解压:tar -xzvf apache......tar.gz 2、 重命名: mv apache-tomcat-7.0.77 tomcat7
重命名是为了方便后续操作,也可以不重命名
-
安装MySQL
linux操作系统 默认自带有一个版本的MySQL数据库,版本不要求的话可以不用另外安装其他版本的(MySQL安装包,还有一系列依赖包很繁琐,yum在线安装会相对简单一些)按顺序安装操作系统自带的MySQL(执行如下命令),前三个是依赖包 rpm -ivh perl-DBI-1.52-2.el5.i386.rpm rpm -ivh mysql-5.0.77-3.el5.i386.rpm rpm -ivh perl-DBD-MySQL-3.0007-2.el5.i386.rpm rpm -ivh mysql-server-5.0.77-3.el5.i386.rpm
若要安装其他版本MySQL:
先利用SSH传输文件工具,把要安装的MySQL的4个包放到root下一个新建目录内 1、备份: cp my.cnf my.cnf.bak【需要卸载旧版MySQL,卸载之前先备份 /etc/my.cnf 文件,因为卸载这个文件会删除】 2、查看 已安装文件: rpm -qa | grep -i mysql 3、 卸载: rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.i686【rpm -e 卸载,--nodeps: 有依赖关系也卸载】 4、还原备份:mv my.cnf.bak my.cnf 5、按顺序安装mysql rpm -ivh MySQL-client-5.6.48-1.el6.i686.rpm rpm -ivh MySQL-shared-5.6.48-1.el6.i686.rpm rpm -ivh MySQL-shared-compat-5.6.48-1.el6.i686.rpm rpm -ivh MySQL-server-5.6.48-1.el6.i686.rpm
安装好后
可以进行如下基本操作: 1、启动数据库:service mysql start 2、查看 默认初始化的密码:cat /root/.mysql_secret 3、登陆: mysql -u root -p 4、输入密码:默认密码 5、登陆成功后设置密码123456: set password for root@localhost=password('123456'); 6、 刷新权限:flush privileges; 7、重新登陆,并输入密码:123456:mysql -u root -p
启动 mysql 服务命令:
service mysqld start
注:如果安装失败,需要 删除/var/lib/mysql
目录下所有内容,否则重新安装会失败
至此,一套完整的测试服务器环境就搭建好了
附件:
思维导图: