Linux基础知识总结

news2024/11/15 23:25:57

目录

一、Linux权限设置

更改文件属性

chgrp - 更改文件属组

chown - 更改文件所有者,也可以同时更改文件所属组。

chmod - 更改文件属性

二、Linux文件与目录管理

处理目录的常用命令

ls(list files)- 列出目录及文件名

cd(change directory)- 切换目录

pwd(print work directory)- 显示当前目录

mkdir(make directory)- 创建新目录

rmdir(remove directory)- 删除空目录

cp(copy file)- 复制文件或目录

rm(remove)- 删除文件或目录

mv(move file)- 移动文件与目录,或修改文件与目录的名称

Linux文件内容查看

cat  - 从第一行开始显示文件内容

tac  - 从最后一行开始显示,正好是cat倒着写

nl  - 显示的时候,输出行号

more - 一页一页的显示文件内容

less - 往前翻页显示文件内容

head - 显示文件前几行

tail - 显示文件后几行

三、Linux 进程命令

ps - 查看进程

top - 动态显示运行中的进程

kill - 结束进程

四、Linux用户和用户组管理

用户管理

useradd - 添加用户

userdel - 删除用户

usermod - 修改用户

用户组管理

groupadd - 添加用户组

groupdel - 删除用户组

groupmod - 修改用户组

五、Linux磁盘管理

df(disk free)- 列出文件系统的整体磁盘使用量

du(disk used)- 检查磁盘空间使用量

fdisk - 用于磁盘分区

mkfs - 磁盘格式化

mount - 磁盘挂载

umount - 磁盘卸载

六、Linux yum命令

yum常用命令

七、Linux apt命令

apt 常用命令


一、Linux权限设置

在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:

  • chown (change owner) : 修改所属用户与组。
  • chmod (change mode) : 修改用户的权限。

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为 d 则是目录
  • 当为 - 则是文件
  • 若是 l 则表示为链接文档
  • 若是 b则表示为装置文件里面的可供储存的接口设备(可随机存取装置)
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标

剩下的字符三个为一组,且均为 rwx三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x代表可执行(execute)。 这三个权限的位置不会改变,如果没有权限,就会出现减号 - 。每个文件的属性由左边第一部分的 10 个字符来确定。

363003_1227493859FdXT

从左至右用 0-9 这些数字来表示。

第 0 位确定文件类型。

第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。

第 4-6 位确定属组(所有者的同组用户)拥有该文件的权限。

第 7-9 位确定其他用户拥有该文件的权限。

第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

更改文件属性

chgrp - 更改文件属组

语法:

chgrp [-R] 属组名 文件名

参数选项

  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。

chown - 更改文件所有者,也可以同时更改文件所属组。

语法:

chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名

进入 /root 目录(~)将test.log的拥有者改为bin这个账号:

[root@www ~]# chown bin test.log

将test.log的拥有者与群组改回为root:

[root@www ~]# chown root:root test.log

chmod - 更改文件属性

Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

我们可以使用数字来代表各个权限,各权限的分数对照表如下:

  • r : 4
  • w : 2
  • x : 1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx--x 分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= --- = 0+0+1 = 1

所以等一下我们设定权限的变更时,该文件的权限数字就是 771

变更权限的指令 chmod 的语法:

 chmod [-R] xyz 文件或目录

选项与参数:

  • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
  • -R : 进行递归的持续变更,以及连同次目录下的所有文件都会变更

例如:如果要将 .env这个文件所有的权限都设定启用,命令如下:

[root@www ~]# chmod 777 .env

二、Linux文件与目录管理

处理目录的常用命令

ls(list files)- 列出目录及文件名

语法:

  ls [options] 目录名称

选项与参数:

  • -a :列出全部的文件,包含隐藏文件
  • -d :仅列出目录本身,而不是列出目录内的文件数据
  • -l :长数据串列出,包含文件的属性与权限等数据

cd(change directory)- 切换目录

语法:

cd [相对路径或绝对路径]
# 表示回到自己的家目录

cd ~

# 表示去到目前的上一级目录

cd ..

pwd(print work directory)- 显示当前目录

语法:

pwd [-P]

选项与参数:

  • -P :显示出确实的路径,而非使用链接 (link) 路径。

mkdir(make directory)- 创建新目录

