Linux

Linux简介

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux系统一切皆可文件(硬件设备也由文件做管理)

Linux目录结构:

挂载:这一动作就是把某个设备(文件系统)与目录树中的某个特定位置进行关联,以便于操作系统能够从根目录开始找到这个刚刚加入的设备,从而访问该设备的内的文件数据。

因此Linux目录结构与底层物理存储方式无关,只是逻辑结构。

目录结构介绍:

/home:每一个用户的主目录
/bin:存放可以直接执行的常用命令
/sbin:系统级的二进制命令目录
/lib:当前库目录
/root:系统管理员的主目录
/user:与用户相关目录
/dev:设备目录
/etc:系统配置文件
/boot:引导分区
/run:运行目录
/sys:系统硬件信息

vi  vim编辑器

(1)VI VIM是什么

VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。
VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。
 

(2)VI三种工作模式切换

一般指令模式 :刚进入vi 时的默认模式。 这个模式下能够进行: 移动光标、整行的复制粘贴、整行删除 等基本操作。

编辑模式 :在一般指令模式下,按 "a"  "i"  "o" 均可进入编辑模式。 此模式下能够进行: 文本的输入、删除 。

命令行模式 (末行模式):在一般指令模式下,按 ":"  "/"  "?" 均可进入命令行模式。 由于此模式的输入会显示在窗口的最后一行,也叫末行模式。 此模式下能够进行: 搜索、保存、离开 等操作。

一般模式操作指令:以vi/vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用「上下左右」按键来移动光标,你可以使用「删除字符」或「删除整行」来处理档案内容, 也可以使用「复制、贴上」来处理你的文件数据。

语法功能描述
yy复制光标当前一行
y数字y复制一段(从光标当前行到后n行) 
p箭头移动到目的行粘贴
u撤销上一步
dd删除光标当前行
d数字d删除光标(含)后多少行
x剪切一个字符(当前光标),X相当于del
X剪切一个字符(当前光标的前一个),相当于Backspace
yw复制一个词
dw 删除一个词
shift+4($)移动到行尾
shift+6(^)移动到行头
w移动到下一个词(词头的位置)
e移动到页头,数字
1+G移动到页尾
数字 N+G移动到目标行

进入编辑模式操作指令:

按键功能
i当前光标前
a当前光标后.
o当前光标行的下一行
I光标所在行最前
A光标所在行最后
O当前光标行的上一行

退出编辑模式:按「Esc」键

命令模式基本语法:

:w保存

:q

退出
:wq保存并退出
:ql不保存强制退出
/ 要查找的词n查找下一个,N往上查找
:noh取消高亮显示
:set nu显示行号
:set nonu关闭行号
:s/old/new替换当前行匹配到的第一个old为new
:s/old/new/g替换当前行匹配到的所有old为new
:%s/old/new替换文档中每一行匹配到的第一个old为new

网络配置和操作系统管理

使远程可以操作服务器,服务器也可以连接主机。

(1)查看虚拟网络编辑器,查看网络ip和网关

ping命令可以用来检测两台机器是否可以正常通信

ping+ip(ctrl c退出)

(2)查询当前网络配置:
cmd中:ipconfig      虚拟机中:ifconfig

VMware提供了三种网络连接模式:
1)桥接模式:虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用。这种模式下,虚拟机可以直接访问外部网络,|并且对外部网络是可见的。
2)NAT模式:虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换(NAT)设备对IP进行转换。虛拟机通过共享主机IP可以访问外部网络,但外部网络无法访问虚拟机。

3)仅主机模式:虚拟机只与主机共享一个专用网络,与外部网络无法通信。

(3)修改主机名称:
1)基本语法:hostname  (功能描述:查看当前服务器的主机名称)。
2)案例实操:
查看当前服务器主机名称
[root@hadoop100桌面]# hostname

如果感觉此主机名不合适,我们可以进行修改。通过编辑/etc/hostname 文件
[ root@hadoop100 桌面]# vi /etc/hostname

注意:修改完成后重启生效,或者[ root@hadoop100 桌面]# hostnamectl set.hostname spark直接修改

远程登录

通常在工作过程中,公司中使用的真实服务器或者是云服务器,都不允许除运维人员之外的员工直接接触,因此就需要通过远程登录的方式来操作。 

方法一:在cmd命令行中,用语句   ssh root@ 主机名  输入密码后即可远程登录且操作与虚拟机中一致。

