linux服务器用户组,磁盘,进程管理以及项目发布讲解

linux服务器用户组,磁盘,进程管理以及项目发布讲解

    • 用户组管理
    • 磁盘管理
    • 进程管理
    • 环境安装
      • jdk安装

用户组管理

组的增 删 改 查 实际上就是对/etc/group文件的更新

创建一个用户组: groupadd

groupadd haixin

cat /etc/group

创建完成,查看可以看到一个组的id.这个id可以指定.不指定就是自增

groupadd -g 666 haixin2

删除用户组

groupdel haixin1

修改用户组的id和名字

groupmod -g 777 -n newhaixin haixin

用户要切换用户组

一般创建用户的时候就会给他分配到一个用户组

useradd -m -G 666 username

管理员登录到要切换的账号

#登录当前账户 haixin

$ newgrp root 执行这个命令,成功则进入

拓展:文件的查看

/etc/passwd

展示每条内容为

用户名:口令(就是密码,这里不直接实现,用一个字母或者符号代替):用户标识号:组标识号:注释性描述:主目录:登录Shell

每一行都代表一个用户

口令:把真正的 加密后的用户口令字存放到/etc/shadow文件中

可以cat /etc/shadow 查看,但是都是加密过的

磁盘管理

df(列出文件系统整体的磁盘使用量) du(检查磁盘空间的使用量)

df (这个磁盘大小展示的是以字节为单位)

[haixin2@haixin root]$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          877760       0    877760   0% /dev
tmpfs             888120       0    888120   0% /dev/shm
tmpfs             888120     528    887592   1% /run
tmpfs             888120       0    888120   0% /sys/fs/cgroup
/dev/vda1       41152812 6179448  33069656  16% /
tmpfs             177628       0    177628   0% /run/user/0

df -h (这磁盘打下 size 是以m为单位)

[haixin2@haixin root]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        858M     0  858M   0% /dev
tmpfs           868M     0  868M   0% /dev/shm
tmpfs           868M  528K  867M   1% /run
tmpfs           868M     0  868M   0% /sys/fs/cgroup
/dev/vda1        40G  5.9G   32G  16% /
tmpfs           174M     0  174M   0% /run/user/0

du (检查磁盘空间的使用量,查看空间的具体使用)

cd /home

du

du -a (将子目录 以及隐藏目录也一并展示)

