为什么学习命令
Linux用户分为以下几种
/etc/passwd文件:是Linux系统识别用户的重要文件,所有的用户都记录在该文件中。一行表示一个用户的账户信息,有7个段位,依次为用户名、密码、用户标识号UID、用户所属的主要群组标识号GID、用户名全称、用户主目录、用户使用的Shell类型。UID是用户的ID值,在系统中每一位用户的UID值都是唯一的。UID是确认用户权限的标识,用户登录系统所处的角色是通过UID来实现的,而不是用户名。 /etc/shadow文件:是/etc/passwd的影子文件,与/etc/passwd是对应互补的,内容包括用户及被加密的密码以及其他/etc/passwd不能包括的信息,比如用户账户的有效期限等。该文件只有root用户可以读取和操作。 用户主组、附加组:一个用户账户可以属于多个组群,挑一个作为用户的主组,即用户登录系统后属于该组。
1、添加用户 使用者权限:管理员用户(root)
user 选项 用户名
参数:
切换用户
su 用户名
以下为useradd常用选项
修改用户密码
passwd 选项 用户名
可使用的选项:
修改已有用户信息使用usermod命令
usermod 选项 用户名
删除用户
userdel 选项 用户名
-f:强制删除用户,即使用户当前已登录; -r:删除用户的同时,删除与用户相关的所有文件
用户组
增加用户组 新增一个用户组,然后将用户添加到组中 使用者权限:管理员用户
groupadd 选项 用户组
groupadd usergroup
修改用户组 使用者权限:管理员用户
groupmod 选项 用户组
常用的选项有:
groupmod -n new-usergroup usergroup
日期管理
当前日期如果通过date进行设置,在系统重启后不会保存date的设置,常用的只是通过date命令查看日期 date 可以用来显示或设定系统的日期与时间
使用者权限:所有用户
语法如下:
date [参数选项]
参数
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号; -u:显示GMT; –help:在线帮助; –version:显示版本信息
显示时间
date
设置时间
date -s "2020-08-08 12:00:00"
(1)UTC
协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。。
(2)GMT
即格林尼治 平太阳时间,是指格林尼治所在地的标准时间,也是表示地球自转速率的一种形式
**外文名:**Universal Time
其他外文名G.M.T.(Greenwich Mean Time)
(3)CST
北京时间 (中国国家标准时间) 北京时间是中国采用国际时区东八时区的区时作为标准时间。 北京时间并不是北京(东经116.4°)的地方时间,而是东经120°的地方时间,故东经120度地方时比北京的地方时早约14分半钟。因为北京处于国际时区划分中的东八区,同格林尼治时间(世界时)整整相差8小时(即北京时间=世界时+8小时),故命名为“北京时间”。东八区包括的范围从东经112.5°到东经127.5°,以东经120°为中心线,东西各延伸7.5°,总宽度为15°的区域。 而中国幅员辽阔,东西相跨5个时区(即东五区、东六区、东七区、东八区、东九区5个时区)授时台必须建在地理中心地带,从而也就产生了长短波授。“北京时间”与“北京当地时间”是两个概念, “北京时间”的发播不在北京,而在陕西蒲城(处于东七区)
(4)东八区
东八区(UTC/GMT+08:00)是比世界协调时间(UTC)/格林尼治时间(GMT)快8小时的时区,理论上的位置是位于东经112.5度至127.5度之间,是东盟标准的其中一个候选时区。当格林尼治标准时间为0:00时,东八区的标准时间为08:00
显示用户 logname命令用于显示用户名称
logname
sudo执行
比如我们使用普通用户操作用户或者操作用户组、以及修改网卡配置文件的时候,需要切换到root用户才操作,此时我们可以使用sudo命令提高普通用户的操作权限,以达到操作目的
sudo:控制用户对系统命令的使用权限,root允许的操作。
通过sudo可以提高普通用户的操作权限
使用者权限:普通用户
修改网卡配置文件
比如,在下面的例子中,我们使用普通用户修改网卡的配置文件,在进行保存的时候,提示我们【无法打开并写入文件】,那么此时,我们可以通过sudo命令来提升自己的写入权限
执行:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
执行效果如下(保存)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iKz1dX56-1598610050784)(assets/1576494207598.png)]
然后点击回车
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sc7CONWo-1598610050789)(assets/1576493914410.png)]
那么我们在修改上面的 命令,使用sudo进行修改
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
执行效果如下(键入itcast密码)
执行保存
我们发现此时就不在报错了
在企业级开发中,开发人员(运维人员也会经常使用)常常为了查看服务器上运行的程序占用的CPU情况以及占用内存情况,目的就是检测我们的程序是否在正常范围内运行 top命令用于实时显示 process 的动态。
使用权限:所有使用者。 显示进程信息
top
按q键退出
各进程(任务)的状态监控属性解释说明: PID — 进程id USER — 进程所有者 PR — 进程优先级 NI — nice值。负值表示高优先级,正值表示低优先级 VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA SHR — 共享内存大小,单位kb S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 %CPU — 上次更新到现在的CPU时间占用百分比 %MEM — 进程使用的物理内存百分比 TIME+ — 进程使用的CPU时间总计,单位1/100秒 COMMAND — 进程名称(命令名/命令行) 显示完整命令,与top命令不同的就是command属性像是进行了命令补全
top -c
显示指定进程信息
top -p 4160
ps命令类似于我们在Windows中通过任务管理器查看进程信息
Linux ps命令用于显示当前进程 (process) 的状态信息
使用者权限:所有用户
语法如下:
ps
显示进程信息
ps -A
显示指定用户信息
ps -u itcast
显示所有进程信息
ps -ef
引子:
前面,我们刚刚学习完了Windows上开发,比如,我们经常遇到的要给问题就是,我们需要经常的启动或者重启tomcat,有的时候会报端口冲突,这个时候,我们可能就去Windows的任务管理器中去结束这个进程
那么在Linux中我们可以通过kill命令来实现Windwos上手工结束进程的操作
Linux kill命令用于删除执行中的程序或工作(可强制中断)
使用者权限:所有用户
语法如下:
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
参数说明:
杀死一个进程
kill 15642
强制杀死进程
kill -KILL 15642
彻底杀死进程
kill -9 15642
杀死指定用户所有进程
1.方法一 过滤出itcast用户进程
kill -9 $(ps -ef | grep itcast)
2.方法二,直接杀死
kill -u itcast
注意 上面列举了很多kill进程的命令 但是我们我们常用的就是kill -9命令,我们常常找到进程的pid 然后通过kill -9进行杀死进程
shutdown命令可以用来进行关闭系统,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机
使用者权限:管理员用户
语法如下:
shutdown [-t seconds] [-rkhncfF] time [message]
参数说明:
立即关机
shutdown -h now
或者
shudown
指定1分钟后关机,1分钟关机并显示警告信息
shutdown +1 “System will shutdown after 1 minutes”
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o3VdVNAV-1598612029730)(assets/1576059932470.png)]
指定1分钟后重启,并发出警告信息
shutdown –r +1 “1分钟后关机重启”
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hc3wMis2-1598612029738)(assets/1576060232485.png)]
reboot命令用于用来重新启动计算机
使用者权限:管理员、普通(需要验证)用户
语法如下:
reboot [-n] [-w] [-d] [-f] [-i]
参数:
开始重新启动
reboot