方法二:直接使用远程登录工具登录,目前,比较主流的有Xshell, SSH Secure Shell, SecureCRT,FinalShell等,都是基于SSH协议的远程登录工具。

系统管理
Linux中的进程和服务

计算机中,一个正在执行的程序或命令,被叫做“进程”( process)。                                               启动之后一直存在、常驻内存的进程,一般被称作“服务”(service) 。

服务管理

service服务管理(CentOS 6版本) 
1)基本语法
service 服务名  start | stop| restart| status 
2)查看服务的方法: ls /etc/init.d/服务名 ,发现只有 两个服务保留在service

2、service服务管理(CentOS 7版本) 

1)基本语法
systemctl  start | stop| restart| status  服务名                                                                                      2)查看服务方法 :ls /usr/lib/systemd/system

若想要配置某些服务自启动,或手动启动,可以使用 setup 命令,打开窗口进行配置。

在LInux系统中( CentOS7),init是系统的守护进程,会在开机最先被启动,之后会根据用户自定义的运行级别启用服务。

 查看默认级别: vi /etc/inittab

Linux系统有7种运行级别(runlevel):常用的是级别3和5

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动。

运行级别1:单用户工作状态,root权限, 用于系统维护,禁止远程登陆(类似windows中的安全模式)。

运行级别2:多用户状态(没有NFS),不支持网络。

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式。

运行级别4:系统未使用,保留。

运行级别5: X11控制台,登陆后进入图形GUI模式(窗口)。

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。

CentOS7的运行级别简化为: 
multi-user.target等价于原运行级别3 (多用户有网,无图形界面)

graphical.target等价于 原运行级别5 (多用户有网,有图形界面) 

1)查看当前运行级别:
systemctl get-default

2)修改当前运行级别
systemctl set- default TARGET.target (这 里TARGET取multi-user或者graphical) 

3)查看所有服务是否开机自启动
systemctl list-unit-files

4)修改是否开机自启动
systemctl enable/disenable 服务名

关机与重启

1)基本语法
(1) sync  功能描述:将数据由内存同步到硬盘中(手动存盘)

(2) halt  功能描述:停机,关闭系统,但不断电

(3) poweroff  功能描述:关机,断电

(3) reboot  功能描述:就是重启,等同于shutdown -r now

(4) shutdown  时间     功能描述:在指定时间关机,默认在一分钟后关机

shoutdown now   马上关机

shutdown -h/p  1    一分钟后关机

shutdown -r   重启


Shall命令

Shell可以看作是一个命令解释器,为我们提供了交互式的文本控制台界面。我们可以通过终端控制台来输入命令,由shell进行解释并最终交给内核执行。

帮助命令:

man获取帮助信息

1)基本语法 :man [命令或配置文件] (获取帮助信息)按‘q’退出。

2、shell内置命令:

部分基础功能的系统命令是直接内嵌在shell中的,系统加载启动之后会随着shell一起加载,常驻系统内存中。这部分命令被称为“内置(built-in) 命令”,相应的其它命令被称为“外部命令”。

判断是内置还是外部命令:type  命令  (查看是否为shall内嵌)

获取帮助信息:man -f 命令  (查看帮助信息目录手册)

例[root@hadoop100 桌面]# man -f cd 

查看具体信息:man  目录 cd

直接查询內部命令帮助信息:

基本语法:help  命令   (获得shell内置命令的帮助信息,只能查看内置命令,且非汉化)
例:查看cd命令的帮助信息:[ root@hadoop101 ~]# help cd 

help查看外部命令:  命令 - - help  

常用快捷键:

CTRL + C停止进程
CTRL +  L清屏,等同于clear
reset彻底清屏
tab键提示(自动补全)
上下键查找执行过的命令
文件目录类

1、pwd显示当前工作目录的绝对路径

pwd:print working directory 打印工作目录 
基本语法:pwd  (功能描述:显示当前工作目录的绝对路径)(绝对路径:从根目录开始,是一个完整的路径,是目标文件在硬盘上的真实路径,相对路径:相对于当前文件位置的路径,需要引用当前位置)

提示:pwd -P (抛开软连接等影响,直接显示实际的物理路径)

例:[root@hadoop100 ~]# cd /etc/sysconfig
       [root@hadoop100 sysconfig]# pwd
       /etc/sysconfig

2、cd:Ckange Directory切换路径

基本语法:cd [参数]

