此文章记录自己学习的一些Linux知识,使用的是Windows系统装VMware虚拟机Ubuntu Linux。方便我以后回顾学习和寻找。以后再学新的应该会加进来,嗯~应该,可能,大概。
目录
3.2.2.1 useradd命令、userdel命令、id命令和usermod命令
第一章 初识Linux
Linux系统的组成:Linux系统内核 + 系统级应用程序
·内核提供系统最核心的功能:CPU调度、内存调度等等和硬件交互的内容;
·系统级应用程序:系统自带程序,如文件管理器、任务管理器等等。
注意:由于内核是免费、开源的。任何人都可以获得和修改内核,加上自己的系统级程序并完成封装,因此有很多Linux发行版。但最常用的就是ubuntu、centOS等。
一般来说,我们不会独装一个Linux系统,因为它不适合日常办公。而是通过在Windows或者MacOS上使用虚拟机VMware Workstation或VMware Fusion来装一个Linux系统。亦或者是通过Windows自带的WSL来安装Linux系统。
Windows安装虚拟机Ubuntu Linux系统教程:已经装完了以后再补。
Windows自带的WSL安装Ubuntu Linux系统教程:使用Windows11自带的WSL安装Ubuntu Linux系统教程-CSDN博客
扩展1:使用VMware会不方便
对于操作系统,有两种使用形式:图形化、命令行
·图形化:操作系统提供的图形化页面,以图形化的形式去操作系统;
·命令行:操作系统提供的各种命令,以字符的形式去操作系统。
一般来说大部分人都会使用图形化,但在Linux系统中,大多数人使用的都是:命令行
因为命令行效率更高,资源占用低,更稳定。
注意:虽然使用VMware可以创建Linux虚拟机,但是在VMware中操作Linux命令行不太便利。即Linux虚拟机和Windows之间需要跨越导致内容复制粘贴、文件上传下载不方便。此时可以使用第三方软件FinalShell,远程连接到Linux操作系统。
FinalShell安装教程:FinalShell安装以及连接Linux-CSDN博客
扩展2:虚拟机快照
VMware虚拟机支持制作快照,通过快照可以将当下状态的虚拟机保存下来,也可以在将来通过快照快速返回当初的保存状态。
推荐先把虚拟机关机后再执行拍摄快照或者恢复快照,操作还是很简单的就不展开了。
第二章 学习Linux
1.Linux目录结构
Linux的目录结构是一个树形结构,它没有盘符这个概念,它只有一个跟目录/,所有的文件都在它之下。而我们熟知的Windows系统能有多个盘符,C盘、D盘等等,相当于每个盘符充当一个跟目录,子下跟着各种各样的文件。
注意:Linux系统中,描述路径用的是:/,而Windows系统中,描述路径用的 是:\。
2.Linux一些简单命令
命令:系统内置的程序,以字符形式去操作使用指令。
命令行:终端,提供字符操作页面供命令执行。
在Linux中,命令有通用的格式:command [-options] [-parameter]
·command:命令本身
·-options:可填可不填,命令的一些选项,通过它可以控制命令的行为细节
·parameter:可填可不填,命令参数,用于命令的目标等
2.1 ls命令
ls命令:List Directory Contents很简单,就是列出当前目录下的内容。
其语法如下:ls [-a -l -h等等] [路径]。
说明:-a显示所有文件及目录,包括带.隐藏文件等;-l以长格式显示文件和目录,包括权限大小等等信息;-h表示以易于阅读的形式呈现。它们可以组合使用,比如-a和-l组合使用:ls -l -a或ls -al或ls -la。
深入学习:Linux ls命令 | 菜鸟教程 (runoob.com)
2.2 cd命令和pwd命令
cd命令:Chang Directory也很简单,就是更改当前工作目录。
其语法如下:cd [路径]。
·cd命令没有选项,只有参数,表示要切换到哪一个目录。
·cd命令不写参数,就会回到Home目录。
深入学习:Linux cd 命令 | 菜鸟教程 (runoob.com)
pwd命令:Print Work Directory简单,就是查看当前所在工作目录的路径。
其语法如下:pwd。
·pwd没有选项没有参数,直接输入pwd即可获取当前路径。
深入学习:Linux pwd命令 | 菜鸟教程 (runoob.com)
2.3 相对路径和绝对路径
·相对路径:以当前目录为起点描述路径。
·绝对路径:以根目录为起点描述路径,必须以/开头。
·特殊路径符:.|..|~等等,.表示当前目录,..表示上一级目录,~表示Home目录。
深入学习:Linux cd 命令 | 菜鸟教程 (runoob.com)
2.4 mkdir命令
mkdir命令:Make Directory很简单,就是创建新的文件夹。
其语法如下:mkdir [-p] 路径。
说明:-p表示确保目录名称存在,不存在的就建一个。它可以创建多层次的文件夹。也就是说,不要-p你只能一个一个创建,带-p可以一次性创建完具有包含关系的层次目录。
·路径是必填项,需要你指明文件创建在哪里。(相对路径和绝对路径都可以)
使用图形化页面验证,发现确实是创建成功了。
·注意:建议创建在Home目录下,否则会有权限问题。
深入学习:Linux mkdir 命令 | 菜鸟教程 (runoob.com)
2.5 文件操作命令
2.5.1 touch命令、cat命令和more命令
touch命令:简单,就是创建新的文件。
其语法如下:touch 路径。
·touch没有选项只有参数,表示文件要创建在哪里。(相对路径和绝对路径都可以)
深入学习:Linux touch命令 | 菜鸟教程 (runoob.com)
cat命令:简单,就是查看文件的内容。
其语法如下:cat 路径。
·cat没有选项只有参数,表示你要看哪个文件。(相对路径和绝对路径都可以)
1.先在文件夹下创建一个.txt文本文件,里面输入一些信息。
2.准备好后,就使用cat命令查看。
深入学习:Linux cat 命令 | 菜鸟教程 (runoob.com)
more命令:简单,就是查看文件内容。但与cat不同的是,如果文件内容有很多,more命令可以一页一页地展示,是支持翻页的;而cat命令只能一下子将内容全部展示出来。
其语法如下:more 路径。
·more命令没有选项只有参数,表示你要看哪个文件。(相对路径和绝对路径都可以)
1.回到cat命令时创建的文件夹,给它增加内容。
2.分别使用cat和more命令查看
这个%表示你已经看了这个文件的多少,more命令通过空格翻页。
cat命令就不演示了,它是一下子全部给你展示出来。
深入学习:Linux more命令 | 菜鸟教程 (runoob.com)
2.5.2 cp命令、mv命令和rm命令
cp命令:copy简单,就是复制文件或者文件夹。
其语法如下:cp [-r] 目标路径 目的路径。
说明:-r表示如果要复制目录,需要使用该选项。用于复制目录及其所有的子目录和文件。
·目标路径:表示你要复制哪个文件或者文件夹。
·目的路径:表示你要复制到哪里。
将刚刚tell.txt文件复制到Dsektop文件中去。
深入学习:Linux cp 命令 | 菜鸟教程 (runoob.com)
mv命令:move简单,就是移动文件或文件夹。
其语法如下:mv 目标路径 目的路径。
·目标路径:表示你要复制哪个文件或者文件夹。
·目的路径:表示你要复制到哪里。
将刚刚复制出来的tell.txt移动到test02中去。
注意:mv命令也可以用作改名,比如mv tell.txt tell2.txt。要将tell.txt复制到tell2.txt中去,但发现tell2.txt不存在,那么就将自己改名成tell2.txt。
深入学习:Linux mv 命令 | 菜鸟教程 (runoob.com)
rm命令:remove简单。就是删除文件或文件夹。
其语法如下:rm [-r -f等等] 参数1 参数2 ... 参数n。
说明:-r表示将目录及以下之档案逐一删除,也就是删除文件夹;-f表示force强制删除,不需要逐一确认(只有管理员删除内容会有提示,所以一般人用不到-f)。既然谈到管理员,我们可以通过su -root并输入密码进入管理员权限,通过exit退出管理员权限(用完记得退回用户模式哦)。
·参数x:表示要删除的文件或文件夹的路径。
上图将test02中的tell2.txt文件删除
上图将test01和test02文件夹全部删除,必须要-r选项才能删除文件夹
rm命令扩展:rm支持通配符号*,用来模糊匹配。比如test*表示删除任何以test开头的文件或文件夹;*test表示删除任何以test结尾的文件或文件夹;*test*表示删除任何带有test字样的文件或文件夹。
深入学习:Linux rm 命令 | 菜鸟教程 (runoob.com)
额外话题:root模式下rm -rf /和rm -rf /*别乱玩尝试,它等于执行格式化QAQ。它能让你快速回忆起快照是怎么操作的了,你问我快照是什么?那你快准备跑路吧。
2.6 which命令和find命令
which命令:就是查找命令的程序文件,看该文件放在哪里。
其语法如下:which 命令。
深入学习:Linux which命令 | 菜鸟教程 (runoob.com)
find命令:就是搜索指定的文件,它会在指定目录下查找文件和目录。
其语法如下:find 开始路径 匹配条件 动作。
·开始路径:表示从哪里开始找
·匹配条件:表示以什么方式搜索,有-name以名字也有-size以大小等等方式。
·动作:怎么样去搜索,有“文件名”等等。
上图表示在Home目录下搜索名为“test”的文件夹。
上图表示在Home目录下找大小大于1M的所有文件。
扩展:find命令和rm命令都可以支持通配符*来做模糊匹配。
深入学习:Linux find 命令 | 菜鸟教程 (runoob.com)
2.7 grep命令和wc命令
grep命令:就是从文件中通过关键字找到对应关键字的行。
其语法如下:grep [-n等等] 关键字 路径。
说明:-n表示显示匹配行的行号。
·关键字:必填项,表示你要的关键字,带空格或其他特殊符号要用“”括起来当关键字。
·路径:必填项,表示你要过滤的是哪个文件。
1.先准备一个文件再填入一些信息。
2.用grep过滤
深入学习:Linux grep 命令 | 菜鸟教程 (runoob.com)
wc命令:就是用于计算字数,比如文件的行数、某个单词的数量等等。
其语法如下:wc [-c -m -l -w等等] 路径。
说明:-c表示统计显示Bytes数;-m表示统计显示字符数量;-l表示统计显示行数;-w表示统计单词数量。【什么都不填的话就会显示-l -w -c 路径】
·路径:表示你要计算字数的文件路径。
深入学习:Linux wc命令 | 菜鸟教程 (runoob.com)
2.8 管道符号
管道符号的意义:就是将管道符左边命令的结果,作为管道符右边命令的输入。
管道符通常用|表示。(像链式编程)
发现,上述两条指令的结果是一样的。第一条不带管道符相当于在test.txt文件过滤“Python”关键字;第二条带管道符相当于查看test.txt文件后再过滤“Python”关键字。
深入学习:无
2.9 echo命令和tail命令
echo命令:就是用于字符串在命令行上的输出。
其语法如下:echo 内容。(其实就是printf、cout、system.out.print)
·echo没有选项只有参数,表示你要输出的内容。复杂的话建议用“”括起来。
要是你想要输出的内容刚好被某个指令占了,而你又想以字符串的形式输出的时候就可以用反引号``。【其实就是你的Tab建的上面那个键】
深入学习:Shell echo命令 | 菜鸟教程 (runoob.com)
tail命令:就是用于查看文件的尾部内容,也可查阅正在改变的日志文件(即跟踪文件的更新)。
其语法如下:tail [-f -num等等] 路径。
说明:-f表示循环读取持续跟踪;-num表示看尾部多少行,默认是10行。
·路径:表示你要查看哪个文件。
深入学习:Linux tail 命令 | 菜鸟教程 (runoob.com)
2.10 重定向符号
重定向符号分为两个:>和>>。
·>:表示将>左侧的命令,覆盖>右侧指定的文件中。
·>>:表示将>>左侧的命令,追加到>>右侧指定的文件中。
深入学习:Shell 输入/输出重定向 | 菜鸟教程 (runoob.com)
2.11 vi命令--文本编辑器
vi/vim命令:visual interface不简单。vi是在命令行对文本文件进行编辑。而vim是vi的升级版,它不仅能兼容vi的所有指令来编写文本,而且还能辨别语法的正确性。
其语法如下:[vi vim] 路径。
·路径:你要编辑的文件。
注意:如果文件存在则编辑该文件;如果文件不存在则新建编辑文件。
·vi的三种工作模式:【1】命令模式:以命令驱动执行不同功能,不能进行文本编辑。
【2】编辑模式:对文本进行编辑。
【3】底线命令模式:以:开始,用作文件的保存和退出。
·简单使用:
1.使用【vi 路径】进入文本命令模式
2.按i进入编辑模式并输入一些信息,按ESC退到命令模式
3.输入:wa进入底线命令模式退出并保存文件
4.检查
·vi/vim有很多快捷键:(多的头皮发麻)
⭐深深深深入学习:Linux vi/vim | 菜鸟教程 (runoob.com)
3. root用户
root用户拥有最大的系统权限,而普通用户在很多地方的权限是受限的。例如普通用户一旦出了Home目录则大部分情况下只有只读和执行的权限。
3.1 su命令、exit命令和sudo命令
su命令:Switch User简单。就是切换用户的命令。
exit命令:也非常简单。就是退回上一个用户的命令。
其语法如下:su [-] [用户名]
exit
说明:-表示是否在切换用户后加载环境变量(建议加上)
·用户名:表示你要切换的用户,可省略切到root用户。(用exit可退回上一个用户)
·普通用户切到其他用户要密码,root用户切到其他用户无需密码。
注意:如果出现;请先设置密码再来尝试。
sudo命令:就是给普通命令授权,让它临时以root权限执行。
其语法如下:sudo 其他命令
由此,可以为普通用户配置sudo认证。
1.先切换到root用户并输入visudo进入一个文本,拉到最下面添加用户即可
2.由于默认使用的是nano编辑器,所以需要快捷键Ctrl + O来保存后按回车再Ctrl + X退出。
3.测试,原本是不让普通用户在非Home目录下创建新文件的,此时我们回到普通用户模式可以试试。
当然,你想取消sudo认证的话就回去给删掉。保存并退出后再次尝试。
3.2 用户和用户组
Linux系统允许:配置多个用户、配置多个用户组、用户可以加入多个用户组中。这是因为Linux对权限的管理有2个级别:针对用户的权限管制、针对用户组的权限管制。
3.2.1 用户组
3.2.1.1 groupadd命令和groupdel命令
groupadd命令:简单。就是在root用户下创建一个用户组。
其语法如下:groupadd 用户组名
深入学习:Linux groupadd 命令 | 菜鸟教程 (runoob.com)
groupdel命令:简单。就是在root用户下删除一个用户组。
其语法如下:groupdel 用户组名
学习:Linux groupdel命令 | 菜鸟教程 (runoob.com)
3.2.2 用户
3.2.2.1 useradd命令、userdel命令、id命令和usermod命令
useradd命令:简单。就是在root用户下创建一个用户。
其语法如下:useradd [-g -d等等] 用户名
说明:-g表示指定用户所属的群组,不指定-g就会创建同名组并加入,指定-g需要组已存在(即组存在,必须带-g);-d表示指定用户登入时的起始目录,即home,不带-d则默认在~/用户名。
·用户名:表示你要创建的用户叫什么
上图表示,新建一个用户laoda01并放到同名用户组laoda01当中去。
注意:当你useradd 用户名发现该用户不在home目录下,请加上-m再尝试一遍。建议使用adduser命令:Linux adduser 命令 | 菜鸟教程 (runoob.com)
深入学习:Linux useradd 命令 | 菜鸟教程 (runoob.com)
userdel命令:简单。就是在root用户下删除一个用户。
其语法如下:userdel [-r] 用户名
说明:-r表示删除用户登入目录以及目录中所有文件,即删除整个Home目录,不带就会保留。
·用户名:表示你要删除的用户叫什么。
学习:Linux userdel命令 | 菜鸟教程 (runoob.com)
id命令:简单。就是在root用户下显示用户的ID,以及所属群组的ID。
其语法如下:id [用户名]
说明:用户名表示你要查看的用户,不提供则会看自己本身。
深入学习:Linux id 命令 | 菜鸟教程 (runoob.com)
usermod命令:就是用来在root用户下修改用户帐号的各项设定。
其语法如下:usermod [-G等等] 用户名
说明:-G表示修改用户所属的附加群组。
·用户名:表示你要修改的用户的名字。
上图表示将用户laoda加入test用户组中去
⭐深深深深入学习:Linux usermod命令 | 菜鸟教程 (runoob.com)
3.2.2.2 getent命令
getent命令:就是查看系统当前的一些记录。
其语法如下:getent [passwd, group等等]
说明:passwd表示查看系统当前有什么用户;group表示查看系统当前有什么用户组。
·下面演示getent passwd:
就可以看到我们刚刚创建的用户:laoda01、test
解释信息:【用户名:密码(x):用户ID:组ID:描述信息:Home目录:执行终端】
深入学习:菜鸟教程没有,但其他博主有,一搜就有。
4. 认识Linux权限信息
解释:【权限信息】:有10个字母,它们的含义如下:
【所属用户】:文件/文件夹是属于哪个用户的。
【所属用户组】:文件/文件夹是属于哪个用户组的。
注意:不需要全部都看,只需要判断你自己走的是哪个通道权限再去找对应的3位字母即可。
5. chmod命令和chown命令
chmod命令:就是修改文件/文件夹(只有文件所有者和root用户才可以修改)的权限信息。
其语法如下:chmod [-R等等] 权限 文件或文件夹
说明:-R表示对目前目录下的所有文件与子目录进行相同的权限变更,即整个文件权限都变更。
·权限:有u是user用户,有g是group组,有o是other其他用户。通过u=[rwx的组合], g=[rwx的组合], o=[rwx的组合](没填的默认为-)来修改权限。
·文件或文件夹:文件或文件夹的名字
上图表示在桌面新建一个testChmod文件夹,里面有个test.txt文件,它的权限为rw-rw-r--。
上图表示修改test.txt文件的权限为r--r--r--。
当然,上面这样写是挺麻烦的,你也可以使用数字(0-7)【其实就是3位二进制来规定的数字】来表示这些权限,这就需要你到下面的链接上深入学习了!!!
⭐深深深深入学习:Linux chmod 命令 | 菜鸟教程 (runoob.com)
chown命令:就是在root用户下修改文件/文件夹所属用户和用户组。
其语法如下:chown [-R等] [用户] [:] [用户组] 文件或文件夹
说明:-R表示指定目录以及其子目录下的所有文件,即整个文件。
·用户:表示修改所属用户。
·::分隔用户和用户组。一般同时修改用户和用户组chown user:group 文件,或者只修改用户组chown c:group 文件。
·用户组:表示修改所属用户组。
·文件或文件夹:文件或文件夹的名字。
⭐深深深深入学习:Linux chown 命令 | 菜鸟教程 (runoob.com)
第三章 使用Linux
1.功能快捷键和命令
1.1 结束退出和清屏快捷键
ctrl + c:强制结束。用于强制停止程序的运行或退出当前命令的输入。
ctrl + d:退出。用于退出当前用户的登录或退出特定程序的专属页面。
ctrl + l:清空命令行。用于清空终端内容。也可以使用clear命令。
1.2 历史命令搜索快捷键
history命令:用于查看使用过的命令。
!命令:用于从下往上搜找,找到并自动执行匹配的命令。【一般用于前不久使用的命令】
ctrl + r:用于匹配历史命令。想执行就回车,不想执行就键盘左键<-或右键->。
1.3 光标移动快捷键
ctrl + a:用于将光标跳到命令开头。
ctrl + e:用于将光标跳到命令结尾。
ctrl + 键盘左键:用于将光标跳到上一个单词。
ctrl + 键盘右键:用于将光标跳到下一个单词。
简单,自己玩去,熟能生巧。
2. Ubuntu安装软件
对于操作系统安装软件主要有两种方式:下载安装包安装、应用商店安装。
2.1 apt命令
apt命令:apt软件管理器,用于在联网且是root用户下自动安装配置并解决依赖问题的Linux软件。
其语法如下:yum [-y等等] [install, remove, search等等] 软件
说明:-y表示安装过程提示选择全部为 "yes",即自动确认并安装。
·install:表示安装软件。
·remove:表示卸载软件。
·search:表示搜索软件。
·软件:表示你要安装|卸载|搜索等操作的软件名。
wget是用在命令行下的一个下载文件的工具,它支持断点下传功能;支持FTP和HTTP下载方式;支持代理服务器;设置方便简单;程序小,完全免费;等等。(别管,装就完事了)
⭐深深深深入学习:Linux apt 命令 | 菜鸟教程 (runoob.com)
扩展:CentOS安装软件(无演示图)
yum命令:RPM包软件管理器,用于在联网且是root用户下自动安装配置并解决依赖问题的Linux软件。
其语法如下:yum [-y等等] [install, remove, search等等] 软件
说明:-y表示安装过程提示选择全部为 "yes",即自动确认并安装。
·install:表示安装软件。
·remove:表示卸载软件。
·search:表示搜索软件。
·软件:表示你要安装|卸载|搜索等操作的软件名。
⭐CentOS用户深入学习:linux yum 命令 | 菜鸟教程 (runoob.com)
3. 软件启动和关闭
3.1 systemctl命令
systemctl命令:控制软件/服务的启动、停止、开机自启等等。
其语法如下:systemctl [start, stop, status, enable, disable等等] 软件名
说明:start表示启动软件;stop表示关闭软件;status表示显示软件当前状态;enable表示允许开机自启;disable表示禁止开机自启。
4. 软链接
软链接:类似于Windows系统中的“快捷方式”,可以把原文件的启动路径贴到一个快捷方式中,以便后期快速启动。
4.1 ln命令
ln命令:简单。就是用于创建软链接。
其语法如下:ln [-s等等] 目标参数 目的参数
说明:-s表示软链接(符号链接)。
·目标参数:被链接文件的路径。
·目的参数:路径贴到哪里。
深入学习:Linux ln 命令 | 菜鸟教程 (runoob.com)
5. Linux时区日期
5.1 date命令
date命令:简单。就是查看系统当前的时间。
其语法如下:date [-d等等] [+显示格式]
说明:-d表示通过字符串显示时间格式,但不能是'now',一般用作日期计算。
·+显示格式:设定日期欲显示的格式。%Y年,%y年份后两位,%m月,%d日,%H小时,%M分钟,%S秒,%s从1970-1-1 0:0:0 UTC到现在的秒数。
深入学习:Linux date 命令 | 菜鸟教程 (runoob.com)
上面图以有个CST字样,这就是当前系统显示时间的所在时区。如果想更改时区的话也可以。
在root用户下,使用下述两条指令修改时区:
rm -f /etc/localtime 删除当前时区
sudo ln -s /user/share/zoneinfo/Asia/shanghai /etc/localtime 使用软链接链接你想要的时区,加粗棕色可以替换成你想要的时区。
5.2 联网校准时间
5.2.1 ntp命令
ntp程序可以自动为linux系统校准当前时间。首先在root用户下安装ntp程序并配置开机自启动。
安装命令:apt -y install ntp
配置:systemctl enable ntp
systemctl start ntp
当然你也可以在root用户下手动校准:ntpdate -u 校准网站。比如同步阿里云ntpdate -u npt.aliyun.com或者你也可以搜其他的。
6. IP和主机
6.1 计算机IP地址和主机名
每一台联网计算机都会有它自己的地址,称为IP地址。它通常有两种形式:IPv4、IPv6。其中IPv4地址的格式为:a.b.c.d(abcd由0-255组成);IPv6地址的格式为:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx(每个x是一个16进制数,即0-9和abcdef)。
6.1.1 ifconfig命令
ifconfig命令:就是查看计算机的ip地址。如果无法使用请安装sudo apt install net-tools。
每一台计算机都有自己的主机名。可以使用hostname命令查看自己的主机名。
当然,你想改也行,通过【hostnamectl set-hostname 新名字】来更改主机名。
6.2 域名解析
对于人来说,ip地址是非常难记住的。所以人们就想到了通过主机名或可以替代的字符串地址去代替难记的ip地址。域名(比如bing.com)应运而生。将ip地址和域名进行一个映射,然后当别人访问时去解析域名得到ip地址,这就是域名解析。【查找顺序:先从系统记录中找,再去联网公开的DNS服务器找】
6.3 配置固定IP地址
在Linux系统中,ip地址一般都是通过DHCP服务动态获取的。也就是说,每次重启设备,ip都会改变。这在远程操控中非常不方便,因此需要固定ip地址。
1. 打开VMware虚拟网络编辑器。
2. 别忘了管理员运行。
3.设置网关为192.168.xxx.2,xxx你前面填好了范围。
4.使用命令vim /etc/sysconfig/network-scripts/ifcfg-ens33进入修改文件。
BOOTPROTO改为static,
最下面新增
IPADDR="192.168.xx.xx"(这个是ip地址,你刚刚配置了范围,现在可以确定)
NETMASK="255.255.255.0"(这个是子网掩码)
GATEWAY="192.168.xx.2"(刚刚你设置了的网关)
DNS1="192.168.xx.2"(刚刚设置的网关)
搞完别忘了重启systemctl restart network
【我没搞就已经是固定地址了就不管了,算了你直接搜”Linux配置固定ip地址“吧(哭)】
7. 网络传输
ping命令:就是用于检测与另一个主机之间的网络连接,即检查指定的网络服务器是否联通。
其语法如下:ping [-c number等等] ip地址或主机名
说明:-c number表示设置完成要求回应的number次,不带-c就会无限检查。
·ip地址或主机名:顾名思义。
深入学习:Linux ping 命令 | 菜鸟教程 (runoob.com)
7.1 网络请求和下载
7.1.1 wget命令和curl命令
wget命令:就是在命令行模式中下载网络文件,是非交互式的文件下载器。
其语法如下:wget [-b等等] url网址
说明:-b表示后台下载,wget-log文件会更新日志文件。
·url网址:即下载链接。
⭐深深深入学习:菜鸟没有,需要自己搜。
curl命令:client + URL。是一种命令行工具,用于发送http网络请求和获取数据。
其语法如下:curl [-O等等] url地址
说明:-O表示下载文件并用于下载链接时保存文件,即将下载的文件保存为原始文件名。
·url网址:即网络地址。
⭐深深深入学习:菜鸟没有,需要自己搜索
7.2 端口
端口,是设备与外界交流的出入口,即是传输数据的通道,是数据传输必经之路。他分为两种:物理端口、虚拟端口。
·物理端口:各种实际存在的接口,例如USB数据接口、RJ45网口、HDMI视频输出接口等等;
·虚拟端口:计算机内部的端口,用来联系操作系统和外部。
Linux支持6万多个端口,这些端口分为三类:
·公共端口:1-1023,用于系统内置或知名程序的使用,例如SSH服务的22端口等等;
·注册端口:1024-49151,用于松散地绑定一些程序服务;
·动态端口:49152-65535,临时使用于程序与外界进行网络链接。
7.2.1 nmap命令和netstat命令
nmap命令:就是查看端口占用情况,即有什么端口被占用了。需要安装
其语法如下:nmap ip地址
可以看到22端口已被占用。
深入学习:菜鸟没有,需要自行搜索。
netstat命令:就是显示网络状态,让你得知整个 Linux 系统的网络情况。
其语法如下:netstat [-anp等等]
说明:-anp表示显示UDP端口号的使用情况。
上图表示查看端口22的使用情况。
深入学习:Linux netstat命令 | 菜鸟教程 (runoob.com)
8. 进程管理
进程是指程序在操作系统中运行后被注册为系统内的一个进程,它拥有唯一标识符:进程号。
8.1 ps命令和kill命令
ps命令:就是用于显示当前进程的状态,即查看Linux系统中的进程信息,类似于 windows 的任务管理器。
其语法如下:ps [-e, -f等等]
说明:-e表示显示全部进程;-f表示展示全部信息。
UID:进程所属用户; PID:进程的进程号ID;
PPID:进程的父ID; C:此进程CPU占用率%;
STIME:进程启动时间; TTY:启动进程的终端序号,?是非终端启动;
TIME:进程占用CPU时间; CMD:进程启动路径或名称或命令。
深入学习:Linux ps 命令 | 菜鸟教程 (runoob.com)
kill命令:简单。就是用于删除执行中的程序或工作。类似于Windows的结束进程。
其语法如下:kill [-9等等] 进程id
说明:-9表示强制关闭进程。
深入学习:Linux kill命令 | 菜鸟教程 (runoob.com)
9. 主机状态
9.1 监控系统状态
9.1.1 top命令
top命令:简单。就是查看CPU、内存等使用情况。类似Windows的任务管理器。
其语法如下:top [-c等等]
说明:-c表示显示全部信息。
每间隔5秒刷新,ctrl + c或q键可退出。
以下是解释:
top:命令名称;13:05:18:当前时间;up 8 min:启动了8分钟;3 user:3个用户登录;load average:1分钟负载,5分钟负载,15分钟负载。
Tasks:289个进程;1 running:1个进程子在运行;288 sleeping:288个进程睡眠;0 stopped:0个进程停止;0 zombie:0个僵尸进程。
%Cpu(s):CPU使用率;0.7 us:用户CPU使用率;1.7 sy:系统CPU使用率;0.0 ni:高优先进程占用CPU时间百分比;97.7 id:空闲CPU率;0.0 wa:IO等待CPU占用率;0.0 hi:CPU硬件中断率;0.0 si:CPU软件中断率;0.0 st:强制等待占用CPU率。
MiB Mem:物理内存;total:总量;free:空闲;used:已使用;buff/cache:缓存。
MiB Swap:虚拟内存:total;总量;free:空闲;used:已使用;buff/cache:。
PID:进程id; USER:进程所属用户; PR:进程优先级,越小越高;
NI:正负优先级,负是高优先,正是低优先; VIRT:进程使用虚拟内存kb;
RES:进程使用物理内存kb; SHR:进程使用共享内存kb;
S:进程状态,S休眠,R运行,Z僵死,N负优先级,I空闲;
%CPU:进程占用CPU百分比; %MEM:进程占用内存百分比;
TIME+:进程一共使用CPU时间10ms; %COMMAND:进程命令或名称或路径。
top页面支持交互式运行:
深深入学习:Linux top 命令 | 菜鸟教程 (runoob.com)
9.2 监控磁盘状态
9.2.1 df命令和iostat命令
df命令:简单。就是显示目前磁盘使用情况统计。
其语法如下:df [-h等等] [路径]
说明:-h表示以人类方便可读的格式展示。
·路径:可要可不要,可以看指定文件占用磁盘情况。
深入学习:Linux df 命令 | 菜鸟教程 (runoob.com)
iostat命令:就是查看CPU、磁盘的相关信息。
其语法如下:iostat [-x等等] [number01] [number02]
说明:-x表示显示更多信息。
·number01:刷新间隔。
·number02:刷新多少次。
参数就不展开讲了。
深入学习:菜鸟没有,需要自行搜索。
9.3 监控网络状态
9.3.1 sar命令
sar命令:就是查看网络相关信息的统计。注意:sar是非常复杂的。
其语法如下:sar [-n等等] [DEV] [number01] [number02]
说明:-n表示查看网络;DEV表示查看网络接口。
·number01:刷新间隔。
·number02:刷新多少次。
很复杂,就不展开了。不过一般只需要注意rxkB/s表示每秒接受多大的数据包和txkB/s表示每秒可以发送多大的数据包。
深入学习:菜鸟没有,想深入了解需自行搜索。
10. 环境变量
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。它是一种KeyValue型结构,即哈希结构。
10.1 env命令
env命令:简单。就是查看当前系统中的环境变量。
其语法如下:env
10.2 PATH
借助环境变量中的PATH值可以做到:无论当前工作目录是什么,都可以执行已经记录的命令例如cd这个命令。
PATH记录了系统执行任何命令的所搜路径(用:隔开)。
当执行任何命令时都会先按照顺序从PATH记录的路径中搜索需要执行的程序。
10.3 $符号
在Liunx系统中$符是用作取变量的值。例如取pwd和PATH的值就可以$PWD或$PATH这样。
也可以做复杂一些
10.4 自行设置环境变量
10.4.1 export命令
export命令:就是用于设置或显示环境变量。注意:这是临时设置临时生效。
其语法如下:export [-f等等] 变量名=值
说明:-f表示[变量名称]中为函数名称。
这只是一种临时生效的方式,当你重启后你不会再得到这个值。
⭐深入学习:Linux export命令 | 菜鸟教程 (runoob.com)
⭐永久生效:
【1】针对当前用户生效,配置到~/.bashrc文件中,在最后一行加上export MYNAME=bule_shake
【2】针对所有用户生效,配置到/etc/profile文件中,在最后一行加上export MYNAME=bule_shake
不做演示。
重启或输入source 配置文件,让它生效。
我搜到详细的大佬:操作系统:Linux 环境变量配置的 6 种方法_export path 后 需要执行什么-CSDN博客
10.5 自定义环境变量PATH
将自定义环境变量加入PATH,让它无论在哪个工作路径下都能执行。
【1】在root用户下Home目录创建一个myenv文件夹,在myenv文件夹中创建一个文件,文件填入信息再保存退出。
【2】给testEnv文件可执行权限(原来是没有可执行权限的)
【3】加入环境变量PATH,让它在哪都可以执行。输入vim /etc/profile,在最后加上export PATH=$PATH:/root/myenv
注意注意:一定要带上$PATH,这是它原有的环境变量,用分号:后面追加即可。
【4】别忘了重启或source 配置文件,进行测试。
注意:看起来我是在/etc/profile中创建了自己的PATH,即可以让所有用户生效。但是,我是在root用户下做的这些,也就是说不是所有用户都能访问root,自然你切回普通用户就无法使用testEnv来得到了。需要在根目录或者普通用户下这样做才能让所有用户生效!!!
大佬大佬:操作系统:Linux 环境变量配置的 6 种方法_export path 后 需要执行什么-CSDN博客
11. 文件上传和下载
由于我使用的是FinalShell,所以文件的上传和下载比较方便。
·下载只需要找到想要的文件,右键下载即可。
·上传也只需要找到合适的位置,直接拖进去即可。
注意:root文件是看不到的,因为我一开始设置的是用户登录,它没有最高权限。
11.1 rz命令和sz命令
当然除了上述的方法,你也可以使用命令的方式进行上传或下载。
rz命令:需要apt -y install lrzsz安装。将文件上传。
其语法如下:rz
输入rz会弹出弹窗,然后将你想要的文件上传即可。但是这种方式很慢,不如直接拖拽。
sz命令:将文件下载。
其语法如下:sz 下载的文件
不做演示。
文件会自动下载到桌面的fsdownload文件夹中。
12. 文件的压缩和解压
压缩包不陌生,但压缩包有非常多的压缩格式:
zip格式:Liunx、Windows、MacOS都常用; 7zip:Windows常用
rar:Windows常用; tar:Linux、MacOS常用; gzip(.gz):Linux、MacOS常用。
在Windows中有bandizip等软件来进行压缩与解压;而在Linux中则通过tat、gzip和zip来实现压缩与解压。
12.1 tar命令
·.tar被称为tarball,归档文件。将文件简单地组装到.tar文件中,减不了什么体积。
·.gz是.tar.gz, gzip压缩文件。使用压缩算法将文件压缩到一个文件内,可以极大地减少体积。
tar命令:就是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
其语法如下:tar [-c, -v, -f, -z, -x, -C等等] 参数1 ... 参数n
说明:-c表示建立压缩文件;-v表示显示解压过程;-f表示要创建的文件或解压的文件,-f必须是选项最后一个;-z表示以.gz模式压缩,-z要在选项第一个;-x表示解压模式;-C表示解压目的地,一般单独使用后面跟目的地。
·参数1 ... 参数n:可以表示一个或多个文件等等。
上图表示将test、testChmod和testChown文件压缩封装到testTar.tar文件中,并且这个.tar是新建的且要显示压缩过程。
上图是将将test、testChmod和testChown文件压缩到testGz.tar.gz文件中。通过上述两种压缩方式,可以发现它们的大小不同。
上图是解压testTar.tar。这种是普通解压用于普通压缩包。
当然,你也可以之名解压到你想要的目的地。
用于解压.gz压缩包时需要带上z。
深深深深入学习:Linux tar 命令 | 菜鸟教程 (runoob.com)
12.2 zip命令和unzip命令
zip命令:简单。就是用于压缩文件到zip压缩包。
其语法如下:zip [-r等等] 参数1 ... 参数n
说明:-r表示压缩的文件包含文件夹,跟rm命令一致;
·参数1 ... 参数n:可以表示一个或多个文件等等。
深深深深入学习:Linux zip命令 | 菜鸟教程 (runoob.com)
unzip命令:简单。就是用于解压.zip压缩包。
其语法如下:unzip [-d等等] 压缩包
说明:-d表示解压的目的地,用法跟上面的tar命令的-C一致。
·压缩包:即压缩包的名字或路径。
注意:同名文件夹会直接覆盖替换。
深深深深入学习:Linux unzip命令 | 菜鸟教程 (runoob.com)
第四章 软件安装
1.Ubuntu部署MySQL
1.1 MySQL version 5.7
我没有什么东西运行在旧MySQL上,所以不去搞它了。