Linux学习

为什么要学习Linux系统?

因为在服务器开发领域,不管是后端软件,大数据系统,运维监控自动化程序,性能测试,网页服务等等,都需要运行在Linux操作系统上,所以掌握Linux,无论从事什么开发岗位都有巨大帮助!

基础知识:

        ● 计算机由硬件和软件组成

        ● 操作系统是软件的一种,主要负责调度和管理计算机硬件进行工作

        ● 常见的操作系统:PC端:Windows、Linux、MacOS     移动端:Android、IOS、HarmonyOS

一、初始Linux------入门

1.初始linux

Linux内核

Linux系统组成如下:

        ● Linux系统内核

        ● 系统级应用程序

内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。

系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。

                     

Linux内核是免费开源的,任何人都可以去下载内核源码并查看且修改。

可以通过:https://www.kernel.org  去下载Linux内核。

内核是免费、开源的,就代表了:

         ● 任何人都可以获得并修改内核,并且自行集成系统级程序

         ● 提供了内核+系统级程序的完整封装,称之为Linux发行版

不同的发行版:

        ● 基础命令100%相同

        ● 部分操作不同(如软件安装)

资料主要基于CentOS系统,辅助带有Ubuntu系统的相关知识。

2.虚拟机介绍

1.虚拟机是什么?

借助虚拟化技术,在系统中,通过软件模拟计算机硬件,并给虚拟硬件安装真实的操作系统,即可得到一台虚拟的电脑,称之为虚拟机。

2.为什么需要使用虚拟机?

学习Linux系统,就需要有一个可用的Linux系统,将自己的电脑重装为Linux系统不现实,我们需要借助虚拟机来获得可用的Linux系统环境进行学习。

3.VMware WorkStation安装

我们可以通过提供虚拟化的软件来获得虚拟机,选用VMware WorkStation软件来提供虚拟机

最新下载方式:

        ● 可以通过联想、360、火绒、腾讯软件中心搜索VM进行下载

        ● 从VM的CDS服务器下载安装包 https://softwareupdate.vmware,com/cds/vmw-desktop/

点击进去下载最高版本号即可。

安装完成后检查虚拟网卡是否安装成功   Win+R打开运行终端输入命令:

ncpa.cpl

确保虚拟网卡存在,若不存在建议卸载软件重新安装。

4.在VMware上安装Linux

首先我们需要下载操作系统的安装文件,本次使用CentOS7.6版本进行学习:

下载网址:Index of /7.6.1810/isos/x86_64      

打开VM软件,按照下图指示即可完成虚拟机的配置。

最后点击左上角创建的虚拟机,等待自动安装,输入账号密码即可登录成功。

5.远程连接

操作模式分为两种:

        ● 图形化:鼠标操作

        ● 命令行:Linux命令

为什么用命令行操作Linux系统?

        ● Linux图形化页面并没有怎么做优化,所以Linux操作系统的图形化页面不好用,不稳定

        ● 在开发中,使用命令行形式,效率更高更直观,资源占用低,程序运行更加稳定

可以使用FinalShell软件连接Linux操作系统,并且通过它操作Linux系统。

浏览器进入hostbuf官网即可下载该软件,无脑点下一步即可安装完成。

Windows系统远程连接的配置:

在VM虚拟机桌面空白处点击鼠标右键选择Open Terminal

输入命令:

ifconfig

找到虚拟机IP地址并复制

打开FinalShell,按下图操作顺序完成配置

填入名称、虚拟机IP地址、用户名和密码。

配置完成后双击点开,点击接受并保存,完成连接。

连接完成可以通过输入命令进行验证,分别在VM和FinalShell中输入ls命令,返回结果完全一致。

后续操作就可以将虚拟机最小化,在FinalShell软件中完成命令书写。

注意:Linux虚拟机如果重启,有可能IP地址会发生改变,如果改变IP需要在FinalShell中修改连接的IP地址(后续可以学习到如何固定IP地址不发生改变)。

6.拓展

WSL

掌握使用WSL(Windows Subsystem for Linux)获得Ubuntu系统环境。

使用WSL,可以以非常轻量化的方式获得Linux环境,目前开发者正逐步抛弃以虚拟机的形式获取Linux环境,而在逐步拥抱WSL环境。

