LINUX基础 [二] - Linux常见指令

目录

💻前言 

💻指令

🎮ls指令

🎮pwd指令

🎮whoami指令

🎮cd指令

🎮clear指令

🎮touch指令

🎮mkdir指令

🎮rmdir指令

🎮rm指令

🎮man指令

🎮cp指令

🎮mv指令

🎮cat指令

🎮tac指令

🎮more指令

🎮less指令

🎮head指令

🎮tail指令

🎮date指令

🎮cal指令

🎮find指令

🎮which指令

🎮alias指令

🎮grep指令

🎮如何添加与删除用户?

🎮zip/unzip指令

🎮tar指令

🎮file指令

​编辑

🎮bc指令

🎮uname指令

🎮几个重要的热键

🎮关机指令

🎮拓展命令


💻前言 

  • Linux的操作特点:纯命令行(虽然也有图形化界面,但主要是工程师使用,意义不大)
  • windows的操作特点:图形化界面(也有纯命令行的形式,但其更贴近大众,命令行学习成本高)

先有指令,还是先有图形化界面呢??

先有指令!

现有键盘,还是先有鼠标呢??

先有键盘!图形化界面和鼠标的出现更多的是当计算机逐渐趋向大众化时所诞生的产物(包括显示器),为了能够让普通老百姓能够以较低的学习成本去使用电脑。

所以总的来说,无论是图形化界面还是指令,本质都是一样的,但是命令行指令会更贴近我们操作系统的底层,所以作为一名计算机工程师,熟悉基本的指令也就成为我们探究计算机世界的一门十分重要的功课。

在学习命令行指令的时候,我们可以结合windows的界面操作对比来进行深入的学习!!有助于我们加深理解。下面我们就要开始学习了

💻指令

🎮ls指令

语法

 ls [选项][目录或文件]

功能:

  • 对于目录,该命令列出该目录下的所有子目录与文件。
  • 对于文件,将列出文件名以及其他信息。

一级,相当于是只展示该目录所拥有的部分,且没有隐藏文件

常用选项:

-a   列出目录下的所有文件,包括以 . 开头 的隐含文件。

每个目录下默认存在两个隐含文件 . . . ( . 代表当前目录 . . 代表上级目录)。

列出多级,相当于无论藏得多深都会被展示出来,甚至是隐藏文件


-d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录


-i  输出文件的 i 节点的索引信息。 如: ls –i 指定文件


-k 以 k 字节的形式表示文件的大小。


-l 列出文件的详细信息。

ls -l 也可以简写为ll


-n 用数字的 UID,GID 代替名称。(介绍 UID, GID)

-F 在每个文件名后附上一个字符以说明该文件的类型 

“*”表示可执行的普通文件; “/”表示目录; “@”表示符号链接; “|”表示FIFOs; “=”表示套接字(sockets)。(目录类型识别)


-r 对目录反向排序。


-t 以时间排序。


-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)


-R 列出所有子目录下的文件。 (递归)


-1 一行只输出一个文件。

🎮pwd指令

语法: pwd

功能:显示用户当前所在的目录

🎮whoami指令

语法: whoami
功能: 显示用户当前的身份。

🎮cd指令

在Linux系统中,磁盘上的文件和目录被组成一棵目录树,其中每个结点都是目录或文件。

语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下。


常用方式:
cd . . (返回上级目录)

 cd 绝对路径 (使用绝对路径改变当前工作目录)

 cd 相对路径

cd ~ (进入主工作目录)。

普通用户主工作目录默认为 /home/xxx,root用户主工作目录默认为 /root。

cd - (返回上一次所在目录)

🎮clear指令

语法: clear
功能: 清空屏幕。

🎮touch指令

语法: touch 选项 文件
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项:

-a   或--time=atime或--time=access或--time=use只更改存取时间。

-c   或--no-create  不建立任何文档。

-d  使用指定的日期时间,而非现在的时间。

-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m   或--time=mtime或--time=modify  只更改变动时间。

