标签:帮助信息 字符设备 外网 hal 创建时间 网络设备 lease gid sql
● 服务器操作系统的系列、Linux的主流产品、虚拟机软件
● 安装linux
● linux基本命令
● 用户管理及权限(多用户)
● 实战(搭建环境及部署web项目)
*****************************************************************************************************
服务器操作系统一般指的是安装在大型计算机上的操作系统,比如Web服务器、应用服务器和数据库服务器等。服务器操作系统主要集中在三大类:
Unix系列:SUN Solaris,IBM-AIX,HP-UX,FreeBSD,OS X Server[6]等;
Linux系列:Red Hat Linux,CentOS,Debian,UbuntuServer等;
Windows系列:Windows NT Server,Windows Server 2003,Windows Server 2008,Windows Server 2008 R2,windows server 2012,windows server technical等。
redhat:linux发行版最大的linux厂商,收费的,而且价格不低。
虚拟机软件:是指可以在用户当前真实的操作系统中,创建多个可以安装其它操作系统的虚拟硬件平台(好比一个个虚拟的裸机设备)。
注意:虚拟机软件只是为安装操作系统提供了平台,并不是操作系统。
常用的虚拟机软件 主要包括:VirtualBox、VMware Workstation、Virtual PC
VirtualBox: VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox
VMware Workstation: 是VMware公司销售的商业软件产品之一。该工作站软件包含一个用于英特尔x86相容电脑的虚拟机套装,其允许用户同时创建和运行多个x86虚拟机
Virtual PC:是Microsoft 最新的虚拟化技术。主要适合做微软自己产品的服务
VirtualBox与VMware的主要区别:
(1)VirtualBox是免费开源的,而VMware不是。
(2)VirtualBox体积小,而VMWare5、6安装后很庞大。
课程中我们以使用VirtualBox为主,如个别学员出现环境问题,可以选择安装VMware
参考:03-linux\相关资料\安装软件\1、虚拟机软件安装程序
本课程演示使用的虚拟机软件是VirtualBox
*****************************************************************************************************
参考《使用VirtualBox创建虚拟机(Centos6.5).doc》
参考《VMware-workstation_10_下创建虚拟机并安装安装centos_6.5步骤.docx》
*****************************************************************************************************
配置网络的目的主要是为了固定虚拟机的内网IP,方便我们在真实的操作系统中使用Linux连接工具软件进行远程连接
执行命令:setup
开启DHCP可以让Linux虚拟机自动分配IP
关闭DHCP需要指定IP
重启网络服务
service network restart
设置完,静态ip后,但是此时会发现外网无法访问。
注意,一定要将eth0作为仅主机only(以真实本机作为网关,并只于真实本机相连)模式,eth1作为NAT(可以访问外网)模式,才能为eth0分配静态ip的同时,也能够上外网。
每次更改完网络设置后,记得重启网络服务
Linux查看IP地址的命令:
ifconfig
ifconfig | more :分行进行显示,用于显示内容较多时
测试Linux网络配置是否成功:
在真实操作系统中运行命令:
ping xxx.xxx.xxx.xxx(Linux虚拟机的IP地址)
Ctrl + C :关闭正在运行的命令
注意:Linux系统中是严格区分大小写的,所有命令基本上都是小写字母
学习linux的要点:
1、装好新的系统后,立刻设置备份(快照、类似win的还原点),以防不测,以后也可以在多个阶段生成备份(快照)。
2、一定要敢于胆大心细的使用命令,敢于尝试Ctrl + C 、出错的命令、重启、关机、及各种重新运行。大不了还原或者重装。
但是在工作中使用公司的服务器一定要小心翼翼。。。。。。
*****************************************************************************************************
主要功能是向Linux系统远程发送命令
XShell:目前最好用
Secure Shell Client(SSH):老牌的连接工具,对中文支持较差
SecureCRT:收费
Putty:早就停止维护了,很多东西支持的很差。但因为习惯依旧很多人支持
主要功能是与Linux系统之间进行文件传输
XFTP:配合XShell使用,支持简单在线编辑
Secure Shell Client(SSH):自带FTP工具
SecureFX:配合SecureCRT使用
Lrzsz:可以安装在Linux系统中,通过在远程终端中使用命令来实现FTP功能
*****************************************************************************************************
安装好XFTP之后,点击工具栏的 新建文件传输 的图标:
通过XFTP工具,我们可以让本机操作系统和linux系统之间进行文件的上传和下载。
其余连接工具的使用可以参考 \相关资料\文档《使用其它工具(CRT SSH)连接linux.doc》
*****************************************************************************************************
查看Linux磁盘分区格式:
1、命令:df -TH
2、查看文件:vi /etc/fstab 退出vi 查看模式:先输入冒号: 在输入q 回车
/etc/fstab文件解释文件fstab包含了你的电脑上的存储设备及其文件系统的信息。
内核:是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。
Shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。但它不仅是命令解释器,而且还是高级编程语言,shell编程。
FILE SYSTEMS(文件系统):文件系统是文件存放在磁盘等存储设备上的组织方法,Linux支持多种文件系统,如ext3,ext2,NFS,SMB,iso9660等
应用程序:标准的Linux操作系统都会有一套应用程序例如X-Window,Open Office等
1、详情参考 相关资料\文档\《Linux各目录及每个目录的详细介绍.docx》
*****************************************************************************************************
pwd命令: 显示当前所在目录
ls命令: 浏览目录
ls –l 等于 ll 命令
以长格式的形式查看当前目录下所有可见文件的详细属性
1、cd .. 切换到上一层目录
2、cd ./ 切换到当前目录下某个目录(cd xxx)
3、cd – 回到上一次目录
4、cd ../../ 切换到上上级目录
5、cd /usr 切换到指定某目录(绝对路径)
6、cd 切换到用户主目录(初始目录)
1、mkdir abc 创建abc文件夹(目录)
2、rmdir abc 删除abc目录(如果abc目录下有子目录或者文件不能删除)
*****************************************************************************************************
vi filename 创建一个新文件,并进入vi 命令行模式。
如果选择不保存退出,将不会创建新文件
如果该文件已经存在,则进入该文件的vi编辑模式
touch filename 创建新文件,如果文件已经存在,更新文件时间戳(创建时间等)。
shift + g:移动到文件尾部
:set nu
按Esc键进入命令行模式
按 :(冒号)进入底行模式
退出: :q
不保存退出(有变更): :q!
保存退出: :wq
*****************************************************************************************************
vi filename 如果文件已经存在则可以查看文件内容,并进入vi命令行模式。
cat filename 输出文件所有内容
more 查看更多内容
退出:按q键
空格:查询下一屏内容
less 用法和more类似,不同的是less可以通过PgUp、PgOn键来控制。
tail 用于显示文件后几行的内容
tail -10 /etc/password 查看后10行数据
tail -f catalina.log 动态查看日志,可以实时的得到新追加到文件中的信息,常用来跟踪日志文件。
tail -200f catalina.log 动态显示日志最后200行
Ctrl + C 结束查看
grep location nginx.conf --color -A5 -B5 查找字符串location并且高亮显示、显示查找到的元素的前、后5行内容。
查看进程:
ps -ef | grep java
ps -ef | grep tomcat
*****************************************************************************************************
vi命令模式下输入:
/text 查找text,按n健查找下一个,按N健查找前一个。
vi底行模式下输入:
s/old/new/ 用new替换old,替换当前行的第一个匹配
s/old/new/g 用new替换old,替换当前行的所有匹配
%s/old/new/ 用new替换old,替换所有行的第一个匹配
%s/old/new/g 用new替换old,替换整个文件的所有匹配
*****************************************************************************************************
rm 删除文件
rm a.txt 删除a.txt文件
删除需要用户确认 y/n
rm -f a.txt 不询问直接删除
rm -r abc 删除目录(递归删除),逐步询问是否删除里面的文件
rm -rf abc 不询问方式删除目录及里面的内容(慎用)
rm -rf * 删除当前目录下的所有文件
rm -rf /* 删除系统的所有文件(自杀)
cp(copy) 将文件从一处复制到另一处。
一般使用cp命令将文件复制成另一个文件或者复制到某目录时,需要指定原文件名与目标文件名或目录
cp a.txt b.txt 将a.txt 复制为 b.txt 文件
cp a.txt ../ 将a.txt 复制到上一级目录中
参数:
-b 同名,备分原来的文件
-f 强制覆盖同名文件
-r 按递归方式保留原目录结构复制文件
cp -rf abc /usr/local 复制当前目录中的abc文件夹及内的所有内容 到 /usr/local 中,重名会覆盖
mv 移动或者重命名
mv a.txt ../ 将a.txt 移动到上一级文件夹中
mv a.txt c.txt 将a.txt 重名为c.txt
mv abc /usr/local 移动当前目录中的abc文件夹及内的所有内容 到 /usr/local 中
mv abc /usr/local/haha 移动当前目录中的abc文件夹及内的所有内容 到 /usr/local 中,并将文件夹名称更名为haha
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。
常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件
打tar包:tar –zcvf 压缩文件夹名或压缩文件名 需要压缩的文件
tar -zcvf abc.tar.gz * 压缩当前目录下所有文件,压缩后文件名为abc.tar.gz
解压tar包:tar –zxvf 压缩文件夹名或压缩文件名
tar -zxvf abc.tar.gz 解压到当前目录
tar -zxvf abc.tar.gz -C /usr/local/xixi/ 解压到指定目录中 记得指定目录前面加 -C
查看tar包内的文件 tar -ztvf xxx.tar
du 显示目录或文件的大小。
du –h 显示当前目录的大小
*****************************************************************************************************
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。
ps –ef | grep java 查询名称中包含java的进程
只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。
只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。
cat: c.txt: 没有那个文件或目录,则不会执行ifconfig
netstat -an | grep 3306 查询3306端口占用情况
/etc/sysconfig/network-script/ifcfg-eth0
手动更改ifcfg-eth网卡文件请参照《网络配置问题.doc》
service iptables status可以查看到iptables服务的当前状态
可以使用 lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,我就以80端口为例:
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作
date -s "2014-01-01 10:10:10" 设置系统时间
依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称
"2 users"为当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目;
"0.0% ni":用户进程空间内改变过优先级的进程占用CPU百分比
分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量;
表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。
VIRT -- 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES -- 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
TIME+ -- 进程使用的CPU时间总计,单位1/100秒
scp -r 文件夹 其他机器的用户名@其他机器的ip:路径
useradd test -d /home/t1 指定用户home目录
用法:su [选项]... [-] [用户 [参数]... ]
su - u1 切换到u1用户,并且将环境也切换到u1用户的环境(推荐使用)
userdel test 删除test用户(不会删除home目录)
userdel –rf test 暴力删除(虽然有提示用户正在使用,但是实际上已经删掉了)
当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组
groupadd public 创建一个名为public的组
usermod -g public test 指定用户所属的群组(将用户移动到新的组)
usermod -G public test 指定用户所属的附加群组(将用户移动到新的组,但是用户依旧在原来的组存在)
groupdel 删除组,如果该组有用户成员,必须先删除用户才能删除组。
root:x:0:0:root:/root:/bin/bash
最大时间间隔: 口令保持有效的最大天数,即多少天后必须修改口令
失效时间:指示口令失效的绝对天数(从1970年1月1日开始计算)
普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。
目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1
chmod 777 a.txt 777就是rwxrwxrwx 最高权限
root的权限不会被chmod 000屏蔽.
权限为全0,root也可以访问。
1、下载安装包,wget https://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz 或者是 上传已经下载好的安装包。
2、解压安装包:tar -zxvf lrzsz-0.12.20.tar.gz
3、进入加压后的目录:cd lrzsz-0.12.20
4、执行配置:./configure
会提示 configure: error: no acceptable cc found in $PATH,意思是缺少gcc命令,需要安装gcc
手动安装gcc比较麻烦,所有选择使用yum安装(需要连接外网)
yum install gcc
执行配置:./configure
5、编译:make
6、安装:make install
7、配置系统命令:
cd /usr/bin
ln -s /usr/local/bin/lrz rz (上传命令)
ln -s /usr/local/bin/lsz sz (下载命令)
8、输入命令:rz
安装成功!
补充:
如果是CentOS则可以用yum install lrzsz 命令安装,更方便。(需要连接外网)
或:yum -y install lrzsz 命令安装,更加更加更加方便。(需要连接外网)
*****************************************************************************************************
安装完Centos6.5的Base Server版会默认安装OpenJDK,首先需要删除OpenJDK
1、查看以前是不是安装了openjdk
如果不是root用户需要切换到root用户(su - root)
命令:rpm -qa | grep java
显示如下:(有则卸载,没有就不用),注意版本可能会有些不一样,以实际操作的为准。
tzdata-java-2013g-1.el6.noarch
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
2、卸载openjdk:
(其中参数"tzdata-java-2013g-1.el6.noarch"为上面查看中显示的结果,粘进来就行)
rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
3、安装jdk
(1)、切换到root用户并进入usr目录: cd /usr
(2)、在usr目录下创建java文件夹: mkdir java
(3)、将jdk-7u71-linux-x64.tar.gz拷贝到java目录下(也可以用工具)
cd /usr/local/mao/
cp jdk-7u71-linux-x64.tar.gz /usr/java/
(4)、进入/usr/java文件夹下:cd /usr/java/
(5)、修改权限,参数"jdk-7u71-linux-x64.tar.gz"为你自己上传的jdk安装文件
chmod 755 jdk-7u71-linux-x64.tar.gz
(6)、解压:tar –zxvf jdk-7u71-linux-x64.tar.gz
(7)、配置环境变量
vi /etc/profile
添加内容:/usr/local/java/jdk1.7.0_71
export JAVA_HOME=/usr/java/jdk1.7.0_71 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME PATH CLASSPATH |
(8)、重新编译环境变量
source /etc/profile
*****************************************************************************************************
安装Tomcat
1、进入tomcat绿色版压缩文件的目录中:cd /usr/local/mao/
2、解压tomcat绿色版压缩文件:tar -zxvf apache-tomcat-7.0.57.tar.gz
3、关闭防火墙(永久,需要重启):chkconfig iptables off
4、重启机器:reboot
5、启动tomcat:
进入tomcat的bin目录:cd /usr/local/mao/apache-tomcat-7.0.57/bin/
启动tomcat web服务器:./startup.sh
6、停止tomcat:./shutdown.sh
7、查看tomcat日志信息:
tail -200f /usr/local/mao/apache-tomcat-7.0.57/logs/catalina.out
200表示最后显示行数
运行web程序
设置tomcat开机启动
在/etc/rc.d/rc.local文件最后添加
export JAVA_HOME=/usr/java/jdk1.7.0_71
/usr/local/mao/apache-tomcat-7.0.57/bin/startup.sh start
*****************************************************************************************************
1、卸载linux自带的mysql
查看:rpm -qa | grep mysql
删除:rpm -e --nodeps 查看到的选项
2、上传mysql安装包文件
3、安装服务器端:server
修改权限: chmod 777 MySQL-server-5.5.8-1.rhel5.x86_64.rpm
执行安装: rpm -ivh MySQL-server-5.5.8-1.rhel5.x86_64.rpm --nodeps --force
注:--nodeps --force 表示不检查依赖
4、安装客户端:client
修改权限: chmod 777 MySQL-client-5.5.8-1.rhel5.x86_64.rpm
执行安装: rpm -ivh MySQL-client-5.5.8-1.rhel5.x86_64.rpm --nodeps --force
5、启动和关闭mysql
启动mysql: service mysql start
关闭mysql: service mysql stop
6、添加密码
/usr/bin/mysqladmin -u root password ‘new-password‘
7、mysql修改字符编码
vi /etc/my.cnf (mysql安装目录(/usr/share/mysql)中有模版)
【client】下面添加:default-character-set = utf8
【mysqld】下面添加:character_set_server = utf8
service mysql restart
8、配置mysql允许远程访问
(1)进入 mysql:
mysql -u root -p
(2)使用 mysql库 :
use mysql;
(3)查看用户表 :
SELECT `Host`,`User` FROM user;
(4)授权用户 :
grant all privileges on *.* to root@‘%‘ identified by ‘123456‘;
(5)强制刷新权限 :
flush privileges;
注意要关闭防火墙
注意:如果出现错误
MySQL错误1042-Can‘t get hostname for your address
解决办法:
需要修改配置文件,在[mysqld]下增加skip-name-resolve(忽略主机名的方式访问),并重启MYSQL服务可解决此问题。
例如:MYSQL配置文件在: /etc/my.cnf,
编辑它,在[mysqld]下增加skip-name-resolve,在执行service mysql restart 即可。
查看selinux状态
getenforce
关闭selinux
setenforce 0 (临时,重启后失效)
vi /etc/sysconfig/selinux
把里边的中间一行改为SELINUX=disabled(永久,重启后生效)
*****************************************************************************************************
cat usermanage.sql | mysql -uroot -p123456
1、执行.sql文件初始化项目数据库信息
2、将root.war 部署到tomcat webapps中
3、注意数据库连接密码
最后访问的地址:
http://192.168.56.101:8080/user/page/query
*****************************************************************************************************
1、linux安装 可以连本机 可以用第三方的工具去连接(必需)
2、linux基本命名:(红色)
3、安装java 安装tomcat
标签:帮助信息 字符设备 外网 hal 创建时间 网络设备 lease gid sql
原文地址:http://www.cnblogs.com/beyondcj/p/6271147.html