近两个月整理的保姆级Linux常用命令(详略得当版),耗费近亿根头发

本文详尽地介绍了Linux系统中的各种管理命令,包括目录及文件处理、权限管理、文件搜索、用户管理、压缩解压、网络操作、关机重启、vim编辑器操作、软件包管理以及用户组管理等。重点讲解了命令的使用方法和注意事项,旨在帮助用户熟练掌握Linux系统的日常维护。
摘要由CSDN通过智能技术生成

,!

,.

系列文章目录



提示:以下是本篇文章正文内容,下面案例可供参考
💜要想永久生效某些设置,都需要修改linux下的相关配置文件! 命令行的更改都是临时生效的。
💚 Linux严格区分大小写!
💗 操作系统centos7 VMware16

永久修改主机名
使用hostnamectl命令
#hostnamectl set-hostname 新主机名

一、目录及文件处理命令

/**ls列表展示相关*/
# ls //显示当前目录所在文件
# ls -a //显示当前目录所有文件会多出.xxx的隐藏文件    .xxx点前缀就被linux识别为隐藏文件
# ls 目录名 //查看指定目录下文件
# ls -l //显示文件多出的相关属性(简写 # ll)
# ls -ld 目录名 //显示目录本身,而不显示该目录下的文件数据
# ls -lh //人性化显示
# ls -i //查询i节点

/**进入文件,退出文件相关*/
# . 	//表示当前目录
# cd .. 	//回到上一级的目录
# cd 目录路径 	//切换到指定目录
# pwd 	//显示当前目录所在的绝对路径

/**目录操作相关*/
# mkdir 目录路径/目录名 	//创建指定路径下的子目录
# mkdir -p 目录路径/目录名1/目录名2 	//同时创建目录1和其子目录2
# mkdir 目录路径0/目录名1 目录路径0/目录名2 	//在 同一路径创建 并列的两个文件 目录

# cp -r 被复制的目录 将复制到的目录路径/目录名 	//将目录复制到目标目录
# cp -r 被复制的目录 将复制到的目录路径/目录名/重新命名  //将目录复制到目标目录 并 重新命名
# cp 被复制文件  将复制到的目录路径/目录名 	//将文件复制 到 目标目录
# cp 被复制文件1 被复制文件2 将复制到的目录路径/目录名	//将 两个不同文件 复制到 目标目录
# cp -p  被复制文件  将复制到的目录路径/目录名 //复制的时候 保留文件属性

# mv 被剪贴文件 将剪贴到的目录路径/目录名  	//将文件剪贴到 目标目录
# mv 被剪贴的目录 重命名 		//将 被剪贴的目录 在当前目录下 改名

/**删除操作相关*/
# rm 文件名  //删除 指定文件
# rm -f 文件名 //强制删除
# rmdir 目录路径/目录名 	//删除指定 !空目录!
# rm -rf 目标目录 //强制删除 指定目录

/**创建操作相关*/
# touch 文件名 	//在 当前目录下 创建 一个 空文件
# touch 绝对路径/文件名 	//在 指定路径下 创建 一个 空文件
# touch 文件名1 文件名2 	//创建 两 个文件
# touch "文件 名" 	//创建 带空格名称 的 一个 文件

/**浏览操作相关*/
# cat -n 文件名 //浏览文件内容 并 前置每行行号 
# tac -n 文件名 //倒着浏览文件内容 并 前置每行行号 
# more 文件名  //分页浏览内容 空格下一页 回车下一行 q退出
# less 文件名  //比more多了向上翻页  pgUp 或上箭头 在less模式下 输入  /关键词  可以搜索到 关键词所在位置 按n查找下一个关键词
# head -n 6 文件名 //显示文件前6行
# tail -n 文件名 //默认显示文件后10行
# tail -f 文件名 //动态显示文件后10行

