Linux运维操作

*Linux运维操作*

*一、实验目的及要求*

  1. 了解Liunx操作系统发展历史。

  2. 学习Liunx操作系统基本概念及操作。

  3. 学习Liunx操作系统用户及文件权限管理。

  4. Linux 目录结构及文件基本操作。

*二、实验内容和步骤*

*1. Linux 使用小技巧*

(1)使用以下方法切换图形界面

切换到 GNOME 桌面环境,输入以下命令:sqlCopy codesudo systemctl start gdm

切换到 KDE Plasma 桌面环境,输入以下命令:sqlCopy codesudo systemctl start sddm

Ctrl+Alt+F1~F6 快捷键切换到命令行终端:在终端中输入“Ctrl + Alt + F1”,可以进入终端模式,进行命令行操作。

(2)Linux命令特点和使用技巧
在这里插入图片描述

(3)开关机命令

扫描二维码关注公众号,回复: 17237355 查看本文章

#shutdown –h now:立刻进行关机

#shutdown –r now:现在重新启动计算机

#reboot:现在重新启动计算机

#su -:切换用户;passwd:修改用户密码

#logout:用户注销

(4)常用快捷命令

tab : 补全

ctrl + l -:清屏,类似clear命令

ctrl + r -:查找历史命令(history)

ctrl+c : 终止

ctrl+k : 删除此处至末尾所有内容

ctrl+u : 删除此处至开始所有内容

*2**.* *Linux 的文件组织目录结构,相对路径和绝对路径,对文件的移动、复制、重命名、打包、压缩与解压缩等操作。*

1)切换用户当前工作目录

格式:cd <相对路径/绝对路径>

进入/boot目录

#cd /boot

进入/etc/selinux目录

#cd /etc/selinux

如果当前目录为/etc ,用相对路径进入selinux目录

#cd /etc

#pwd

#ls

#cd selinux

注意:相对路径可将当前目录路径省略,只写剩下部分路径。

几种特殊用法切换目录

cd … 由当前目录切换到上一级目录( …表示当前目录父目录)

cd ~ 进入当前用户家目录 ,等同于直接输入cd

​ 1)root用户家目录 /root

​ 2)普通用户user1家目录为/home/user1

cd - 由当前目录切换到上一次工作目录

2)查看目录信息类命令

(1)pwd: 查看用户的当前工作目录路径。

#pwd

(2)切换到root管理员用户,拥有管理权限

#su - root

(3)ls:显示当前目录或指定目录下包含的文件和子目录

显示指定目录下文件:

#ls /boot 只显示文件名

#ls -l /boot/ 参数-l表示显示文件的详细属性信息。

显示当前目录下的文件:

#ls

# ls -a 显示所有文件,包括隐藏文件(以. 或 …开头)

3)建立和删除目录和文件

注意此命令所带的参数

(1)mkdir创建目录

mkdir /home/aftvc/dr1/ 在aftvc目录下建立dr1子目录

mkdir dr1 在当前目录下建立子目录dr1

mkdir /dr2

mkdir -p /dr3/h1/ 同时建立子目录的父目录

mkdir /etc/ch/ /etc/jack/ 同时建立两个目录

(2) rm删除文件和目录的命令(rmdir只删除空目录)

rm /home/aftvc/ge.txt 删除时默认提示用户

rm -f /home/aftvc/ge.txt 强制删除

rm -r /home/aftvc/dr1 删除目录要加-r

rm -r /dr3

rm file1.txt file2.doc 同时删除两个文件

(3)文件创建命令

*vi/vim**命令*

*vi 1.txt # 会直接创建并打开一个文件1.txt*

只有输入:w保存时,文件才会真正的被创建,直接:q退出,文件不会被创建。

*t**ouch*****命令:****用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

touch 新建文件名

touch /home/chu/ge.txt 在指定目录下建立新文件ge.txt

touch ge.txt 在当前目录下建立新文件ge.txt

touch ge.txt 更新文件时间为当前系统时间(文件已经存在)

