Linux常用命令与实践

开关机指令

shutdown 关机

sync  #将数据由内存同步到硬盘
shutdown #关机指令
shutdown -h 10 #这个命令表示,计算机将在10分钟之后关机
shutdown -h now # 立即关机
shutdown -h 20:25 # 系统将在今天的20:25分关机
shutdown -h +10 # 10分钟后关机
shutdown -r now # 立即重启
shutdown -r +10 # 10分钟后重启
reboot  #就是重启等价于 shutdown -r now
halt  #关闭系统,等同于shutdown -h now 和poweroff

常用的基本命令(必须掌握)

目录管理

首先了解什么是绝对路径、相对路径

绝对路径:带有盘符的例如:E:\Java\XXX.XXX

相对路径:是指Java目录下的xxx.xxx文件,那么对应的相对配置为/xxx.xxx

cd : 切换目录命令
./ : 当前目录
cd ..: 返回上一级目录
[root@iZ0jl52dacrua17zrm6ii7Z ~]# cd /  
[root@iZ0jl52dacrua17zrm6ii7Z /]# ls
bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  patch  proc  root  run  sbin  srv  sys  tmp  usr  var  www
[root@iZ0jl52dacrua17zrm6ii7Z /]# cd /home
[root@iZ0jl52dacrua17zrm6ii7Z home]# cd ..
[root@iZ0jl52dacrua17zrm6ii7Z /]# 

ls命令 (列出目录!)Linux中常用命令

-a 参数 : all ,指查看全部的文件包括隐藏文件
-l 参数 : 列出所有文件,包括文件的属性和权限,不含隐藏文件
--------所有的Linux命令都是可以组合使用 例如:要查看全部文件的属性和权限,含隐藏文件 可以使用-al
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  redis  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls -a
.  ..  hua  redis  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls -l
total 12
drwxr-xr-x 2 root  root  4096 May 10 11:06 hua
drwx------ 2 redis redis 4096 May 10 09:59 redis
drwx------ 3 www   www   4096 May 10 09:58 www
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls -al
total 20
drwxr-xr-x.  5 root  root  4096 May 10 11:07 .
dr-xr-xr-x. 20 root  root  4096 May 10 09:38 ..
drwxr-xr-x   2 root  root  4096 May 10 11:06 hua
drwx------   2 redis redis 4096 May 10 09:59 redis
drwx------   3 www   www   4096 May 10 09:58 www

cd 命令 切换目录