-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t  使用指定的日期时间,而非现在的时间 

🎮mkdir指令

在Windows中我们通过Ctrl+Shift+N在当前目录新建一个空目录,我们若是想在Linux当中新建一个空目录,则需要用到mkdir指令。

语法:mkdir [选项] dirname...

功能:在当前目录下创建一个名为 “dirname”的目录

常用选项:

-p dirname 可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

注意:此处的路径也可以是相对路径。

🎮rmdir指令

rmdir是一个与mkdir相对应的指令,mkdir是建立目录,而rmdir是删除目录。

语法: rmdir 选项 dirname
功能: 删除空目录。
适用对象: 具有当前目录操作权限的所有使用者。

常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连同父目录一起删除。

🎮rm指令

rmdir指令只能用于删除空目录,若是要相删除其他文件,则需要用到rm指令。

语法: rm 选项 dirname
功能: 删除文件或目录。
适用对象: 所有使用者。

常用选项:
-i 删除前逐一询问确认

-f 即使文件属性为只读(即写保护),亦直接删除

-r 删除目录及其下所有文件(递归式删除)

当你要删除当前目录下的所以文件时,可以使用通配符 * 

但是为了保险起见,一般使用通配符删除当前目录下的所有文件时,建议在通配符 * 前面加上 . / 告知系统要删除的资源在当前目录下( . 代表当前目录)

特别注意: 上面说到 -f 是强制性删除,-r 是递归式删除,这两个结合在一起就是递归式强制性删除,千万不要执行以下指令,因为在Linux当中没有类似回收站的东西也没有撤销删除的功能,删除指令一旦执行则是不可逆的。

该指令的意思是从(/)根目录开始进行递归式强制性删除,即删除根目录下所有文件,这是一个大忌,典型的删库跑路行为。所以,当你要使用“rm -rf dirname”这条指令前,你必须明确以下两点:
 1、你清楚的知道你自己正在干什么。
 2、执行该命令后所造成的结果是你能够承担的。

🎮man指令

Linux的指令有很多参数,我们不一定能全部记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的指令便是man

语法: man 选项 指令
功能: 查看指令的使用规则等

常用选项:
-k 根据关键字搜索联机帮助
num 只在第num章节查找
-a 将所有章节的查找结果都显示出来

手册分为8章:
可执行程序或shell命令
系统调用(内核提供的函数)
库函数(程序库中的函数)
特殊文件(通常在/dev中找到)
文件格式和约定,如/etc/passwd
游戏
杂项
系统管理命令(通常仅限于root用户)

🎮cp指令

在Windows中我们可以通过Ctrl+C和Ctrl+V将一个地方的文件或目录复制一份到另一个地方,我们若是在Linux当中想要完成该操作,就要用到cp指令。

语法: cp 选项 源文件或目录 目标文件或目录
功能: 复制文件或目录。

常用选项:
-f 或 --force 强行复制文件或目录,不论目标文件或目录是否已经存在。

-i 或 --interactive 覆盖文件之前先询问用户

-r 或 -R 递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的形态不属于目录或符号链接,则一律视为普通文件处理。

当我们需要将当前目录的所有内容进行拷贝时,可以用到通配符进行拷贝。

🎮mv指令

在Windows中我们经常使用Ctrl+X和Ctrl+V将一个地方的文件或目录移动到另一个地方,我们若是要在Linux当中完成此操作,则需要使用mv指令。

语法: mv 选项 源文件或目录 目标文件或目录
功能: 视mv指令当中两个参数的不同而不同。

当第二个参数是不存在的名称时,mv指令完成文件重命名或目录重命名

当第二个参数是已存在目录名称时,mv指令将文件移动置该目录中。

常用选项:
-f 强制的意思(force),如果目标文件已经存在,不会询问而直接覆盖。

-i 若目标文件已经存在,则会询问是否覆盖。

🎮cat指令

在Linux当中无法想Windows一样用鼠标点开某一文件进行阅读,要想阅读文件可以用cat指令。