/**快捷方式相关*/
# ln -s 绝对路径/文件名 将要放到的路径 //生成一个软连接(相当于快捷方式 将要放到的路径—>绝对路径/文件名)  u g o 具有rwx权限
# ln 绝对路径/文件名 将要放到的路径 //生成一个硬连接(相当于拷贝)相比cp -p 最主要的特点是可以同步更新 不能夸分区

二.权限管理命令

2.1 基本管理权限

# ls -l //显示文件多出的相关属性(可以查看权限)
# chmod u+x 文件名//给 user 添加一个 执行 权限 
# chmod g+w,o-r 文件名//给 所属组 添加一个 写 权限,其他用户 减少一个 读 权限。
# chmod g=rwx 文件名 //让其现在 具有 rwx 权限
# chmod 640	文件名 //让其现在 具有 -rw-r----- 的权限
# chomd -R 777 目录名 //改变一个目录权限的同时,改变其子目录的所有文件权限.

# chown root 文件名 //将该文件的所有者转交给root
# chgrp lampbrother 文件名 //将该文件的所属组转交给lampbrother
# umask -S //查看默认缺省权限
# su -user //切换用户

三.文件搜索命令

用途:搜索文件

3.1 find搜索(实时,查询速度慢)

不要在服务器使用高峰期使用find查询

# find 搜索路径 -name 文件名 //精准搜索在指定路径下的文件
# find 搜索路径 -name *文件名* //模糊搜索在指定路径下的文件
# find 搜索路径 -name init* //搜索在指定路径下的以init开头的文件
# find 搜索路径 -name init??? //搜索在指定路径下的以init开头,再匹配三个字符的文件

# find 搜索路径 -iname init??? //搜索在指定路径下的以init开头,再匹配三个字符的文件(不区分大小写)

# find / -size +204800 //在根目录下查找大于100mb的文件 [详情](https://www.bilibili.com/video/BV1mW411i7Qf?p=18)1数据块=512字节=0.5k   100mb=102400kb

# find / -size +163840 -a -size +204800 //在根目录下查找大于80mb小于100mb的文件
# find /home -user root //在home目录下查找所有root用户的文件
# find /home -group root //在home目录下查找所有root所属组的文件
# find /etc -mmin -5 //在etc目录下查找5分钟之内修改过的文件 (-amin 访问时间)(-cmin 文件属性)(-mmin 文件内容) 
# find / -name init* -a -type d //在根目录下查找以init开头的目录
# find / -name init* -a -type f //在根目录下查找以init开头的文件
# find /etc -name inittab -exec ls -l {} \; //在/etc下查找inittab文件并显示其详细信息 
											//-exec 命令 {} \; 对搜索结果执行操作(execute)								

在这里插入图片描述

# ls -i //展示文件的i节点
# find . -inum 31531 -exec rm {} \; //查询当前目录的i节点,通过i节点删除文件

3.2 locate搜索(查询速度快,延时)

用途:搜索文件
命令名称: locate

命令所在路径:/usr/bin/locate

执行权限:所有用户

语法: locate 文件名

功能描述:在文件资料库中查找文件

范例:# locate inittab

# locate locate //搜索locate资料库.(这是比find快的原因,速度远快于find搜索,但新创建的文件不会立即存入locate资料库)
# updatedb //更新文件资料库
# locate 文件名 //区分大小写查找
# locate -i 文件名 //不区分大小写查找

3.3 witch搜索

用途:搜索命令
命令名称: which

命令所在路径:/usr/bin/which

执行权限:所有用户

语法: which命令

功能描述:搜索命令所在目录及别名信息

范例:# which ls

快速查询命令所在绝对路径和别名

3.4 grep搜索

用途:搜索文件中的内容
命令名称: grep

命令所在路径:/bin/grep

执行权限:所有用户

语法: grep -iv [指定字串] [文件]

功能描述:在文件中搜寻字串匹配的行并输出

-i 不区分大小写

-v排除指定字串

3.5其他搜索帮助命令