cd目录名(绝对路径都是以/开头的 而相对路径是以…/

[root@iZ0jl52dacrua17zrm6ii7Z home]# cd /   			 返回跟目录
[root@iZ0jl52dacrua17zrm6ii7Z /]# cd home				进入home
[root@iZ0jl52dacrua17zrm6ii7Z home]# cd usr				这里usr和home同级不能这样进入
-bash: cd: usr: No such file or directory
[root@iZ0jl52dacrua17zrm6ii7Z home]# cd ../usr			这里先返回上级目录后进入
[root@iZ0jl52dacrua17zrm6ii7Z usr]# cd /home           这里使用绝对路径进入
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  redis  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# mkdir huaStudy      创建一个目录
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy  redis  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# cd ..				返回上级目录
[root@iZ0jl52dacrua17zrm6ii7Z /]# cd /home/huaStudy		这里使用绝对路径进入
[root@iZ0jl52dacrua17zrm6ii7Z huaStudy]# cd ~			回到当前用户
[root@iZ0jl52dacrua17zrm6ii7Z ~]# pwd                pwd查看显示当前用户所在目录
/root
[root@iZ0jl52dacrua17zrm6ii7Z ~]# cd /home/hua
[root@iZ0jl52dacrua17zrm6ii7Z hua]# pwd
/home/hua

pwd查看显示当前用户所在目录

[root@iZ0jl52dacrua17zrm6ii7Z huaStudy]# cd ~			回到当前用户
[root@iZ0jl52dacrua17zrm6ii7Z ~]# pwd                pwd查看显示当前用户所在目录
/root
[root@iZ0jl52dacrua17zrm6ii7Z ~]# cd /home/hua
[root@iZ0jl52dacrua17zrm6ii7Z hua]# pwd
/home/hua

mkdir 创建一个目录

[root@iZ0jl52dacrua17zrm6ii7Z hua]# cd /
[root@iZ0jl52dacrua17zrm6ii7Z /]# cd home
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy  redis  www
# 创建多级目录 
[root@iZ0jl52dacrua17zrm6ii7Z home]# mkdir test/test1/test2   
mkdir: cannot create directory ‘test/test1/test2’: No such file or directory
# 从上面看得出这里创建多级文件夹不能使用单纯创建文件夹方式而是加一个参数-p创建 递归创建目录
[root@iZ0jl52dacrua17zrm6ii7Z home]# mkdir -p test/test1/test2   
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy  redis  test  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# cd test
[root@iZ0jl52dacrua17zrm6ii7Z test]# ls
test1
[root@iZ0jl52dacrua17zrm6ii7Z test]# cd test1
[root@iZ0jl52dacrua17zrm6ii7Z test1]# ls
test2

rmdir 删除目录

[root@iZ0jl52dacrua17zrm6ii7Z test1]# cd /
[root@iZ0jl52dacrua17zrm6ii7Z /]# cd home
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy  redis  test  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# mkdir test1
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy  redis  test  test1  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# rmdir test1  这里删除单个目录
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls           查看发现删除成功
hua  huaStudy  redis  test  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# rmdir test  这里test里面还有文件
rmdir: failed to remove ‘test’: Directory not empty   #发现不能删除
[root@iZ0jl52dacrua17zrm6ii7Z home]# rmdir test/test1/test2  而这样能否删除呢
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls					没有报错
hua  huaStudy  redis  test  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# rmdir -p test/test1/test2    # 添加参数-p递归删除  出现错误,我们查看下原因
rmdir: failed to remove ‘test/test1/test2’: No such file or directory
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls        
hua  huaStudy  redis  test  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# cd test
[root@iZ0jl52dacrua17zrm6ii7Z test]# ls
test1
[root@iZ0jl52dacrua17zrm6ii7Z test]# cd test1
[root@iZ0jl52dacrua17zrm6ii7Z test1]# ls   # 这里发现test2没有了,可以看出rmdir test/test1/test2  删除的是最里层空目录
[root@iZ0jl52dacrua17zrm6ii7Z test1]# cd ..
[root@iZ0jl52dacrua17zrm6ii7Z test]# cd ..
[root@iZ0jl52dacrua17zrm6ii7Z home]# rmdir -p test/test1   递归删除目录
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy  redis  www

可以看出rdmir删除空的目录,如果下面存在文件要先删除文件 递归删除目录-p参数

cp 复制文件或目录

[root@iZ0jl52dacrua17zrm6ii7Z opt]# cd /tmp
[root@iZ0jl52dacrua17zrm6ii7Z tmp]# ls
22568.jsvc_up                      mysql.sock.lock
AliyunAssistClientSingleLock.lock  mysqlx.sock
aliyun_assist_service.sock         mysqlx.sock.lock
hsperfdata_root                    panelExec.log
hsperfdata_www                     systemd-private-c1125a06e570412d93928ae70eb466ac-chronyd.service-oE9F9g
mysql.sock
[root@iZ0jl52dacrua17zrm6ii7Z tmp]# cp panelExec.log /home   #拷贝文件到指定
[root@iZ0jl52dacrua17zrm6ii7Z tmp]# cd /home
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy  panelExec.log  redis  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# cp panelExec.log hua   #拷贝文件到指定
[root@iZ0jl52dacrua17zrm6ii7Z home]# cd hua
[root@iZ0jl52dacrua17zrm6ii7Z hua]# ls
panelExec.log
[root@iZ0jl52dacrua17zrm6ii7Z hua]# cd ..
[root@iZ0jl52dacrua17zrm6ii7Z home]# cp panelExec.log hua   #拷贝文件到指定如果文件重复,就选择是否覆盖(y)或者放弃(n)
cp: overwrite ‘hua/panelExec.log’? y
[root@iZ0jl52dacrua17zrm6ii7Z home]# 

rm 移除文件或目录

-f : 忽略不存在的文件 ,不会出现警告,强制删除
-r : 递归删除目录
-i : 互动,删除询问
rm -rf /  # 系统中所有的文件就被删除了危险操作 ,所谓删库跑路操作

mv 移动文件或目录!或重命名文件

-f :强制
-u : 只能替换已更新过的文件
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy  panelExec.log  redis  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# cd hua
[root@iZ0jl52dacrua17zrm6ii7Z hua]# ls
panelExec.log
[root@iZ0jl52dacrua17zrm6ii7Z hua]# mv panelExec.log ../huaStudy  #移动文件
[root@iZ0jl52dacrua17zrm6ii7Z hua]# ls
[root@iZ0jl52dacrua17zrm6ii7Z hua]# cd ..
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy  panelExec.log  redis  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# cd huaStudy
[root@iZ0jl52dacrua17zrm6ii7Z huaStudy]# ls
panelExec.log
[root@iZ0jl52dacrua17zrm6ii7Z huaStudy]# cd ..
[root@iZ0jl52dacrua17zrm6ii7Z home]# mv huaStudy huaStudy2 		#重命名文件
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy2  panelExec.log  redis  www
[root@iZ0jl52dacrua17zrm6ii7Z home]# 

touch命令 创建文件

echo 命令 输入字符串

[root@iZ0jl52dacrua17zrm6ii7Z huaStudy2]# touch test1
[root@iZ0jl52dacrua17zrm6ii7Z huaStudy2]# ls
panelExec.log  test1
[root@iZ0jl52dacrua17zrm6ii7Z huaStudy2]# echo "I love you" >> test1
[root@iZ0jl52dacrua17zrm6ii7Z huaStudy2]# cat test1
I love you

基本属性

十个字母,又有人问了什么是十个字母相信大家还记得前面我们使用ls -lll命令列出所有文件,包括文件的属性和权限

[root@iZ0jl52dacrua17zrm6ii7Z /]# ll
total 68
lrwxrwxrwx.   1 root root     7 Mar 15 13:18 bin -> usr/bin
dr-xr-xr-x.   5 root root  4096 Mar 15 13:39 boot
drwxr-xr-x   19 root root  2980 May 10 09:37 dev
drwxr-xr-x.  86 root root  4096 May 10 09:59 etc
drwxr-xr-x.   6 root root  4096 May 10 12:05 home
lrwxrwxrwx.   1 root root     7 Mar 15 13:18 lib -> usr/lib
lrwxrwxrwx.   1 root root     9 Mar 15 13:18 lib64 -> usr/lib64
drwx------.   2 root root 16384 Mar 15 13:18 lost+found
drwxr-xr-x.   2 root root  4096 Apr 11  2018 media
drwxr-xr-x.   2 root root  4096 Apr 11  2018 mnt
drwxr-xr-x.   3 root root  4096 May 10 09:59 opt
drwxr-xr-x    2 root root  4096 May 10 09:38 patch
dr-xr-xr-x  109 root root     0 May 10 09:30 proc
dr-xr-x---.   7 root root  4096 May 10 10:35 root
drwxr-xr-x   27 root root   860 May 10 10:34 run
lrwxrwxrwx.   1 root root     8 Mar 15 13:18 sbin -> usr/sbin
drwxr-xr-x.   2 root root  4096 Apr 11  2018 srv
dr-xr-xr-x   13 root root     0 May 10 09:30 sys
drwxrwxrwt.  10 root root  4096 May 10 12:05 tmp
drwxr-xr-x.  14 root root  4096 Dec 13  2016 usr
drwxr-xr-x.  19 root root  4096 May 10 09:57 var
drwxr-xr-x    6 root root  4096 May 10 09:37 www

向这里展示的lrwxrwxrwx就是这十个字母,在boot文件中第一个属性“d”,d就表示该文件为一个目录文件,而这些字母表示含义

第一个字母的含义

  • 当为【d】则是目录
  • 当为【-】则是文件
  • 当为【l】则表示为链接文档
  • 当为【b】则表示为装置文件里面可供存储的接口设备(可随机存储装置)
  • 当为【c】则表示为装置文件里面串行端口设备

接下来的九个字母三个一组,均为rwx的组合

  • 【r】表示可读
  • 【w】表示可写
  • 【x】表示可执行
  • 【-】表示没有权限

三个权限的位置不会变

文件类型	属于谁的权限 	属组权限	其他用户权限
   l   	      rwx 	 	 rwx 	    rwx

修改文件属性命令

chgrp    修改文件的属组
chgrp [-R] 属组文件名 文件名

-R : 递归更改文件属组,就是在更改某个目录文件的属组时,加上-R则该目录下的所有文件的属组都会改变

chown   修改文件的属主,也可以同时修改属组
chown [-R] 属主名  文件名
chown [-R] 属主名:属组名  文件名

以上两个使用不多

chmod   更改文件的九个属性(使用最多,掌握)
chmod [-R] xyz 文件或目录

常常出现的 你没有权限操作此文件就是由此设置

Linux文件属性一般有两种方法操作,一种数字(使用最多),一种字符

r:4        w:2         x:1

可读可写可执行 : rwx        7
可读可写不执行 : rw-        6
可读不可写可执行: r-x        5
可读不可写可不执行:r--		4
不可读可写可执行: -wx        3
....


可以直接写数字表示例如:
chmod 777    为文件赋予可读可写可执行权限

文件内容查看

cat命令从第一行往后看,用于读取文章或配置文件 都使用cat

tac命令从后往前看 可以看出 tac和cat相反

[root@iZ0jl52dacrua17zrm6ii7Z etc]# cat passwd-
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@iZ0jl52dacrua17zrm6ii7Z etc]# tac passwd-
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash

nl命令 显示行号,有时候看代码希望看行号

[root@iZ0jl52dacrua17zrm6ii7Z etc]# nl passwd-
     1	root:x:0:0:root:/root:/bin/bash
     2	bin:x:1:1:bin:/bin:/sbin/nologin
     3	daemon:x:2:2:daemon:/sbin:/sbin/nologin

more命令 一页一页的展示用于长文(空格表示下一页 回车表示下一行 :f表示显示行号)

less与more相似,但是比more好用,他可以往前翻页(空格下一页,上下可以翻页,只是查询结束以后使用q退出 如果要查找指定的字符或字符串使用 ?+要查询的字符串,n表示下一个 N表示上一个)

head 只看头几行使用参数-n控制看几行

[root@iZ0jl52dacrua17zrm6ii7Z etc]# head -n 3 passwd-
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

tail 只看尾几行 -n 控制行数

[root@iZ0jl52dacrua17zrm6ii7Z etc]# tail -n 3 passwd-
ntp:x:38:38::/etc/ntp:/sbin/nologin
www:x:1000:1000::/home/www:/sbin/nologin
mysql:x:1001:1001::/home/mysql:/sbin/nologin

Linux中使用ifconfig查看网络配置类似于Windows中的ipconfig

Vim编译器基本命令

