Linux学习笔记——CentOS
<div id="content_views" class="markdown_views prism-atom-one-light"><p> </p>
<div class="toc">
<h3>Linux</h3>
<ul>
<li>1 介绍</li>
<li>2 安装</li>
<li>3 Linux 的目录结构</li>
<li>4 远程操作工具</li>
<li>5 vi 和 vim 编辑器</li>
<li>6 用户管理</li>
<li>7 组</li>
<li>8 系统命令</li>
<li>9 帮助命令</li>
<li>10 目录、文件操作</li>
<li>
<ul>
<li>10.1 pwd、ls</li>
<li>10.2 cd</li>
<li>10.3 mkdir、rmdir</li>
<li>10.4 touch</li>
<li>10.5 cp</li>
<li>10.6 rm</li>
<li>10.7 mv</li>
<li>10.8 cat</li>
<li>10.9 more</li>
<li>10.10 less</li>
<li>10.11 head</li>
<li>10.12 tail</li>
<li>10.13 echo</li>
<li>10.14 >、>></li>
</ul>
</li>
<li>11 日期与时间</li>
<li>12 搜索目录与文件</li>
<li>13 过滤查找</li>
<li>14 压缩</li>
<li>
<ul>
<li>14.1 gzip、gunzip</li>
<li>14.2 zip、unzip</li>
<li>14.3 tar</li>
</ul>
</li>
<li>15 文件、目录与组的关系</li>
<li>
<ul>
<li>15.1 修改文件或目录的所有者</li>
<li>15.2 修改文件或目录的所在组</li>
</ul>
</li>
<li>16 权限管理</li>
<li>
<ul>
<li>16.1 文件和目录的权限</li>
<li>16.2 查看权限</li>
<li>16.3 修改权限</li>
<li>16.4 用数字的方式修改权限</li>
</ul>
</li>
<li>17 网络配置</li>
<li>18 进程管理</li>
<li>19 服务管理</li>
<li>20 软件包管理</li>
<li>
<ul>
<li>20.1 RPM 包</li>
<li>20.2 YUM 包</li>
</ul>
</li>
<li>21 搭建 JavaEE 开发环境</li>
<li>
<ul>
<li>21.1 安装 jdk</li>
<li>21.2 安装 tomcat</li>
<li>21.3 安装 MySQL</li>
</ul>
</li>
</ul>
</div>
<p> </p>
<p>VMware虚拟机</p>
<p>Xshell+Xftp</p>
<h1>1 介绍</h1>
<ol>
<li>
<p>Linux 是一个开源、免费的操作系统,具有很强的稳定性、安全性、以及处理多并发的能力,目前大多数企业级应用甚至是集群项目都部署运行在 Linux 操作系统上,很多软件公司考虑到开发成本都首选Linux,Linux 在中国软件公司得到了广泛的使用。</p>
</li>
<li>
<p>Linux 的主要发行版本有以下几种:<br> <strong>Ubuntu(乌班图)</strong>、<strong>RedHat(红帽)</strong>、<strong>CentOS</strong>、Debain(蝶变)、Fedora、SuSE、OpenSUSE、红旗Linux(国产)。<br> 我们使用 CentOS 进行学习。</p>
</li>
</ol>
<h1>2 安装</h1>
<ol>
<li>VMware12 虚拟机。</li>
<li>CentOS 镜像系统。</li>
</ol>
<h1>3 Linux 的目录结构</h1>
<p><img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144848-501775143.png"></p>
<ol>
<li>/:Linux 系统的根目录。</li>
<li>root:该目录为系统管理员目录,root 是具有超级权限的用户。</li>
<li>bin ->usr/bin:存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。</li>
<li>usr:Linux 的系统资源目录,里面存放的是一些系统可执行文件或者系统的一些文件库。</li>
<li>usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。</li>
<li>lib->usr/lib:这个目录存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件,几乎所有的应用程序都需要用到这些共享库。</li>
<li>boot:这个目录存放启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。</li>
<li>dev:dev是 Device(设备)的缩写,该目录下存放的是 Linux 的外部设备,Linux 中的设备也是以文件的形式存在。</li>
<li>etc:这个目录存放 Linux 系统的所有配置文件。</li>
<li>home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。</li>
<li>var:这个目录存放在不断扩充的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。</li>
<li>mnt:系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容。</li>
<li>opt:存放 Linux 中额外安装的软件。比如安装的 MySQL 数据库就可以放到这个目录下,该目录默认为空。</li>
<li>tmp:该目录用来存放临时文件。</li>
</ol>
<h1>4 远程操作工具</h1>
<ol>
<li>Xshell:远程终端。</li>
<li>Xftp:远程文件传输。</li>
</ol>
<h1>5 vi 和 vim 编辑器</h1>
<p>vi 和 vim 是 Linux 提供的文本编辑器。</p>
<ol>
<li>三种模式:</li>
</ol>
<div class="table-box">
<table>
<thead>
<tr><th>模式</th><th>进入方法</th></tr>
</thead>
<tbody>
<tr>
<td>正常模式</td>
<td><code>vim 文件名</code>,进入正常模式。若文件存在,则打开文件;若文件不存在,则新建并打开文件。正常模式下只能进行读操作。</td>
</tr>
<tr>
<td>编辑模式</td>
<td>在正常模式下,按<code>a</code>或<code>i</code>,进入编辑模式,按<code>ESC</code>,退出编辑模式。在编辑模式下可以进行读写操作。</td>
</tr>
<tr>
<td>命令模式</td>
<td>在正常模式下,输入<code>:</code>,进入命令模式。命令模式下,输入<code>q</code>:文件没有做任何修改时退出;<code>wq</code>:保存并退出;<code>q!</code>:不保存强制退出。</td>
</tr>
</tbody>
</table>
</div>
<ol start="2">
<li>快捷键:</li>
</ol>
<div class="table-box">
<table>
<thead>
<tr><th>快捷键</th><th>功能</th></tr>
</thead>
<tbody>
<tr>
<td><code>yy</code></td>
<td>复制光标所在行</td>
</tr>
<tr>
<td><code>nyy</code></td>
<td>复制光标所在行向下 n 行(包括光标所在行)</td>
</tr>
<tr>
<td><code>p</code></td>
<td>粘贴到光标所在行的下一行</td>
</tr>
<tr>
<td><code>dd</code></td>
<td>删除光标所在行</td>
</tr>
<tr>
<td><code>ndd</code></td>
<td>删除光标所在行向下 n 行(包括光标所在行)</td>
</tr>
<tr>
<td><code>u</code></td>
<td>撤销上一次操作</td>
</tr>
<tr>
<td><code>/xxx</code></td>
<td>搜索 xxx,在命令模式下使用</td>
</tr>
<tr>
<td><code>set nu</code></td>
<td>显示行号,在命令模式下使用</td>
</tr>
<tr>
<td><code>set nonu</code></td>
<td>关闭行号,在命令模式下使用</td>
</tr>
</tbody>
</table>
</div>
<h1>6 用户管理</h1>
<p>root 账户,具有 Linux 系统的最高权限,可以进行用户管理操作。</p>
<p>在 root 账户下,使用命令:</p>
<ol>
<li><code>useradd 用户名</code>:添加用户。<br> 该命令执行后,会有三个操作:<br> (1)创建用户<br> (2)创建用户根目录 /home/用户名<br> (3)创建主组,组名为用户名,并把该用户添加到该组中。<br> 也可以在创建用户时,指定用户根目录:<code>useradd -d /home/目录名 用户名</code>。</li>
<li><code>passwd 用户名</code>:为用户设置密码。密码不能少于7位,不能过于简单,不能是单词的组合。</li>
<li><code>userdel -r 用户名</code>:删除用户以及用户根目录。<code>userdel 用户名</code>:只删除用户,不删除用户根目录。</li>
<li><code>id 用户名</code>:查看用户信息。主要用于查看用户的组信息。</li>
<li><code>su 用户名</code>:切换用户。从 root 切换到其他用户可以直接切换;从其他用户切换到 root 需要输入密码。</li>
</ol>
<h1>7 组</h1>
<p>组是 Linux 中,进行权限管理的基本方式。可以将具有相同权限的用户放在同一个组中,便于管理。</p>
<ul>
<li><code>groupadd 组名</code>:新建组。</li>
<li><code>groupdel 组名</code>:删除组。</li>
<li><code>gpasswd -a 用户名 组名</code>:将用户添加到组中。</li>
<li><code>gpasswd -d 用户名 组名</code>:将用户从组中删除。</li>
<li><code>useradd -g 组名 用户名</code>:创建用户时指定用户所在组(此时不会创建默认组)。</li>
</ul>
<h1>8 系统命令</h1>
<ul>
<li><code>shutdown now</code>:立即关机。</li>
<li><code>shutdown -h 时间</code>:定时关机。时间可以为数字,单位为分钟;也可以为具体时间,如17:00。</li>
<li><code>shutdown -r now</code>:立即重启。</li>
<li><code>shutdown -c</code>:取消上一条 shutdown 命令。</li>
<li><code>reboot</code>:立即重启。</li>
<li><code>sync</code>:把内存的数据同步到磁盘。</li>
</ul>
<h1>9 帮助命令</h1>
<ul>
<li><code>man 命令名</code>:查看该命令的系统说明文档。分屏显示,<code>Enter</code>:下一行,<code>空格</code>:下一页,<code>q</code>:退出。</li>
<li><code>help 命令名</code>:查看该命令的开发注释。</li>
</ul>
<h1>10 目录、文件操作</h1>
<h2>10.1 pwd、ls</h2>
<ul>
<li><code>pwd</code>:查看当前所在目录的全路径。</li>
<li><code>ls [选项] [目录名]</code>:查看指定目录下的所有目录和文件。
<ul>
<li><code>ls</code>:查看当前目录。</li>
<li><code>ls /home</code>:查看 home 目录。</li>
<li><code>ls -a /home</code>:查看 home 目录下 (包括隐藏和虚拟的) 所有目录和文件。</li>
<li><code>ls -l /home</code>:以列表形式展示 home 目录下的所有目录和文件。</li>
<li><code>ls -al /home</code>:以列表形式展示 home 目录下(包括隐藏和虚拟的)所有目录和文件。</li>
</ul>
</li>
</ul>
<h2>10.2 cd</h2>
<ol>
<li><code>cd 目录名</code>:切换目录。</li>
<li>绝对目录:从盘符根路径开始。Linux 只有一个根路径 /。如,<code>cd /home/mcc</code>:进入 mcc 目录。</li>
<li>相对目录:从当前目录开始。假设当前在 home 目录,<code>cd mcc</code>:进入 mcc 目录。</li>
<li><code>~</code>:绝对目录,当前用户的根目录。~ = /home/用户名。<code>cd ~</code>:进入用户根目录。</li>
<li><code>..</code>:相对目录,当前目录的上一级目录。<code>cd ..</code>:进入上一级目录。</li>
<li><code>.</code>:相对目录,当前目录。<code>cd ./xxx = cd xxx</code>:进入当前目录下的 xxx 目录。</li>
</ol>
<h2>10.3 mkdir、rmdir</h2>
<ol>
<li><code>mkdir [选项] 目录名</code>:创建目录。如,<code>mkdir /home/mcc/dir</code>:创建 dir 目录。</li>
<li><code>mkdir -p 目录名/目录名</code>:创建多级目录。<code>mkdir -p dir1/dir2</code>:创建 dir1 和 dir2 目录。</li>
<li><code>rmdir 目录名</code>:删除一个空目录。</li>
</ol>
<h2>10.4 touch</h2>
<ul>
<li><code>touch 文件名列表(多个文件名用空格隔开)</code>:创建一个或多个空文件。如,<code>touch text1.txt text2.txt</code>。创建后,如果需要编写内容,可以用 vi 或 vim 打开。</li>
</ul>
<p>vi 或 vim 创建的文件会默认直接打开。如果需要创建之后马上打开编辑,可以使用 vi 或 vim 创建;如果只需要创建,不需要打开,可以使用 touch 创建。</p>
<h2>10.5 cp</h2>
<ul>
<li><code>cp [选项] sourceFile dest</code>:将 sourceFile 复制到 dest (复制单个文件)。如,<code>cp text1.txt dir/textcp.txt</code>:将 text.txt 复制到当前目录下 dir 文件夹下,文件名为 textcp.txt。</li>
<li><code>cp -r sourceDir dest</code>:将 sourceDir 以及其中的文件,复制到 dest (复制目录和目录中的文件)。如,<code>cp -r dir /home/mcc</code>,将 dir 目录和其中的文件,复制到 /home/mcc 下。</li>
</ul>
<h2>10.6 rm</h2>
<ul>
<li><code>rm 文件名</code>:删除文件。会提示是否确认删除。</li>
<li><code>rm -f 文件名</code>:强制删除文件。不提示是否确认删除。</li>
<li><code>rm -r 目录名</code>:删除目录以及目录中的文件。会提示是否确认删除。执行流程:先进入到目录中,删除目录中的全部文件,再删除该目录。</li>
<li><code>rm -rf 目录名</code>:强制删除目录以及目录中的文件。不提示是否确认删除。</li>
</ul>
<h2>10.7 mv</h2>
<div class="table-box">
<table>
<thead>
<tr><th>命令</th><th>结果</th></tr>
</thead>
<tbody>
<tr>
<td><code>mv file dir</code></td>
<td>(1)dir 存在,将 file 移动到 dir 下。(2)dir 不存在,将 file 重命名为 dir。</td>
</tr>
<tr>
<td><code>mv dir1 dir2</code></td>
<td>(1)dir2 存在,将 dir1,包括其中的子目录和文件,移动到 dir2 下。(2)dir2 不存在,将 dir1 重命名为 dir2。</td>
</tr>
<tr>
<td><code>mv file1 file2</code></td>
<td>将 file1 重命名为 file2,若 file2 已经存在,则会将 file2 覆盖。</td>
</tr>
</tbody>
</table>
</div>
<h2>10.8 cat</h2>
<ul>
<li><code>cat [选项] 文件名</code>:以只读形式,查看文件内容。</li>
<li><code>cat -n 文件名</code>:显示行号。</li>
</ul>
<h2>10.9 more</h2>
<ul>
<li><code>more 文件名</code>:以只读、全屏方式,按页显示文件内容。 <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144848-1892682949.png"></li>
</ul>
<h2>10.10 less</h2>
<ul>
<li><code>less 文件名</code>:分屏查看文件内容,功能与 more 指令类似。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示加载内容,在显示大型文件时具有较高的效率。<br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144976-886198883.png"></li>
</ul>
<h2>10.11 head</h2>
<ul>
<li><code>head 文件名</code>:默认查看文件的前 10 行内容。</li>
<li><code>head -n num 文件名</code>:查看文件的前 num 行内容。如,<code>head -n 5 test.txt</code>:查看 test.txt 的前 5 行内容。</li>
</ul>
<h2>10.12 tail</h2>
<ul>
<li><code>tail 文件名</code>:默认查看文件的最后 10 行内容。</li>
<li><code>tail -n num 文件名</code>:查看文件的最后 num 行内容。如,<code>tail -n 5 test.txt</code>:查看 test.txt 的最后 5 行内容。</li>
</ul>
<h2>10.13 echo</h2>
<ul>
<li><code>echo 输出内容</code>:在控制台输出变量或常量的内容。其中,变量要用<code>$变量名</code>表示。如,<code>echo $PATH</code>:输出环境变量值;<code>echo Hello, Linux</code>:输出 Hello, Linux。</li>
</ul>
<h2>10.14 >、>></h2>
<ul>
<li><code>查看命令 > 文件</code>:写入。将查看命令查出的结果保存到指定文件中。若文件不存在,则新建文件再保存;若文件存在,则直接保存。若两次操作指定的文件相同,则后一次查看的结果会覆盖前一次。如,<code>ls > res.txt</code>:将当前目录下的所有目录名和文件名,保存到 res.txt 中。如果再执行,<code>ls test.txt > res.txt</code>:则会覆盖文件中原有内容,将本次查看结果保存到 res.txt 中。</li>
<li><code>查看命令 >> 文件</code>:追加。与 > 类似,只不过新的查看结果会追加在文件的原有内容之后,不会覆盖。</li>
</ul>
<h1>11 日期与时间</h1>
<p>日期与时间:</p>
<ul>
<li><code>date</code>:查看系统的日期与时间。</li>
<li><code>date +%Y</code>:查看年份。</li>
<li><code>date +%m</code>:查看月份。</li>
<li><code>date +%d</code>:查看日期。</li>
<li><code>date '+%Y-%m-%d %H:%M:%S'</code>:以 年-月-日 时:分:秒 的格式查看系统日期和时间。</li>
<li><code>date -S '年-月-日 时:分:秒'</code>:设置系统日期和时间。</li>
</ul>
<p>日历:</p>
<ul>
<li><code>cal</code>:查看当前月份的日历。</li>
<li><code>cal 年份</code>:查看某一年的日历。</li>
</ul>
<h1>12 搜索目录与文件</h1>
<p>find:</p>
<ul>
<li><code>find [搜索范围] [搜索标准] 关键字</code>:按条件搜索。</li>
<li>搜索标准:<code>-name</code>:按名称查找,默认,文件或目录所在的路径也在搜索范围之内。<code>-size</code>:按大小查找。<code>-user</code>:按用户权限查找。</li>
<li>举例:
<ul>
<li>查找当前目录下名称中包含 a 的 txt 文件:<code>find *a*.txt = find -name *a*.txt</code>。其中,<code>*</code>是 Linux 系统中的通配符。</li>
<li>查找当前目录下所有名称包含 d 的目录和文件:<code>find *d*</code>。</li>
<li>查找 etc 目录下所有 txt 文件:<code>find /etc *.txt</code>。</li>
<li>查找 etc 目录下文件大小小于 5M 的 txt 文件:<code>find /etc -size -5M -name *.txt</code>。</li>
<li>查找 etc 目录下,所有者是 mcc 的目录和文件:<code>find /etc -user mcc</code>。</li>
</ul>
</li>
</ul>
<p>locate:</p>
<ul>
<li><code>locate 关键字</code>:在 Linux 系统的目录树中查找满足条件的目录和文件。<br> 因为新建的目录和文件不能及时同步到目录树中,因此使用该命令之前,需要先同步目录树:<code>updatedb</code>,再使用 locate 命令查找。</li>
</ul>
<h1>13 过滤查找</h1>
<ul>
<li><code>查看或搜索命令 |grep [选项] 过滤条件</code>:对查看或搜索的结果进行进一步过滤。<br> 选项:<code>-n</code>,显示匹配行的行号;<code>-i</code>,匹配时忽略大小写。</li>
<li><code>|</code>:管道符,表示将前一个命令的处理结果,传递给后面的命令处理。</li>
<li>举例:<br> <code>find *.txt |grep a</code>:查找名称包含 a 的 txt 文件。<br> <code>cat text.txt |grep -ni abc</code>:查找 text.txt 中的 abc(忽略大小写),并显示 abc 所在行号。<br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144826-567296559.png"></li>
</ul>
<h1>14 压缩</h1>
<h2>14.1 gzip、gunzip</h2>
<ul>
<li><code>gzip 被压缩文件名</code>:压缩单个文件,后缀名为<code>.gz</code>,并删除被压缩的文件。</li>
<li><code>gunzip gz压缩包名</code>:解压 gz 压缩包,解压完成后删除压缩包。</li>
</ul>
<h2>14.2 zip、unzip</h2>
<ul>
<li><code>zip 压缩包名 被压缩文件或目录列表</code>:压缩单个或多个文件和目录,后缀名为<code>.zip</code>。不会删除被压缩的文件和目录。</li>
<li><code>unzip 压缩包名</code>:将压缩包解压到当前目录下。原压缩包不会被删除。</li>
<li><code>unzip 压缩包名 -d 解压目录</code>:将压缩包解压到指定目录下。</li>
</ul>
<h2>14.3 tar</h2>
<ul>
<li><code>tar -zcvf 压缩包名 被压缩文件或目录列表</code>:压缩一个或多个文件和目录,后缀名为<code>.tar.gz</code>。不会删除被压缩的文件和目录。</li>
<li><code>tar -zxvf 压缩包名</code>:将压缩包解压到当前目录下。原压缩包不会被删除。</li>
<li><code>tar -zxvf 压缩包名 -C 解压目录</code>:将压缩包解压到指定目录下。</li>
<li>选项说明:<br> -c:压缩<br> -x:解压<br> -z:打包同时压缩<br> -f:指定压缩后的文件名<br> -v:显示详细信息<br> -C:指定解压到哪个目录</li>
</ul>
<h1>15 文件、目录与组的关系</h1>
<p>在 Linux 系统中,每个用户都有一个主组,主组时是创建用户时必须要指定的,并且不能修改。每个用户可以有多个额外组,这些额外组表示用户的其他权限。</p>
<p>对于文件和目录来说,每个文件和目录都有自己的所有者和组,只有<strong>所有者</strong>和<strong>相同组的用户</strong>,才有操作权限。</p>
<p>使用命令<code>ls -l</code>查看文件和目录的所有者、所在组。<br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144915-1068620564.png"></p>
<h2>15.1 修改文件或目录的所有者</h2>
<ul>
<li><code>chown 新的所有者 文件或目录名</code>:不会修改目录内的文件和目录的所有者。</li>
<li><code>chown -R 新的所有者 文件或目录名</code>:修改文件或目录的所有者,包括目录内的文件和目录。</li>
<li><code>chown [-R] 新的所有者:新的所在组 文件或目录名</code>:同时修改所有者和所在组。</li>
</ul>
<h2>15.2 修改文件或目录的所在组</h2>
<ul>
<li><code>chgrp 新的所在组 文件或目录名</code>:不会修改目录内的文件和目录的所在组。</li>
<li><code>chown -R 新的所在组 文件或目录名</code>:修改文件或目录的所在组,包括目录内的文件和目录。</li>
</ul>
<h1>16 权限管理</h1>
<h2>16.1 文件和目录的权限</h2>
<p>对于用户来说,一个用户只有一个主组,但可以有多个副组。<br> 对于文件和目录来说,一个文件或目录只能有一个所有者,一个所在组。</p>
<p>文件和目录的权限:</p>
<div class="table-box">
<table>
<thead>
<tr><th>类型</th><th>权限</th></tr>
</thead>
<tbody>
<tr>
<td>文件</td>
<td>(1)读 read:查看文件,如 cat、more、less、head、tail 等。(2)写 write:编辑文件,如 vi、vim 等。(3)执行 execute:运行可执行文件(.sh 文件)。</td>
</tr>
<tr>
<td>目录</td>
<td>(1)读 read:查看目录内容,如 ls 等。(2)写 write:在目录内创建、删除、重命名子目录或文件等。如 mkdir。(3)执行 execute:进入该目录,如 cd 等。</td>
</tr>
</tbody>
</table>
</div>
<h2>16.2 查看权限</h2>
<p>使用<code>ls -l</code>查看文件和目录的权限:<br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144888-1498761806.png"></p>
<ul>
<li><code>r</code>:读权限。</li>
<li><code>w</code>:写权限。</li>
<li><code>x</code>:执行权限。</li>
</ul>
<h2>16.3 修改权限</h2>
<p>如果要修改一个文件或目录的权限,那么该用户必须具有对这个文件或目录的<code>w</code>权限。<br> 如果要删除一个文件或目录,那么该用户必须具有对这个文件或目录的上层目录的<code>w</code>权限。</p>
<p>修改权限:</p>
<ul>
<li><code>chmod</code>:修改文件或目录权限。</li>
<li><code>u</code>、<code>g</code>、<code>o</code>、<code>a</code>:分别对应所有者、同组用户、其他组用户、所有用户。</li>
<li><code>+</code>、<code>-</code>、<code>=</code>:分别对应添加、删除、设置某个权限。</li>
<li><code>r</code>、<code>w</code>、<code>x</code>:分别对应读、写、执行权限。</li>
<li>举例:<br> (1)删除 test.txt 同组用户的编辑权限:<code>chmod g-w test.txt</code>;<br> (2)删除 test.txt 同组用户的读取和编辑权限:<code>chmod g-rw test.txt</code>;<br> (3)为 test.txt 的同组用户添加执行权限,并删除其他用户的读取权限:<code>chmod g+x,o-r test.txt</code>。</li>
</ul>
<h2>16.4 用数字的方式修改权限</h2>
<p>rwx 权限可以用数字的和来表示:<code>r-4, w-2, x-1</code><br> 若权限为读和写,则可以使用 6,来代替 rw。<br> 注意,如果使用数字设置权限,则必须将 u、g、o 的权限同时设置,也就是说必须三组数字一起使用。</p>
<p>举例:<br> 将 test.txt 所有者权限设置为 rwx,同组用户为 rw,其他用户没有任何权限:<code>chmod 760 test.txt</code>。</p>
<h1>17 网络配置</h1>
<ol>
<li>
<p>获取 ip 地址,网关,DNS。如果是自己的电脑,按照下面的方法查看,如果是公司服务器,则公司会提供,只需设置进去就可以。<br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144879-1618040337.png"><br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144895-925409320.png"><br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144931-1755146628.png"><br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144879-2002789738.png"></p>
</li>
<li>
<p>网络的配置文件在 /etc/sysconfig/network-scripts 目录下:<code>cd /etc/sysconfig/network-scripts</code><br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144867-249693568.png"></p>
</li>
<li>
<p>使用 vi 或 vim 编辑器打开配置文件,进行配置。<br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144920-345645922.png"></p>
</li>
<li>
<p>配置完成后,要重启 Linux 系统,才会生效:<code>reboot</code>。</p>
</li>
<li>
<p>配置完成后,可以使用:<code>ifconfig</code>,查看 ip 地址。<br> <img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144877-1178266938.png"></p>
</li>
</ol>
<h1>18 进程管理</h1>
<ol>
<li>
<p>查看进程:<br> 查看 Linux 系统正在运行的进程:<code>ps -ef</code>。<br> 可以通过过滤功能,查看指定进程是否运行:<code>ps -ef | grep xxx</code>。</p>
</li>
<li>
<p>关闭进程:<br> 使用命令:<code>ps -ef</code>,查看进程的 PID<br> 使用命令:<code>kill -9 PID</code>,关闭 PID 进程。</p>
</li>
</ol>
<h1>19 服务管理</h1>
<p><code>systemctl 服务名称</code></p>
<p>start:开启服务。<br> stop:停止服务。<br> restart:重启服务。<br> reload:重新加载数据、配置文件等。<br> status:查看服务状态。<br> enable:将服务设置为开机启动。</p>
<p>防火墙服务:firewalld</p>
<h1>20 软件包管理</h1>
<h2>20.1 RPM 包</h2>
<ul>
<li>查看当前系统中已经安装的 RPM 包:<code>rpm -qa</code>,查看是否安装 xxx 包:<code>rpm -qa | grep xxx</code>。</li>
<li>安装 RPM 包:<code>rpm -ivh xxx.rpm</code>。</li>
<li>卸载 RPM 软件:<code>rpm -e 软件名称</code>。</li>
</ul>
<h2>20.2 YUM 包</h2>
<p>YUM 包基于 RPM 包,类似于 Maven,不需要处理软件包之间的依赖关系,通过执行 YUM 命令,系统会自动去 YUM 服务器上下载所有依赖。不需要预先将软件包下载到本地。</p>
<ul>
<li>查看当前系统中已经安装的 RPM 包:<code>yum list installed</code>,查看是否安装 xxx 包:<code>yum list installed | grep xxx</code>。</li>
<li>安装 RPM 包:<code>yum install 软件名称</code>。</li>
<li>卸载 RPM 软件:<code>yum remove 软件全名</code>。</li>
</ul>
<h1>21 搭建 JavaEE 开发环境</h1>
<h2>21.1 安装 jdk</h2>
<ol>
<li>使用 Xftp 软件,将 Linux 版本的 jdk 安装包传输到 /opt 目录下。</li>
<li>进入到 /opt 目录下,使用命令:<code>tar -zxvf jdk压缩包名称 -C 解压路径</code>,将 jdk 压缩包解压。</li>
<li>进入到 /etc 目录下,在<code>profile</code>文件中进行环境变量的配置。</li>
<li>配置环境变量:
<pre class="prettyprint"><code class="has-numbering" style="position: unset">JAVA_HOME=jdk安装路径
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib:.
export JAVA_HOME PATH CLASSPATH</code></pre>
<div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"> </div>
<ul class="pre-numbering">
<li style="color: rgba(153, 153, 153, 1)">1</li>
<li style="color: rgba(153, 153, 153, 1)">2</li>
<li style="color: rgba(153, 153, 153, 1)">3</li>
<li style="color: rgba(153, 153, 153, 1)">4</li>
</ul>
</li>
<li>重启 Linux 系统:<code>reboot</code>或重新加载 profile 配置文件:<code>source profile</code>。</li>
<li>输入:<code>java -version</code>,查看 jdk 是否安装成功。</li>
</ol>
<h2>21.2 安装 tomcat</h2>
<ol>
<li>使用 Xftp 软件,将 Linux 版本的 tomcat 安装包传输到 /opt 目录下。</li>
<li>进入到 /opt 目录下,使用命令:<code>tar -zxvf jdk压缩包名称 -C 解压路径</code>,将 tomcat 压缩包解压。</li>
<li>进入到 tomcat 安装目录下的 bin 目录,执行 <code>startup.sh</code>文件,启动 tomcat 服务器。</li>
<li>使用:<code>ps -ef | grep tomcat</code>,查看是否存在 tomcat 进程,如果存在,则代表已经启动了 tomcat 服务器。也可以在浏览器中,输入 http://localhost:8080,看能否访问到页面。</li>
<li>如果要在外部浏览器访问 Linux 的 tomcat 服务器,如在 Windows 系统上访问,则需要关闭 Linux 的防火墙服务:<code>systemctl stop firewalld</code>,之后在 Windows 的浏览器中输入:<code>http://Linux的ip地址:8080</code>,就可以访问。</li>
</ol>
<h2>21.3 安装 MySQL</h2>
<ol>
<li>检查 Linux 中是否安装了 mariadb:<code>yum list installed | grep mariadb</code>,如果安装了,需要卸载:<code>yum remove mariadb全称</code>。<br><img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144873-1566078135.png"></li>
<li>使用 Xftp 软件,将 Linux 版本的 mysql 安装包传输到 /opt 目录下。</li>
<li>进入到 /opt 目录下,使用命令:<code>tar -zxvf mysql压缩包名称 -C 解压路径</code>,将 mysql 压缩包解压。</li>
<li>由于 mysql 解压之后的目录名很长,不方便后续使用,所以重命名 mysql 目录名:<code>mv 原目录名 新目录名</code>,注意,新目录之前不能存在,否则会将原目录移动到新目录下,而不是重命名。这里假设重命名后的目录名为:mysqlDir。</li>
<li>在 mysqldir 下,创建存放数据的目录 data:<code>mkdir data</code>。该目录用来存放数据库文件,数据库的表等数据都放在 data 目录下。</li>
<li>创建用来执行<code>mysqld</code>命令的 Linux 用户:<code>groupadd mysql</code>、<code>useradd -g mysql mysql</code>。该用户专门用来执行 mysql 的 mysqld 命令,此命令用来初始化 msyql 的基本信息。</li>
<li>初始化 mysql,使用 mysqld 命令初始化数据库的基本信息。<strong>在 mysqlDir/bin 目录下</strong>,使用命令:<code>./mysqld --initialize --user=mysql --datadir=/opt/mysqlDir/data --basedir=/opt/mysqlDir</code>。该命令执行后,会生成一个临时的 mysql 数据库 root 用户的密码,先将改密码记录下来,后续第一次登录 mysql 时需要使用。<br><img src="https://img2022.cnblogs.com/blog/2699669/202204/2699669-20220404163144862-875522883.png"></li>
<li>开启 mysql 的安全功能。该功能将客户端和服务器之间传输的数据进行加密,通过证书提供了身份验证机制。<strong>在 mysqlDir/bin 目录下</strong>,使用命令:<code>./mysql_ssl_rsa_setup --datadir=/opt/mysqlDir/data</code>,开启该功能。</li>
<li>修改 mysql 安装目录的权限。由于安装 mysql 是在 root 账户下安装的,所以之前新建的,用于管理 mysql 的账户并不具有最高权限。因此,要修改 mysql 安装目录,即 mysqlDir 的所有者为 mysql,所在组为 mysql,并开放所有权限。在 mysqlDir 的上级目录下执行命令:<code>chown -R mysql:mysql /opt/mysqlDir/</code>、<code>chmod 777 /opt/mysqlDir/</code>。</li>
<li>启动 mysql。在 <strong>mysqlDir/bin</strong> 目录下,使用命令:<code>./mysqld_safe &</code>,启动 mysql 服务,其中 & 表示后台启动。使用:<code>ps -ef | grep mysql</code>,查看 mysql 服务是否启动成功。</li>
<li>登录 mysql。在 <strong>mysqlDir/bin</strong> 目录下,使用命令:<code>./mysql -u用户名 -p</code>,输入初始化密码,登录 mysql。其中,-u 表示使用哪个账户登录 mysql,-p 表示使用密码登录。</li>
<li>修改密码。登入 mysql 后,使用命令:<code>show databases;</code>,第一次使用时,会提示修改密码。使用命令:<code>alter user '用户名'@'主机域名或ip' identified by '新密码';</code>,如 <code>alter user 'root'@'localhost' identified by 'mcc';</code>,修改用户密码。</li>
<li>授权远程访问 mysql。在没有授权之前只能在本机访问 mysql,授权远程访问之后,就可以让其他计算机通过网络访问 Linux 上的 mysql。<br> (1)登入 mysql 后,使用命令:<code>grant all privileges on *.* to 用户名@'%' identified by '密码';</code>,授权远程访问。其中<code>*.*</code> 的第一个<code>*</code>表示所有数据库,第二个<code>*</code>表示所有的数据表,% 表示 ip 地址,也可以指定具体的 ip 地址,如 root@localhost、root@192.168.235.130 等。<br> (2)更新权限信息,使用命令:<code>flush privileges;</code>,刷新权限。<br> (3)关闭防火墙:<code>systemctl stop firewalld</code>。可以使用:<code>systemctl status firewalld</code>,查看防火墙是否关闭成功(Active inactive(dead))。<br> (4)远程连接 mysql。在其他计算机的数据库软件上,如 Windows 上的 SQLyog,输入 Linux 系统的 ip 地址,端口号:3306,授权了远程访问的用户名和密码,即可远程连接 Linux 上的 mysql。</li>
<li>关闭 mysql。在 <strong>mysqlDir/bin</strong> 目录下,使用命令:<code>./mysqladmin -u用户名 -p shutdown</code>,输入密码,关闭 mysql 服务。使用:<code>ps -ef | grep mysql</code>,查看 mysql 服务是否关闭成功。</li>
</ol>
<p>转自:https://www.dianjilingqu.com/</p>
</div><br><br>
来源:https://www.cnblogs.com/yuanyuzhou/p/16099622.html
頁:
[1]