/**若命令与配置文件名称相同,优先展示命令的帮助*/
# man ls //查看ls命令的帮助信息
# man 文件名 //查看配置文件的帮助信息

# whatis ls //查看一个命令简短的介绍
# apropos 配置文件 //查看一个配置文件简短的介绍
# help umask //查看umask命令的帮助信息(获得shell内置命令的帮助信息,man无法得到)

四.用户管理命令

格式: # useradd [选项] 用户名

选项
-uUID:手工指定用户的UID号
-d家目录:手工指定用户的家目录
-c用户说明:手工指定用户的说明
-g组名:手工指定用户的初始组
-G组名:指定用户的附加组
-sshell:手工指定用户的登陆shell.默认是 /bin/bash

格式: # usermod [选项] 用户名

选项
-uUID:修改用户的UID号
-c用户说明:修改用户的说明
-G组名:修改的附加组
-L:临时锁定用户(Lock)
-U:解锁用户锁定(Unlock)

格式:# passwd [选项] 用户名

选项
-S查询用户密码的密码状态.仅root用户可用
-l暂时锁定用户.仅root用户可用
-u解锁用户.仅root用户可用
–stdin可以通过管道符输出的数据作为用户的密码

格式:# chage [选项] 用户名

选项
-l:列出用户的详细密码状态
-d 日期:修改密码最后一次更改日期(shadow3字段)
-m 天数:两次密码修改间隔(4字段)
-M 天数:密码有效期(5字段)
-W 天数:密码过期前警告天数(6字段)
-I 天数:密码过后宽限天数(7字段)
-E 日期:账号失效时间(8字段)
//创建用户
# useradd 用户名 //添加一个用户
# passwd 用户名 //设置用户密码
# w //详细查看远程登录用户信息的命令 (tty本地终端登录 pts远程终端登录) (# who)简略查看
# passwd -l 用户名 //锁定用户.(操作shadow文件的感叹号,令密码解析失效)
# passwd -u 用户名 //解锁用户
# echo "123" | passwd --stdin lamp // | 管道符,将前面的输出结果作为后面的输入  --stdin接收前面的输出结果

//修改已存在用户信息
# usermod -c "test user" -G root -u 550 lamp //-c 描述该用户是测试用户 -G 附加到root组 UID修改为550
# usermod -L 用户名//锁定用户信息
# usermod -U 用户名//解锁用户信息

//删除/切换用户
# userdel [-r] 用户名 //-r删除用户的同时删除用户家目录
# su [选项] 用户名 	/**
					* - : 选项只使用"-"代表连带用户的环境变量一起切换.(不要省!!)
					* -c 命令: 仅执行一次命令,而不切换用户身份
					*/
$ su -root -c "useradd user3" //$ 普通用户. 不切换成root用户,但是执行useradd命令添加user3用户.

//用户组管理
# groupadd 组名 //添加组
# groupmod -n 新组名 旧组名 //将旧组名修改成新组名
# groupdel 组名 //删除组
# gpasswd -a 用户名 组名 //把用户加入组
# gpasswd -d 用户名 组名 //把用户从组中删除

五.压缩解压命令

命令名称: tar

命令所在路径:/bin/tar

执行权限:所有用户

语法: tar选项[-zcf][压缩后文件名][目录]

-c 打包

-v 显示详细信息

-f 指定文件名

-z 打包时压缩(有x时解压缩)

-x 解包

功能描述:打包目录

压缩后文件格式: .tar.gz

gzip只能压缩文件,不能压缩目录 不保留源文件

/** .gz格式压缩解压*/
# gzip 文件名 //将该文件压缩成.gz格式
# gunzip 文件名 //解压该文件

# tar -zcf 压缩后的目录名.tar.gz 要压缩的目录 //将目录打包并压缩到指定目录(c创建一个打包文件 f指定文件名 z在打包时压缩文件)
# tar -zxf 要解包的文件名.tar.gz //解包.gz格式

