.Net转Java自学之路—LINUX篇
Linux:
主流版本:
Ubuntu:以强大的桌面应用为主。因为桌面应用会在一定程度上大量占用系统资源,所以服务器部署上不会有限考虑。
CentOS:对服务器性能进行了一定程度的优化,性能比较高,比较稳定。服务器部署会优先考虑。
虚拟机软件:
VMware Workstation:是一款功能强大的桌面虚拟机软件,收费的。VMware是全球桌面到数据中心虚拟化解决方案的领导厂商。
VirtualBox:是一款开源虚拟机软件。
虚拟机及Linux安装:将杀毒软件、防火墙关闭。以管理员权限进行安装。
Linux目录:
/ :Linux系统根目录。相当于windows的我的电脑。
/etc :(etcetera)系统配置文件存放目录。不建议在此目录下放可执行文件。
重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。
注:/etc/X11存放与x window有关的设置。
例如:防火墙文件、网络设置文件、jdk环境配置文件,mysql的文件。
/usr :(unix shared resources)应用程序存放目录。
/usr/bin存放应用程序。
/usr/share存放共享数据。
/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。
/usr.local存放软件升级包。
/usr/share/doc系统说明文件存放目录。
/usr/share/man存放说明文件存放目录。
使用man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议独立分区,设置较大的磁盘空间。
例如:jdk程序,tomcat程序,mysql,redis程序,nginx程序。
/root :系统管理员root的家目录,系统第一个启动的分区位 / ,所以最好将 /root和 / 放置在一个分区下。
Linux命令行模式中 /root 相当于windows的桌面。
CRT远程连接Linux:
在CRT中,右击:复制/粘贴。文件上传:alt+P 打开上传窗口。直接拖拽即可上传。上传的文件全部被放在root目录下。
常用命令:
Linux命令中参数,一般都是无序的,特殊情况下除外。
磁盘管理命令:
ls 命令:list 列出目录内容。
格式:ls[参数][文件或目录]
参数:
-a :查询所有文件或文件夹,包含隐藏的 ls -a
-l :查询详细列表。不包含隐藏文件 ls -l
-h :友好展示信息。ll -h 友好展示详细列表。
例:展示某个目录下的内容。如etc下的内容:ll -h /etc
cd 命令:change directory 切换目录。
cd ../ :上一级目录。
cd / :切换到Linux的根目录
cd /目录名 :切换到指定目录中
cd ~ :当前用户目录
cd - :上一次访问的目录
cd /etc/x1 :Linux绝对路径。当前命令是先切换到/目录中,然后以此找/下的etc下的x1。
cd x1/x2 :Linux相对路径。在命令行当前目录下,例如当前在etc目录,那么就在etc目录下找x1下的x2。
pwd : print working directory 显示当前的所在目录。返回绝对路径
mkdir : make directory 创建目录
格式:mkdir 文件夹名称
mkdir -p 文件夹名称
实例:在root目录下创建t1,在t1下创建t2
1、t1存在的情况:
相对:mkdir t1/t2
绝对:mkdir /root/t1/t2
2、t1不存在的情况
mkdir -p t1/t2
加-p无论t1是否存在都会创建成功。t1存在则会直接在t1下创建t2,如果t1存在,则会创建t1然后再创建t2。
文件浏览命令:
cat: 快捷查看文件内容。适合查看少量信息的文件查看
格式:cat 文件名
more:分页显示文件内容。时合查看大量的信息文件查看
格式:more 文件名
操作:
enter :向下N行,需要定义。默认1行
空格键:向下滚动一屏 或 Ctrl+F
B :返回上一屏 或 Ctrl+B
q :退出more
less :分页显示文件内容,标注每行的行号。
格式:less -mN 文件名
操作:
enter :向下N行,需要定义。默认1行
空格键:向下滚动一屏 或 Ctrl+F
B : 返回上一屏 或 Ctrl+B
q : 退出more
tail:可以快读查看文件后X行的内容
格式:tail -数字 文件名
文件操作命令:
文件复制copy:
cp:复制文件或复制目录
格式:cp 需要复制的文件 粘贴的位置
cp 需要复制的文件 粘贴的位置/新文件名称(复制并改名)。
cp -r 需要复制的文件夹 粘贴文件夹的位置(复制文件夹)
文件移动move:
mv:移动或更名现有的文件或目录
格式:mv 需要移动的文件 移动的位置
mv -f 需要移动的文件 移动的位置(如果移动的位置由同名文件,强制覆盖)
mv 老文件名称 新名称
文件删除remove:
rm:删除文件或目录
格式:rm 文件名(删除时会询问是否删除)
rm -f 文件名(强制删除,不询问)
rm -rf 目录名 (删除文件夹,不询问)
注:
rm -rf * :删除当前目录下所有内容
rm -rf /*:删除Linux系统根目录下所有内容
查找命令:
find:查找文件或目录。
格式:find 目录名 -name '需要查找的字符串'
查找的字符串可以带*;*代表0~n个任意字符。
文档编辑命令:
vim:Linux系统中的记事本
格式:vim 文件名
一般模式:浏览文件内容,可以进行文本快捷曹祖。单行复制,多行复制,单行删除,多行删除
i、a、o键:一般模式 切换 插入模式。
插入模式:可以编辑文本内容。
Esc键:插入模式 切换 一般模式
:键:一般模式 切换 低行模式
低行模式:可以进行退出、保存并退出操作
q!:退出
wq:保存并退出
grep和管道命令:
可以连接多个Linux命令。
| :连接命令
例:命令1|命令2|命令3
grep :正则表达式,字符串搜索工作。
格式:grep 需要搜索的字符串 搜索的文件
符合规则,返回符合规则的行
grep -i 需要搜索的字符串 搜索的文件
-i:忽略大小写
压缩、解压缩命令:
压缩包:*.tar 打包,大小不会进行压缩。
*.tar.gz 打包并压缩文件大小。
压缩命令:tar -zcvf 压缩包名字.tar.gz 需要压缩的内容
例:tar -zcvf test.tar.gz *
将当前目录下所有内容进行打包压缩,压缩文件名:test.tar.gz
解压命令:tar -zxvf 需要解压的压缩包名称(解压到当前目录)。
tar -zxvf 需要解压的压缩包名称 -C 指定压缩路径(解压到指定目录中)。
系统命令:
ps:Process Status 提供对进程的一次性查看
格式:ps -ef
-e 显示所有程序。
-f 显示UID、PPIP、C与STIME栏位。
例:ps -ef
kill: 杀死进程
格式:kill -9 pid号
ifconfig:查看网络配置
ping :测试和目标的连通性
ping ip地址 会持续不断一直测试,知道Ctrl+C
CentOS重启命令: reboot
CentOS关机命令:halt
其他命令:
step:网络设置。
chmod:变更文件或目录的权限。
-rwxrw-r-- 详情:
第1位:文件的类型(d目录,- 普通文件,|连接文件)
第2-4位:所属用户权限,用u(user)表示
第5-7位:所属组权限,用g(group)表示
第8-10位:其他用户权限,用o(other)表示
第2-10位:表示所有权限,用a(all)表示
权限变更:
chmod 权限设置 需要更改权限的文件名
chmod -R 权限设置 需要更改权限的文件夹名
例:chmod u = rwx test.txt
chmod g = rx test.txt
chmod a = a text.txt
Linux安装 jdk / mysql / tomcat
rpm:相当于windows的添加/卸载程序。进行程序的安装、过呢更新、卸载、查看。
本地安装:rpm -ivh 程序名
本地查看:rpm -qa
本地卸载:rpm -e --nodeps 程序名
yum:相当于可以联网的 rpm 命令。
就是先联网下载程序安装包,再执行 rpm 命令
安装 jdk / mysql / redis 需要先安装下载依赖:
jdk 对应依赖:yum install glibc.i686
mysql 对应依赖:
1、yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
2、yum update libstdc++-4.4.7-4.el6.x86_64
Redis依赖的gcc环境:yum install gcc-c++
安装JDK:
1、创建/user/local/java文件夹:mkdir -p /user/local/java
2、上传jdk压缩包到Linux:alt+p 拖入压缩文件即可
3、解压压缩包到指定/user/local/java文件夹中:tar -zxvf jdk_xxxxxx.tar.gz -C /user/local/java
4、解压后进入/user/local/java/jdk_xxxxxx文件夹下:cd /user/local/java/jdk_xxxxxx
5、配置环境变量
进入编辑命令:vim /etc/profile
#set java environment
JAVA_HOME=/user/local/java/jdk_xxxxxx
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
6、重新加载配置文件:否则环境变量不会重新执行。
source /etc/profile
安装MySQL:
MySQL安装不用指定特定目录,因为MySQL安装时会自动指定。
1、上传MySQL的服务端和客户端的压缩包
2、安装服务端:rpm -ivh mysql-server.x.x.x.rpm
3、安装客户端:rpm -ivh mysql-client.x.x.x.rpm
4、启动MySQL服务:service mysql start
5、设置初始密码:
/usr/bin/mysqladmin -u root password '123456'
6、设置服务开机启动:
加入到系统服务:chkconfig --add mysql
自动启动:chkconfig mysql on
关闭自启动:chkconfig mysql off
7、配置MySQL:设置MySQL的root用户可以远程登陆
grant all privileges on *.* to 'root' @'%' identified by '123456';
flush privileges;
8、配置MySQL:
Esc键退出MySQL,在Linux中设置防火墙放开3306端口:
/shin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
安装Tomcat:
因为tomcat是解压版本,所以只需要上传tomcat压缩包,创建tomcat的目录,再然后解压到创建的tomcat目录中即可。
启动tomcat:
在bin目录下startup.sh是Linux下的执行文件:
执行startup命令:shartup.sh
startup.bat是windows.bat是windows下的执行文件。
开启防火墙的8080端口号:
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save
关闭tomcat:
在bin目录下shutdown.sh是Linux下的执行文件:
执行shutdown命令:./shutdown.sh