一、Linux操作系统概述
1、常见操作系统
① 服务端操作系统:Linux、unix、windows server
② 单机操作系统:windows(dos 、ucdos、win95、win98、win2000、xp、vista、win7、win8)、MAC 、Linux(ubuntu)
③ 移动操作系统:Android、IOS 、Windows phone
2、Linux操作系统介绍
① 为什么要学习Linux操作系统
◇ 大部分服务端都采用Linux ,JEE部署到服务器中
◇ 一些企业和学校采用Linux研发和教学
◇ 很多嵌入式开发用Linux
◇ 云计算、大数据是集群网用Linux的centos
② 特点
◇ 开放、开源、多用户的网络操作系统
◇ 基于unix(unix >minix >Linux),可以定制内核
◇ 加入了GNU组织(自由软件组织 ,copyLeft),通过GPL(通用公共许可)许可对外发布
③ Linux组成
◇ Linux内核
◇ shell(外壳):用户与内核交互的接口
◇ 文件系统:ext3、ext4等(windows有fat32、ntfs)
◇ 第三方应用软件
④ Linux操作系统版本
◇ 内核版本:由Linux团队管理
◇ 发行版本:一些软件公司以内核为基础再添加一些软件和文档形成发行版本(red hat 包含rhel、centos;debian包含debian、ubuntu;android)
二、安装Linux系统
1、 虚拟机的软件
① VMware:功能强大,收费产品
② VitualBox:oracle 公司提供,免费商品
2、虚拟机安装(VMware)
① 创建虚拟机
② 安装镜像文件
三、Linux系统环境
1、ubuntu默认有6个命令交互通道和1个图形界面交互通道,默认进入到的是图形界面通道
① 切换到命令交互模式:ctrl+alt+[f1,f2,f3,f4,f5,f6]
② 切换到图形交互界面:ctrl+alt+f7
2、命令交互模式中命令提示符:[itcast@centos ~]$
itcast:用户名
centos:主机名
~:路径,假如当前的路径正好是该用户存放数据的根目录则显示~
$:用户的类型,$代表普通用户,# 代表超级用户
3、Linux文件系统
① 目录结构
bin:存放的可执行的二进制文件,包括cd、ls、su、passwd命令
sbin:存放的可执行的二进制文件,只有root才有权限访问
etc:存放系统的配置文件
usr:存放共享的系统资源
home:存放所有用户文件的根目录,root用户除外
root:超级用户目录
dev:存放设备文件的目录,Linux把设置当做文件来处理
mnt:系统管理员安装临时文件系统的挂靠点
boot:存放系统的引导文件
tmp:存放临时文件
var:存放运行时需要改变数据的文件
② 文件权限分析
r:代表权限是可读,也可以用数字4表示
w:代表权限是可写,也可以用数字2表示
x:代表权限是可执行,也可以用数字1表示
-:无权限
③ 文件权限表示方法
◇ 字符表示法:drwxr-xr-x
第1个字符:文件的类型(d
表示普通文件,-
表示文件夹,c
表示串口文件,l
表示连接文件)
后面的9位分为3组,每3位置一组,分别代表属主用户的权限、与当前用户同组的其他用户的权限、不同组的其他用户的权限
◇ 数字表示法
-rw-r--r--
:文件的默认权限,即644
drwxr-xr-x
:目录的默认权限,即755
四、Linux的常用命令
1、目录的切换命令
cd usr:切换到该目录下usr目录
cd ../:切换到上一层目录
cd /:切换到系统根目录
cd ~:切换到用户主目录
cd -:切换到上一个所在目录
2、目录的操作命令
增加目录:
命令:mkdir [目录名称]
示例:mkdir test
查看目录:
命令:ls [-al]
示例:
ls -- 可以看到该目录下的所有的目录和文件
ls -a -- 可以看到该目录下的所有文件和目录,包括隐藏的
ls -l -- 可以看到该目录下的所有目录和文件的详细信息,可以缩写成ll
搜索目录:
命令:find 路径 参数 文件名称
示例:find /root -name ‘test*’
修改目录名称:
命令:mv 目录名称 新目录名称
示例:mv oldTest newTest
注意:mv的语法不仅可以对目录进行重命名,而且也可以对各种文件、压缩包等进行重命名的操作
移动目录位置(剪切):
命令:mv 目录名称 目录的新位置
示例:mv newTest /usr
注意:mv语法不仅可以对目录进行剪切操作,也对文件和压缩包等都可执行剪切操作
拷贝目录(r代表递归):
命令:cp -r 目录名称 目录拷贝的目标位置
示例:cp -r /usr/newTest /test
注意:cp命令不仅可以拷贝目录还可以拷贝文件、压缩包等,拷贝文件和压缩包时不用写-r递归
删除目录:
命令:rm [-rf] 目录
示例:
rm -r newTest -- 会询问是否删除
rm -rf newTest -- 不会询问是否删除,直接强制删除
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用rm -rf 目录/文件/压缩包
3、文件的操作命令
创建空文件:
命令:touch 文件名称
示例:touch aaa.txt
查看文件:
命令:cat/more/less/tail 文件名称
示例:
cat /etc/sudo.conf -- 只能显示最后一屏内容
more /etc/sudo.conf -- 可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看
less /etc/sudo.conf -- 可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
tail -10 /etc/sudo.conf -- 查看/etc/sudo.conf文件的后10行,Ctrl+C结束
注意:命令 tail -f 文件 可以对某个文件进行动态监控,例如tomcat的日志文件
修改文件内容
命令:vim 文件名称
示例:vim aaa.txt
关于vim使用过程:vim 文件----->命令模式(不能编辑)------>点击i/a/o进入编辑模式------>修改文件------->点Esc回到命令模式------>输入冒号:进入底行模式,输入wq保存并退出,输入q!强制退出不保存
删除文件:
命令:rm -rf 文件名称
示例:rm -rf aaa.txt
4、压缩文件的操作命令
Windows的压缩文件的扩展名: .zip/.rar
linux中的打包文件:.tar
linux中的压缩文件:.gz
linux中打包并压缩的文件:.tar.gz
打包压缩文件:
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
示例:tar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt
解压压缩包到当前目录下:
命令:tar [-xvf] 压缩文件名称
其中:
x:代表解压
示例:tar -xvf xxx.tar.gz
解压压缩包到指定目录下:
命令:tar -xvf 压缩文件名称 -C 指定位置
示例:tar -xvf xxx.tar.gz -C /usr
5、其他命令
显示工作目录:
命令:pwd
查看所有进程:
命令:ps -ef ---显示所有的进程
杀死进程命令:
命令:kill -9 pid
搜索命令:
命令:grep 要搜索的字符串 要搜索的文件
示例:grep to /usr/sudu.conf
搜索命令并高亮显示:
命令:grep 要搜索的字符串 要搜索的文件 --color
示例:grep to /usr/sudu.conf --color
管道命令(将前一个命令的输出作为本次目录的输入):
命令:|
示例:ps -ef | grep mysql -- 查看当前系统中所有的进程中包括mysql字符串的进程
网络通信命令:
查看当前系统的网卡信息:ifconfig
查看与某台机器的连接情况:ping 某台机器的IP地址
查看当前系统的端口使用:netstat -an
重启命令:reboot
立即关机:halt
清除屏幕:clear
6、Linux的权限命令
权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以 查看某个目录下的文件或目录的权限
修改文件/目录的权限
命令:chmod u=[rwx],g=[rwx],o=[rwx] 文件名称
示例:chmod u=rwx,g=rw,o=r aaa.txt -- 修改aaa.txt的权限为属主(user)有全部权限,属主所在的组有(group)读写权限,其他用户(other)只有读的权限
也可以:chmod 764 aaa.txt
7、tab :自动补全
五、远程访问Linux
1、通过ssh(secure shell)实现安全远程访问Linux系统
① 加密:
◇ 对称加密 (加密密钥与解密密钥相同):des、aes
◇ 非对称加密(加密密钥与解密密钥不同):RSA (里面包含公钥+私钥)
② 数字摘要:md5、sha1
2、通过windows ssh客户端来访问Linux服务端
windows ssh客户端分为两种
① 远程登录:putty、Xshell、SecureCRT
② 文件传输:winscp433setup.exe、Xftp 5、SSH Secure
六、Java开发环境搭建
1、安装JDK
① 查看当前Linux系统是否已经安装java:rpm -qa | grep -i java
② 如果存在openJDK执行rpm -e --nodeps 要卸载的软件
,如果不存在就跳过
③ 上传jdk到Linux
④ 解压jdk到/usr/local/software下:tar -zxvf jdk-7u71-linux-i586.tar.gz -C /usr/local/software
⑤ 配置jdk环境变量,打开/etc/profile配置文件,将下面配置拷贝进去:vim /etc/profile
#set java environment
JAVA_HOME=/usr/local/software/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
⑦ 使配置文件生效:source /etc/profile
⑧ 测试:java -version
2、安装MySQL
① 查看当前Linux系统是否已经安装MySQL:rpm -qa | grep -i mysql
② 如果存在MySQL执行rpm -e --nodeps 要卸载的软件
,如果不存在就跳过
③ 上传Mysql到Linux
④ 解压Mysql到/usr/local/software下的mysql目录(mysql目录需要手动创建)内:tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/software/mysql
⑤ 在/usr/local/software/mysql下安装mysql
安装服务器端:rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
安装客户端:rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
⑥ 启动mysql:service mysql start
⑦ 将mysql加到系统服务中并设置开机启动
加入到系统服务:chkconfig --add mysql
自动启动:chkconfig mysql on
⑧ 登录mysql,mysql安装好后会生成一个临时随机密码,存储在/root/.mysql_secret里面,然后mysql –uroot -p密码
⑨ 修改mysql的密码:set password = password('root');
⑩ 开启mysql的远程登录权限(默认情况下mysql不支持远程登录),登录mysql后输入如下命令:
语法模板:grant all privileges on [库名].[表名] to '[用户名]'@'[IP地址]' identified by '[密码]' with grant option;
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
exit;
⑪ 开放Linux的对外访问的端口3306(重点)
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save ---将修改永久保存到防火墙中
3、安装Tomcat
① 上传Tomcat到linux上
② 解压Tomcat到/usr/local下:tar -zxvf apache-tomcat-7.0.57.tar.gz
③ 开放Linux的对外访问的端口8080
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save
④ 启动关闭Tomcat
进入tomcat的bin下启动:./startup.sh
进入tomcat的bin下关闭:./shutdown.sh
以后上传war包到/usr/local/software/apache-tomcat-7.0.57/webapps中就行了