cd绝对路径切换路径
cd相对路径切换路径
cd ~或者cd回到自己的家目录
cd-回到上一次所在目录
cd . .回到当前目录的上一级目录
cd -P跳转到实际物理路径,而非快捷方式路径

案例实操:

用绝对路径切换到视频目录:[root@hadoop100 桌面]# cd /root/视频/

用相对路径回到桌面目录:[root@hadoop100 视频]# cd ../桌面/

绝对路径到wyc用户:[root@hadoop100 ~]# cd home/wyc/

3、ls:  list列出目录内容
基本语法: ls [选项] [目录或是文件]
 

选项功能
ls -a列出全部的文件,连同隐藏档(开头为 . 的文件)一起列出来
ls -l长数据串列出,包含文件的属性与权限等数据(等价于  'll'  )
ls -al显示全部文件的信息,包括隐藏文件
ls 路径列出某个路径下的全部文件

显示说明:
每行列出的信息依次是:文件类型与权限,链接数,文件属主,文件属组,文件大小用
byte来表示,建立或最近修改的时间,名字。

4、mkdir创建删除目录

mkdir创建一个新的目录(在Linux中一半蓝色字体的为目录,黑色字体的为文件)
基本语法:mkdir  [选项]   要创建的目录

选项说明:-p   (功能:创建多层目录)

案例实操:
(1)mkdir创建一个新目录
[root@hadoop100 ~]# mkdir a

[root@hadoop100 ~]# mkdir /b  (在根目录下创建b目录)

[root@hadoop100 ~]# mkdir b c (同时创建多个目录)
(2)创建一个多级目录

[root@hadoop100 ~]# mkdir d d/e d/e/f

[root@hadoop100 ~]# mkdir -p g/h/i

rmdir删除一个空的目录
基本语法:rmdir  [选项]   要删除的目录

选项说明:-p   (功能:删除多层目录)

案例实操:

[root@hadoop100 ~]# rmdir a (删除一个目录)

[root@hadoop100 ~]# rmdir d/e/f d/e d/(删除一个多级目录)

[root@hadoop100 ~]# rmdir -p g/h/i/ (删除一个多级目录)

5、touch 创建空文件

基本语法:touch 文件名称

案例实操:

[root@hadoop100 ~]# touch hello  

[root@hadoop100 ~]# cd /home/wyc  (在另一用户里创建文件)
[root@hadoop100 wyc]# touch hollo2

[root@hadoop100 ~]# vim hello4 (利用vim文本编辑器创建文件,但是若不保存就退出,则该文件不存在,除非用:wq保存)

6、cp复制文件或目录

基本语法: cp [选项] source(源文件) dest(目标文件)  (功能:复制source文件到dest)

选项说明:-r (功能:递归复制整个文件,将所有子文件和子目录全部复制)

提示:强制覆盖不提示的方法:\cp  (“ /  ” 直接使用Linux中的源生命令)

拓展:源生命令与别名

[root@hadoop100 ~]# alias   (查看哪些命令是别名)
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

案例实操:

[root@hadoop100 ~]# cp initial-setup-ks.cfg ../home/wyc/  (利用相对路径将 initial-setup-ks.cfg目录复制到目录wyc中 )

 [root@hadoop100 ~]# cp initial-setup-ks.cfg /home/wyc/ (已有目录会询问是否覆盖)
cp:是否覆盖"/home/wyc/initial-setup-ks.cfg"? y(y选择覆盖 n不覆盖)

[root@hadoop100 ~]# \cp initial-setup-ks.cfg /home/wyc/(使用源生命令不会询问是否覆盖)

7、rm删除文件或目录

基本语法:rm [选项] deleteFile   (功能:默认是删除文件的,也可以递归删除目录中所有内容)

选项说明:

- r递归删除目录中所有内容
- f强制执行删除操作,而不提示用于进行确认。
- v显示指令的详细执行过程

案例实操:

[root@hadoop100 ~]# rm a (默认删除一个文件)
rm: 无法删除"a": 是一个目录

[root@hadoop100 ~]# rm -r a (利用选项递归删除目录)
rm:是否进入目录"a"? y
rm:是否删除普通文件 "a/initial-setup-ks.cfg"?y
rm:是否删除目录 "a"?y