语法:

  mkdir [options] 目录名称

选项与参数:

  • -m :配置文件的权限
  • -p :将所需要的目录(包含上一级目录)递归创建
mkdir -m 711 test2
mkdir -p test1/test2/test3/test4

rmdir(remove directory)- 删除空目录

语法:

 rmdir [-p] 目录名称

选项与参数:

  • -p :从该目录起,一次删除多级空目录

cp(copy file)- 复制文件或目录

语法:

  cp [options] 源文件 目标文件

选项与参数:

  • -a:相当于 -pdr 的意思

  • -d:若来源档为链接档的属性(link file),则复制链接档属性而非文件本身

  • -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次

  • -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行

  • -l:进行硬式链接(hard link)的链接档创建,而非复制文件本身

  • -p:连同文件的属性一起复制过去,而非使用默认属性

  • -r:递归持续复制,用於目录的复制行为

  • -s:复制成为符号链接档

  • -u:若 destination 比 source 旧才升级 destination !

rm(remove)- 删除文件或目录

语法:

 rm [options] 文件或目录

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息
  • -i :互动模式,在删除前会询问使用者是否动作
  • -r :递归删除

mv(move file)- 移动文件与目录,或修改文件与目录的名称

语法:

 mv [options] source destination

选项与参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

Linux文件内容查看

cat  - 从第一行开始显示文件内容

语法:

cat [options] 文件

选项与参数:

  • -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已
  • -b :列出行号,仅针对非空白行做行号显示,空白行不标行号
  • -E :将结尾的断行字节 $ 显示出来
  • -n :列印出行号,连同空白行也会有行号
  • -T :将 [tab] 按键以 ^I 显示出来
  • -v :列出一些看不出来的特殊字符

tac  - 从最后一行开始显示,正好是cat倒着写

语法:

tac [options] 文件

nl  - 显示的时候,输出行号

语法:

nl [options] 文件

选项与参数:

  • -b :指定行号指定的方式,主要有两种:
    -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
    -b t :如果有空行,空的那一行不要列出行号(默认值);
  • -n :列出行号表示的方法,主要有三种:
    -n ln :行号在荧幕的最左方显示;
    -n rn :行号在自己栏位的最右方显示,且不加 0 ;
    -n rz :行号在自己栏位的最右方显示,且加 0 ;
  • -w :行号栏位的占用的位数。

more - 一页一页的显示文件内容

  • 空白键 (space) :代表向下翻一页
  • Enter                :代表向下翻『一行』
  • /字串                :代表在这个显示的内容当中,向下搜寻『字串』这个关键字
  • :f                      :立刻显示出档名以及目前显示的行数
  • q                      :代表立刻离开 more ,不再显示该文件内容
  • b 或 [ctrl]-b      :代表往回翻页,只对文件有用

less - 往前翻页显示文件内容

  • 空白键            :向下翻动一页
  • [pagedown]    :向下翻动一页
  • [pageup]         :向上翻动一页
  • /字串               :向下搜寻『字串』的功能
  • ?字串              :向上搜寻『字串』的功能
  • n                     :重复前一个搜寻 (与 / 或 ? 有关)
  • N                    :反向的重复前一个搜寻 (与 / 或 ? 有关)
  • q                     :离开 less 这个程序

head - 显示文件前几行

语法:

head [-n number] 文件 

选项与参数:

  • -n :后面接数字,代表显示几行

tail - 显示文件后几行

语法:

tail [-n number] 文件 

选项与参数:

  • -n :后面接数字,代表显示几行
  • -f :表示持续监测后面所接的档名

三、Linux 进程命令

ps - 查看进程

语法:

ps [options]

选项与参数:

  • -a:显示所有进程信息
  • -e:显示系统内的所有进程信息
  • -l:(long)使用长格式显示进程信息
  • -f:(full)使用完整的格式显示进程信息
  • -u:使用用户为主的格式来显示程序状态
  • -x:不区分终端机
  • -r:仅显示终端机正在执行中的程序
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的进程

        aux输出格式:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  • USER: 行程拥有者
  • PID: pid
  • %CPU: 占用的 CPU 使用率
  • %MEM: 占用的记忆体使用率
  • VSZ: 占用的虚拟记忆体大小
  • RSS: 占用的记忆体大小
  • TTY: 终端的次要装置号码 
  • STAT: 该行程的状态:

    • D: 无法中断的休眠状态 (通常 IO 的进程)
    • R: 正在执行中
    • S: 静止状态
    • T: 暂停执行
    • Z: 不存在但暂时无法消除
    • W: 没有足够的记忆体分页可分配
    • <: 高优先序的行程
    • N: 低优先序的行程
    • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
  • START: 行程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令