****cat命令:****显示一个文件的内容、组合多个文件的内容到一个输出以及创建一个新的文件。

cat > filename 只能创建新文件,不能编辑已有文件。>表示把屏幕输入内容写入到指定文件中

cat > file1 提示输入内容,按enter键完成输入,ctrl+c退出程序

cat file1 一次显示整个文件

cat > file2 再建立一个文件

cat file2

cat file1 file2 > file3 把两个文件合并到一个文件,覆盖文件

cat file1 file2 >> file3 把两个文件合并到一个文件,追加到文件后面

****使用重定向符(>)创建一个文件:>表示把屏幕输入内容写入到指定文件中。****标准重定向符允许我们创建一个0KB的空文件。它通常用于重定向一个命令的输出到一个新文件中。在没有命令的情况下使用重定向符时,它会创建一个文件。

4)复制文件或目录

格式:cp [选项] 源文件或目录 目标文件或目录。

复制文件:将/bin/touch复制到根目录下。

[root@localhost ~]# cp /bin/touch /

[root@localhost ~]# cp /bin/touch /mytouch 复制并重命名为mytouch

[root@localhost ~]# cp /bin/touch mytouch 复制到当前目录下

[root@localhost ~]# cp /bin/touch . . 表示当前目录,但不改名

[root@localhost ~]# ls . 查看复制是否成功

复制目录,要加参数-r

[root@localhost ~]# cp -r /bin /home

[root@localhost ~]# ls /home 查看复制是否成功

[root@localhost ~]# mkdir d1 在当前目录下建立子目录

[root@localhost ~]#cp –r d1 /home/chu 复制d1到指定目录

[root@localhost ~]# ls /home/chu

5)mv:移动文件或目录,或给文件和目录改名

格式:mv [参数] 源文件或目录 目标文件或目录

//移动文件

[root@localhost ~]# touch /root/a

[root@localhost ~]# mv /root/a /home/chu/ 移动文件到指定目录

[root@localhost ~]# ls /root/a a是否被移动

[root@localhost ~]# ls /home/chu/ chu下有没有a

//通过移动给文件改名

[root@localhost ~]# touch /home/chu/f1

[root@localhost ~]# mv /home/chu/f1 /home/chu/f2

[root@localhost ~]# ls /home/chu/ 查看是否改名成功

//在当前用户家目录下新建子目录

[root@localhost ~]# cd

[root@localhost ~]# mkdir test

//移动目录

[root@localhost ~]# mv test /home/chu/

//给目录改名

[root@localhost ~]# mv /home/chu/test /home/chu/t1

6)打包、压缩和解压缩打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
在这里插入图片描述

用gzip压缩和解压文件,生成的压缩文件gz结尾

# cd /home/chu/

#touch file1

#touch fle2

# gzip file1 //不保留源文件

# gzip -c file2 > file2.gz //保留源文件

# ls

# gzip -d file1.gz //解压

# gzip -d file2.gz

//gunzip等同于gzip -d

# gunzip file1.gz

用bzip2压缩和解压文件

# touch 1.txt

# touch 2.doc

# bzip2 1.txt //不保留源文件

# bzip2 -c 2.doc > 2.doc.bz2 //保留源文件

# bzip2 -d 1.txt.bz2 //解压

# bzip2 -d 2.doc.bz2

注意:gzip和bzip2只能对单个文件进行压缩,如果对文件夹进行压缩怎么实现呢?用tar把文件夹打包成一个文件,再压缩。

tar 命令本身不具有压缩功能,只具有打包功能

用tar将多个文件打包成一个总文件后再压缩,常用参数

-c 表示打包 -x 表示解包

-j 表示打包后使用bzip2压缩打包文件

-z 表示打包后使用gzip压缩打包文件

-f 指定打包文件名,必须放在所有参数后面

-v 显示执行过程

//将/boot/grup/目录打包放在当前目录下

# tar -cvf grub.tar /boot/grub/

# ll

