前言:Linux中一切皆文件。很多大项目都是部署到Linux上的,所以我们需要学习简单的Linux操作。其中root为Linux权限最大的用户。
一、LINUX以及虚拟机的基本操作与配置
1、进入图形界面
如果进入虚拟机黑屏,管理员模式进入cmd–>执行 netsh winsock reset 重启计算机
startx (内存分布大于628M会自动安装可视化界面)
reboot重启linux。
关机
shutdown -h now 立马关机
shutdown -h 30 30分钟后关机
shutdown -h 20:30 晚上八点半关机
一般关机之前需要执行sync进行同步数据
- 1
- 2
- 3
- 4
- 5
开机后会启动很多程序,在windows中称作服务service,在linux中就叫做守护进程(daemon)。
2、从图形界面到命令行界面
ctrl + alt +F2(F1到F6)都行
虚拟机:Jack/igeek123
LINUX:root/igeek123
3、网关为IPADDR=192.168.187.101 自己设置的(ifconfig自己查看)
reboot重启虚拟机
service network restart重启网络
vi network 开始编辑 i开始编辑 , ESC退出编辑,:q!不保存退出。 :wq!退出并保存 pwd查看当前路径
1、cd /etc/sysconfig目录下编辑network,进行网关的添加(修改)
2、cd /etc/sysconfig/network-scripts/ 路径下对ifcfg-eth0配置网络
service network restart重启网络
service iptables stop 关闭防火墙
4、设置静态IP步骤
设置虚拟机本地网关内容:
我本地windows IP:192.168.219.1
1、取消DHCP动态设置:
然后确认保存即可。
2、配置虚拟机的相关配置内容:
2.1首先是对network进行编辑:cd /etc/sysconfig/ --> **vi network ** 修改成图二即可
2.2修改系统的网络配置文件,路径为:cd /etc/sysconfig/network-scripts/ --》 vi ifcfg-eth0
设置的内容有框框中的。
保存成功后,直接重启网路即可 service network restart
进行测试联通性:linux——》ping www.baidu.com ping windows本机的ip
windows: ping linux的ip
二、LINUX入门基本指令
1、ls:查看文件夹下的文件; ls -a查看所有包括隐藏文件
2、cd cd …/ 回到上一级 cd / cd ~
3、pwd查看当前路径 Table补全
4、mkdir 创建目录 mkdir --help查看帮助 mkdir -p aaa/bb/ccc 创建多级目录 rmdir删除目录(目录不能有内容)
5、cat myfile.txt 查看文件内容 ; more myfile.txt; less myfile.txt 输入/java可以向下查找包含java字符串的; tail -10 myfile.txt; 查看文件最后10行 ;
tail -f myfile.txt动态查看内容
nl a.txt;输出内容包括行号。
6、cp myfile.txt aaa/newname.txt 复制; mv myfile.txt ./bbb/newname.txt 剪切myfile.txt到bbb文件夹并重命名为 newname.txt
rm a.txt;删除文件需要询问; rm -rf aaa.txt直接删除,不进行确认。危险。
7、tar -cvf a.tar ./ 打包当前目录下的文件,解压后的名字为a.tar ,存放在当前目录下
tar -zcvf b.tar.gz ./ 打包后压缩
tar -zxvf b.tar.gz ./ 解压到当前目录下
tar -zxvf b.tar.gz -C ./cc 解压到 cc目录下(带.gz的压缩包需要-zxvf; MySQL-5.6.22-1.el6.i686.rpm-bundle.tar直接 -xvf即可)
8、find / -name file* 从根目录下查找file开头的文件
grep Hello /usr/igeek/file.txt --color 查找file.txt文件夹下包含Hello的文字,按行展示并颜色加深
9、vi a.txt -->i–>xxxxxx—>:q!不保存退出 :wq! 保存退出 :/8080 搜索
10、ps -ef | grep java 搜索包含java的进程
11、kill -9 端口号pid 强制杀死进程
12、 | 管道 A|B A的输出作为B的输入
13、权限修改:chmod u=rwx,g=rx,o=rx a.txt -->修改a.txt权限:当前用户可读可写可执行,组内其他用户可读可执行其他组用户可读可执行。
-rw-r–r--. 1 root root 40 May 25 18:32 file.txt -》第一个:-表文件,d表文件夹;接下来三个一组:当前用户,同组其他用户,不同组用户
r:read 读 4
w:write 写 2
x:excute执行 1
*chmod u=rwx,g=rx,o=rx a.txt ==== chmod 755 a.txt*
14、
aaa、 yum install lrzsz 下载LINUX的lrzsz工具用于,本地机与linux交互传输文件。
rz 上传
sz a.txt 下载
bbb、 alt+p打开sftp窗口,put上传 ,get下载
三、JAVA项目部署软件安装
1、安装jdk**
1.1 首先java -version查看是否已经安装了jdk,如果已安装,版本不对需要卸载,重新安装。
1.2 getconf LONG_BIT 查看linux操作系统的版本。
1.3 然后解压,配置环境变量,最后重新启动 source /etc/profile
即可
JAVA_HOME=/usr/local/tools/jdk/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
- 1
- 2
- 3
- 4
最后如果 java -version 出问题,(-bash: /usr/local/src/jdk1.8.0_191/bin/java: /lib/ld-linux.so.2: bad ELF interprete)
执行:sudo yum install glibc.i686 就可以解决了
2、安装mysql
1.1 找到安装包
1.2 搜索是否已经有mysql了 : rpm -qa | grep mysql
1.3 删除 rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686
1.4 解压 tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar
1.5 安装服务端 rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm , 遇到的错误少依赖 先运行yum install -y perl-Module-Install.noarch 和 yum install libaio.so.1 /yum install libstdc++.i686
1.6 安装成功后cat /root/.mysql_secret查看随机生成的密码: H4WczGo4FsQJ1mQT --》root
1.7 下载客户端 rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm ---->yum install libncurses.so.5
2.1 启动mysql服务器 service mysql start service iptables stop关防火墙 *********************************************************
2.2 mysql -uroot -pYzoH6MbODHwoX484
2.3 设置密码 set password=password(‘root’) ->show databases OK
2.4 开启远程访问的权限,即可以在windows上的navicat上添加此linux上的mysql; grant all privileges on . to ‘root’ @’%’ identified by ‘root’;
flush privileges;
service iptables stop;关闭防火墙 即可
3、安装tomcat
直接解压即可tar -zxvf apache-tomcat-7.0.57.tar.gz
到bin目录下,运行 sh startup.sh开启服务,在浏览器中输入http://192.168.198.128:8080/查看是否安装成功
tail -f /usr/local/tools/tomcat/apache-tomcat-7.0.57/logs/catalina.out 可以动态查看tomcat的日志。
4、redis安装
1、安装c语言环境:yum install gcc-c++
2、压缩 tar -zxvf redis-3.0.7.tar.gz
3、编译 cd redis-3.0.7 然后用 make编译 ; 下载make PREFIX=/usr/local/tools/redis/ install
4、cp redis.conf …/bin/ 把redis.conf 文件复制到bin目录下
5、./redis-server redis.conf 启动redis服务器
6、在新开一个会话 到bin目录下, ./redis-cli 客户端访问成功
5、实战部署web项目到linux上:
1、要把项目中的绝对路径都改成相对的。
2、确保linux中的mysql数据库内容和本地相同。
3、控制jdk版本:pom文件,maven的setting.xml文件
4、启动后看Catalina.out打印的日志,看是否有报错,有报错一点一点处理。:lombok报错,jupiter报错,jdk版本报错。
四、后续补充内容
Linux的硬链接和软链接:
1、硬链接B相当于原文件A 的一个备份,这样一个文件就拥有了两个路径,如果一个被删除,另一个还可以使用。
2、软链接就类似于windows下的快捷方式,如果把原文件A删除了,这个软链接也会失效。
先创建一个普通文件f1.txt
ln f1.txt f2.txt默认创建的f2.txt就是硬链接
ln -s f1.txt f3.txt创建的f3.txt就是软链接
把f1.txt删除后,硬链接文件f2.txt正常显示,f3.txt失效
LINUX用户的管理
切换到root用户下:
**添加账号:**useradd -m yinjun ----》 在home目录下就可以看到一个yinjun的文件夹
-G xxx分配用户属组
**本质:**linux下一切皆文件,这里的添加用户说白了就是往某个文件中写入了用户的信息! cat /etc/passwd目录下可以看到有关信息
**删除账号:**userdel -r yinjun
修改用户(权限等): usermod -d /home/2333 yinjun 修改后在配置文件passwd文件中可以看到
切换用户:su yinjun
exit:推出当前权限用户,回到root用户
hostname 查看主机名; hostname yinj 修改主机名为yinj,临时的。
passwd yinjun 可以在root用户下修改指定用户的密码
锁定账户
比如某员工辞职了,需要冻结这个账号,一旦冻结无法恢复。
passwd -l yinjun #锁定之后就无法登录了
passwd -d yinjun #清空密码了,也就无法登录
用户组管理:
属主、属组
每一个用户都有一个用户组,系统可以对一个用户组的所有用户进行集中管理(开发、测试、运维。。。)
添加用户组:groupadd dev cat /etc/group进行配置查看
可以用groupadd -g 520 dat 指定对应的id,如果不指定就是自增。gid不能重复,重复的话就会提示,无法创建.
不写的话id递增。
删除用户组:groupdel dev
修改用户组:groupmod -g 666 -n newdev dev ;将原来的dev组id改为666,名字改为newdev
磁盘管理
df:(列出文件系统的整体磁盘使用量,相当于windows各个盘符使用情况) -h
du:(检查当前目录磁盘空间使用量)
进程管理
1、在linux中,每一个程序都是自己的一个进程,每个进程都有自己的id号
2、每一个进程都有一个父进程
3、进程的存在有两种方式:前台,后台。
4、一般服务都是后台运行的,基本程序都是前台运行的。
命令 ps查看当前系统正在运行的程序
ps [-xxxxx]
-a:所有信息
-u:以用户的信息展示进程
-x:显示后台运行进程的参数
ps: 查看进程
| : 管道符用于过滤; A|B A的结果作为条件再次进行过滤
grep: 查找文件中附合条件的字符串,
eg:
ps -ef | grep java #查看java相关的进行(可以查看到父进程的目录)
- 1
- 2
- 3
- 4
- 5
- 6
pstree
-p:显示父id
-u:显示用户组
pstree -pu
结束进程 : kill -9 pid
后台执行:nohup
https://www.freesion.com/article/4710864305/