du -sm /* 检查根目录下每个目录所占用的用量

[root@haixin ~]# du -sm /*
0	/bin
146	/boot
0	/dev
38	/etc
350	/home
0	/lib
0	/lib64
1	/lost+found
1	/media
1	/mnt
136	/opt
1	/patch
du: cannot access ‘/proc/31995/task/31995/fd/4’: No such file or directory
du: cannot access ‘/proc/31995/task/31995/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/31995/fd/4’: No such file or directory
du: cannot access ‘/proc/31995/fdinfo/4’: No such file or directory
0	/proc
1	/root
1	/run
0	/sbin
1	/srv
0	/sys
77	/tmp
2346	/usr
473	/var
2309	/www

系统初期最大的就是我们的用户目录,因为很多文件和程序都在这里面

Mac或者使用Linux挂载我们的一些本地磁盘或者文件!

mount 外部设备所在目录 /mut/设备目录

卸载: umount -f [挂载位置] 强制卸载

除此之外,我们以后安装了jdk,也可以使用java的一些命令来查看

进程管理

linux中一切皆文件(文件:读写执行,权限(用户,用户组),系统(磁盘,进程),)

基本概念

  1. 在linux中,每一个程序都是有自己的一个进程,每个进程都有一个id号
  2. 每一个进程都有一个父进程
  3. 进程可以有两种存在方式:前台进程和后台进程
  4. 一般的话服务都是后台进程.一般的程序是前台进程

命令

ps 查看当前系统中正在执行的各种进程信息

ps -xx

  • -a 显示当前终端所运行的所有进程
[root@haixin ~]# ps
  PID TTY          TIME CMD
32460 pts/0    00:00:00 bash
32530 pts/0    00:00:00 ps

  • -u 以用户的信息显示进程
  • -x 显示后台运行程序的参数
#ps -aux 查看所有进程
ps -aux | grep mysql
# | 管道符, A|B 把A命令的结果作为输出来操作B命令
# grep 查找文件中符合条件的字符


[root@haixin ~]# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  51712  3512 ?        Ss   Mar10   1:28 /usr/li
root         2  0.0  0.0      0     0 ?        S    Mar10   0:00 [kthrea
root         4  0.0  0.0      0     0 ?        S<   Mar10   0:00 [kworke
root         6  0.0  0.0      0     0 ?        S    Mar10   0:01 [ksofti
root         7  0.0  0.0      0     0 ?        S    Mar10   0:01 [migrat
root         8  0.0  0.0      0     0 ?        S    Mar10   0:00 [rcu_bh
root         9  0.0  0.0      0     0 ?        S    Mar10   6:21 [rcu_sc
root        10  0.0  0.0      0     0 ?        S<   Mar10   0:00 [lru-ad
root        11  0.0  0.0      0     0 ?        S    Mar10   0:03 [watchd
root        12  0.0  0.0      0     0 ?        S    Mar10   0:02 [watchd
...


[root@haixin ~]# ps -aux | grep mysql
root     26439  0.0  0.0 113424  1632 ?        S    Mar10   0:00 /bin/sh /www/server/mysql/bin/mysqld_safe --datadir=/www/server/data --pid-file=/www/server/data/iZ8vb5yl5m390bo5rw0r8cZ.pid
mysql    27085  0.0  9.7 1104884 173224 ?      Sl   Mar10   5:13 /www/server/mysql/bin/mysqld --basedir=/www/server/mysql --datadir=/www/server/data --plugin-dir=/www/server/mysql/lib/plugin --user=mysql --log-error=iZ8vb5yl5m390bo5rw0r8cZ.err --open-files-limit=65535 --pid-file=/www/server/data/iZ8vb5yl5m390bo5rw0r8cZ.pid --socket=/tmp/mysql.sock --port=3306
root     32686  0.0  0.0 112816   972 pts/0    S+   10:42   0:00 grep --color=auto mysql

ps -ef:可以查看到父进程的信息

 ps -ef | grep mysql # 看父进程我们一般可以通过目录数结构来查看
 pstree -pu
 -p 显示父id
 -u 显示用户组
 
 [root@haixin ~]# ps -ef |grep mysql
root       354 32460  0 10:43 pts/0    00:00:00 grep --color=auto mysql
root     26439     1  0 Mar10 ?        00:00:00 /bin/sh /www/server/mysql/bin/mysqld_safe --datadir=/www/server/data --pid-file=/www/server/data/iZ8vb5yl5m390bo5rw0r8cZ.pid
mysql    27085 26439  0 Mar10 ?        00:05:13 /www/server/mysql/bin/mysqld --basedir=/www/server/mysql --datadir=/www/server/data --plugin-dir=/www/server/mysql/lib/plugin --user=mysql --log-error=iZ8vb5yl5m390bo5rw0r8cZ.err --open-files-limit=65535 --pid-file=/www/server/data/iZ8vb5yl5m390bo5rw0r8cZ.pid --socket=/tmp/mysql.sock --port=3306

[root@haixin ~]# pstree -pu
systemd(1)─┬─AliYunDun(1072)─┬─{AliYunDun}(1073)
           │                 ├─{AliYunDun}(1074)
           │                 ├─{AliYunDun}(1086)
           │                 ├─{AliYunDun}(1087)
           │                 ├─{AliYunDun}(1088)
           │                 ├─{AliYunDun}(1089)
           │                 ├─{AliYunDun}(1090)
           │                 ├─{AliYunDun}(1091)
           │                 ├─{AliYunDun}(1092)
           │                 ├─{AliYunDun}(1093)
           │                 ├─{AliYunDun}(1094)
           │                 ├─{AliYunDun}(1095)
           │                 ├─{AliYunDun}(1096)
           │                 ├─{AliYunDun}(1097)
           │                 ├─{AliYunDun}(1098)
           │                 ├─{AliYunDun}(1099)
           │                 ├─{AliYunDun}(1100)
           │                 ├─{AliYunDun}(1101)
           │                 ├─{AliYunDun}(1102)
           │                 ├─{AliYunDun}(1103)
           │                 ├─{AliYunDun}(1104)
           │                 └─{AliYunDun}(1105)
           ├─AliYunDunUpdate(1023)─┬─{AliYunDunUpdate}(1024)
           │                       ├─{AliYunDunUpdate}(1025)
           │                       └─{AliYunDunUpdate}(1026)
           ├─BT-Panel(2247)───{BT-Panel}(2248)
           ├─BT-Task(2269)─┬─{BT-Task}(2270)
           │               ├─{BT-Task}(2271)
           │               ├─{BT-Task}(2272)
           │               ├─{BT-Task}(2273)
           │               ├─{BT-Task}(2274)
           │               ├─{BT-Task}(2275)
           │               ├─{BT-Task}(2276)
           │               └─{BT-Task}(2277)
...
 

杀死进程

kill -9 进程id

表示强制结束该进程

环境安装

到这里,结合上一篇文章,基本命令就讲完了.下面就是环境安装,以及项目的发布了.马上就学发布项目是不是很兴奋

安装软件一般有三种方式:

rpm(jdk:在线发布一个springboot项目)

解压缩(tomcat,启动并通过外网访问,发布网站),

yum在线安装(docker:直接运行跑起来) 我会用这三种方式演示

jdk安装

  1. 下载JDK rpm .去oralce官网下载即可
  2. 安装java环境
#检测系统是否存在java环境 java-version
#如果有就需要先卸载自带的环境
#rpm -qa | grep jdk #检测JDK版本信息
# rpm -e --nodeps jdk_版本号

#卸载完成之后即可安装jdk
#rpm -ivh rpm包

[root@haixin home]# ls
apache-tomcat-9.0.38  apache-tomcat-9.0.38.zip  haixin2  jdk1.8.0_20  jdk-8u281-linux-x64.rpm  redis  www
[root@haixin home]# rpm -ivh jdk-8u281-linux-x64.rpm 
warning: jdk-8u281-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8-2000:1.8.0_281-fcs        ################################# [100%]Unpacking JAR files...
	tools.jar...
	plugin.jar...
	javaws.jar...
	deploy.jar...
	rt.jar...
	jsse.jar...
	charsets.jar...
	localedata.jar...
[root@haixin home]# 

[root@haixin etc]# java -version
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)


# 配置环境变量
#配置环境变量:/etc/profile

vim /etc/profile

i  进入编辑模式

在最下面输入一下信息.第一个为jdk安装的路径.一般默认是在这个位置

JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
JRE_HOME=$JAVA_HOME/jre	
CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export JAVA_HOME JRE_HOME CLASSPATH PATH

如果保存不成功,:wq! 来强制保存
我这里后来出现失灵ls cd等命令不可用(因为配置文件写错了)解决方法参考:https://blog.csdn.net/moonmoonroc/article/details/106590642

让配置生效:source /etc/profile

我们来发布一个网站(下面的操作,强烈建议大家手动操作一下,看似简单,有时会遇到许多意想不到的麻烦.我也是没有经验,弄了两个小时)

在本地打包一个项目jar包 (无需连接数据库的,)在本地测试是否可以正常访问 (项目最好不用8080,之前我们装过tomcat,不知道是不是这个原因,反正我的8080端口被占用了.)

端口被占用,我修改了端口号,准备重新打一个jar包.但是不知道哪里出了问题,一直出错,根据以往经验,我决定把项目中的target文件夹删除.

在删除时,一直显示本地的jdk运行了原来的jar包导致无法删除.我用了最直接的办法,重启电脑.然后获得了我想要的jar包

然后cd到 jar包所在目录,输入 java -jar xxx.jar 运行

然后访问 ,访问到了项目

通过xftp上传到云服务器(我放到了home目录下的自建文件夹中)

(查看项目需要访问的端口是否开启, 就是你上面的端口

开启端口:

firewall-cmd --zone=public --add-port=80/tcp --permanent

如果是阿里云服务器还需要在安全组里开启(不懂的可以看我之前关于服务器配置的文章)

重启防火墙:

systemctl restart firewalld.service

查看端口:

firewall-cmd --list-ports

)

cd到jar包目录

java -jar xx.jar

就OK了

伴随着我第一个项目的上市(哈哈,其实就是个项目壳壳),这一篇文章也落幕了.欢迎留言评论.喜欢就给个关注吧! 完结散花

你可能感兴趣的:(linux,linux,java,centos,mysql,运维)