用户相关命令
一、关机重启命令
- shutdown -h now 立刻进行关机
- halt 关机
- reboot 重启电脑
- sync 把内存数据同步到磁盘
关机重启命令均需要root权限执行
二、用户登录和注销命令
- su username: 切换用户,不带任何参数会进入root;低权限用户切换高权限用户需要输入密码
- logout: 只能在shell上使用,不可以在图形化界面使用
- exit: 退出指令可以退出root用户
三、用户的增删改命令
- useradd :创建新用户默认没有密码
- +用户名创建用户,没有指定组名会新增一个与用户同名的组
- -g 用户组 用户名 创建用户并添加到用户组
- -m 自动为用户创建登入目录 kali必须添加此选项
- userdel
- +用户名删除用户但保留用户在home目录下文件夹
- -r 用户名 删除用户并删除用户在home目录下全部文件夹
- passwd+用户名 更改密码
- id+用户名 :查看用户id以及所属组的id
四、用户组的命令
- groupadd+组名 :创建组
- groupdel+组名 :删除组
- usermod -g 用户组 用户名 :修改用户的组
- usermod -d 目录名 用户名:修改用户登陆的初始目录
五、用户组的基本介绍
在linux中每个用户必须属于一个组,不能独立于组外。在Linux中每个文件都有所有者,所有组,其他组的概念
查看用户组命令:cat /etc/group
所有者:一般为文件的创建者,谁创建了该文件谁就是文件的所有者
- 查看文件的所有者
- 指令:ls -ahl 文件名
- 红框就是文件的所有者
- 修改文件所有者
- 指令:chown 【-R】用户名 文件名
- -R:递归把文件夹下所有文件所有者进行更改
- 同时修改文件所有者和所在组
- 指令:chown 【-R】用户名:所在组 文件名
- -R:递归把文件夹下所有文件所有者进行更改
低权限用户无法修改高权限用户的文件所有者,高权限用户可以随意修改低用户所有者
所在组:用户创建了一个文件后,文件所在组就是用户所在组
- 查看文件的所在组
- 指令:ls -ahl 文件名
- 红框就是文件的所在组
- 创建用户和用户组并创建文件,查看文件所有者和所有组
- 先创建用户组fox:groupadd 用户组fox
- 创建用户并指定用户组:useradd -m -g 用户组fox 用户名admin
- 为新用户设定密码:passwd 用户名admin
- 切换用户使用touch指令创建新文件
- 然后使用ls -ahl 查看刚创建的文件的所有者和y所有组
- 修改所有组
- 指令:chgrp 【-R】组名 用户名
- -R:递归把文件夹下所有文件所在组进行更改
其他组:除文件所有者和所有组的用户之外,系统其他用户均算其他组
六、rwx权限
权限的基本介绍
示例:-rw-r--r-- 1 root root 16 9月 14 16:58 123.txt
0-9位说明:
- 第0位确定文件类型(d , - , l , c , b)
- d:是目录,相当于windows的文件夹
- -:普通文件
- l:是链接,相当于Windows的快捷方式
- c:是字符设备文件,鼠标键盘等
- b:是块设备,比如硬盘
- 1-3位确定所有者所拥有的文件权限
- 4-6位确定所有组所拥有的文件权限
- 7-9位确定其他组所拥有的文件权限
rwx权限详解(r=4可读 w=2可写 x=1可执行)
rwx作用到文件
- r:可以读取查看
- w:可以修改,但不一定能对其删除,必须拥有该文件所在目录的写权限,才可以删除
- x:可以被执行
rwx作用到目录
- r:可以读取,ls查看目录内容
- w:可以修改,对目录内创建,删除,重命名
- x:可执行,可以进入该目录
修改文件权限
基本说明:可以使用chmod指令对文件或目录权限进行修改
- +、-、=变更权限
u:所有者g:所有组o:其他人a:所有人(u、g、o的总和)
命令演示:
- 给abc.txt文件的所有者读写执行权限,所有组读执行权限,其他组执行权限:chmod u=rwx,g=rx,o=rx abc.txt
- 给abc.txt文件所有者去除执行权限,增加所有组写的权限:chmod u-x,g+w abc.txt
- 通过数字变更权限
r=4w=2x=1
命令演示:将abc.txt文件权限修改成rwxr-xr-x,使用数字方式实现:chmod 755 abc.txt
七、进程管理(重点)
基本介绍:
- 在Linux中,每个执行的程序都被称为进程,每个进程都分配一个ID号(pid:进程号)
- 每个进程都可能以两种方式存在。前台和后台,前台进程就是用户目前屏幕上可以进行的操作,后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才会结束。
显示系统执行的进程
基本介绍
ps命令是用来查看目前系统中,有哪些正在执行,以及他们的执行情况。可以不加任何参数
ps命令详解
-
指令:ps 【参数】
参数说明:- -e显示所有进程
- -f全格式
- -w显示加宽,可以显示更多内容
- -a显示当前终端的所有进程信息
- -u以用户的格式显示进程信息
- -x显示后台进程运行的参数
- 常用组合:-aux -ef
-
指令说明
- USER:用户名称
- UID:用户ID
- PID:进程号
- PPID:父进程号
- %CPU:进程占用cpu百分比
- %MEM:进程占用物理内存的百分比
- VSZ:进程占用的虚拟内存大小(单位:KB)
- RSS:进程占用的物理内存大小(单位:KB)
- TTY:终端名称,缩写
- STAT:进程状态:其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或被停止等等
- STARTED:进程的启动时间
- TIME:CPU时间,即进程使用cpu的总时间
- COMMAND:启动进程所用的命令和参数,过长会被截断显示
终止进程kill和killall
基本介绍:
若某个进程执行到一半需要停止,或已经消耗了大量的系统资源时,可以考虑停止该进程
基本语法:
kill 【选项】 进程号通过进程号杀死进程
kill 进程名字通过进程名称杀死指定名字的所有进程,也支持通配符
选项:-9强制进程停止
查看进程树
基本语法:pstree 【选项】
常用选项:
- -p:显示进程的PID
- -u:显示进程的用户
服务管理
介绍
服务本质上就是进程,但是运行在后台,通常都会监听某个端口,等待其他程序的请求,因此我们又称为守护进程。
service管理指令
指令:service服务名【start开始|stop停止|restart重启|reload重新加载|status地位】
service指令管理的服务可以在/etc/init.d查看
chkconfig指令
- 介绍
通过chkconfig命令可以给服务的各个运行级别设置设置自启动/关闭,指令管理的服务可以在/etc/init.d查看 - 基本语法
查看服务 chkconfig 服务名 --list
设置服务在指定级别自启动 chkconfig --level 5 服务名 on/off
使用细节:chkconfig重新设置服务后需要重启机器才能生效
systemctl管理指令
基本语法:systemctl 【start开始|stop停止|restart重启|reload重新加载】服务名
systemctl指令管理的服务在/user/lib/systemd/system 查看
systemctl设置服务的自启动状态
- systemctl list-unit-files 【|grep 服务名】查看服务开机启动状态,grep进行过滤
- systemctl enable 服务名 设置服务开机启动
- systemctl disable 服务名关闭服务开机启动
- systemctl is-enabled 服务名查询服务是否自启动
firewall 指令(管理防火墙)
- 打开端口:firewall-cmd --permanent --add-port=端口号/协议
- 关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
- 重新载入,才能生效:firewall-cmd --reload
- 查询端口是否开放:firewall-cmd --query-prot=端口号/协议
动态监控进程
介绍:
top指令与ps指令很相似,都用来显示正在执行的进程。不同的是top可以不断更新进程
语法:
- top 【选项】
选项:- -d秒数:指定指令几秒更新,默认三秒
- -i:使top不显示闲置或僵死进程
- -p:通过指定监控进程ID来仅监控某个进程状态
- 交互指令:
- P 以cpu使用率排序
- M 以内存使用率排序
- N 以PID排序
- q 退出top
监控网络状态
查看系统网络情况netstat
语法:netstat 【选项】
选项说明:
- -an 按照一定顺序排列输出
- -p显示哪个进程在调用
如果对你帮助,帮忙点点推荐