[root@hadoop100 ~]# cd /home/wyc/
[root@hadoop100 wyc]# rm -rf a/ (若不想有提示,用rf)
[root@hadoop100 wyc]# rm -f ./*(删除wyc当前目录下的全部内容)
[root@hadoop101 ~]# rm xiyou/mingj ie/ sunwukong. txt(删除目录中的内容)
[ root @hadoop101 ~]# rm -rf dssz/(递归删除目录中所有内容)

8、mv移动文件与目录或重命名


基本语法:
(1) mv oldNameFile newNameFile   (功能描述:重命名)
(2) mv /temp/movefile /targetFolder (功能描述:移动文件,常见写法:mv 文件名称 目录名称)

案例实操:
(1)重命名
[root@hadoop100 ~]# mv anaconda-ks.cfg 2.cfg  (把该目录下的 anaconda-ks.cfg文件重命名为2.cfg)
(2)移动文件
[root@hadoop100 ~]# mv initial-setup-ks.cfg /home/wyc/1.cfg  (将当前目录下的 initial-setup-ks.cfg文件移动到wyc目录中去并重命名为1.cfg)

9、cat查看文件内容


查看文件内容,从第一行开始显示。 (只查看不修改,不用vim)

基本语法:cat [选项] 要查看的文件

选项说明:-n (功能:显示所有的行号,包括空行)

经验:般查看比较小的文件,一屏幕能显示全的。

案例实操:(1)查看文件内容并显示行号。
[root@hadoop100 ~]# cat -n initial-setup-ks.cfg 

10、 more文件内容分屏查看器


more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。进入一个类似与vi编辑器的状态,及可以使用若干快捷键。

基本语法:more    要查看的文件。

快捷键操作说明:

空格键(space)代表向下翻一-页;
Enter代表向下翻「一行」;。
q代表立刻离开more ,不再显示该文件内容
Ctrl+F向下滚动一屏
Ctrl+B返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号

11、less分屏显示文件内容


less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

基本语法:less 要查看的文件

操作说明:

操作功能
空白键向下翻动一页
[pagedown]向下翻动一页
[pageup]向上翻动一页
/字串向下搜寻   [字串」的功能; n:向下查找; N:向上查找;
?字串向上搜寻   [字串」的功能; n:向下查找; N:向上查找

12、echo输出内容到控制台

基本语法:echo [选项] [输出内容]
选项:-e (功能:支持反斜线控制的字符转换)
控制字符:

控制字符作用
\\输出\本身
\n换行符
\t制表符,也就是tab键,空格

案例实操:[root@hadoop100 ~]# echo "hello \nword" 
hello \nwordzhui

[root@hadoop100 ~]# echo -e "hello \nworld"(若没有用转义字符前因加一个空格)
hello 
world

13、> 输出重定向和 >> 追加

基本语法:

(1) ls -I > 文件   (功能描述:将列表的内容写入文件中 (是覆盖写) ) 
(2) ls-al  >> 文件  (功能描述:将列表的内容追加到文件的末尾,不会覆盖之前的内容) 
(3) cat  文件1  > 文件2  (功能描述:将文件1的内容覆盖到文件2) 
(4) echo “内容” >> 文件 (将“内容”写到文件最后)

案例实操:
(1)将ls查看信息写入到文件中(若本身没有info文件,这条语句也会直接创建)
[ root@hadoop100 ~]# ls -l >inof

(2)将Is查看信息追加到文件中
[root@hadoop100 ~]# 1s - l >>inof

(3)采用echo将hello单词追加到文件中:

 [root@hadoop101 ~]# echo hello world >>info

(4)[root@hadoop100 ~]# echo $   (加 tab 查看系统环境变量)

[root@hadoop100 ~]# echo $HOSTNAME >> info(将HOSTNAME环境变量的内容追加到info文件中)

14、head显示文件头部内容

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。

基本语法:(1)head  文件(功能描述:查看文件头10行内容))

(2)head -n5 文件    (功能:查看文件头5行内容,5可以是任意行数)

选项说明:-n  <行数> (功能:指定显示头部内容的行数)
案例实操:
[ root@hadoop101 ~]# head -n 2 smartd. conf

15、tail输出文件尾部内容

tail用于输出文件中尾部的内容,默认情况下tail 指令显示文件的后10行内容。

基本语法:(1) tail 文件  (功能描述:查看文件尾部10行内容)
(2) tail -n 5文件  (功能描述:查看文件尾部5行内容,5可以是任意行数)之一
(3) tail -f 文件  (功能描述:实时追踪该文档的所有更新,此时只能去追加内容,不可以复写,若想暂停检测:ctrl s,恢复检测:ctrl q ,结束检测:crtl c)
选项说明:-n<行数>(功能:输出文件尾部n行内容)

案例实操:[ root@hadoop101 ~]# tail -n 5 smartd. conf

[root@hadoop100 ~]# echo 111 >info(复写会显示 “文件以截断”,但还是会复写掉之前的内容)

16、In软链接

软链接也称为符号链接,类似于windows 里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径(类似与指针)。

基本语法:In -s  [原文件或目录]  [软链接名]        (功能描述:给原文件创建一个软链接)

案例实操(创建软连接):

[root@hadoop100 wyc]# ln -s /root/info myinfo (在用户wyc下创建一个myinfo的软连接,在该文件下修改内容,root原文件中内容也会更改)

[root@hadoop100 ~]# mkdir folder (创建一个folder目录)
[root@hadoop100 ~]# touch folder/file(在该目录下创建一个文件)
[root@hadoop100 ~]# cd -
[root@hadoop100 wyc]# ln -s /root/folder/ /home/wyc/myfolder(在另一用户的/home/wyc/目录下指向/root/folder/创建一个myfolder软连接)

删除软连接: rm -rf 软链接名称,而不是 rm -rf  软链接名/
经验:如果使用rm-rf软链接名/删除,会把软链接对应的真实目录下内容删掉,如果把源文件删除,及时软连接还存在也是无效的,无法跳转。

查询:通过 ll 就可以查看,列表属性第1位是1,尾部会有位置指向。

案例实操:

[root@hadoop100 wyc]# rm myinfo(删除软连接 myinfo,但源文件中的info不会有任何更改)
rm:是否删除符号链接 "myinfo"?y
[root@hadoop100 wyc]# rm -rf myfolder ( f 不会提示是否删除,r 将软连接中子文件子目录全部删除)

[root@hadoop100 wyc]# rm -rf myfolder/ (软连接myfolder不会被删除,但原文件中的folder目录下的子文件被删除)

17、 history查看已经执行过历史命令

基本语法:
(1)history  (功能描述:查看已经执行过历史命令)
(2)history 数字 (功能:查看指定条数的历史命令)
(3)!<行号>  (功能:对该行命令进行重复调用)
(4)history -c(功能:清空历史命令)

案例实操:
[root@hadoop101 test1]# history 10
 

日期时间类

1)基本语法:date [OPTION 选项]  [FORMAT 参数]