/** .zip格式压缩解压
* 1.比.gz的好处是 压缩时保留原文件
* 2.加个 -r命令 可以压缩目录
* 3.压缩比率不如.gz格式
*/
# zip 命名压缩文件名.zip 要压缩的文件 //压缩文件(请在压缩文件名后面加上 .zip便于区分)
# zip -r 压缩的目录.zip 将要压缩到的目录 //压缩目录
# unzip 文件名.zip //解压zip格式

/** bzip2格式压缩解压
* 1..zp的升级版,多了 -k指令 产生压缩文件后保留源文件
* 2.压缩比惊人.
*/
# bzip2 -k 文件名 //产生压缩文件并保留源文件
# bunzip2 -k 压缩包名//解压缩.bz2格式并保留压缩包(-k是否保留压缩包)

# tar -cjf 命名压缩文件名.tar.bz2 将要压缩到的目录 //生成打包并压缩的目录
# tar -xjf 压缩包名称.tar.bz2 //解压 .tar.bz2 格式的压缩包

六.网络命令

/**ping命令 所有用户可用*/
# ping ip地址
# ping -c 3 ip地址//发送3次数据

/**ifconfig命令 所有用户可用*/
# ifconfig //查看网卡配置信息

# mail 用户名 内容信息 //向指定用户发送邮件(ctrl+d保存并发送)
# mail //查看邮件列表(之后输邮件相应编号即可阅读信封内容 -h回到邮件列表)(-d 编号 删除对应邮件)

# last //统计所有用户登陆时间,计算机重启时间
# lastlog //统计所有用户最后登录时间
# lastlog -u id //查看某一用户的最后登录时间

# traceroute 网址//跟踪网络数据包的路由路径

# netstat 选项 /** -t 查询TCP协议网络信息 
				* -u 查询UDP协议网络信息
				* -l 监听
				* -r 路由
				* -n 显示ip地址和端口号
				*/
# netstat -tlun //查看本机监听的端口
# netstat -an //查看本机所有的网络连接
# netstat -rn //查看本机路由表

# service network restart //重启网络服务

# mount -t /dev/sr0 /mnt/cdrom/ //挂载外界设备
# umount /dev/sr0 //必须退出挂载文件,才能卸载挂在文件

七.关机重启常用命令

1)centos5:SysV init、

2)centos6:Upstart

3)centos7:Systemd

# shutdown -h now //立即关机(-c取消前一个关机命令 -r重启 在服务器上关机和重启都要谨慎)
# shutdown -r now //重启

# init 数字 
/** 
* 0关机 
* 1单用户 (启动最小核心程序,相当于windows安全模式)
* 2不完全多用户,不含nfs服务 (nfs文件共享服务-->有风险不建议使用,有可替代方式)
* 3完全多用户 
* 4未分配 
* 5图形界面 
* 6重启 */
# cat /etc/inittab //查看init配置文件
# runlevel //查看当前运行级别

# logout //退出登录

高阶操作命令

八.vim常用操作

vi <=> vim

vim中每个按键都是指令

vim三种模式:命令模式,插入模式,编辑模式
https://www.bilibili.com/video/BV1mW411i7Qf?p=25&spm_id_from=pageDriver

vi命令模式下操作指令:

vi 文件名 //进入vi命令模式
/**
* 任何操作都要在vi命令模式下才使用
* gg //到第一行
* G //到最后一行
*
* 10G //到第10行
* $ //移至行尾
* 0 //移至行首
*
* a 在光标所在字符后插入
* A 在光标所在行尾插入
* i 在光标所在字符前插入
* I 在光标所在在行行首插入
* o 在光标下插入新行
* O 在光标上插入新行
* x //删除光标所在处字符
* nx //删除光标所在处后n个字符
* dd //删除光标所在行,ndd删除n行
* dG //删除光标所在行到文件末尾内容
* D //删除光标所在处到行尾内容
* 
* yy //复制当前行
* nyy //复制当前行以下n行
* dd //剪切当前行
* ndd //剪切当前行以下n行
* p,P //粘贴在当前光标所在行下或行上
* 
* r //取代光标所在处字符
* R //从光标所在处开始替换字符,按Esc结束
* u //取消上一步操作
* 任何操作都要在vi命令模式下才使用
* /字符串 //输入字符串,查找相应关键词 
*/
以上任意命令进入到vi插入模式(相当于进入记事本,按下esc会回退到命令模式)