语法: cat 选项 文件
功能: 查看目标文件的内容。 

常用选项:
1)-b 对非空输出行编号

-n 对输出的所有行编号

-s 禁止重复的空输出行。

注意: cat指令会将目标文件内容全部打印到屏幕上。若是目标文件内容过大,则会导致刷屏(直到将文件内容全部打印到屏幕上)。因此cat指令一般仅适用于查看内容较少的文件。

🎮tac指令

使用tac指令,我们可以反向查看目标文件的内容。

语法: tac 文件
功能: 反向查看目标文件的内容。

🎮more指令

上面说到,cat指令仅适用于查看内容较少的文件,我们若是要查看海量信息文件,则可以适用more指令。

语法: more 文件
功能: 查看目标文件的内容。

注意: more指令只能通过按回车键进行下翻操作,无法进行上翻操作,并且more指令在查看之前会先加载整个文件。

🎮less指令

上面的more指令只能进行下翻操作,而less指令可以同时支持上翻和下翻操作。

语法: less 选项 文件
功能: 既有查看目标文件的内容的功能,又有搜索功能。

注意: less指令可以通过按上下键进行上翻和下翻操作,并且less指令在查看之前不会加载整个文件。

常用选项:
1)-i 忽略搜索时的大小写。
2)-N 显示每行的行号。
3)/字符串 向下搜索“字符串”的功能。
4)?字符串 向上搜索“字符串”的功能。
5)n 重复前一个搜索(与/或?有关)。
6)N 反向重复前一个搜索(与/或?有关)。

🎮head指令

语法: head 选项 文件
功能: 用于显示文件的开头至标准输出中,默认head指令打印其相应文件的开头10行。

常用选项:
-n 需要显示的行数。

🎮tail指令

语法: tail 选项 文件
功能: 用于显示文件的末尾至标准输出中,默认tail指令打印其相应文件的末尾10行。

常用选项:
-n 需要显示的行数。

-f 循环读取。

如何读取文件中间某一段内容?

例如,现在test.txt文件当中有十万行内容,我们如何读取第1001至1010行?
在认识了head和tail指令后,你可能很容易想到如下方法:先用head指令读取test.txt文件中的前1010行存入临时文件temp.txt中,然后将temp.txt文件的后10行打印输出即可。

注意: >(输出重定向),图中第一条指令的意思是,将本应该输出到屏幕的内容输出重定向到temp.txt文件当中。

这样写显然有点麻烦(还需要创建一个临时文件),有一种简便的方式可以实现该操作,该方式需要用到“命令行管道”。
我们知道,管道是用于传输某种资源的(下水管道用于传输水,天然气管道用于传输天然气),而计算机上面最重要的资源就是数据。
在指令中管道用“|”来表示,管道左边接收产生的数据,右边读取数据。:

因此我们可以将test.txt文件的前1010行从管道左侧输入管道,并在管道右侧读取数据进行进一步的操作即可。

🎮date指令

语法: date 选项 格式
功能: 用于显示时间、设置时间、完成时间与时间戳之间的相互转换等。

用法一: 用于显示时间,使用者可以选定欲显示的格式,格式设定为一个加号,后接数个标记,其中常用的标记如下:
+%H 显示当前的小时,范围(00~23)。

+%M 显示当前的分钟,范围(00~59)。

+%S 显示当前的秒数,范围(00~59)

+%X 相当于%H:%M:%S。

%d 显示当前的号数。

 %m 显示当前的月份

%Y 显示当前的年份。

%F 相当于%Y-%m-%d。

用法二: 用于设定时间。

date -s 设置当前时间,只有root用户才能设置,普通用户只能查看。
date -s 20250412 将时间设置为20250412,这样会将具体时间设置为空(00:00:00)。
date -s 01:01:01 设置具体时间,不会对日期做更改。
date -s “01:01:01 2021-07-25” 同时设置日期和具体时间。
date -s “01:01:01 20210725” 同时设置日期和具体时间。
date -s “2025-04-12 01:01:01” 同时设置日期和具体时间。
date -s “2025041201:01:01” 同时设置日期和具体时间。