ps常用命令

ps -elf                   # 显示所有命令
ps -u username            # 查看名为 username 的用户进程
ps -ef | grep 进程关键字   # 查找指定进程
ps -aux                   # 显示所有包含其他使用者的进程

top - 动态显示运行中的进程

语法:

top [options]

选项与参数:

  • -d <秒数>:指定 top 命令的刷新时间间隔,单位为秒。
  • -n <次数>:指定 top 命令运行的次数后自动退出。
  • -p <进程ID>:仅显示指定进程ID的信息。
  • -u <用户名>:仅显示指定用户名的进程信息。
  • -H:在进程信息中显示线程详细信息。
  • -i:不显示闲置(idle)或无用的进程。
  • -b:以批处理(batch)模式运行,直接将结果输出到文件。
  • -c:显示完整的命令行而不截断。
  • -S:累计显示进程的 CPU 使用时间。

kill - 结束进程

语法:

kill [-signal] pid

选项与参数:

  • -signal:信号值
  • -pid:进程号

kill常用命令

kill -9 pid            # 强制结束进程
kill -1 pid            # 重新加载进程
kill -15 pid           # 正常停止一个进程

四、Linux用户和用户组管理

用户管理

useradd - 添加用户

语法:

 useradd 选项 用户名

选项与参数:

  • -c 指定一段注释性描述
  • -d 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
  • -g 指定用户所属的用户组
  • -G 指定用户所属的附加组
  • -s 指定用户的登录Shell
  • -u 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号

userdel - 删除用户

语法:

  userdel 选项 用户名

选项与参数:

  • -r  一起删除用户的主目录

usermod - 修改用户

语法:

 usermod 选项 用户名

选项与参数:

  • -c 指定一段注释性描述
  • -d 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
  • -g 指定用户所属的用户组
  • -G 指定用户所属的附加组
  • -s 指定用户的登录Shell
  • -u 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号

用户组管理

groupadd - 添加用户组

语法:

 groupadd 选项 用户组

选项与参数:

  • -g GID 指定新用户组的组标识号(GID)。
  • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

groupdel - 删除用户组

语法:

 groupdel  用户组

groupmod - 修改用户组

语法:

 groupmod 选项 用户组

选项与参数:

  • -g GID 为用户组指定新的组标识号。
  • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
  • -n新用户组 将用户组的名字改为新名字

五、Linux磁盘管理

df(disk free)- 列出文件系统的整体磁盘使用量

语法:

df [options] [目录或文件名]

选项与参数:

  • -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统
  • -k :以 KBytes 的容量显示各文件系统
  • -m :以 MBytes 的容量显示各文件系统
  • -h :以较易阅读的 GBytes, MBytes, KBytes 等格式显示
  • -H :以 M=1000K 取代 M=1024K 的进位方式
  • -T :显示文件系统类型
  • -i :不用硬盘容量,而以 inode 的数量来显示

du(disk used)- 检查磁盘空间使用量

语法:

du [options] 文件或目录名称

选项与参数:

  • -a :列出所有的文件与目录容量
  • -h :以较易读的容量格式 (G/M) 显示
  • -s :仅显示指定目录或文件的总大小
  • -S :包括子目录下的总计,与 -s 有点差别
  • -k :以 KBytes 列出容量显示
  • -m :以 MBytes 列出容量显示

fdisk - 用于磁盘分区

语法:

fdisk [options] 装置名称

选项与参数:

  • -l :输出后面接的装置所有的分区内容

mkfs - 磁盘格式化

语法:

mkfs [-t 文件系统格式] 装置文件名

选项与参数:

  • -t :可以接文件系统格式

mount - 磁盘挂载

语法:

mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点

umount - 磁盘卸载

语法:

umount [-fn] 装置文件名或挂载点

选项与参数:

  • -f :强制卸除
  • -n :不升级 /etc/mtab 情况下卸除