//将当前目录下的打包文件压缩

# gzip grub.tar

# ll

//对多个独立文件打包

# touch file1 file2 file3

# tar -cvf 1.tar file1 file2 file3

# bzip2 1.tar

//打包压缩一次完成:将/boot目录打包并使用gzip压缩放在当前目录下,打包压缩后文件名为boot.tar.gz

# tar -cvzf  boot.tar.gz  /boot

//将/boot目录打包并使用bzip2压缩放在指定目录,打包压缩后文件名为boot.tar.bz2

# tar -cvjf  /home/aftvc/boot.tar.bz2  /boot

//将boot.tar.gz压缩文件解包解压到当前目录下

# tar -xvzf boot.tar.gz

# tar -xvjf boot.tar.bz2 -C /var/ //-C代表指定解压的位置

7)文件/目录权限
通过ls -l命令我们可以 查看某个目录下的文件或目录的权限
在这里插入图片描述

*3**.* *vim编辑器*

vim编辑器有三种工作模式:编辑模式,插入模式,命令模式

编辑模式: 光标移动 、 复制操作、粘贴操作、 删除、查找替换

插入模式:主要用于输入文件内容
命令模式: 保存文件内容, 新建文件,保存退出,不保存退出,强制不保存退出 ,设定行号等。

在这里插入图片描述

通过vim可编辑现有文件或新建文件,如passwd文件存在,编辑现有文件 ,否则建立新文件 ,例: #vim /etc/passwd
1)编辑模式:用vim打开文件默认编辑模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)命令模式: 必须由编辑模式输入 : 进入命令模式,命令执行完或删除没执行的命令可回到编辑模式,此模式功能有:
在这里插入图片描述

3)插入模式: 由编辑模式输入i,I, o,O进入插入模式,按ESC键回到编辑模式

在这里插入图片描述

*4**.* *用户和组账户管理*

root 用户是系统超级管理员,拥有最高的权限,所有对象都可以操作。

查看当前登录账户:命令为 whoami

1)Linux Centos 7中用户账户分为3类:

普通用户(一般用户)账户:普通用户不具有管理系统权限,UID范围为1000到65535。真正在系统内部交互的是UID,用户名是显示给人看的,新建的用户默认为普通用户。

管理员账户:默认名为root,UID是0,拥有管理系统的全部和最高权限,如创建用户。

系统用户账户:运行服务进程对应的用户账户,不能用来登陆系统,UID范围为1到999。

2) Linux中组分为2类:

主组:每个用户必须属于一个主组且用户只能有一个主组,当新建一个用户时,自动产生一个与用户名相同的主组(也称为主组群或私有群)。

附属组:一个用户也可以加入其它的附属组,不是必须的,一个用户可以加入多个附属组。

注意:一个组是主组还是附属组是相对用户而言的。

3)用户/用户组配置文件

用户信息文件:/etc/passwd

用户密码文件:/etc/shadow

用户组文件:/etc/group

用户组密码文件:/etc/gshadow

用户配置文件:/etc/login.defs , /etc/default/useradd

新用户信息文件所在目录:/etc/skel

登录信息文件:/etc/motd

4)创建用户账户:以root管理员来新建用户

​ useradd [选项] 用户名

//用命令新建用户,并查看用户信息、密码和主组信息

# useradd charles

//新建用户指定家目录和主组

# useradd -d /var/chu1 -g bin chu1

//创建用户,uid设置为555,不能登录系统,不创建家目录

# useradd -u 555 -M -s /sbin/nologin apache

//创建用户,uid设置为1055

# useradd -u 1055 nian

查看创建的用户

# tail –n 3 /etc/passwd 显示倒数三行用户

5)修改用户密码,命令格式为:

passwd [选项] 用户名

#passwd //root为自己修改密码

#passwd charles //root为charles用户改密码

#echo “123456”| passwd --stdin charles

#su – charles //切换用户

#passwd //普通用户为自己修改密码

6)修改用户属性信息

使用usermod命令来修改用户名和主目录,其命令用法为