2)选项说明:
-d<时间字符串>   (显示指定的“时间字符串”表示的时间,而非当前时间)
-s<日期时间>       (设置系统日期时间)
3)参数说明:
<+日期时间格式>   (指定显示时使用的日期时间格式)

1、date显示当前时间

基本语法:

(1)date (功能:显示当前时间)

(2) date +%Y (功能描述:显示当前年份)

(3) date +%m(功能描述:显示当前月份)

(4) date +%d(功能描述:显示当前是哪一天) 

(5) date "+%Y %m %d %H:%M:%S"(功能描述:显示年月日时分秒) 

案例实操:

[root@hadoop100 wyc]# date
2023年 10月 29日 星期日 18:25:38 CST

[root@hadoop100 wyc]# date +%Y
2023
[root@hadoop100 wyc]# date +%y
23
[root@hadoop100 wyc]# date +%m
10
[root@hadoop100 wyc]# date +%d
29
[root@hadoop100 wyc]# date  +%y-%m-%d-%H:%M:%S
23-10-29-18:30:33

[root@hadoop100 wyc]# date "+%y-%m-%d %H:%M:%S"(取消掉连接符需要用引号连接起来)
23-10-29 18:31:36
[root@hadoop100 wyc]# date +%s
1698575527(小写s得到的是当前的时间戳)


2、date显示非当前时间

1)基本语法:

(1) date -d '1 days ago'  (功能描述:显示前一天时间)

(2) date -d '-1 days ago' (功能描述:显示明天时间)

2)案例实操:
[root@hadoop100 wyc]# date -d '1 days ago'
2023年 10月 28日 星期六 18:38:00 CST
[root@hadoop100 wyc]# date -d '-1 days ago'
2023年 10月 30日 星期一 18:38:12 CST
[root@hadoop100 wyc]# date -d '-1 hours ago'
2023年 10月 29日 星期日 19:41:56 CST
 

3、date设置系统时间