六、Linux yum命令

yum 语法:

yum [options] [command] [package ...]
  • -h:帮助
  • -y:当安装过程提示选择全部为 "yes"
  • -q:不显示安装的过程
  • command:要进行的操作
  • package安装的包名

yum常用命令

1. 列出所有可更新的软件清单命令:yum check-update

2. 更新所有软件命令:yum update

3. 仅安装指定的软件命令:yum install <package_name>

4. 仅更新指定的软件命令:yum update <package_name>

5. 列出所有可安裝的软件清单命令:yum list

6. 删除软件包命令:yum remove <package_name>

7. 查找软件包命令:yum search <keyword>

8. 清除缓存命令:

  • 清除缓存目录下的软件包:yum clean packages
  • 清除缓存目录下的 headers:yum clean headers
  • 清除缓存目录下旧的 headers:yum clean oldheaders
  • 清除缓存目录下的软件包及旧的 headers:yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 

七、Linux apt命令

apt 语法:

  apt [options] [command] [package ...]
  • -h:帮助
  • -y:当安装过程提示选择全部为 "yes"
  • -q:不显示安装的过程
  • command:要进行的操作
  • package安装的包名

apt 常用命令

  • 列出所有可更新的软件清单命令:sudo apt update

  • 升级软件包:sudo apt upgrade

    列出可更新的软件包及版本信息:apt list --upgradeable

    升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade

  • 安装指定的软件命令:sudo apt install <package_name>

    安装多个软件包:sudo apt install <package_1> <package_2> <package_3>

  • 更新指定的软件命令:sudo apt update <package_name>

  • 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>

  • 删除软件包命令:sudo apt remove <package_name>

  • 清理不再使用的依赖和库文件: sudo apt autoremove

  • 移除软件包及配置文件: sudo apt purge <package_name>

  • 查找软件包命令: sudo apt search <keyword>

  • 列出所有已安装的包:apt list --installed

  • 列出所有已安装的包的版本信息:apt list --all-versions

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1366997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】Linux系统编程——Linux命令解析器

【Linux】Linux系统编程——Linux命令解析器 什么是Linux 命令解析器&#xff1f; Linux 命令解析器&#xff0c;通常被称为 shell&#xff0c;是 Linux 操作系统中的一个关键组件。它充当用户和系统内核之间的接口&#xff0c;允许用户通过输入命令来控制和管理操作系统和应…

【Spring Cloud】关于Nacos配置管理的详解介绍

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《Spring Cloud》。&#x1f3af;&#x1f3af; &am…

Java面试汇总——redis篇

1、什么是缓存穿透 ? 怎么解决 ? 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在&#xff0c;这样缓存就形同虚设&#xff08;只有数据库查到了&#xff0c;才会让redis缓存&#xff0c;但现在的问题是查不到&#xff09;&#xff0c;会频繁的去访问数据库。 解决…

关键字:package关键字

在 Java 中&#xff0c;package关键字用于组织和管理类文件。它将类文件分组到不同的包中&#xff0c;以提供更好的代码组织和可读性。 以下是package关键字的用法&#xff1a; 1.package语句&#xff1a;在 Java 源代码的开头使用package关键字来声明当前类所属的包。例如&a…

基于yolov5的PCB板缺陷检测(附有详细步骤通俗易懂版)

PCB板缺陷检测 模型训练 在初学的时候&#xff0c;可能不太了解到底模型训练是个什么流程&#xff0c;到底是什么意思。其实也很简单&#xff0c;就是我们用一个框架&#xff08;如pytorch&#xff0c;tensorflow等&#xff09;通过一定的算法如yolov5&#xff0c;对一定的数…

Python笔记07-异常、模块和包

文章目录 异常及捕获方法python模块python包安装第三方包 异常及捕获方法 当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”, 也就是我们常说的BUG 例如&#xff1a;以r方式打开一个不存在的…

有没有一个完美的葡萄酒饮用温度呢?

我们很多人都有一个简单的冷藏葡萄酒的方法&#xff0c;把白葡萄酒扔进冰箱&#xff0c;在室温下饮用红葡萄酒。虽然这很容易&#xff0c;但会导致红葡萄酒上桌时温度过高&#xff0c;白葡萄酒上桌时温度过低。为了帮助你从你的葡萄酒收藏中获得最长的寿命、香气和风味&#xf…