什么是Vim编译器

Vim是从vi发展出来的一个文本编译器,我们常常使用Vim(查看内容,编辑内容,保存内容)

Vim三种使用模式

分别为:命令模式,编辑输入模式,底线命令模式

  • 命令模式

    当用户使用Vim进入时就是命令模式,而不是输入模式常用的几个命令为:

    • i 点击i以后进入编辑输入模式,可以输入字符
    • x 删除当前光标处的字符
    • 进入底线命令模式,以在底部输入命令
  • 编辑输入模式

    ​ 在命令模式下输入i 进入输入模式

    ​ 在输入模式下同Windows下差别不大,使用【ESC】退出输入模式进入命令模式

  • 底线命令模式

    在命令模式下输入**:**可以快速进入底线命令模式,如果在输入模式下要先使用【ESC】退出输入模式进入命令模式而后进入底线命令模式
    

    ​ 底线命令模式命令有很多,我们主要常用如下:

    • q 退出程序
    • w 保存文件
    • wq 保存并退出(最常用)

按【ESC】可以随时退出底线命令模式

更多Vim命令

账户管理

实现用户账号管理一般有以下几个

用户账号添加 useradd 命令

useradd -选项 用户名
-m :自动创建这个用户的主目录 
-G :给用户分配组
[root@iZ0jl52dacrua17zrm6ii7Z home]# useradd zhangsan
[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy2  panelExec.log  redis  www  zhangsan
 # 查看是否添加用户成功
[root@iZ0jl52dacrua17zrm6ii7Z home]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
www:x:1000:1000::/home/www:/sbin/nologin
mysql:x:1001:1001::/home/mysql:/sbin/nologin
redis:x:1002:1002::/home/redis:/sbin/nologin
zhangsan:x:1003:1003::/home/zhangsan:/bin/bash
#这里发现已经创建成功了

在Linux中一切皆文件,这里添加成功一个用户 也无非添加一个文件夹

删除用户 userdel

[root@iZ0jl52dacrua17zrm6ii7Z home]# ls
hua  huaStudy2  panelExec.log  redis  www  zhangsan
[root@iZ0jl52dacrua17zrm6ii7Z home]# userdel -r zhangsan
[root@iZ0jl52dacrua17zrm6ii7Z home]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
www:x:1000:1000::/home/www:/sbin/nologin
mysql:x:1001:1001::/home/mysql:/sbin/nologin
redis:x:1002:1002::/home/redis:/sbin/nologin
#这里发现已经删除

修改用户 usermod

[root@iZ0jl52dacrua17zrm6ii7Z home]# usermod -d /home/233 zhangsan

修改后查询即可

切换用户

root用户

[root@iZ0jl52dacrua17zrm6ii7Z home]# 
root: 当前用户
iZ0jl52dacrua17zrm6ii7Z: 主机名
home: 当前文件夹
# :  超级用户
  1. 切换用户命令:su username 【这里的username是你的用户名】
  2. 从普通用户切换到root用户,还可以使用命令sudo su
  3. 在终端输入exit或者logout可退回原来用户
  4. 在切换用户时可以使用【su -root】

$ 表示普通用户

#表示超级用户,即root用户

用户设置密码

超级用户
password username:
new password:
re password:
普通用户
password
(current) UNIX password:
new password:  #密码最好不要太简单

锁定账户

passwd -l zhangsan	#锁定之后这个账户就不能登录了
passwd -d zhangsan	#使用后密码清空 没有密码也不能登录

用户组管理

创建一个用户组 groupadd

[root@iZ0jl52dacrua17zrm6ii7Z /]# groupadd zhangsan
[root@iZ0jl52dacrua17zrm6ii7Z /]# cat /etc/group    #查看组
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
input:x:999:
systemd-journal:x:190:
systemd-network:x:192:
dbus:x:81:
polkitd:x:998:
ssh_keys:x:997:
sshd:x:74:
postdrop:x:90:
postfix:x:89:
chrony:x:996:
nscd:x:28:
tcpdump:x:72:
rpc:x:32:
rpcuser:x:29:
nfsnobody:x:65534:
ntp:x:38:
www:x:1000:
mysql:x:1001:
cgred:x:995:
redis:x:1002:
zhangsan:x:1003:

可以使用-g 520设置组id为520

删除组 groupdel

[root@iZ0jl52dacrua17zrm6ii7Z /]# groupdel zhangsan
[root@iZ0jl52dacrua17zrm6ii7Z /]# cat /etc/group

修改用户组 groupmod -g ID号 -n 新名字 原来的那个组

​ 重命名 为新名字

磁盘管理

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

磁盘使用情况
[root@iZ0jl52dacrua17zrm6ii7Z ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          877396       0    877396   0% /dev
tmpfs             887988       8    887980   1% /dev/shm
tmpfs             887988     584    887404   1% /run
tmpfs             887988       0    887988   0% /sys/fs/cgroup
/dev/vda1       41152812 6724212  32524892  18% /
tmpfs             177600       0    177600   0% /run/user/0
[root@iZ0jl52dacrua17zrm6ii7Z ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        857M     0  857M   0% /dev
tmpfs           868M  8.0K  868M   1% /dev/shm
tmpfs           868M  584K  867M   1% /run
tmpfs           868M     0  868M   0% /sys/fs/cgroup
/dev/vda1        40G  6.5G   32G  18% /
tmpfs           174M     0  174M   0% /run/user/0

检查使用量
[root@iZ0jl52dacrua17zrm6ii7Z home]# du
8	./www/.oracle_jre_usage
24	./www
4	./hua
16	./redis
132	./huaStudy2
304	.
[root@iZ0jl52dacrua17zrm6ii7Z home]# du -a   #查看全部包括隐藏
124	./panelExec.log
4	./www/.oracle_jre_usage/aa694b02fe91242e.timestamp
8	./www/.oracle_jre_usage
4	./www/.bashrc
4	./www/.bash_profile
4	./www/.bash_logout
24	./www
4	./hua
4	./redis/.bashrc
4	./redis/.bash_profile
4	./redis/.bash_logout
16	./redis
4	./huaStudy2/test1
124	./huaStudy2/panelExec.log
132	./huaStudy2
304	.
[root@iZ0jl52dacrua17zrm6ii7Z /]# du -sm /*   #检查根目录下每个目录所占用容量

挂载:mount 文件 挂载位置

卸载:umount -f 【挂载的位置】强制卸载

进程管理

什么是进程,基本概念

1,在Linux中,每一个程序都有自己的一个进程,每个进程都有一个id号

2,每一个进程,都会有一个父进程

3,进程可以有两种方式存在:前台,后台

4,一般的话都是后台运行的,基本的程序是前台运行的

命令

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

ps -xx:

  • -a : 显示当前终端正在执行的进程信息(当前的一个进程)
  • -u :以用户的信息显示进程
  • -x : 显示后台进程的参数
# ps -aux  查看所有进程信息
# | 在linux中叫做管道符  A|B 将A的结果到B
# grep 查找文件中符合条件的字符串

ps -aux|grep mysql
只用记住这个就好
ps -aux|grep 进程名字

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

ps -ef|grep mysql #查看父进程我们一般可以通过目录树结构来查看

pstree -pu
	-p 显示父id
	-u 显示用户组

结束进程

kill -9 进程的id

nohup代表后台执行程序

环境安装

安装JDK

首先下载JDKrpm ,下载后可通过xftp将文件传入Linux中

#首先检查是否有java环境  使用 java -version

#如果有的的话先进行卸载
rpm -qa|grep jdk  #检查jdk版本
rpm -e --nodeps jdk信息名称  #强制删除

#卸载完毕后可进行安装
rpm -ivh rpm的包

#将下来配置环境变量
[root@iZ0jl52dacrua17zrm6ii7Z etc]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

[root@iZ0jl52dacrua17zrm6ii7Z etc]# rpm -qa|grep jdk
jdk1.8.0_121-1.8.0_121-fcs.x86_64

配置环境变量

# 在 vim /etc/profile  下进行配置环境变量

JAVA_HOME=/usr/java/你的JDK名称
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME

让这个生效使用source /etc/profile *#刷新环境变量*

一切完成后进行检验

echo $JAVA_HOME #查看 JAVA_HOME 是否配置成功
echo $CLASSPATH #查看 CLASSPATH 是否配置成功
echo $PATH #查看 PATH 是否配置成功
#或者直接使用java查看配置是否生效

接下来发布一个SpringBoot项目

Firewalld启动
[root@test1 ~]# systemctl start firewalld
查看开放的端口
[root@test1 ~]# firewall-cmd --list-ports
80/tcp 8080-8088/tcp
开放单个端口
[root@test1 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success

防火墙相关命令

#查看firewall服务状态
systemctl status firewalld
#开启,重启,关闭firewall.service服务
#开启
service firewalld start
#重启
service firewalld restart
#关闭
service firewalld stop

#查看防火请规则
firewall-cmd --list-all   #查看全部信息
firewall-cmd --list-ports #查看开放的端口

#开放单个端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重启防火墙
systemctl restart firewalld.service
#命令中的含义
--zone			:作用域
--add-port		:添加端口,格式为端口/通讯协议
--permanent		:永久生效,没有此参数则重启后失效
安装Tomcat

学到现在我们会知道一些ssm项目要想发布还是需要Tomcat的支持所以我们需要如下操作

1,下载Tomcat,官网下载即可apache-tomcat-9.0.75.tar.gz

2,解压这个文件

tar -zxvf apache-tomcat-9.0.75.tar.gz   #就可以解压到本地

3,解压完成后就可以运行Tomcat

#  ./startup.sh   启动Tomcat
#  ./shutdown.sh  关闭停止Tomcat

如果防火墙8080 端口开启了并且阿里云安全组也放开了就可以访问

[root@iZ0jl52dacrua17zrm6ii7Z tomcat]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  version_check.pl  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         version.pl        work
[root@iZ0jl52dacrua17zrm6ii7Z tomcat]# cd bin
[root@iZ0jl52dacrua17zrm6ii7Z bin]# ls
bootstrap.jar       commons-daemon-1.3.0-native-src  digest.bat        setclasspath.sh  tomcat-native.tar.gz
catalina.bat        commons-daemon.jar               digest.sh         shutdown.bat     tool-wrapper.bat
catalina.sh         commons-daemon-native.tar.gz     jsvc              shutdown.sh      tool-wrapper.sh
catalina-tasks.xml  configtest.bat                   makebase.bat      startup.bat      version.bat
ciphers.bat         configtest.sh                    makebase.sh       startup.sh       version.sh
ciphers.sh          daemon.sh                        setclasspath.bat  tomcat-juli.jar
[root@iZ0jl52dacrua17zrm6ii7Z bin]# startup.sh
-bash: startup.sh: command not found
[root@iZ0jl52dacrua17zrm6ii7Z bin]# ./startup.sh 
Using CATALINA_BASE:   /www/server/tomcat
Using CATALINA_HOME:   /www/server/tomcat
Using CATALINA_TMPDIR: /www/server/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_121
Using CLASSPATH:       /www/server/tomcat/bin/bootstrap.jar:/www/server/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
安装 Docker(yum)

1,检测版本 CentOS 7

[root@iZ0jl52dacrua17zrm6ii7Z /]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

2,安装我们的准备环境

yum -y install 包名   # yum install 安装命令 -y 所有的提示都为true
yum -y install gcc
yum -y install gcc-c++

3,清除以前的版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

4,下载一些必须要的工具

yum install -y yum-utils device-mapper-persistent-data lvm2
##阿里云地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5,安装docker

yum install docker-ce

6,启动与测试

systemctl start docker 	#启动
docker version			#测试

7,测试运行 hello-world

docker run hello-world
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值