: //命令模式下进入编辑模式(命令执行完毕自动回退到命令模式)
:set nu //给文本加上行号
:set nonu //取消行号
:set ic //不区分大小写
:wq //保存退出
:1000 //到第1000行
:n1,n2d //删除指定范围的行
:%s /要替换的字符串/替换新的字符串/g //全文替换
:n1,n2,s /要替换的字符串/替换新的字符串/g //在一定范围内替换指定的字符串

:w保存修改
:w 文件名 //另存为指定文件
:wq //保存修改并退出
ZZ //快捷键,保存修改并退出
:q! //不保存修改退出
:wq! //保存修改并退出(强行保存,只有文件所有者和root可以)

/** r !命令  */ //将命令结果导入
:r 要导入的文件名 //将文件内容导入到 光标的位置
:!which 命令 //可以在不退出vim的情况下查找命令的位置
:r !date //导入时间

九.软件包管理命令

9.1 RPM包命名原则

httpd-2.2.15-15.el6.centos.1.i686.rpm

httpd软件包名
2.2.15软件版本
15软件发布的次数
el6.centos适合的Linux平台
i686适合的硬件平台
rpmrpm包扩展名
rpm包管理

在这里插入图片描述

9.2 rpm包的依赖性树形依赖:

树形依赖:a→b→c
环形依赖:a→b→c→a,
模块依赖:模块依赖查询网站:(文件名以 so.数字结尾的是模块,需要到以下网站查询安装地址)
www.rpmfind.net
详情

rpm包安装位置
/etc/配置文件的安装目录
/usr/bin/可执行的命令安装目录
/usr/lib/程序所使用的函数库保存位置
/usr/share/doc基本的软件使用手册保存位置
/usr/share/man/帮助文件保存位置
rpm包验证内容中的8个信息
S文件大小是否改变
M文件的类型或文件的权限(rwx)是否被改变
5文件MD5校验和是否改变(可以看成文件内容是否改变)
D代码是否被改变
L文件路径是否改变
U文件的所有者是否改变
G文件的所属组是否改变
T文件的修改时间是否改变
/**	rpm命令管理 (查询使用. 安装,升级,卸载请选择yum在线管理)*/
//安装,升级,卸载
# rpm -ivh 包全名  //-i(install)安装 -v(verbose)显示详细信息 -h(hash)显示进度
# rpm -Uvh 包全名 //RPM包升级
# rpm -e 包名 //e 卸载

//查询
# rpm -q 包名 //查询包是否安装
# rpm -qa //查询所有安全包
# rpm -qi 包名 //-i查询软件信息  -p 查询未安装包信息
# rpm -ql 包名 //查询包中文件安装位置
# rpm -qlp 包全名 //查询包中文件将要安装的位置
# rpm -qf 系统文件名 //查询系统文件属于哪一个软件包
# rpm -qR 包名//-R查询软件包的依赖性 -p查询未安装包信息\

//rpm校验,判断文件是否被修改
# rpm -V 已安装的包名 //-V校验指定RPM包中的文件
//rpm包中文件提取
# rpm2cpio 包全名 | \ cpio -idv .文件绝对路径 // \换行 .将文件提取到当前目录

/**	yum在线管理 (解决 rpm命令管理 的模块依赖性,需要联网) */
//yum源相关内容 https://www.bilibili.com/video/BV1mW411i7Qf?p=32&share_source=copy_web
# yum list //查询所有可用软件包列表
# yum search 关键字 //搜索服务器上所有和关键字相关的包
# yum -y install 包名//-y自动回答yes install安装
# yum -y update 包名 //升级该包名
# yum -y update //升级所有软件包,包括Linux内核(慎用)

