开关机指令
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 -l
或ll
命令列出所有文件,包括文件的属性和权限
[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】可以随时退出底线命令模式
账户管理
实现用户账号管理一般有以下几个
用户账号添加 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: 当前文件夹
# : 超级用户
- 切换用户命令:su username 【这里的username是你的用户名】
- 从普通用户切换到root用户,还可以使用命令sudo su
- 在终端输入exit或者logout可退回原来用户
- 在切换用户时可以使用【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