用法三: 完成时间与时间戳之间的相互转换

date +%s 显示当前时间的时间戳。

小贴士: 时间戳是当前时间与计算机起始时间的差值,单位为秒。

date -d @时间戳 将时间戳转换为时间。 

🎮cal指令

cal指令可以用于显示公历(阳历)日历。

语法: cal 选项 月份 年份
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1~9999),如有两个参数,则表示月份和年份。

常用选项:
-3 显示系统前一个月、当前月以及下一个月的日历。

-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)。 

 -y 显示当前年份的日历

🎮find指令

语法: find 路径 选项 …
功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘,所以效率比较低)。

常用选项:
-name 文件名 按照文件名查找文件

~ 的含义:

  • 代表当前登录用户的主目录
  • 例如,如果用户名是 GalaxyPokemon,~ 就等同于 /home/GalaxyPokemon

-size 大小 按照文件大小查找文件

🎮which指令

Linux当中的每个指令其实都是用计算机语言编写出的可执行程序,这些程序都存储在文件当中,我们可以通过which指令查看某一指令的程序文件所在路径。

语法: which 指令
功能: 用于查找某一指令的程序文件所在路径。

当我们执行某一指令时,实际是调用其可执行程序,因此我们还可以通过其程序文件的所在路径进行调用该指令。

🎮alias指令

当你觉得某一指令太长时,你可以使用alias指令给它起一个别名。

语法: alias 别名=‘原名’
功能: 可以用于给指令取别名。

🎮grep指令

grep指令类似于关键词搜索(行过滤器)。

语法: grep 选项 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来。

常用选项:

-i 忽略大小写进行查找。 

-n 输出行号。

-v 反向选择,显示出没有待搜索字符串的行。

🎮如何添加与删除用户?

当我们购买了云服务器后,我们得到的是一个root账号。

实际上,使用root账号是比较危险的,因为root账号的权限太大,为了避免自己对某些系统文件进行误操作,我们最好创建一个普通用户的账号使用。

如何添加一个普通用户账号?

 第一步: 输入addser yourid(yourid是待创建的用户的用户名)。

第二步: 输入passwd yourid进行设置密码。

注意 Linux当中输入密码时,密码不回显。

第三步: 再次输入密码进行确认。

当看到以下提示时,说明用户创建成功。

这时我们可以在/home目录下看到该用户的用户名。

如何删除用户账号?

 删除账号时之间输入userdel -r yourid(yourid是要删除的用户的用户名)。

此时我们在/home目录下便看不到该用户的用户名了。

注意: 创建和删除用户的操作者都必须是root用户,而不是普通用户。

🎮zip/unzip指令

zip指令用于打包压缩目录或文件。

语法: zip 选项 压缩文件.zip 待打包目录或文件
功能: 将目录或文件打包压缩成zip格式。
常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一并处理。

unzip指令用于解压文件。

语法: unzip 压缩文件.zip 选项 目录
功能: 将压缩文件解压到指定目录当中。

注意: 解压文件时若不带-d选项和目标目录,则默认解压到当前目录下。 

🎮tar指令

tar指令也可以用来打包压缩和解压文件,并且还可以实现不解开压缩包,直接查看里面内容的操作,以及只打包不压缩等操作。

语法: tar 选项 压缩文件 …
功能: 打包/解包,不解开压缩包,直接查看里面内容。

常用选项:
-c 建立一个压缩文件的参数指令(create的意思)。
-x 解开一个压缩文件的参数指令。
-t 查看tarfile里面的文件。
-z 是否同时具有gzip属性?即是否需要用gzip压缩?
-j 是否同时具有bzip2属性?即是否需要用bzip2压缩?
-v 压缩的过程中显示文件(常用)。
-f 使用档名,请留意,在f之后要立即接档名,不要再加参数。
-C 解压到指定目录。

解包示例:

不解开压缩包,直接查看里面内容:

🎮file指令