什么是WSL?

为什么要使用WSL?

        ● 开发人员都在用

        ● 方便,简单,好用,轻量化,省内存

WSL部署

右键点击开始菜单,按图操作,操作完后重启电脑即可。

打开Windows应用商店,搜索Ubuntu即可下载安装。

下载安装完成后打开Ubuntu 设置用户名密码即可。

Ubuntu自带的终端窗口软件不太好用,可以使用微软推出的:Windows Terminal 软件

在应用商店搜索terminal 关键字,找到软件下载并安装

安装完成打开,选择Ubuntu。

为了能够在下一次打开Terminal后能自动打开Ubuntu系统,我们可以完成下图的设置

虚拟机快照

什么是虚拟机快照?

在VM 中制作快照并还原快照,在虚拟机关机后找到快照管理器

点击拍摄快照,添加名称与描述后,会出现一个测试快照,点击测试快照后点击转到,在弹出的页面点击是即可恢复快照

二、Linux基础命令------会用

Linux的目录结构

        ● /,根目录是最顶级的目录

        ● Linux只有一个顶级目录:/

        ● 路径描述的层次关系同样适用 / 来表示

        ● /home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt

:区分于Windows系统中路径的层级关系用:\ 表示,Linux系统中使用:/来表示。

Linux命令入门

Linux命令基础格式

无论是什么命令,用于什么用途,在Linux中,命令有其通用格式:

command [-options] [parameter]

        ● command:命令本身

        ● -options:[可选,非必填] 命令的一些选项,可以通过选项控制命令的行为细节

        ● parameter:[可选,非必填] 命令的参数,多数用于命令的指向目标等

语法中的[] ,表示可选的意思

示例:

        ● ls -l /home/itheima,ls是命令本身,-l是选项,/home/itheima是参数

           意思是以列表的形式,显示/home/itheima目录里面的内容

        ● cp -r test1 test2,cp是命令本身,-r是选项,test1和test2是参数

           意思是复制文件夹test1 成为 test2

ls命令

功能:列出目录下的内容,语法细节如下:

ls [-a -l -h] [path]

        ● -a -l -h 是可选的选项

        ● path(Linux路径)是此命令可选的参数

当不使用选项和参数,直接使用ls命令本体,表示以平铺的形式,列出当前工作目录下的内容

ls命令的参数和选项具体含义:

        ● -l,以列表形式查看(竖向排列)

        ● -h,配合-l,以更加人性化的方式显示文件大小

        ● -a,显示隐藏文件(Linux中以 开头的都是隐藏文件,必须用-a命令才能查看到)

同时语法中的选项是可以组合使用的

写法:

        ● ls -l -a

        ● ls -la

        ● ls -al

上述三种写法都是一样的,表示同时应用 -l 和 -a 的功能

除了选项本身可以组合以外,选项和参数也可以一起使用

Home目录和工作目录

cd命令

功能:切换工作目录

当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录

我们可以使用cd命令,更改当前所在的工作目录

cd 命令来自英文:Change Directory

语法:

cd [Linux路径]

        ● cd命令无需选项,只有参数,表示要切换到哪个目录下

        ● cd命令直接执行,不写参数,表示回到用户的HOME目录

pwd命令

功能:展示当前工作目录

通过ls验证当前的工作目录,其实是不恰当的

我们可以通过pwd命令,来查看当前的工作目录

pwd命令来自英文:Print Work Directory

语法:pwd

        ● pwd命令,无选项,无参数,直接输入pwd即可

相对路径和绝对路径

        ● 相对路径,非 /开头的称之为相对路径

           相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前工作目录内的test文件夹内的a.txt文件

        ● 绝对路径,以 /开头的称之为绝对路径

           绝对路径从根目录开始描述路径

示例:

如果当前目录位于/home/zimo/Desktop

但是想要向上回退一级,切换目录到/home/zimo中,改如何做呢

        ● 可以通过cd 回到HOME目录

        ● 可以通过特殊路径符来完成