usermod [option] username

//修改用户chu1更名为chu,则操作命令为:

# usermod –l chu1 chu

# tail –n 5 /etc/passwd

改变用户charles主组为root组,命令为:

# usermod -g root charles

#id charles 查看用户所属组

改变用户charles的附属组为aftvc,将原来的附属组删除,命令为:

# usermod –G aftvc charles

#id charles

将用户charles加到另外一个附属组root,不会删除原来的附属组,一个用户可以属于多个附属组,则实现的命令为:

# usermod -aG root charles

#id charles 用id命令可查看用户UID,用户所属主组GID及用户的附属组信息

删除用户账户

#userdel -r nian -r表示同时删除用户家目录

7)管理用户组

添加用户组-groupadd命令

groupadd [选项] 组名

选项:

-g GID:指定组 ID;

-r:创建系统群组。

在这里插入图片描述

修改用户组信息-groupmod命令

groupmod [选现] 组名

选项:

-g GID:修改组 ID;

-n 新组名:修改组名;

在这里插入图片描述

删除用户组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。

在这里插入图片描述

groupdel 组名

把用户添加到或移出用户组,命令格式:

groupmems [选项]

把用户添加到组中 -a username

从组中移除用户 -d username

目标用户组 -g grpname

显示组成员 -l

删除组内所有用户 -p

在这里插入图片描述

id与group命令

id命令功能:用户的UID、GID 和附加组的信息。

id 用户名

group命令功能:显示用户的组信息,与 id -Gn 命令效果相同,命令格式:

group 用户名

在这里插入图片描述

8)用户授权

授权用户jack和mary对目录/test/software(root创建)有写权限

方法一:要想某个用户对目录有w权限,只需要成为该目录的所有者;但是目录的所有者只有一个人,故对多个用户无法实现

方法二:设置目录其他人w权限,但是这样所有人都有w权限,而不是仅部分人有

方法三:将需要有w权限的用户添加到组,然后将该组设为目录的所属组,给所属组w权限——最优方法.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

限制用户使用su

查看/bin/su,发现它有SetUID权限,也就是普通用户也可以使用su 切换到root,就会有机会尝试破解root密码,为了限制普通用户权限,只保留个别用户可以使用su - root,其他用户不可使用。方法如下:

创建用户组:groupadd sugroup

修改/bin/su权限为其他人无权限:chmod 4550 /bin/su

将sugroup设为/bin/su的所属组:chgrp sugroup /bin/su

查看/bin/su属性:ls -l /bin/su

设定之后,只有sugroup组中的用户可以使用su切换到root

添加指定用户到sugroup中:usermod -G sugroup student01 或 gpasswd -a student01 sugroup
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

对普通用户授权:sudo

sudo表示“superuser do",sudo可以让普通用户以root的身份执行一些命令。

用sudo代替su:

在执行sudo命令时,临时成为root不会泄露root口令仅向用户提供有限的命令使用权限

配置文件:/etc/sudoers,编辑配置文件命令visudo

普通用户使用命令sudo

格式:用户名(%组名) 主机地址= 命令1(绝对路径), 命令2(绝对路径),…

*5**.**网络配置*

ifconfig(interfaces config)。通常需要以root身份登录或使用sudo来使用ifconfig。ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

查看所有网络接口信息,不论其是否激活。

#ifconfig -a

查看指定网络接口信息

#ifconfig -eth0

启动和关闭指定网卡。

在这里插入图片描述

修改 MAC 地址。

在这里插入图片描述

配置 IP 地址
在这里插入图片描述

在这里插入图片描述

添加和删除 IPv6 地址。

service服务管理命令:

service s_name start|stop|status|restart

linux系统所有自带服务名称:/etc/init.d/

关闭防火墙服务

service iptables stop

重启网络服务:

service network restart

chkconfig:设置是否开机启动

chkconfig iptables on|off

猜你喜欢

转载自blog.csdn.net/weixin_54882070/article/details/131852983