# yum -y remove 包名 //卸载及依赖包 慎用!!!!!!

# yum grouplist //列出所有可用的软件组列表
# yum groupinstall 软件组名 //安装指定软件组
# yum groupremove 软件组名 //卸载指定软件组

# service 软件组名 start //软件启动管理
# yum --disablerepo=base update  升级yum
# yum clean all 清除yum缓存
# yum info 软件名 //查询软件详细信息
rpm -qi 软件名 //查询安装文件的个数
# rpm -ql 软件名 //查询软件路径 

9.3 源码包相关

软件安装在指定位置当中,一般是 /usr/local/软件名/
源代码保存位置: /usr/local/src/

# ./configure --prefix=/usr/local/软件名/ //指定安装路径
# make //把源码包编译成二进制文件
//如果前两条命令报错 执行 # make clean
# make install //编译安装
# rm -rf 软件路径 //卸载软件

9.4 脚本安装包相关

脚本安装包并不是独立的软件包类型,常见安装的是源码包。
是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。
非常类似于Windows下软件的安装方式。 ----兄弟连
主要安装驱动使用

十.用户配和用户组管理

10.1.1 用户配置文件

用户基本信息文件路径: /etc/passwd

第1字段:用户名称
第2字段:密码标识
第3字段:UID(用户ID)
(1)0:超级用户
(2)1-499:系统用户
(3)500-65535:普通用户
第4字段:GID(用户初始组ID)
第5字段:用户说明
第6字段:家目录
(1)普通用户:/home/用户名/
(2)超级用户:/boot/
第7字段:登录之后的Shell
# man 5 配置文件名 //获得 配置文件的帮助信息

10.1.2 影子文件

位置: /etc/shadow

第1字段:用户名
第2字段:加密密码
(1)加密算法升级为SHA512散列加密算法
(2)如果密码位是"!!" 或 “*” 代表没有密码,不能登录
第3字段:密码最后一次修改日期(使用1970.1.1作为标准时间)
第4字段:两次密码修改时间间隔
第5字段:密码有效期
第6字段:密码修改到期前的警告天数
第7字段:密码过期后的宽限时间
第8字段:账号有效期(时间戳表示)
第9字段:保留
# date -d "1970-01-01 当前时间戳 days" //将时间戳格式修改为公元纪年
# echo $(($(date --date="years/month/day"+%s)/86400+1)) //将公元纪年修改为时间戳格式

10.1.3 组信息,组密码文件

(1) 组信息文件位置: /etc/group

第一字段:组名
第二字段:组密码标志
第三字段:GID
第四字段:组中附加用户

(2)组密码文件位置: /etc/gshadow

第一字段:组名
第二字段:组密码
第三字段:组管理用户名
第四字段:组中附加用户

10.2.1 用户管理相关文件

1.用户的家目录

普通用户/home/用户名/,所有者和所属组都是此用户,权限是700
超级用户/root/,所有者和所属组都是root用户,权限是550

2.用户的邮箱
/var/spool/mail/用户名/

10.2.2 用户模板目录

位置: /etc/skel/
在此处创建的文件它会随着用户创建,立即在用户的家目录生成此文件
用途:可以写个警告信息.

十一. 其他权限管理

11.1.1 ACL权限

解决身份权限不够用问题.
在这里插入图片描述

发现dumpe2fs命令为ext文件系统家族的命令,我的系统为CentOS7,文件系统为XFS,XFS默认支持ACL:

# df -h //查看当前系统分区
# xfs_info /dev/xxx //查看xfs文件
# setfacl [选项] 文件名 
/**-m设定ACL权限 
* -x删除指定acl权限 
* -b删除所有acl权限
* -d设定默认acl权限
* -k删除默认acl权限
* -R递归设定acl权限
*/
# setfacl -m m:rx 文件名 //修改最大权限.当用户权限与mask权限 与 为真,才是用户的真正权限
# setfacl -m g:tgroup2:rx 文件名 //让tgroup2组拥有读,执行的权限
# setfacl -m u:tgroup2:rx 文件名 //让tgroup2用户拥有读,执行的权限

# getfacl 文件名 //查看文件acl权限

11.2.1 文件特殊权限(慎重操作!)

11.2.2 -SetUID

只有可以执行的二进制程序才能设定SUID权限
命令执行者要对该程序拥有x(执行)权限
命令执行者在执行该程序时获得该程序文件属主的身份(在执行程序的过程中灵魂附体为文件的属主)
SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
passwd命令拥有SetUID权限,所以普通可以修改自己的密码

详情

//设定SUID的方法
//4代表SUID
# chmod 4755 文件名
# chmod u+s 文件名

//取消SetUID方法
# chmod 755 文件名
# chmod u-s 文件名

危险的SetUID
关键目录应严格控制写权限。比如“/”、“/usr”等
用户的密码设置要严格遵守密码三原则
对系统中默认应该具有SetUID权限的文件作一列表,定时检查有没有这之外的文件被设置了SetUID权限

11.2.3 -SetGID

只有可执行的二进制程序才能设置SGID权限
命令执行者要对该程序拥有x(执行)权限命令执行在执行程序的时候,组身份升级为该程序文件的属组
SetGID权限同样只在该程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效

2/s代表SetGID
将所属组g权限临时提升
命令方式如11.2.2

11.2.4 -Sticky BIT

粘着位目前只对目录有效
普通用户对该目录拥有w和x权限,即普通用户可以在此目录拥有写入权限
如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下所有文件,包括其他用户建立的文件。一但赋予了粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件

1/t 代表Sticky BIT
将其他人o权限临时提升
命令方式如11.2.2

11.3.1 文件系统属性chattr权限

chattr - change file attributes on a Linux file system

# chattr [+-=] [选项] 文件或目录名 //+: 增加权限 -:删除权限 =: 等于某权限
/**
* 选项 (对root也生效)
* i:如果对文件设置i属性,那么不允许对文件进行删除、改名,
* 也不能添加和修改数据;
* 如果对目录设置i属性,那么只能修改目录下文件的数据,
* 但不允许建立和删除文件。
* 
* a:如果对文件设置a属性,那么只能在文件中增加数据,
* 但是不能删除也不能修改数据;
* 如果对目录设置a属性,那么只允许在目录中建立和修改文件,
* 但是不允许删除.
*/

# lsattr [选项] 文件名 //用于查看被chattr命令锁起来的文件属性
/**
* 选项:
* -a 显示所有文件和目录
* -d 若目标是目录,仅列出目录2本身的属性,而不是子文件的
*/

11.4.1 sudo权限

root把本来只能超级用户执行的命令赋予普通用户执行
sudo的操作对象是系统命令

在这里插入图片描述
如图指明 root用户允许在被管理的主机地址上 执行某条命令 .
虽然普通用户本身有vim执行权限,但绝不允许把vim命令赋予普通用户!
绝不允许把vim命令赋予普通用户!
绝不允许把vim命令赋予普通用户!

# visudo sc ALL=/sbin/shutdown -r now
//实际修改的是/etclsudoers文件
//管理员使用visudo给 sc用户赋予在任何一个ip(ALL)执行/sbin/目录下的shutdown -r now 命令
# su - sc //切换为sc用户,并修改成相应的环境
$ sudo -l //查看超级用户赋予的sudo命令
$ sudo /sbin/shutdown -r now //普通用户执行sudo赋予的命令

十二. 文件系统和分区操作

12.1.1 分区和文件系统