基本语法:date -s 字符串时间

案例实操:[root@hadoop100 wyc]# date -s "2023-11-11 18:31:36"  
2023年 11月 11日 星期六 18:31:36 CST(之后date获取的当前时间从修改的这里开始,重新获取当前时间用 tpdate 加服务器名称)

4、查看日历

基本语法:cal [选项] (功能描述:不加选项显示当前时间的日历)

选项说明:cal 年份 (功能:显示当前年份日历)

案例实操:

[root@hadoop100 wyc]# cal
[root@hadoop100 wyc]# cal 2022

用户管理命令

1、useradd 添加新用户

基本语法:

useradd 用户名  (功能:添加新用户)

useradd -g 组名 用户名(功能:添加新用户到某个组)

案例实操:

[root@hadoop100 home]# useradd tony (创建新用户的同时都会在home下创建一个主目录,默认与用户名相同)
[root@hadoop100 home]# useradd -d /home/dave david (创建新用户david 主目录是dave)

[root@hadoop100 ~]# useradd -g bigdata xiaoming
[root@hadoop100 ~]# id xiaoming
uid=1003(xiaoming) gid=1004(bigdata) 组=1004(bigdata)

2、修改用户密码

基本语法:passwd 用户名

案例实操:

[root@hadoop100 home]# passwd tony
更改用户 tony 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

3、查看用户是否存在

基本语法:id 用户名

案例实操:[root@hadoop100 home]# id tony
uid=1001(tony) gid=1001(tony) 组=1001(tony)

4、cat/etc/passwd 查看创建了那些用户

案例实操:[root@hadoop100 home]# cat /etc/passwd

或者:root@hadoop100 home]# less /etc/passwd

wyc:x:1000:1000:wyc:/home/wyc:/bin/bash(与系统交互的方式)
tony:x:1001:1001::/home/tony:/bin/bash
david:x:1002:1002::/home/dave:(主目录名)/bin/bash
 

5、切换用户

基本语法:su 用户名

提示:低级用户和同级用户之间不可以操作相关目录

案例实操:

[root@hadoop100 home]# su wyc
[wyc@hadoop100 ~]$ su tony 
密码:       (跳转到同级目录或高级别目录需要输入密码,若从最内层目录向外跳转可以用 exit 退回到上一用户)

6、查看当前用户身份

基本用法:who am i (有空格,查看的是最原始的用户,最外层的用户)

案例实操:

[tony@hadoop100 wyc]$ whoami (无空格 查看这条会话的用户)
tony
[tony@hadoop100 wyc]$ who am i
root     pts/1        2023-10-23 21:18 (:0)

7、sudo 设置普通用户具有root权限

例:[tony@hadoop100 root]$ sudo ls
[sudo] tony 的密码:
tony 不在 sudoers 文件中。此事将被报告。

[root@hadoop100 ~]# vim /etc/sudoers(需要用root用户在sudors中配置普通用户)

  :wq!保存退出即可

[root@hadoop100 ~]# su tony  (再进行权限授予,填写密码即可获得root权限)
[tony@hadoop100 root]$ sudo ls
[sudo] tony 的密码:
 

8、删除用户

基本语法:userdel 用户名

案例实操:
[root@hadoop100 ~]# userdel tony
[root@hadoop100 ~]# cd /home
[root@hadoop100 home]# ls
dave  tony  wyc  (删除该用户但是主目录还在)
[root@hadoop100 home]# rm -rf tony (删除主目录下的文件)
root@hadoop100 home]# userdel -r david (删除用户包括主目录)

9、用户组管理命令

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

[wyc@hadoop100 home]$ id tony
uid=1001(tony) gid=1001(tony) 组=1001(tony)

[wyc@hadoop100 home]$ sudo cat /etc/group(查看所有用户组)

10、 groupadd新增组

基本语法:groupadd 组名(功能:新建一个组)
提示:若用户改加到wheel组即可使用管理员权限   语句:usermod -a -G groupA user)

案例实操:

[root@hadoop100 ~]# usermod -a -G wheel wyc(添加用户wyc到用户组wheel)
[root@hadoop100 ~]# groupadd hairs(创建一个组)
[root@hadoop100 ~]# usermod -g hairs tony(修改用户组名,离开tony组到hairs组)
[root@hadoop100 ~]# groupmod -n haircat hairs(将组重命名)

[root@hadoop100 ~]# groupdel tony(删除组)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值