特殊路径符

        ●  .  表示当前目录,比如:cd ./Desktop 表示切换到当前目录下的Desktop目录内,与cd Desktop效果一致

        ● ..  表示上一级目录,比如:cd ..  即可切换到上一级目录,cd ../.. 切换到上两级目录

        ● ~  表示HOME目录,比如:cd ~  即可切换到HOME目录或者cd ~/Desktop ,切换到HOME内的Desktop目录

示例:

mkdir命令

功能:创建新的目录(文件夹)

mkdir来自英文:Make Directory

语法:

mkdir [-p] Linux路径

        ● 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可

        ● -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

示例:

  

注:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME目录外操作,涉及到权限问题,HOME外无法成功,后续会讲解权限管控的知识

touch命令

功能:创建文件

语法:

touch Linux路径

        ● touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用

cat命令

功能:查看文件内容

暂时没有学习vi编辑器,所以我们通过图形化,手动在文件里添加内容,以测试cat命令

语法:

cat Linux路径

        ● cat同样没有选项,只有必填参数,参数表示要查看的文件路径,相对、绝对、特殊路径符均可以使用

more命令

功能:查看文件,可以支持翻页查看

more命令同样可以查看文件内容,与cat不同的是:

        ● cat是将内容全部显示出来

        ● more支持翻页,如果文件内容过多,可以一页一页的展示

语法:

more Linux路径

        ● 同样没有选项,只有必填参数,参数表示要查看的文件路径,相对、绝对、特殊路径符均可以使用

Linux系统内置有一个文件,路径为:/etc/services,可以通过more命令查看

more /etc/services

在查看的过程中可以通过空格翻页,可以通过q退出查看

cp命令

功能:复制文件、文件夹

cp来自英文单词:copy

语法:

cp [-r] 参数1 参数2

         ● -r 选项,可选,用于复制文件夹使用,表示递归

         ● 参数1,Linux路径,表示被复制的文件或文件夹

         ● 参数2,Linux路径,表示要复制去的地方

示例:复制文件 将/home/zimo/itheima下的test.txt文件复制到当前目录下,并查看内容

示例:复制文件夹,在/home/zimo/itheima 文件夹复制到/home/zimo/itheima2  需要加上-r选项

mv命令

功能:移动文件,文件夹

mv来自英文单词:move

语法:

mv 参数1 参数2

        ● 参数1,Linux路径,表示被移动的文件或文件夹

        ● 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

示例:移动文件,将/home/zimo/itheima中的test.txt文件夹移动到/home/zimo/Desktop内

示例:将/home/zimo/itheima中的test2.txt文件移动到/home/zimo/itheima/test3.txt,由于目标不存在,则将test2.txt改名为test3.txt。

rm命令

功能:删除文件,文件夹

rm来自英文单词:remove

语法:

rm [-r -f] 参数1 参数2 ......参数N

        ●参数:支持多个,每一个表示被删除的,空格进行分隔

        ●选项:-r ,删除文件夹使用 

                     -f 表示force,强制删除(普通用户删除没有提示,只有root用户删除会有提示,普通用户一般用不到)

示例:将/home/zimo/下的 itheima2 和 test 文件夹删除,需要用到选项-r 

rm命令支持通配符 *,用作模糊匹配

* 表示通配符,即匹配任何内容(包括空),示例:

        ● test*,表示匹配任何以test开头的内容

        ● *test,表示匹配任何以test结尾的内容

        ● *test*,表示匹配任何包含test的内容

示例:将/home/zimo/itheima下的 以test开头的文件以及文件夹删除

进入root用户的方法,通过命令:

su -root

并输入密码:123456 可切换root用户,输入exit可退回普通用户

注:rm是一个危险的命令,特别是在处于root(超级管理员)用户的时候,请谨慎使用!

如下命令,请千万千万不要在root管理员用户下执行:

rm -rf /
rm -rf /*

效果等同于在Windows上执行C盘格式化

which命令

功能:查看命令的程序本体文件路径

我们在前面学习的Linux命令,其实本地就是一个个二进制可执行程序,和Windows中的.exe文件是一个意思,我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里。

语法:

which 参数

        ● 参数:被查看的命令

示例:查看cd的程序文件存放位置

find命令

功能:搜索文件

语法:

find 起始路径 -name "参数"

        ● 路径:搜索的起始路径

        ● 参数:搜索的关键字,支持通配符*

示例:在root用户下搜索名字带有test的文件

find命令 - 按文件大小查找文件

语法:

find 起始路径 -size +|-n[kMG] 

        ● + 、- 表示大于和小于

        ● n表示大小数字

        ● kMG表示大小单位,k(小写)表示kB,M表示MB,G表示GB

示例:查找大于100MB的文件:find / -size +100M

grep命令

功能:从文件中通过关键字过滤文件行

语法:

grep [-n] 关键字 文件路径

        ● 选项 -n,可选,表示在结果中显示匹配的行的行号

        ● 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用 " " 将关键字包裹起来

        ● 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

示例:通过touch命令在Home目录下创建itheima.txt,并通过图形化化页面编辑保存下列内容

过滤带有good的行:

wc命令

功能:统计

语法:

wc [-c -m -l -w] 文件路径

         ● 选项,-c,统计bytes数量

         ● 选项,-m,统计字符数量

         ● 选项, -l,统计行数

         ● 选项,-w,统计单词数量

         ● 参数,文件路径,被统计的文件,可作为内容输入端口

示例:统计itheima.txt的相关参量

管道符

写法:|

管道符的含义是:将管道符左边命令的结果,作为有别命令的输入

示例:

cat a.txt | grep itheima,将cat a.txt的结果作为grep命令的输入,用来过滤itheima关键字

可以支持嵌套:

cat a.txt | grep itheima | grep itcast

echo命令

功能:在命令行内输出指定内容

语法:

echo 输出的内容

        ● 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用" "包围

示例:在终端上显示Hello Linux(带有空格或者 \ 等特殊符号,建议使用双引号包围,养成好习惯)

` 反引号

功能:被两个反引号包裹的内容,会作为命令执行

示例:输出当前目录的路径pwd,不加反引号,会直接输出pwd三个字母,加上反引号,会执行pwd,然后在命令行输出pwd执行后的结果

tail命令

功能:查看文件尾部内容,跟踪文件的最新更改

语法:

tail [-f -num] Linux路径

        ● 参数,Linux路径,表示被跟踪的文件路径

        ● 选项,-f,表示持续跟踪

        ● 选项,-num,表示,查看尾部多少行,不填默认10行

示例:向itheima.txt中添加一些内容,查看最后的5行

示例:复制标签,在另一个标签中向itheima.txt文件中追加输入"hello linux",此时另一标签可持续追踪itheima文件中内容变化(可通过CTRL + C 停止跟踪)

head命令

功能:查看文件头部内容

语法:

head [-n] 参数

        ● 参数:被查看的文件

        ● 选项:-n,查看的行数

示例:查看itheima.txt 前五行的内容

重定向符

功能:将符号左边的结果,输出到右边指定的文件中去

         ● >,表示覆盖输入

         ● >>,表示追加输入

示例:将Hello Linux 写入itheima.txt,覆盖原本的内容

示例:在itheima.txt文件中追加写入im Linux 内容

vi \ vim编辑器

vi \ vim是visual interface的简称,是Linux中最经典的文本编辑器,vi 是命令行下对文本文件进行编辑的绝佳选择

vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性

vi \ vim 编辑器的三种工作模式:

命令模式

如果需要通过vi \ vim 编辑器编辑文件,请通过如下命令:

vi 文件路径
vim 文件路径

vim 兼容全部的 vi 功能,后续全部使用 vim 命令

        ● 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件

        ● 如果文件路径表示的文件存在,那么此命令用于编辑已有文件

vi编辑器的快速体验

通过vi / vim命令编辑文件,会打开一个新的窗口,窗口就是:命令模式窗口

命令模式是vi编辑器的入口和出口,如图:

                        ​​​​​  ​ 

        ● 进入 vi 编辑器会进入命令模式

        ● 通过命令模式输入键盘指令,可以进入输入模式

        ● 输入模式需要退回到命令模式,然后通过命令可以进入底线命令模式

示例:

1.使用:vim hello.txt,编辑一个新文件,执行后进入的是命令模式

2.在命令模式内,按键盘i,进入输入模式

3.在输入模式内输入:itheima and itcast.

4.输入完成后,按esc会回退回命令模式

5.在命令模式,按键盘:,进入底线命令模式

6.在底线命令内输入:wq,保存文件并退出 vi 编辑器

命令模式快捷键
模式命令描述
命令模式i在当前光标位置进入输入模式
命令模式a在当前光标位置 之后 进入输入模式
命令模式I在当前行的开头,进入输入模式
命令模式A在当前行的结尾,进入输入模式
命令模式o在当前光标下一行进入输入模式
命令模式O在当前光标上一行进入输入模式
输入模式esc任何情况下输入esc都能回到命令模式
命令模式键盘上,键盘k向上移动光标
命令模式键盘下,键盘j向下移动光标
命令模式键盘左,键盘h向左移动光标
命令模式键盘右,键盘l向后移动光标
命令模式0移动光标到当前行的开头
命令模式$移动光标到当前行的结尾
命令模式pageup(PgUp)向上翻页
命令模式pagedown(PgDn)向下翻页
命令模式/进入搜索模式
命令模式n向下继续搜索
命令模式N向上继续搜索
命令模式dd删除光标所在行的内容
命令模式nddn是数字,表示删除当前光标向下n行
命令模式yy复制当前行
命令模式nyyn是数字,复制当前行和下面的n行
命令模式p粘贴复制的内容
命令模式u撤销修改
命令模式ctrl + r反向撤销修改
命令模式gg跳到首行
命令模式G跳到行尾
命令模式dG从当前行开始,向下全部删除
命令模式dgg从当前行开始,向上全部删除
命令模式d$从当前光标开始,删除到本行的结尾
命令模式d0从当前光标开始,删除到本行的开头
底线命令模式

编辑模式没有什么特殊的,进入编辑模式后,任何快捷键都没有作用,就是正常输入文本而已。

唯一需要记住的,就是:通过esc,可以退回到命令模式中即可。

在命令模式内,输入:,即可进入底线命令模式,支持如下命令:

底线命令模式:wq保存并退出
底线命令模式:q仅退出
底线命令模式:q!强制退出
底线命令模式:w仅保存
底线命令模式:set nu显示行号
底线命令模式:set paste设置粘贴模式
查看命令的帮助

可以通过:命令 --help查看命令的帮助手册

查看命令的详细手册

可以通过:man命令查看命令的详细手册

三、Linux权限管理------懂权限

root用户

无论是Windows,MacOS,Linux均采用多用户的管理模式进行权限管理。

        ● 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)

        ● 在前期,使用的账户是普通的用户

root 用户拥有最大的系统操作权限,而普通用户在许多地方等待权限是受限的。例如普通用户在根目录下创建文件夹会提示权限不够,而切换到root用户是可以创建的。

        ● 普通用户的权限,一般在其HOME目录内是不受限的

        ● 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

su命令

功能:用于账户切换

su来自英文单词:Switch User

语法:

su [-] [用户名]

        ● -符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上

        ● 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root

        ● 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d

        ● 使用普通用户,切换到其它用户需要输入密码,如切换到root用户

        ● 使用root用户切换到其它用户,无需密码,可以直接切换

sudo命令

功能:为普通命令授权,临时以root身份执行

语法:

sudo 其他命令

        ● 在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权

        ● 但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证

为普通用户配置sudo认证:

        ● 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers

        ● 在文件最后添加

用户名 ALL=(ALL)     NOPASSWD:ALL

                ● 其他最后的NOPASSWD:ALL 表示使用sudo命令,无需输入密码

        ● 最后通过wq保存

        ● 切换为普通用户

        ● 执行的命令,均以root运行

用户、用户组

Linux系统中可以:

        ● 配置多个用户

        ● 配置多个用户组

        ● 用户可以加入多个用户组中

Linux中关于权限的管控级别有两个级别,分别是:

        ● 针对用户的权限控制

        ● 针对用户组的权限控制

用户组管理

以下命令需要root用户执行:

        ● 创建用户组

groupadd 用户组名

        ● 删除用户组

groupdel 用户组名

示例:创建一个itcast用户组

用户管理

创建用户

useradd [-g -d] 用户名

        ● 选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g

        ● 选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

示例:创建test用户,加入itcast组,并指定路径

删除用户

userdel [-r] 用户名

        ● 选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留

示例:删除test用户,没有指定-r,所以HOME目录会保留,可手动删除

查看用户所属组

id [用户名]

        ● 参数:用户名,被查看的用户,如果不提供则查看自身

修改用户所属组

usermod -aG [用户组] [用户名]

        ● 参数:把指定用户加入指定用户组

示例:创建test2 用户,将其加入itcast用户组

getent命令

功能:可以查看当前系统有哪些用户

语法:

getent passwd

结果返回七份信息,分别是:

用户名:密码(x):用户ID:描述信息(无用):HOME目录:执行终端(默认bash)

功能:可以查看当前系统有哪些用户组

语法:

getent group

结果返回三份信息,分别是:

组名称:组认证(显示为x):组ID

查看权限控制

认知权限信息

通过 ls -l 可以以列表形式查看内容,并显示权限细节:

        ● 序号1,表示文件、文件夹的权限控制信息

        ● 序号2,表示文件、文件夹所属用户

        ● 序号3,表示文件、文件夹所属用户组

解析序号1,权限细节

权限细节共分为10个槽位

举例:drwxr-xr-x,表示:

        ● 这是一个文件夹,首字母d表示

        ● 所属用户(序号2)的权限是:有r有w有x,rwx

        ● 所属用户组(序号3)的权限是:有r无w有x,r-x(-表示无此权限)

        ● 其他用户的权限是:有r无w有x,r-x

rwx

        ● r表示读权限

        ● w表示写权限

        ● x表示执行权限

针对文件,文件夹的不同,rwx的含义有细微差别

        ● r,针对文件可以查看文件内容;针对文件夹看可以查看文件夹内容,如 ls 命令

        ● w,针对文件表示可以修改此文件;针对文件夹可以在文件夹内:创建、删除、改名等

        ● x,针对文件表示可以将文件作为程序执行;针对文件夹可以更改工作目录到此文件夹,即cd进入

修改权限控制

chmod

功能:修改文件、文件夹的权限信息

注:只有文件、文件夹的所属用户或root用户可以修改

语法:

chmod [-R] 权限 文件或文件夹

        ● 选项:-R,对文件夹内的全部内容应用同样的操作
示例:
        ● chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x--x

                其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限

         ● chmod -R u=rwx,g=rx,o=x test,将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x

除此以外,还有快捷写法:chmod 751 hello.txt

将hello.txt的权限修改为751

极限的数字序号

权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。

数字的细节如下:r记为4,w记为2,x记为1,可以有:

        ● 0:无任何权限,即 ---

        ● 1:仅有x权限,即 --x

        ● 2:仅有w权限,即 -w-

        ● 3:有w和x权限,即 -wx

        ● 4:仅有r权限,即 r--

        ● 5:有r和x权限,即 r-x

        ● 6:有r和w权限,即 rw-

        ● 7:有全部权限,即 rwx

所以751表示:rwx(7) r-x(5) --x(1)

chown

功能:修改文件、文件夹的所属用户和用户组

注:普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行

语法:

chown [-R] [用户] [:] [用户组] 文件或文件夹

        ● 选项,-R,同chmod,对文件夹内全部内容应用相同规则

        ● 选项,用户,修改所属用户

        ● 选项,用户组,修改所属用户组

        ● :用于分隔用户和用户组

示例:

        ● chown root hello.txt,将hello.txt所属用户修改为root

        ● chown :root hello.txt,将hello.txt所属用户组修改为root

        ● chown root:itheima hello.txt,将hello.txt所属用户修改为root,用户组修改为itheima

        ● chown -R root test,将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则

四、Linux实用操作------熟练

各类快捷键

ctrl + c

功能:

        ● 可以强制停止程序的运行

        ● 命令输入错误,可以通过快捷键ctrl + c,退出当前命令的输入

ctrl + d

功能:

        ● 退出账户的登录

        ● 退出某些特定程序的专属页面

注:不能用于退出vi/vim

历史命令搜索

        ● 可以通过history命令,查看历史输入过的命令

        ● 可以通过:!命令前缀,自动执行上一次匹配前缀的命令

        ● 可以通过快捷键 ctrl + r,输入内容去匹配历史命令

                如果搜索到的内容是你需要的,那么:

                        ● 回车键直接执行

                        ● 键盘左右键,可以得到此命令(不执行)

光标移动快捷键

        ● ctrl +a,跳到命令开头

        ● ctrl +e,跳到命令结尾

        ● ctrl + 键盘左键,向左跳一个单词

        ● ctrl + 键盘右键,向右跳一个单词

清屏

        ● 通过快捷键ctrl + l,可以清空终端内容

        ● 或通过命令clear得到同样效果

使用yum为CentOS系统安装软件

操作系统安装软件有多种方式,一般分为:

        ● 下载安装包自行安装

                ● 如win系统使用exe文件、msi文件等

                ● 如mac系统使用dmg文件、pkg文件等

        ● 系统的应用商店内安装

               ● 如win系统有Microsoft Store商店

               ●如mac系统有 AppStore商店

Linux系统同样支持这两种方式,首先学习使用:Linux命令行内的“应用商店”,yum命令安装软件

yum命令

yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题

语法:

yum [-y] [install | remove | search] 软件名称 

        ● 选项:-y,自动确认,无需手动确认安装或卸载过程

        ● install:安装

        ● remove:卸载

        ● search:搜索

yum命令需要root权限哦,可以su切换到root,或使用sudo提权

yum命令需要联网

        ● yum [-y] install wget,通过yum命令安装wget程序

        ● yum [-y] remove wget,通过yum命令卸载wget程序

        ● yum search wget,通过yum命令,搜索是否有wget安装包

若安装wget遇到问题,可参考下列文章:

https://blog.csdn.net/m0_58087746/article/details/142288688?spm=1001.2014.3001.5501

掌握使用apt为Ubuntu安装软件(扩展)

apt命令 - 扩展

前面学习的各类Linux命令,都是通用的。但是软件安装,CentOS系统和Ubuntu是使用不同的包

管理器。

CentOS使用yum管理器,Ubuntu使用apt管理器

通过前面学习的WSL环境,我们可以得到Ubuntu运行环境

语法:

apt [-y] [install | remove | search] 软件名称 

用法和yum一致,同样需要root权限

        ● apt install wget,安装wget

        ● apt remove wget,移除wget

        ● apt search wget,搜索wget

systemctl命令

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启

能够被systemctl管理的软件,一般也称之为:服务

语法:

systemctl start | stop | status | enable | disable 服务名

        ● start:启动

        ● stop:关闭

        ● status:查看状态

        ● enable:开启开机自启

        ● disable:关闭开机自启

系统内置的服务比较多,比如:

        ● NetworkManager,主网络服务

        ● network,副网络服务

        ● firewalld,防火墙服务

        ● sshd,ssh服务(FinalShell远程登录Linux用的就是这个服务)

除了内置的服务以外,部分第三方软件安装后也可以以systemctl进行控制

        ● yum install -y ntp,安装ntp软件

                可以通过ntpd服务名,配合systemctl进行控制

        ● yum install -y httpd,安装apache服务器软件

                可以通过httpd服务名,配合systemctl进行控制

示例:安装ntp软件,通过systemctl 控制  查看状态,启动

部分软件安装后没有集成到systemctl中,我们可以手动添加

这部分内容在后续章节介绍

软链接

ln命令创建软链接

在系统中创建软链接,可以将文件、文件夹链接到其他位置

类似于Windows中的快捷方式

语法:

ln -s 参数1 参数2

        ● -s选项,创建软链接

        ● 参数1:被链接的文件或文件夹

        ● 参数2:要链接去的目的地

实例:1.将etc下yum.conf文件链接到 HOME目录下的yum.conf   2.将/etc/yum文件夹链接到HOME目录下yum文件

ln -s /etc/yum.conf ~/yum.conf
ln -s /etc/yum ~/yum

  

l 开头代表软链接

日期、时区

五、实战软件部署------深入掌握

六、脚本&自动化------用的更溜

七、项目实战------学到经验

八、云平台技术------紧跟潮流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值