💜windows中可以识别的为: FAT16,FAT32,NTFS。
💜在Linux中可以识别的为: EXT2,EXT3,EXT4。
💜在centOS7 以后 选择XFS
💗主分区:总共最多只能分四个
💗扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。
💗逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区
为什么CENTOS 7.0开始选择XFS作为默认的文件系统?XFS相比ext有什么优点?

12.1.2 文件系统常用命令df,du,lsblk

高访问量的服务器应当周期重启.减少未被释放的文件占用空间

选项# df [选项][挂载点] //文件系统查看命令
-a显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs
-h使用习惯单位显示容量,如KB,MB或GB等
-T显示文件系统类型
-m以MB为单位显示容量
-k以KB为单位显示容量。默认就是以KB为单位
选项# du [选项][目录或文件名] //统计目录或文件大小
-a显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h使用习惯单位显示磁盘占用量,如KB,MB或GB等
-s统计总占用量,而不列出子目录和子文件的占用量
# lsblk //查看磁盘分区
# df -h //查看进程,数据,文件使用情况总和
# fdisk -l //分区工具查看分区信息
# cfdisk /dev/sda  //查看分区
# blkid //查看硬盘label(别名)
# du -sh ./* //统计当前目录各文件夹大小
# free -h //查看内存大小

12.2.1 文件系统修复命令fsck

选项# fsck [选项] 分区设备文件名
-a不用显示用户提示,自动修复文件系统
-y自动修复。和-a作用一致,不过有些文件系统只支持-y

12.3.1 光驱,移动硬盘等的挂载命令

🧡**(1)查询与自动挂载**

# mount -l //查询系统中己经挂载的设备,-l会显示卷标名称
# mount -a //依据配置文件letclfstab的内容,自动挂载

💛**(2)挂载命令格式**

选项# mount [-t 文件系统] [-L 卷标名] \ [-o 特殊选项] 设备文件名 挂载点
-t 文件系统加入文件系统类型来指定挂载的类型
-L 卷标名挂载指定卷标的分区,而不是安装设备文件名挂载
-o 特殊选项可以指定挂载的额外选项

特殊选项参数:
在这里插入图片描述
挂载u盘(自动识别)

64分区识别为fat
32分区识别为vfat

# fdisk -l //查看U盘设备文件名
# mkdir /mnt/usb //创建挂载点
# mount -t vfat /dev/sdb1 /mnt/usb/  //将设备文件sdb1挂载到/mnt/usb/
# umount /dev/sdb1 //卸载u盘

12.4.1 支持NTFS文件系统

下载并安装NTFS-3G插件
详情

12.5.1 fdisk分区

fdisk分区详情
fdisk自动挂载与fstab文件修复

1.查看硬盘分区情况

fdisk -l //查看硬盘分区情况

在这里插入图片描述
2.进入fdisk分区界面

fdisk /dev/sdb  #对/dev/sdb下磁盘进行分区   

在这里插入图片描述
给该盘分了一个512g的主分区
在这里插入图片描述
3.保存分区操作并退出
在这里插入图片描述

4.格式化文件系统

fdisk -l #查看磁盘分区情况
mkfs.ext4 /dev/sdb1 #格式化sdb1文件为ext4磁盘格式

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

5.创建挂载点,完成挂载

mkdir /mnt/wyj_p1 #创建挂载点目录
mount /dev/sdb1 /mnt/wyj_p1 #将sdb1设备挂载到wyj_p1目录下
lsblk -f #查看分区情况

在这里插入图片描述
6.设置永久自动挂载

vi /etc/fstab

在这里插入图片描述

十三.防火墙相关操作

firewall-cmd --state # 查看防火墙当前状态
systemctl start firewalld.service # 开启防火墙服务
firewall-cmd --zone=public --add-port=端口号/tcp --permanent #放行指定端口
systemctl restart firewalld.service # 重启防火墙
firewall-cmd --reload # 重新载入防火墙配置
firewall-cmd --list-ports # 查看所有开放的端口
firewall-cmd --query-port=端口号/tcp # 查看某个开放的端口

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最难不过坚持丶渊洁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值