语法: file
功能: 查看文件的更多属性信息。

🎮bc指令

Windows里面有计算器,Linux下面也有,bc指令就是Linux下的计算器。

语法: bc
功能: 进行运算。

🎮uname指令

语法: uname 选项
功能: 用于获取电脑和操作系统的相关信息。

常用选项:
-r 输出电脑和操作系统相关信息。

-a 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。

🎮几个重要的热键

  • 上下按键。上下按键在Linux当中存储的是历史命令,通过按上下键我们可以查看我们最近敲的命令。我们也可以使用history指令查看历史命令。

  • Ctrl+D 退出当前命令行。
  • Ctrl+C 让当前程序停掉(终止失控程序)。
  • Tab 自动补齐功能。

🎮关机指令

语法: shutdown 选项
常见选项:
1)-h 将系统的服务停掉后,立即关机。
2)-r 将系统的服务停掉之后就重新启动。
3)-t sec 经过sec秒后关机。
注: 所有关机指令只能由root用户执行。

🎮拓展命令

◆安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;

◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;

◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;

◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;

◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;

◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

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

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

相关文章

基于php的成绩分析和预警与预测网站(源码+lw+部署文档+讲解),源码可白嫖!

摘要 人类现已迈入二十一世纪,科学技术日新月异,经济、资讯等各方面都有了非常大的进步,尤其是资讯与网络技术的飞速发展,对政治、经济、军事、文化、教育等各方面都有了极大的影响。 利用电脑网络的这些便利,发展一套…

《从底层逻辑剖析:分布式软总线与传统计算机硬件总线的深度对话》

在科技飞速发展的当下,我们正见证着计算机技术领域的深刻变革。计算机总线作为信息传输的关键枢纽,其发展历程承载着技术演进的脉络。从传统计算机硬件总线到如今备受瞩目的分布式软总线,每一次的变革都为计算机系统性能与应用拓展带来了质的…

Spring Boot 3.5新特性解析:自动配置再升级,微服务开发更高效

📝 摘要 Spring Boot 3.5作为Spring生态的最新版本,带来了多项令人振奋的改进。本文将深入解析其中最核心的自动配置增强特性,以及它们如何显著提升微服务开发效率。通过详细的代码示例和通俗易懂的讲解,您将全面了解这些新特性在…

【前端】webpack一本通

今日更新完毕,不定期补充,建议关注收藏点赞。 目录 简介Loader和Plugin的不同?(必会) 使用webpack默认只能处理js文件 ->引入加载器对JS语法降级,兼容低版本语法合并文件再次打包进阶 工作原理Webpack 的…

leetcode 264. Ugly Number II