前端如何结合数据库查看本地头像文件,配置静态资源

由于oss过期了&#xff0c;项目中又需要一个上传头像功能&#xff0c;于是研究了一下上传文件至本地&#xff0c;用java将文件存储到本地的代码好写&#xff0c;但是如何利用前端Vue把我难住了&#xff0c;因为之前存在OSS服务器直接查看就可以了&#xff0c;于是记录本文。 后…

集合框架 Map的常见使用及循环的五种方式

目录 一、Map常见方法使用二、Map循环的五种循环方式方式 一、Map常见方法使用 Java的集合框架中的Map接口表示一组键值对&#xff0c;并提供了各种方法来操作这些键值对。以下是Map接口中常见的方法&#xff1a; 代码示例如下&#xff1a; Testpublic void HashMapTest() {M…

为什么大型服务器要用 Linux 系统?

为什么大型服务器要用 Linux 系统&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「Linux的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff…

基于JAVA+SpringBoot的咖啡商城

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着互联网的普及和发…

JavaWeb实验报告

JavaWeb实验报告 JavaWeb实验报告 2024 年 1 月 7 日 课程名称&#xff1a; JavaWeb 实验名称&#xff1a; 期末作业 班级&#xff1a; 姓名 同组人&#xff1a; 指导教师评定&#xff…

【一文搞定】Linux、Mac、Windows安装Docker与配置教程!

【一文搞定】Linux、Mac、Windows安装Docker与配置教程&#xff01; 文章目录 【一文搞定】Linux、Mac、Windows安装Docker与配置教程&#xff01;一、Windows 安装1.1 安装与启用 Hyper-V1.2 安装 WSL1.3 Docker Desktop 官方下载1.4 安装Docker Desktop 二、MacOS 安装2.1 Do…

已解决 | Go Error: redeclared as imported package name 问题

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通Golang》…

杨中科 ASP.NET Core前后端分离开发

一、 前后端分离 1、传统MVC开发模式: 前后端的代码被放到同一个项目中&#xff0c;前端人员负责编写页面的模板&#xff0c;而后端开发人员负责编写控制器和模型的代码并且“套模板”。 缺点: 互相依赖&#xff0c;耦合性强&#xff0c;责任划分不清。 2、主流的“前后端分离…

数据库基本知识2

目录 为保证数据库是可恢复的&#xff0c;登记日志文件时 排他锁 并发操作带来的数据不一致性 数据模型的三要素 数据独立性 为保证数据库是可恢复的&#xff0c;登记日志文件时 为保证数据库是可恢复的&#xff0c;登记日志文件时必须遵循两条原则&#xff1a; 1. 登记的…

Redis Geo:掌握地理空间数据的艺术

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Redis Geo&#xff1a;掌握地理空间数据的艺术 前言Redis Geo基本概念Geo模块的目的工作原理地理坐标系统 GEO的分值1. 经纬度范围2. 二分编码3. Base32编码4. 精度为什么使用Geohash&#xff1f; GEO…

【设计模式】一文理解记住设计模式的原则

目录——阅读所需预计5-10分钟 &#x1f396;️前言&#x1f3af;单一职责原则&#x1f4e3;1. 定义&#x1f49e;2. 定义很抽象&#xff0c;咱继续看&#x1f389;3. 举几个栗子&#x1f49e;4. 以上栗子出现了一个问题&#xff0c;单一职责的划分究竟可以分多细&#x1f449;…

计算机毕业设计-----ssm+mysql实现的JavaWeb酒店管理系统

项目介绍 本项目为基于ssmmysql实现的JavaWeb酒店管理系统; 主要功能包括&#xff1a; 管理员登录,收入统计,客房管理,商品管理,客房预订,住宿登记,财务统计,旅客管理,接待对象管理等功能。 环境需要 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上…

解压方法之一 zip

文章目录 解压方法之一 zip语法参数参考实例仅保存文件名更多信息 解压方法之一 zip … _linux-beginner-zip: Linux zip命令的功能是用于压缩文件&#xff0c;解压命令为unzip。 通过zip命令可以将很多文件打包成.zip格式的压缩包&#xff0c;里面会包含文件的名称、路径、…