动态规划解决。 关键是理解如何生成新的丑数。这道题和经典的斐波那契数列问题其实是一样的。求第n个数,需要用第n个数前面的数来求。不同的是,斐波那契数列不会重复。而本题的丑数,会重复出现。 class Solution { public:int nthUglyNumbe…

深入理解 HTML5 语义元素:提升网页结构与可访问性

引言 在构建网页的过程中,合理的结构与清晰的语义对于网页的质量、可维护性以及搜索引擎优化(SEO)都至关重要。HTML5 引入了一系列语义元素,为开发者提供了更精准描述网页内容的工具。本文将深入探讨 HTML5 语义元素的作用、使用…

PyCharm显示主菜单和工具栏

显示主菜单 新版 PyCharm 是不显示主菜单的,要想显示主菜单和工具栏,则通过 “视图” → “外观” ,勾选 “在单独的工具栏中显示主菜单” 和 “工具栏” 即可。 设置工具栏 此时工具栏里并没有什么工具,因此我们需要自定义工具…

CyclicBarrier 基本用法

CyclicBarrier 基本用法 简介 CyclicBarrier 是 Java 并发包(java.util.concurrent)中的一个同步辅助类。它允许一组线程相互等待,直到到达某个公共屏障点(common barrier point)。只有当所有参与的线程都到达屏障点…

[特殊字符] 手机连接车机热点并使用 `iperf3` 测试网络性能

好的,以下是根据你的描述整理出来的步骤及解释: 📶 手机连接车机热点并使用 iperf3 测试网络性能 本文将通过 iperf3 来测试手机和车机之间的网络连接性能。我们会让车机作为服务端,手机作为客户端,进行 UDP 流量传输…

FPGA上实现SD卡连续多块读的命令

在FPGA上实现SD卡连续多块读的命令 CMD17命令一次只能读取1个块 CMD18命令一次可以连续读取多个块,直到停止命令CMD12 CMD18命令读的块数程序可任意设置 目录 前言 一、SD卡多块读命令CMD18 二、停止读命令CMD12 三、SD卡初始化SD卡连续块读操作的verilog代码 …

DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

NSGA-II 多目标优化 —— 理论、案例与交互式 GUI 实现

目录 NSGA-II 多目标优化 —— 理论、案例与交互式 GUI 实现一、引言二、NSGA-II 基本原理2.1 非支配排序2.2 拥挤距离2.3 算法流程三、数学模型与算法推导3.1 多目标优化问题描述3.2 非支配关系与排序3.3 拥挤距离计算四、NSGA-II 的优缺点4.1 优点4.2 缺点五、典型案例分析5.…

库学习04——numpy

一、基本属性 二、 创建数组 (一)arange a np.arange(10,20,2) # [10,12,14,16,18] 只有一个参数n的话,默认是从0到n-1的一维数组。 (二)自定义reshape a np.arange(12).reshape((3,4)) [[ 0 1 2 3][ 4 5 …

NVIDIA Jetson 快速切换CUDA版本| 多CUDA版本

当NVIDIA Jetson中安装了多个CUDA时,可以通过命令,快速切换不同版本的。 这样在环境变量和代码编译时,能使用指定版本的CUDA了。 本文适用于Jetson Nano、TX1/TX2、Xavier 和 Orin系列的设备,供大家参考。 cuda参考地址&#xf…

当开源邂逅AI,公益长出翅膀 | 回顾3.30 上海「开源×AI 赋能公益」Meetup

在春和景明的三月,一场打破常规的公益聚会在上海剪爱公益发展中心肇清项目点温暖上演。这,便是G-Star公益行带来的「开源AI 赋能公益」Meetup,一场技术与善意交织、创新与温暖共生的奇妙之旅。 活动现场,没有高冷的技术壁垒&#…

高阶函数/柯里化/纯函数

本篇文章主要是介绍一下标题里面的概念,在面试的时候经常文档,结合阅读到的资料,结合本人的个人见解出品了该文章,如有写的不好的地方或理解有误的,还望阁下多多指教。 1、高阶函数 什么是高阶函数? 接受…

Docker+Jenkins+Gitee自动化项目部署

前置条件 docker安装成功 按照下面配置加速 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://register.librax.org"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker一、…

穿梭在数字王国:Python进制转换奇遇记

穿梭在数字王国:Python进制转换奇遇记 想象一下,你是一位勇敢的探险家,正在穿越神秘的"数字王国"。在这个王国里,不同的地区使用着不同的语言(或者说,进制)。二进制村的居民只懂"0"和"1";八进制镇的人们使用0到7的数字;而十六进制城的…

FileInputStream 详解与记忆方法

FileInputStream 详解与记忆方法 一、FileInputStream 核心概念 FileInputStream 是 Java 中用于从文件读取原始字节的类&#xff0c;继承自 InputStream 抽象类。 1. 核心特点 特性说明继承关系InputStream → FileInputStream数据单位字节&#xff08;8bit&#xff09;用…

设计模式 四、行为设计模式(2)

五、状态模式 1、概述 状态设计模式是一种行为型设计模式&#xff0c;它允许对象在其内部状态发生时改变其行为&#xff0c;这种模式可以消除大量的条件语句&#xff0c;并将每个状态的行为封装到单独的类中。 状态模式的主要组成部分如下&#xff1a; 1&#xff09;上…