[Linux服务器] Linux,常用命令,看这篇就够了

195 0
Honkers 2025-3-5 22:15:32 | 显示全部楼层 |阅读模式
<p></p>

<p></p>
<h2>一、为什么要学linux</h2>
<p>因为我们要部署服务&#xff0c;Linux系统一直以其稳定性而闻名&#xff0c;它们可以连续运行多年而不发生任何重大问题。事实上&#xff0c;很多Linux用户都从未在自己的环境中遇到过系统崩溃的情况。相对windows而言&#xff0c;挂起和崩溃完全是一种常态。</p>
<p>Windows由于是商业产品&#xff0c;源代码封闭&#xff0c;我们无法知道微软在里面做了什么手脚。而Linux由于是源代码开放操作系统&#xff0c;不存在这个问题</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/79d42014cbb971eaeb3e9b1d0d28b857.png" alt="在这里插入图片描述" />
</p>
<h2>二、目录介绍</h2>
<p>linux系统中一切皆文件</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/13a2aa97ced918e0de6b7a8d2319484d.png" alt="在这里插入图片描述" />
<img src="https://i-blog.csdnimg.cn/blog_migrate/0df360203ae6019627b4bbe179286d25.png" alt="在这里插入图片描述" />
</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/9001d04c76af44059dc42350bbcba77f.png" alt="在这里插入图片描述" />
</p>
<ul><li> <p>/bin<br /> 是binary的缩写&#xff0c;这个目录存放着最经常使用的命令&#xff0c;通过上方桌面可以看到bin文件夹有个箭头&#xff0c;是链接到 /usr/bin下&#xff0c;相当于快捷方式&#xff0c;进入/bin和/usr/bin下是一模一样的<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/ade1525cb2f65915f2fefafde06f01ff.png" alt="在这里插入图片描述" />
</p> </li><li> <p>/sbin<br /> s就是super User的意思&#xff0c;这里存放的是系统管理员使用的系统管理程序。</p> </li><li> <p>/home<br /> 存放普通用户的主目录&#xff0c;在Linux中每个用户都有一个自己的目录&#xff0c;一版该目录名是以用户的账号命名的。</p> </li><li> <p>/root<br /> 该目录为系统管理员&#xff0c;也称为超级权限者的用户主目录。</p> </li><li> <p>/lib<br /> 系统开机所需要最基本的动态连接共享库&#xff0c;其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。</p> </li><li> <p>/etc<br /> 所有的系统管理所需要的配置文件和子目录。</p> </li><li> <p>/usr<br /> 这是一个非常重要的目录&#xff0c;用户的很多应用程序和文件都放在这个目录下&#xff0c;类似于windows下的program fies目录。</p> </li><li> <p>/boot<br /> 这里存放的是启动linux时使用的一些核心文件&#xff0c;包括一些连接文件以及镜像文件&#xff0c;自己的安装别放这里。</p> </li><li> <p>/proc<br /> 这个目录是一个虚拟目录&#xff0c;它是系统内存的映射&#xff0c;我们可以通过直接访问这个目录来获取系统信息。</p> </li><li> <p>/srv<br /> service缩写&#xff0c;该目录存放一些服务启动之后需要提取的数据。</p> </li><li> <p>/sys<br /> 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。</p> </li><li> <p>/tmp<br /> 这个目录是用来存放一些临时文件的。</p> </li><li> <p>/dev<br /> 类似于windows的设备管理器&#xff0c;把所有的硬件用文件的形式存储。管理着所有设备&#xff0c;例如CPU、硬盘等等</p> </li><li> <p>/media<br /> linux系统会自动识别一些设备&#xff0c;例如U盘、光驱等等&#xff0c;当识别后&#xff0c;linux会把识别的设备挂载到这个目录下。<br /> centos7迁移到/run/media</p> </li><li> <p>/mnt<br /> 系统提供该目录是为了让用户临时挂载别的文件系统的&#xff0c;我们可以将外部的存储挂载在/mnt上&#xff0c;然后进入该目录就可以查看里面的内容了。和media差不多</p> </li><li> <p>/opt<br /> 这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则就可以放在这个目录下。默认是空的。</p> </li><li> <p>/var<br /> 这个目录中存放着在不断扩充的东西&#xff0c;我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。</p> </li><li> <p>/lost&#43;found<br /> 这个目录一般情况下是空的&#xff0c;当系统非法关机后&#xff0c;这里就存放了一些文件。</p> </li><li> <p>/www<br /> /www目录可以用于存储Web应用程序或网站文件&#xff0c;/www目录没有特别的用途&#xff0c;它只是一个常规目录&#xff0c;可以根据需要进行使用和管理。</p> </li></ul>
<h2>三、vi / vim编辑器</h2>
<p>用户&#64;主机名 组成&#xff0c; ~号代表当前目录位置&#xff0c;#号代表管理员用户&#xff0c;普通用户都是$号<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/8e542a8b2e59cacdb3d04aa9bf55f711.png" alt="在这里插入图片描述" />
</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/ef960ec698531da3db77a8185b382e72.png" alt="在这里插入图片描述" />
</p>
<p>VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性&#xff0c;方便程序设计。VIM 与 VI 编辑器完全兼容。</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/79140eae8a11902ffab5aa18c591475c.png" alt="在这里插入图片描述" />
<br /> <strong>模式转换</strong></p>
<p>进来默认一般模式&#xff0c;想要编辑文本就按i进入编辑模式<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/15966d44ff8f29604cb89d72689a083e.png" alt="在这里插入图片描述" />
<br /> <strong>vim常用语法</strong></p>
<p><strong>一般模式</strong></p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/7a15bcb7603231c8e4e69af95ebb291f.png" alt="在这里插入图片描述" />
<br /> <strong>编辑模式</strong></p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/2ac14acdc5a79b42736660326ce8850c.png" alt="在这里插入图片描述" />
按『Esc』键 退出编辑模式&#xff0c;之后所在的模式为一般模式。</p>
<p><strong>命令模式</strong></p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/7203dc74587fdd2ddbed38a1548507ce.png" alt="在这里插入图片描述" />
</p>
<h2>四、网络配置</h2>
<h3>4.1、修改 IP 地址</h3>
  1. vim /etc/sysconfig/network-scripts/ifcfg-ens33
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/2de2fa24aa419d3375b5678a80b7fddd.png" alt="在这里插入图片描述" />
</p>
<p>执行 service network restart 重启网络&#xff0c;使网络生效。</p>
<h3>4.2、配置主机名</h3>
<h4>4.2.1、修改主机名称</h4>
<p>1&#xff09;、查看当前服务器主机名称</p>
  1. hostname
复制代码

<p>2&#xff09;、通过编辑/etc/hostname 文件修改主机名</p>
  1. vim /etc/hostname
复制代码

<p>修改完重启后就生效了。</p>
<h4>4.2.2、修改 hosts 映射文件</h4>
  1. vim /etc/hosts
复制代码

<p>添加映射&#xff0c;保存后&#xff0c;可以直接访问service&#xff0c;就可以访问到220.151 ip了<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/f03f49fac288efeed12c9126dc71b597.png" alt="在这里插入图片描述" />
</p>
<h2>五、系统配置</h2>
<h3>5.1、service 服务管理</h3>
<p>Linux 中的进程和服务<br /> 计算机中&#xff0c;一个正在执行的程序或命令&#xff0c;被叫做“进程”&#xff08;process&#xff09;。<br /> 启动之后一只存在、常驻内存的进程&#xff0c;一般被称作“服务”&#xff08;service&#xff09;。</p>
  1. service 服务名 start | stop |· restart | status
复制代码

<p>查看服务的方法&#xff1a;/etc/init.d/服务名 ,发现只有两个服务保留在 service<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/1441f674c61cb33db4ea04dcac2fcbf4.png" alt="在这里插入图片描述" />
</p>
<p><strong>chkconfig 设置后台服务的自启配置</strong></p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/909eff08d0420c72331b5d69e2e150c3.png" alt="在这里插入图片描述" />
<br /> 2&#xff09;、开启/关闭 network(网络)服务的自动启动</p>
  1. chkconfig network on
  2. chkconfig network off
复制代码

<p>3&#xff09;、开启/关闭 network 服务指定级别的自动启动</p>
  1. chkconfig --level 指定级别 network on
复制代码

<h3>5.2、systemctl</h3>
<p>1&#xff09;、基本语法</p>
  1. systemctl start | stop | restart | status 服务名
复制代码

<p>2)、查看服务的方法&#xff1a;/usr/lib/systemd/system</p>
  1. cd /usr/lib/systemd/system
复制代码

<p>ll 命令查看所有服务<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/0149c1261433f692e7a901300c61655d.png" alt="在这里插入图片描述" />
</p>
<p><strong>systemctl 设置后台服务的自启配置</strong></p>
<p>1、查看所有服务开机启动状态</p>
  1. systemctl list-unit-files
复制代码

<p>2、关掉指定服务的自动启动</p>
  1. systemctl disable service_name
复制代码

<p>3、开启指定服务的自动启动</p>
  1. systemctl enable service_name
复制代码

<h3>5.3、防火墙</h3>
<p>1)、查看、更改防火墙状态</p>
  1. systemctl status firewalld  #查看防火墙状态
  2. systemctl stop firewalld # 关闭防火墙
  3. systemctl start firewalld # 开启防火墙
  4. systemctl enable firewalld.service  # 开机自启动防火墙
  5. systemctl disable firewalld.service # 开机不自启动防火墙
复制代码

<p>2&#xff09;、防火墙开放、删除端口</p>
  1. firewall-cmd --list-ports                #查询所有开放的端口
  2. firewall-cmd --list-all  #查看防火墙所有配置
  3. firewall-cmd --query-port&#61;8080/tcp       #查询端口是否开放
  4. firewall-cmd --add-port&#61;8080/tcp --permanent          #永久添加8080端口
  5. firewall-cmd --add-port&#61;65001-65010/tcp --permanent   #永久增加65001-65010端口
  6. firewall-cmd --remove-port&#61;8800/tcp --permanent       #永久删除8080端口
  7. # 对某个ip开放某个端口
  8. firewall-cmd --permanent --add-rich-rule&#61;“rule family&#61;“ipv4” source address&#61;“192.168.142.166” port port&#61;“5432” protocol&#61;“tcp” accept”
  9. # 删除对某个ip开放某个端口
  10. firewall-cmd --permanent --remove-rich-rule&#61;“rule family&#61;“ipv4” source address&#61;“192.168.142.166” port port&#61;“5432” protocol&#61;“tcp” accept”
  11. # 对某个ip开放所有端口
  12. sudo firewall-cmd --zone&#61;public --add-rich-rule&#61;&#39;rule family&#61;&#34;ipv4&#34; source address&#61;&#34;127.0.0.1&#34; accept&#39; --permanent
复制代码

<p>命令解读</p>
  1. firwall-cmd&#xff1a;是Linux提供的操作firewall的一个工具&#xff08;服务&#xff09;命令
  2. --zone                                                                #作用域
  3. --add-port&#61;8080/tcp                                                   #添加端口&#xff0c;格式为&#xff1a;端口/通讯协议 &#xff1b;add表示添加&#xff0c;remove则对应移除
  4. --permanent                                                           #永久生效&#xff0c;没有此参数重启后失效
复制代码

<p>3)、更新防火墙规则&#xff0c;更改配置后要执行重载配置</p>
  1. firewall-cmd --reload
复制代码

<h3>5.4、关机重启命令</h3>
<p><strong>0&#xff09;、将数据由内存同步到硬盘中</strong></p>
  1. sync
复制代码

<p><strong>1&#xff09;、重启</strong></p>
  1. reboot
  2. # 两者作用一样
  3. shutdown -r now
复制代码

<p><strong>2&#xff09;、关机</strong></p>
  1. # 立马关机
  2. shutdown -h now
  3. # 计算机将在1分钟后关机&#xff0c;并且会显示在登录用户的当前屏幕中
  4. shutdown -h 1 ‘This server will shut down after 1 mins‘
  5. # 指定时间关机
  6. shutdown 15:28
  7. # 取消关机操作
  8. shutdown -c
复制代码

<h3>5.5、查看系统内核与版本</h3>
<p><strong>1&#xff09;、查看内核/操作系统/CPU信息</strong></p>
  1. uname -a
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/178e9c8771fa76f55a8fc19a6dbd3b4f.png" alt="在这里插入图片描述" />
</p>
<p><strong>2&#xff09;、查看centos具体版本</strong></p>
  1. cat /etc/centos-release
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/74270f09ac4077c973730b8e25b42c98.png" alt="在这里插入图片描述" />
</p>
<h2>六、常用命令</h2>
<h3>6.1、文件目录类</h3>
<h4>1&#xff09;、pwd 显示当前工作目录的绝对路径</h4>
  1. pwd
复制代码

<h4>2&#xff09;、ls 列出目录的内容</h4>
  1. ls&#xff1a;列出当前目录中的文件和子目录。
  2. ls -l&#xff1a;以长格式列出当前目录中的文件和子目录&#xff0c;包括文件权限、所有者、文件大小、修改日期等详细信息。
  3. ls -a&#xff1a;列出当前目录中的所有文件和子目录&#xff0c;包括隐藏文件和目录。
  4. ls -h&#xff1a;以人类可读的格式列出文件大小&#xff0c;例如&#xff0c;使用KB、MB、GB等单位。
  5. ls -t&#xff1a;按修改时间排序列出文件和子目录&#xff0c;最新修改的文件和目录将显示在最上面。
  6. ls -r&#xff1a;反向排序列出文件和子目录&#xff0c;即从最后一个文件或目录开始列出。
  7. ls -R&#xff1a;递归列出当前目录及其子目录中的所有文件和子目录。
  8. ls -i&#xff1a;显示每个文件和目录的inode号码。
复制代码

<p>ls [选项] [目录或是文件]</p>
<p>可以多个参数组合如&#xff1a;ls -al</p>
<p>每行列出的信息依次是&#xff1a; 文件类型与权限&#xff0c;链接数&#xff0c;文件属主&#xff0c;文件属组&#xff0c;文件大小用byte来表示&#xff0c;建立或最近修改的时间&#xff0c;名字</p>
<h4>3&#xff09;、cd 切换目录</h4>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/04f47b018883c005c7dd284e2d17fc51.png" alt="在这里插入图片描述" />
</p>
<h4>4&#xff09;、mkdir 创建一个新的目录 、 rmdir 删除一个空的目录</h4>
<p>mkdir [选项] 要创建的目录</p>
  1. mkdir xiyou
  2. mkdir -p xiyou/dssz/meihouwang  # -p 创建多层目录
复制代码

<p>rmdir 要删除的空目录</p>
  1. rmdir xiyou/dssz/meihouwang
复制代码

<h4>5&#xff09;、touch 创建空文件</h4>
<p>touch 文件名称</p>
  1. touch xiyou/dssz/sunwukong.txt
复制代码

<h4>6&#xff09;、cp 复制文件或目录</h4>
<p>cp 源文件 目标文件</p>
<p>1&#xff09;、复制文件</p>
  1. cp xiyou/dssz/suwukong.txt xiyou/mingjie/
复制代码

<p>2&#xff09;、递归复制整改文件夹<br /> 参数 &#xff1a; -r 递归复制整个文件夹</p>
  1. cp -r xiyou/dssz/ ./
复制代码

<h4>7&#xff09;、rm 删除文件或目录</h4>
<p>rm [选项] deleteFile &#xff08;功能描述&#xff1a;递归删除目录中所有内容&#xff09;</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/173b9727d620a2c037c2c68e053a8a96.png" alt="在这里插入图片描述" />
</p>
  1. rm sunwukong.txt # 删除文件
  2. rm -rf dssz/  # 递归删除目录中所有内容
复制代码

<h4>8&#xff09;、mv 移动文件与目录或重命名</h4>
<p>mv 源文件 目标文件</p>
<p>&#xff08;1&#xff09;mv oldNameFile newNameFile &#xff08;功能描述&#xff1a;重命名&#xff09;</p>
<p>&#xff08;2&#xff09;mv /temp/movefile /targetFolder &#xff08;功能描述&#xff1a;移动文件&#xff09;</p>
  1. # 重命名
  2. mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
  3. # 移动文件
  4. mv xiyou/dssz/houge.txt ./
复制代码

<h4>9&#xff09;、cat 查看文件内容</h4>
<p>查看文件内容&#xff0c;从第一行开始显示。</p>
<p>一般查看比较小的文件&#xff0c;一屏幕能显示全的。</p>
  1. cat -n houge.txt  # -n参数显示行号
复制代码

<h4>10&#xff09;、more 文件内容分屏查看器</h4>
<p>more 要查看的文件</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/bf4a0ca50fd1e80439478dbf59cb39da.png" alt="在这里插入图片描述" />
</p>
  1. more nginx.conf
复制代码

<h4>11&#xff09;、less 分屏显示文件内容</h4>
<p>less 指令用来分屏查看文件内容&#xff0c;它的功能与 more 指令类似&#xff0c;但是比 more 指令更加强大&#xff0c;支持各种显示终端。less 指令在显示文件内容时&#xff0c;并不是一次将整个文件加载之后才显示&#xff0c;而是根据显示需要加载内容&#xff0c;对于显示大型文件具有较高的效率。</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/0b9a12ba96b61384b253846146da5107.png" alt="在这里插入图片描述" />
</p>
  1. less nginx.conf
复制代码

<h4>12&#xff09;、echo输出内容到控制台</h4>
<p>echo [选项] [输出内容]</p>
<p>可以用在写脚本的时候输出日志</p>
<p>-e&#xff1a; 支持反斜线控制的字符转换<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/55b43b18cfddab9b908cb8aa340d56bd.png" alt="在这里插入图片描述" />
</p>
  1. echo “hello\tworld”
  2. echo -e “hello\tworld” # -e支持反斜线控制的字符转换
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/51fbff5b12d94cf407effda1447f8908.png" alt="在这里插入图片描述" />
</p>
<h4>14&#xff09;、tail 输出文件尾部内容</h4>
<p>tail 用于输出文件中尾部的内容&#xff0c;默认情况下 tail 指令显示文件的后 10 行内容。</p>
  1. # 查看文件尾 1 行内容
  2. tail -n 1 smartd.conf
  3. # 实时追踪该档的所有更新
  4. tail -f houge.txt
复制代码

<p>按 ctrl &#43; s 暂停&#xff0c;按ctrl &#43; q 继续</p>
<h4>15&#xff09;、&gt; 输出重定向 和 &gt;&gt; 追加</h4>
<p>&#xff08;1&#xff09;将 ls 查看信息写入到文件中</p>
  1. ls -l&gt;houge.txt
复制代码

<p>&#xff08;2&#xff09;将 ls 查看信息追加到文件中</p>
  1. ls -l&gt;&gt;houge.txt
复制代码

<p>&#xff08;3&#xff09;采用 echo 将 hello 单词追加到文件中</p>
  1. echo hello&gt;&gt;houge.txt
复制代码

<h4>16&#xff09;、ln 软链接</h4>
<p>软链接也称为符号链接&#xff0c;类似于 windows 里的快捷方式&#xff0c;有自己的数据块&#xff0c;主要存放了链接其他文件的路径。</p>
<p>ln -s [原文件或目录] [软链接名] &#xff08;功能描述&#xff1a;给原文件创建一个软链接&#xff09;</p>
<p><strong>1&#xff09;、创建软连接</strong></p>
  1. ln -s /home/lnTest.txt ./lnTxt
复制代码

<p>删除软链接&#xff1a; rm -rf 软链接名&#xff0c;而不是 rm -rf 软链接名/<br /> 如果使用 rm -rf 软链接名/ 删除&#xff0c;会把软链接对应的真实目录下内容删掉</p>
  1. rm -rf lnTxt
复制代码

<p>查询&#xff1a;通过 ll 就可以查看&#xff0c;列表属性第 1 位是 l&#xff0c;尾部会有位置指向。</p>
<h4>17&#xff09;、history 查看已经执行过历史命令</h4>
<p>&#xff08;1&#xff09;查看已经执行过的历史命令</p>
  1. history
复制代码

<p>&#xff08;2&#xff09;清空历史记录</p>
  1. history -c
复制代码

<h4>18)、时间日期类</h4>
<p>&#xff08;1&#xff09;显示当前时间信息</p>
  1. date
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/8de2b64933beff0ec8b8e0f87102821f.png" alt="在这里插入图片描述" />
<br /> &#xff08;2&#xff09;设置系统当前时间</p>
  1. date -s &#34;2023-06-19 20:52:18&#34;
复制代码

<h4>19)、traceroute路由跟踪</h4>
<p>可以用来跟踪数据包通过互联网传输时经过的路由路径&#xff0c;以及每个路由节点的延迟情况</p>
  1. traceroute 目标地址
  2. traceroute 192.168.10.11
复制代码

<h3>6.2、用户管理命令</h3>
<h4>1&#xff09;、useradd 添加新用户</h4>
<p>useradd 用户名 &#xff08;功能描述&#xff1a;添加新用户&#xff09;</p>
<p>useradd -g 组名 用户名 &#xff08;功能描述&#xff1a;添加新用户到某个组&#xff09;</p>
<p>&#xff08;1&#xff09;添加一个用户</p>
  1. useradd hmb
复制代码

<h4>2&#xff09;、passwd 设置用户密码</h4>
<p>passwd 用户名 &#xff08;功能描述&#xff1a;设置用户密码&#xff09;</p>
<p>&#xff08;1&#xff09;设置用户的密码</p>
  1. passwd hmb
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/e99cb705e91efdcca9137eed2b3b7744.png" alt="在这里插入图片描述" />
</p>
<h4>3&#xff09;、id 查看用户是否存在</h4>
<p>id 用户名</p>
<p>&#xff08;1&#xff09;查看用户是否存在</p>
  1. id hmb
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/7b81ddd6395a364204ca797be55b5c41.png" alt="在这里插入图片描述" />
</p>
<h4>4&#xff09;、cat /etc/passwd 查看创建了哪些用户</h4>
<p>查看创建了哪些用户</p>
  1. cat /etc/passwd
复制代码

<h4>5&#xff09;、su 切换用户</h4>
<p>su 用户名称 &#xff08;功能描述&#xff1a;切换用户&#xff0c;只能获得用户的执行权限&#xff0c;不能获得环境变量&#xff09;</p>
<p>su - 用户名称 &#xff08;功能描述&#xff1a;切换到用户并获得该用户的环境变量及执行权限&#xff09;</p>
<p>&#xff08;1&#xff09;切换用户</p>
  1. su hmb
  2. su - hmb
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/f869da5a6b16d6695dfbdffe92769a6d.png" alt="在这里插入图片描述" />
</p>
<h4>6&#xff09;、userdel 删除用户</h4>
<p>&#xff08;1&#xff09;userdel 用户名 &#xff08;功能描述&#xff1a;删除用户但保存用户主目录&#xff09;</p>
<p>&#xff08;2&#xff09;userdel -r 用户名 &#xff08;功能描述&#xff1a;用户和用户主目录&#xff0c;都删除&#xff09;</p>
  1. userdel hmb
  2. userdel -r hmb
复制代码

<h4>7&#xff09;、sudo 设置普通用户具有 root 权限</h4>
  1. sudo mkdir module
复制代码

<h4>8&#xff09;、usermod 修改用户</h4>
<p>usermod -g 用户组 用户名</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/8157b2c74ab6b46f5bf23b4e5ef5d827.png" alt="在这里插入图片描述" />
</p>
<p>&#xff08;1&#xff09;将用户加入到用户组</p>
  1. usermod -g root zhubajie
复制代码

<h4>9&#xff09;、groupadd 新增组</h4>
<p>groupadd 组名</p>
<p>&#xff08;1&#xff09;添加一个xitianqujing组</p>
  1. groupadd xitianqujing
复制代码

<h4>10&#xff09;、groupdel 删除组</h4>
<p>groupdel 组名</p>
<p>&#xff08;1&#xff09;删除xitianqujing组</p>
  1. groupdel xitianqujing
复制代码

<h4>11&#xff09;、groupmod 修改组</h4>
<p>groupmod -n 新组名 老组名<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/156db0b12ddaeed21267f8a1a4ede812.png" alt="在这里插入图片描述" />
</p>
  1. groupmod -n xitian xitianqujing
复制代码

<h4>12&#xff09;、cat /etc/group 查看创建了哪些组</h4>
  1. cat /etc/group
复制代码

<h3>6.3、文件权限类</h3>
<h4>1&#xff09;、文件属性</h4>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/084d42dbedec177af82c97714dfcfa0c.png" alt="在这里插入图片描述" />
<br /> 使用ll或 ls -lh命令查看权限</p>
<p>如果没有权限&#xff0c;就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:</p>
<ul><li>0 首位表示类型
  <ul><li>在Linux中第一个字符代表这个文件是目录、文件或链接文件等等</li><li>代表文件</li><li>d 代表目录</li><li>l 链接文档(link file)&#xff1b;</li></ul> </li><li>第1-3位确定属主&#xff08;该文件的所有者&#xff09;拥有该文件的权限。—User</li><li>第4-6位确定属组&#xff08;所有者的同组用户&#xff09;拥有该文件的权限&#xff0c;—Group</li><li>第7-9位确定其他用户拥有该文件的权限 —Other</li></ul>
<p><strong>&#xff08;1&#xff09;、rwx 作用文件和目录的不同解释</strong></p>
<ul><li> <p>&#xff08;1&#xff09;作用到文件&#xff1a;<br /> [ r ]代表可读(read): 可以读取&#xff0c;查看<br /> [ w ]代表可写(write): 可以修改&#xff0c;但是不代表可以删除该文件&#xff0c;删除一个文件的前<br /> [ x ]代表可执行(execute):可以被系统执行</p> </li><li> <p>&#xff08;2&#xff09;作用到目录&#xff1a;<br /> [ r ]代表可读(read): 可以读取&#xff0c;ls查看目录内容<br /> [ w ]代表可写(write): 可以修改&#xff0c;目录内创建&#43;删除&#43;重命名目录<br /> [ x ]代表可执行(execute):可以进入该目录</p> </li></ul>
<p>ll命令查看解释</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/dc0addc13409b006a58512cc09a50f6c.png" alt="在这里插入图片描述" />
<br /> ls -lh 命令&#xff0c;文件大小会更清晰</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/09ea3cfbc7db0c7092d4f2bb1046d608.png" alt="在这里插入图片描述" />
</p>
<p>&#xff08;1&#xff09;如果查看到是文件&#xff1a;链接数指的是硬链接个数。<br /> &#xff08;2&#xff09;如果查看的是文件夹&#xff1a;链接数指的是子文件夹个数。</p>
<h4>2&#xff09;、chmod 改变权限</h4>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/978d06b6032e82e32123740a190e3b3c.png" alt="在这里插入图片描述" />
</p>
<p><strong>1&#xff09;、第一种方式变更权限</strong></p>
<p>chmod [{ugoa}{&#43; - &#61;}{rwx}] 文件或目录</p>
  1. u:所有者&#xff08;user&#xff09;        g:所有组(group)           o:其他人(other)        a:所有人(u、g、o 的总和)
  2. &#43;号代表增加      -号代表取消     &#61; 号代表直接赋予
复制代码

<p>&#xff08;1&#xff09;修改文件使其所属主用户具有执行权限</p>
  1. chmod u&#43;x houge.txt
复制代码

<p>&#xff08;2&#xff09;修改文件使其所属组用户具有执行权限</p>
  1. chmod g&#43;x houge.txt
复制代码

<p>&#xff08;3&#xff09;修改文件所属主用户执行权限,并使其他用户具有执行权限</p>
  1. chmod u-x,o&#43;x houge.txt
复制代码

<p><strong>2&#xff09;、第二种方式变更权限</strong></p>
<p>chmod [mode&#61;421 ] [文件或目录]</p>
  1. r&#61;4         w&#61;2        x&#61;1       rwx&#61;4&#43;2&#43;1&#61;7
复制代码

<p>&#xff08;1&#xff09;采用数字的方式&#xff0c;设置文件所有者、所属组、其他用户都具有可读可写可执行权限。</p>
  1. chmod 777 houge.txt
复制代码

<p>&#xff08;2&#xff09;修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。</p>
  1. chmod -R 777 xiyou/
复制代码

<h4>3&#xff09;、chown 改变所有者</h4>
<p>chown [选项] [最终用户] [文件或目录] &#xff08;功能描述&#xff1a;改变文件或者目录的所有者&#xff09;</p>
<p>&#xff08;1&#xff09;修改文件所有者</p>
  1. chown hmb houge.txt
复制代码

<p>&#xff08;2&#xff09;递归改变文件所有者和所有组</p>
  1. chown -R hmb:hmb xiyou/
复制代码

<h4>4&#xff09;、chgrp 改变所属组</h4>
<p>chgrp [最终用户组] [文件或目录] &#xff08;功能描述&#xff1a;改变文件或者目录的所属组&#xff09;</p>
<p>&#xff08;1&#xff09;修改文件的所属组</p>
  1. chgrp root houge.txt
复制代码

<h3>6.4、搜索查找类</h3>
<h4>1&#xff09;、find 查找文件或者目录</h4>
<p>find 指令将从指定目录向下递归地遍历其各个子目录&#xff0c;将满足条件的文件显示在终端。</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/621c7438c2067a49318d64a78b9925f0.png" alt="在这里插入图片描述" />
</p>
<p>&#xff08;1&#xff09;按文件名&#xff1a;根据名称查找/目录下的filename.txt文件。</p>
  1. find -name &#34;ln*.txt&#34;  
  2. find xiyou/ -name &#34;*.txt&#34;
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/5bcf16f326c79853c1755de28601c5cb.png" alt="在这里插入图片描述" />
</p>
<p>&#xff08;2&#xff09;按拥有者&#xff1a;查找/opt目录下&#xff0c;用户名称为-user的文件</p>
  1. find opt/ -user hmb
复制代码

<p>&#xff08;3&#xff09;按文件大小&#xff1a;在/home目录下查找大于200m的文件&#xff08;&#43;n 大于 -n小于 n等于&#xff09;</p>
  1. find /home -size &#43;204800
复制代码

<h4>2&#xff09;、locate 快速定位文件路径</h4>
<p>locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统&#xff0c;查询速度较快。为了保证查询结果的准确度&#xff0c;管理员必须定期更新 locate 时刻。</p>
<p>基本语法&#xff1a;locate 搜索文件</p>
  1. 由于 locate 指令基于数据库进行查询&#xff0c;所以第一次运行前&#xff0c;必须使用 updatedb 指令创建 locate 数据库。
复制代码

<p>&#xff08;1&#xff09;查询文件夹</p>
  1. updatedb
  2. locate tmp
复制代码

<h4>3&#xff09;、grep 过滤查找及 | 管道符</h4>
<p>管道符&#xff0c;“|”&#xff0c;表示将前一个命令的处理结果输出传递给后面的命令处理&#xff0c;可以前面查出来的东西传给管道符后端的处理&#xff0c;例如 ls | grep -n test</p>
<p>grep是Linux系统中常用的文本搜索工具&#xff0c;可以在文件中查找指定的字符串或者正则表达式&#xff0c;并将匹配的行输出到终端或者文件中。</p>
<p>&#xff08;1&#xff09;、在文件中查找字符</p>
  1. # 单个文件中查找
  2. grep &#34;string&#34; filename
  3. # 多个文件中查找字符
  4. grep &#34;string&#34; file1 file2 file3
  5. # 忽略大小写查找指定字符串
  6. grep -i &#34;string&#34; filename
复制代码

<p>&#xff08;2&#xff09;、在目录中递归查找指定字符串</p>
  1. grep -r &#34;string&#34; directory
复制代码

<p>&#xff08;3&#xff09;、显示匹配行的行号</p>
  1. grep -n &#34;string&#34; filename
复制代码

<p>&#xff08;4&#xff09;、反向查找不包含指定字符串的行</p>
  1. grep -v &#34;string&#34; filename
复制代码

<p>&#xff08;5&#xff09;、将匹配的行输出到文件中</p>
  1. grep &#34;string&#34; filename &gt; output.txt
复制代码

<p>&#xff08;6&#xff09;、在多文件中&#xff0c;想要找有包含某个字符串的</p>
  1. grep -r &#34;string&#34; --include&#61;&#34;*.log&#34;
复制代码

<h3>6.5、压缩和解压类</h3>
<h4>1&#xff09;、gzip/gunzip 压缩</h4>
<p>注意&#xff1a;</p>
<p>&#xff08;1&#xff09;只能压缩文件不能压缩目录<br /> &#xff08;2&#xff09;不保留原来的文件<br /> &#xff08;3&#xff09;同时多个文件会产生多个压缩包</p>
<p>&#xff08;1&#xff09;、gzip压缩</p>
  1. gzip 文件
  2. gzip lnTest.txt
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/ca2b49191e9b0b0684e6f2876197d387.png" alt="在这里插入图片描述" />
<br /> &#xff08;2&#xff09;、gunzip解压缩文件</p>
  1. gunzip lnTest.txt.gz
复制代码

<h4>2&#xff09;、zip/unzip 压缩</h4>
<p>zip 压缩命令在windows/linux都通用&#xff0c;可以压缩目录且保留源文件。</p>
<p>&#xff08;1&#xff09;、zip压缩</p>
  1. zip 压缩文件名.zip  源文件
  2. # 压缩文件
  3. zip lnTest.zip lnTest.txt
  4. # -r 压缩文件夹
  5. zip -r  nginx1.zip nginx-1.21.6
复制代码

<p>&#xff08;2&#xff09;、unzip解压</p>
  1. unzip lnTest.zip
  2. # -d 指定解压后文件的存放目录
  3. unzip lnTest.zip -d /opt
复制代码

<h4>3&#xff09;、tar 打包</h4>
<p>tar [选项] XXX.tar.gz 将要打包进去的内容 &#xff08;功能描述&#xff1a;打包目录&#xff0c;压缩后的文件格式.tar.gz&#xff09;</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/bb882afc07fc6e3e1c9a1f3ae16aed8c.png" alt="在这里插入图片描述" />
<br /> &#xff08;1&#xff09;、压缩文件</p>
  1. tar -zcvf 打包的文件名.tar.gz [源文件]
  2. # 多个文件打包
  3. tar -zcvf houma.tar.gz houge.txt bailongma.txt
  4. # 打包文件夹
  5. tar -zcvf xiyou.tar.gz xiyou/
复制代码

<p>&#xff08;2&#xff09;、解压</p>
  1. # 解压到当前目录
  2. tar -zxvf houma.tar.gz
  3. # -C 解压到某个目录下
  4. tar -zxvf xiyou.tar.gz -C /opt
复制代码

<h3>6.6、磁盘查看和分区类</h3>
<h4>1&#xff09;、du 查看文件和目录占用的磁盘空间</h4>
<p>du 目录/文件 &#xff08;功能描述&#xff1a;显示目录下每个子目录的磁盘使用情况&#xff09;</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/34a6b895c79ef1971d3453ac2b4cee22.png" alt="在这里插入图片描述" />
</p>
  1. # 查看当前文件总占用
  2. du -sh
  3. # 当前目录下所有文件磁盘占用
  4. du -sh *
  5. # 某文件夹下所有文件的磁盘占用
  6. du -sh /home/*
  7. # -c 显示总和
  8. du -csh /home/*
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/8e20a6ee3c8060a1a16167a779afcb4a.png" alt="在这里插入图片描述" />
<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/72c07d43c88d3305777963117a840dc1.png" alt="在这里插入图片描述" />
</p>
<h4>2&#xff09;、df 查看磁盘空间使用情况</h4>
<p>df 选项 &#xff08;功能描述&#xff1a;列出文件系统的整体磁盘使用量&#xff0c;检查文件系统的磁盘空间占用情况&#xff09;</p>
<p>&#xff08;1&#xff09;查看磁盘使用情况</p>
  1. df -h
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/c5002de6af7036f5f50668ac895294e0.png" alt="在这里插入图片描述" />
</p>
<h4>3&#xff09;、lsblk 查看设备挂载情况</h4>
  1. lsblk
  2. # 查看详细的设备挂载情况&#xff0c;显示文件系统信息
  3. lsblk -f
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/6b607e4005f7737ad2e932a759e85246.png" alt="在这里插入图片描述" />
</p>
<h4>4&#xff09;、mount/umount 挂载/卸载</h4>
<p>对于Linux用户来讲&#xff0c;不论有几个分区&#xff0c;分别分给哪一个目录使用&#xff0c;它总归就是一个根目录、一个独立且唯一的文件结构。</p>
<p>Linux中每个分区都是用来组成整个文件系统的一部分&#xff0c;它在用一种叫做“挂载”的处理方法&#xff0c;它整个文件系统中包含了一整套的文件和目录&#xff0c;并将一个分区和一个目录联系起来&#xff0c;要载入的那个分区将使它的存储空间在这个目录下获得。</p>
<p>语法&#xff1a;mount [-t vfstype] [-o options] device dir &#xff08;功能描述&#xff1a;挂载设备&#xff09;</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/66b501d7f9a133abdb6e4ac7405fc2be.png" alt="在这里插入图片描述" />
</p>
<p>&#xff08;1&#xff09;挂载光盘镜像文件</p>
  1. # 建立挂载点
  2. mkdir /mnt/cdrom/
  3. # 设备/dev/cdrom 挂载到 挂载点 &#xff1a; /mnt/cdrom 中
  4. mount -t iso9660 /dev/cdrom /mnt/cdrom/
复制代码

<p>&#xff08;2&#xff09;卸载光盘镜像文件</p>
  1. umount /mnt/cdrom
复制代码

<p>&#xff08;3&#xff09;设置开机自动挂载</p>
  1. vi /etc/fstab
复制代码

<p>添加下面那句后保存退出<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/5f995a6ce7a2e87f0ff6d74c399346ff.png" alt="在这里插入图片描述" />
</p>
<h4>5&#xff09;、fdisk分区</h4>
<p>注意&#xff1a;该命令必须在 root 用户下才能使用</p>
<p>基本语法&#xff1a;</p>
<p>fdisk -l &#xff08;功能描述&#xff1a;查看磁盘分区详情&#xff09;</p>
<p>fdisk 硬盘设备名 &#xff08;功能描述&#xff1a;对新增硬盘进行分区操作&#xff09;</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/6d3b1bcefe7eff3db812ca0115723b39.png" alt="在这里插入图片描述" />
</p>
<p>1&#xff09;、功能说明</p>
<ul><li>Linux 分区<br /> Device&#xff1a;分区序列<br /> Boot&#xff1a;引导<br /> Start&#xff1a;从X磁柱开始<br /> End&#xff1a;到Y磁柱结束<br /> Blocks&#xff1a;容量<br /> Id&#xff1a;分区类型ID<br /> System&#xff1a;分区类型</li><li>分区操作按键说明<br /> m&#xff1a;显示命令列表<br /> p&#xff1a;显示当前磁盘分区<br /> n&#xff1a;新增分区<br /> w&#xff1a;写入分区信息并退出<br /> q&#xff1a;不保存分区信息直接退出</li></ul>
<h3>6.7、进程管理类</h3>
<p>进程是正在执行的一个程序或命令&#xff0c;每一个进程都是一个运行的实体&#xff0c;都有自己的地址空间&#xff0c;并占用一定的系统资源。</p>
<h4>1&#xff09;、ps 查看当前系统进程状态</h4>
<p>ps -ef&#xff1a;列出所有进程的详细信息&#xff0c;包括进程的PID、PPID、CPU占用率、内存占用率等。</p>
<p>ps aux&#xff1a;与ps -ef类似&#xff0c;但是显示的是所有用户的进程信息。<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/ca1cd833170d11f17672335818e70a4d.png" alt="在这里插入图片描述" />
</p>
  1. ps aux
  2. ps -ef
复制代码

<ol><li>ps aux 显示信息说明&#xff1a;<br /> USER&#xff1a;该进程是由哪个用户产生的<br /> PID&#xff1a;进程的 ID 号<br /> %CPU&#xff1a;该进程占用 CPU 资源的百分比&#xff0c;占用越高&#xff0c;进程越耗费资源&#xff1b;<br /> %MEM&#xff1a;该进程占用物理内存的百分比&#xff0c;占用越高&#xff0c;进程越耗费资源&#xff1b;<br /> VSZ&#xff1a;该进程占用虚拟内存的大小&#xff0c;单位 KB&#xff1b;<br /> RSS&#xff1a;该进程占用实际物理内存的大小&#xff0c;单位 KB&#xff1b;<br /> TTY&#xff1a;该进程是在哪个终端中运行的。对于 CentOS 来说&#xff0c;tty1 是图形化终端&#xff0c;<br /> tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。<br /> STAT&#xff1a;进程状态。常见的状态有&#xff1a;R&#xff1a;运行状态、S&#xff1a;睡眠状态、T&#xff1a;暂停状态、<br /> Z&#xff1a;僵尸状态、s&#xff1a;包含子进程、l&#xff1a;多线程、&#43;&#xff1a;前台显示<br /> START&#xff1a;该进程的启动时间<br /> TIME&#xff1a;该进程占用 CPU 的运算时间&#xff0c;注意不是系统时间<br /> COMMAND&#xff1a;产生此进程的命令名</li><li>ps -ef 显示信息说明&#xff1a;<br /> UID&#xff1a;用户 ID<br /> PID&#xff1a;进程 ID<br /> PPID&#xff1a;父进程 ID<br /> C&#xff1a;CPU 用于计算执行优先级的因子。数值越大&#xff0c;表明进程是 CPU 密集型运算&#xff0c;<br /> 执行优先级会降低&#xff1b;数值越小&#xff0c;表明进程是 I/O 密集型运算&#xff0c;执行优先级会提高<br /> STIME&#xff1a;进程启动的时间<br /> TTY&#xff1a;完整的终端名称<br /> TIME&#xff1a;CPU 时间<br /> CMD&#xff1a;启动进程所用的命令和参数</li></ol>
<p>&#xff08;1&#xff09;配合grep 查询java进程&#xff0c;查出PID后&#xff0c;就可以杀掉进程了</p>
  1. ps -ef | grep java
  2. ps aux | grep java
  3. ps -ef | grep java服务名
复制代码

<h4>2&#xff09;、kill 终止进程</h4>
<p>&#xff08;1&#xff09;通过pid终止进程</p>
  1. # -9 表示强迫进程立即停止
  2. kill -9 5102
复制代码

<p>&#xff08;2&#xff09;通过进程名称杀死进程</p>
  1. killall firefox
复制代码

<p>window杀死进程&#xff1a;</p>
  1. taskkill /f /pid  进程ID
复制代码

<h4>3&#xff09;、pstree 查看进程树</h4>
  1. # 显示进程的 PID
  2. pstree -p
  3. # 显示进程的所属用户
  4. pstree -u
复制代码

<h4>4&#xff09;、top 实时监控系统进程状态</h4>
<p>参数选项&#xff1a;<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/48474101a4fcf69c5cdfdb6693479d63.png" alt="在这里插入图片描述" />
</p>
  1. top
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/7f41d9e8f88e29a6a62d08059ea61495.png" alt="在这里插入图片描述" />
</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/980ba34357b58acc2271f86779f98825.png" alt="在这里插入图片描述" />
</p>
<ol><li> <p>第一行信息为任务队列信息<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/61ad2d415d303576d67f755f7eeb3b21.png" alt="在这里插入图片描述" />
</p> </li><li> <p>第二行为进程信息<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/edb34bcddd71157b3aab053d56cfa3b1.png" alt="在这里插入图片描述" />
</p> </li><li> <p>第三行为 CPU 信息<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/606fb781f9fa909741b68a7e3e7142a5.png" alt="在这里插入图片描述" />
</p> </li><li> <p>第四行为物理内存信息<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/884248e05419da1ee0cb843eb6c0300a.png" alt="在这里插入图片描述" />
</p> </li><li> <p>第五行为交换分区&#xff08;swap&#xff09;信息<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/fc9dd923f8069dfbc40d19be439fb1d3.png" alt="在这里插入图片描述" />
</p> </li></ol>
<h4>5&#xff09;、netstat显示网络状态和端口占用信息</h4>
<p>使用netstat 通常用来查看端口是否被占用</p>
  1. netstat -anp | grep  进程号或端口号
  2. netstat –nlp | grep 端口号
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/212a24fc5795e2c1f4cbf81ea12542ff.png" alt="在这里插入图片描述" />
<br /> window查看&#xff1a;</p>
  1. netstat -ano | findstr 端口号
复制代码

<h4>6&#xff09;、lsof 用于列出系统上打开的文件及其相关信息</h4>
<p>lsof&#xff08;List Open Files&#xff09;是一个强大的工具&#xff0c;用于列出系统上打开的文件及其相关信息。在 Unix 和类 Unix 操作系统中&#xff0c;文件不仅仅指普通的文件&#xff0c;还包括目录、设备、管道和网络套接字等。lsof 命令非常有用&#xff0c;特别是在调试和系统管理任务中。</p>
<p><strong>常见用法</strong></p>
<ol><li> <p><strong>列出所有打开的文件</strong></p>
  1. lsof
复制代码
<p>这个命令会列出系统上所有当前打开的文件。</p> </li><li> <p><strong>列出特定用户打开的文件</strong></p>
  1. lsof -u username
复制代码
<p>替换 username 为你要查看的用户名。</p> </li><li> <p><strong>列出特定进程打开的文件</strong></p>
  1. lsof -p PID
复制代码
<p>替换 PID 为你要查看的进程 ID。</p> </li><li> <p><strong>列出特定文件被哪个进程打开</strong></p>
  1. lsof /path/to/file
复制代码
<p>替换 /path/to/file 为你要查看的文件路径。</p> </li><li> <p><strong>列出网络端口和套接字</strong></p>
  1. lsof -i
复制代码
<p>这个命令会列出所有网络连接和监听的套接字。</p> </li><li> <p><strong>列出特定端口的网络连接</strong></p>
  1. lsof -i :PORT
复制代码
<p>替换 PORT 为你要查看的端口号。</p> </li><li> <p><strong>列出特定协议的网络连接</strong></p>
  1. lsof -i TCP
复制代码
<p>或者</p>
  1. lsof -i UDP
复制代码
<p>分别列出 TCP 或 UDP 协议的网络连接。</p> </li><li> <p><strong>列出打开文件的详细信息</strong></p>
  1. lsof -F
复制代码
<p>使用 -F 选项以字段化格式输出信息&#xff0c;适合脚本处理。</p> </li><li> <p><strong>列出已挂载的文件系统的文件</strong></p>
  1. lsof &#43;D /mount/point
复制代码
<p>替换 /mount/point 为你要查看的挂载点。这会列出在这个挂载点及其子目录中所有打开的文件。</p> </li></ol>
<p><strong>常用选项说明</strong></p>
<ul><li>-a&#xff1a;与其他选项一起使用时&#xff0c;表示所有条件都必须满足。</li><li>-c&#xff1a;仅列出指定命令名相关的文件。</li><li>-d&#xff1a;列出特定的文件描述符。</li><li>-t&#xff1a;只输出进程 ID&#xff08;PID&#xff09;&#xff0c;适合脚本使用。</li><li>-n&#xff1a;显示网络地址而不是主机名&#xff08;加速输出&#xff09;。</li></ul>
<p>示例</p>
<ol><li> <p><strong>查看哪个进程在使用特定文件</strong></p>
  1. lsof /var/log/syslog
复制代码
</li><li> <p><strong>找出哪个进程在监听某个端口</strong></p>
  1. lsof -i :80
复制代码
<p>这将列出所有正在使用 80 端口的进程。</p> </li><li> <p><strong>列出某个用户的网络连接</strong></p>
  1. lsof -u username -i
复制代码
</li></ol>
<p>使用 lsof 可以帮助你诊断文件和网络相关的问题&#xff0c;例如查看哪个进程正在使用某个文件&#xff0c;或者确定哪些程序正在监听特定的网络端口。</p>
<h4>7&#xff09;、crontab 定时任务设置</h4>
  1. crontab -e
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/7189523e0e994301a2b9177243d8f38a.png" alt="在这里插入图片描述" />
<br /> &#xff08;1&#xff09;、重新启动 crond 服务</p>
  1. systemctl restart crond
复制代码

<p>&#xff08;2&#xff09;、每隔 1 分钟&#xff0c;向/root/bailongma.txt 文件中添加一个 11 的数字</p>
  1. */1 * * * * /bin/echo ”11” &gt;&gt; /root/bailongma.txt
复制代码

<h4>8&#xff09;、tcpdump抓包</h4>
<ol><li>监听eno3网卡&#xff0c;目标端口10011 抓数据包内容输出到result.pcap文件</li></ol>
  1. tcpdump -i eno3 tcp port 10011 -w result.pcap
复制代码

<ol start="2"><li>抓指定ip&#xff0c;指定内容</li></ol>
  1. tcpdump -i any host ip -A | grep &#34;关键字检索&#34;
复制代码

<ol start="3"><li>抓指定ip</li></ol>
  1. tcpdump -i  网口 host ip -w 文件名.pcap
复制代码

<h2>七、软件包管理</h2>
<h3>7.1、BPM</h3>
<p>RPM&#xff08;RedHat Package Manager&#xff09;&#xff0c;RedHat软件包管理工具&#xff0c;类似windows里面的setup.exe是Linux这系列操作系统里面的打包安装工具&#xff0c;它虽然是RedHat的标志&#xff0c;但理念是通用的。</p>
<p>RPM包的名称格式<br /> Apache-1.3.23-11.i386.rpm</p>
<ul><li>“apache” 软件名称</li><li>“1.3.23-11”软件的版本号&#xff0c;主版本和此版本</li><li>“i386”是软件所运行的硬件平台&#xff0c;Intel 32位处理器的统称</li><li>“rpm”文件扩展名&#xff0c;代表RPM包</li></ul>
<h4>1&#xff09;、RPM 安装命令&#xff08;rpm -ivh&#xff09;</h4>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/0f2d6649ee10917d4748de91a341de33.png" alt="在这里插入图片描述" />
</p>
  1. rpm -ivh 包名.rpm
复制代码

<h4>2&#xff09;、RPM 查询命令&#xff08;rpm -qa&#xff09;</h4>
<p>语法&#xff1a;rpm -qa &#xff08;功能描述&#xff1a;查询所安装的所有 rpm 软件包&#xff09;</p>
<p>由于软件包比较多&#xff0c;一般都会采取过滤。rpm -qa | grep rpm软件包<br /> 例如&#xff1a;查询firefox软件安装情况</p>
  1. rpm -qa |grep firefox
复制代码

<h4>3&#xff09;、RPM 卸载命令&#xff08;rpm -e&#xff09;</h4>
  1. rpm -e RPM软件包
  2. # 卸载软件时&#xff0c;不检查依赖。这样的话&#xff0c;那些使用该软件包的软件在此之后可能就不能正常工作了。
  3. rpm -e --nodeps 软件包
复制代码

<h3>7.2、YUM 仓库配置</h3>
<p>YUM&#xff08;全称为 Yellow dog Updater, Modified&#xff09;是一个在 Fedora 和 RedHat 以及 CentOS中的 Shell 前端软件包管理器。基于 RPM 包管理&#xff0c;能够从指定的服务器自动下载 RPM 包并且安装&#xff0c;可以自动处理依赖性关系&#xff0c;并且一次安装所有依赖的软件包&#xff0c;无须繁琐地一次次下载、安装</p>
<p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/c7019a93ed8ce46dd9934c72075d57a4.png" alt="在这里插入图片描述" />
</p>
<h4>1&#xff09;、YUM 的常用命令</h4>
<p>语法&#xff1a;yum [选项] [参数]</p>
<p>选项&#xff1a;<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/8ecdd70e70d55fd1ce8a1a3f7d6c7bde.png" alt="在这里插入图片描述" />
</p>
<p>参数&#xff1a;<br />
<img src="https://i-blog.csdnimg.cn/blog_migrate/018578d752aaa0bd87c280be7ee0df24.png" alt="在这里插入图片描述" />
</p>
<p>&#xff08;1&#xff09;、采用 yum 方式安装 firefox</p>
  1. yum -y install firefox
复制代码

<h2>八、其他服务器常用知识</h2>
<h3>8.1、RAID&#xff08;冗余独立磁盘阵列&#xff09;</h3>
<p>RAID&#xff08;冗余独立磁盘阵列&#xff09;是一种将多个物理磁盘组合成一个逻辑单元的技术&#xff0c;主要用于提高数据存储的性能和可靠性。不同的RAID级别有各自的优缺点&#xff0c;适用于不同的应用场景。以下是一些常见的RAID级别&#xff1a;</p>
<p><strong>常见RAID级别</strong></p>
<ol><li> <p>RAID 0&#xff1a;</p>
  <ul><li><strong>特点</strong>&#xff1a;数据条带化&#xff0c;提供高性能。</li><li><strong>优点</strong>&#xff1a;提高读写速度。</li><li><strong>缺点</strong>&#xff1a;无冗余&#xff0c;任何一个磁盘故障都会导致数据丢失。</li></ul> </li><li> <p>RAID 1&#xff1a;</p>
  <ul><li><strong>特点</strong>&#xff1a;数据镜像&#xff0c;所有数据在两个或多个磁盘上完全相同。</li><li><strong>优点</strong>&#xff1a;高数据冗余&#xff0c;单个磁盘故障不会导致数据丢失。</li><li><strong>缺点</strong>&#xff1a;存储效率低&#xff0c;只有一半的可用存储空间。</li></ul> </li><li> <p>RAID 5&#xff1a;</p>
  <ul><li><strong>特点</strong>&#xff1a;数据条带化&#xff0c;并使用奇偶校验分布在所有磁盘上。</li><li><strong>优点</strong>&#xff1a;在一个磁盘故障的情况下仍能恢复数据&#xff0c;存储效率相对较高。</li><li><strong>缺点</strong>&#xff1a;写入性能较低&#xff0c;计算奇偶校验会影响性能。</li></ul> </li><li> <p>RAID 6&#xff1a;</p>
  <ul><li><strong>特点</strong>&#xff1a;与RAID 5类似&#xff0c;但有双重奇偶校验。</li><li><strong>优点</strong>&#xff1a;可以容忍两个磁盘故障。</li><li><strong>缺点</strong>&#xff1a;性能损失更大&#xff0c;尤其是写入操作。</li></ul> </li><li> <p>RAID 10&#xff08;或1&#43;0&#xff09;&#xff1a;</p>
  <ul><li><strong>特点</strong>&#xff1a;结合RAID 1和RAID 0的优点&#xff0c;数据在多个磁盘上镜像&#xff0c;同时条带化。</li><li><strong>优点</strong>&#xff1a;高性能和高冗余。</li><li><strong>缺点</strong>&#xff1a;需要至少四个磁盘&#xff0c;存储效率较低。</li></ul> </li></ol>
<p><strong>总结</strong></p>
<p>RAID技术在数据存储系统中具有重要作用&#xff0c;能够提高性能、可用性和数据安全性。然而&#xff0c;不同的RAID级别适合不同的需求&#xff0c;选择时需要根据具体的应用场景和风险管理策略来决定。尽管RAID提供了冗余&#xff0c;但仍然建议进行定期备份&#xff0c;以防止数据丢失。</p>
<p>选择RAID 1和RAID 5主要取决于你的需求&#xff0c;包括性能、存储效率和数据冗余。以下是一些帮助你做出选择的关键考虑因素&#xff1a;</p>
<hr />
<p><strong>选择考虑因素</strong></p>
<p>RAID 1和RAID 5 的关键考虑因素&#xff1a;</p>
<ol><li> <p><strong>冗余需求</strong>&#xff1a;</p>
  <ul><li>如果你的主要关注点是高冗余和数据安全&#xff0c;RAID 1可能更合适。</li><li>如果可以容忍单个磁盘故障且需要更高的存储效率&#xff0c;RAID 5是一个不错的选择。</li></ul> </li><li> <p><strong>性能需求</strong>&#xff1a;</p>
  <ul><li>如果读取性能是关键&#xff08;例如&#xff0c;数据库应用&#xff09;&#xff0c;RAID 1的性能可能更好。</li><li>如果需要更大的存储容量并且读取性能能够满足要求&#xff0c;RAID 5也能提供不错的读取性能。</li></ul> </li><li> <p><strong>存储容量</strong>&#xff1a;</p>
  <ul><li>RAID 5在相同数量的磁盘下提供更高的可用存储容量。</li><li>如果可用存储空间是重要因素&#xff0c;RAID 5通常是更好的选择。</li></ul> </li><li> <p><strong>写入性能</strong>&#xff1a;</p>
  <ul><li>如果写入性能至关重要&#xff0c;RAID 1可能更好&#xff0c;因为RAID 5在写入时需要进行奇偶校验计算。</li></ul> </li></ol>
<p>结论</p>
<ul><li><strong>选择RAID 1</strong>&#xff1a;如果你更重视数据安全、简单性和更快的写入速度&#xff0c;且不介意较低的存储效率。</li><li><strong>选择RAID 5</strong>&#xff1a;如果你需要高可用性和高存储效率&#xff0c;同时能够接受稍低的写入性能。</li></ul>
<p>在决策过程中&#xff0c;还要考虑到预算、维护成本和未来扩展的可能性。</p>
<h3>8.2、SFTP 远程服务器文件传输</h3>
<p>SFTP&#xff08;Secure File Transfer Protocol&#xff09;是一种安全的文件传输协议&#xff0c;基于 SSH&#xff08;Secure Shell&#xff09;提供的加密和认证机制。它用于在网络上安全地传输文件&#xff0c;通常用于在本地计算机和远程服务器之间进行文件传输。</p>
<p><strong>基本特性</strong></p>
<ol><li><strong>加密</strong>&#xff1a;SFTP 使用 SSH 加密数据传输&#xff0c;确保文件在传输过程中不会被窃听或篡改。</li><li><strong>认证</strong>&#xff1a;通过 SSH 的认证机制&#xff0c;确保只有授权用户才能访问文件。</li><li><strong>功能丰富</strong>&#xff1a;支持文件上传、下载、删除、重命名等操作。</li></ol>
<p><strong>如何使用 SFTP</strong></p>
<ol><li> <p><strong>连接到服务器</strong>&#xff1a;<br /> 使用以下命令连接到远程服务器&#xff1a;</p>
  1. sftp  -oPort&#61;22  username&#64;hostname  
  2. # 示例    sftp  -oPort&#61;22  root&#64;127.0.0.1
复制代码
<p>输入密码后&#xff0c;即可进入 SFTP 命令行界面。</p> </li><li> <p><strong>基本命令</strong>&#xff1a;</p>
  <ul><li><strong>列出文件</strong>&#xff1a;ls</li><li><strong>切换目录</strong>&#xff1a;cd directory_name</li><li><strong>将本地目录更改为指定路径</strong>&#xff1a;lcd /path/to/local/directory</li><li><strong>上传文件</strong>&#xff1a;put local_file 文件会被上传到当前远程目录&#xff08;由 cd 设置的目录&#xff09;</li><li><strong>下载文件</strong>&#xff1a;get remote_file 文件会被下载到本地当前目录&#xff08;由 lcd 设置的目录&#xff09;</li><li><strong>退出 SFTP</strong>&#xff1a;bye 或 exit</li></ul> </li></ol>
<p>示例</p>
  1. sftp user&#64;example.com
  2. sftp&gt; ls
  3. sftp&gt; cd remote_directory
  4. sftp&gt; put local_file.txt
  5. sftp&gt; get remote_file.txt
  6. # 下载文件&#xff1a;把远程服务器的/home/ilog/test目录下的0824.txt文件下载到本地服务器的D:/Mykit/test目录下
  7. sftp&gt; cd /home/ilog/test
  8. sftp&gt; lcd D:/Mykit/test
  9. sftp&gt; get 0824
  10. sftp&gt; bye
复制代码

<p><strong>注意事项</strong></p>
<ul><li>确保服务器已安装并配置 SSH。</li><li>使用强密码或 SSH 密钥进行认证&#xff0c;以提高安全性。</li></ul>
<p>SFTP 是一种安全且高效的文件传输方式&#xff0c;适用于需要安全传输的场景。</p>
<h3>8.3、sslscan 评估服务器的 SSL/TLS 配置</h3>
<p>基本功能</p>
<ol><li>扫描服务器&#xff1a;通过运行命令来扫描指定的服务器&#xff0c;获取其 SSL/TLS 配置信息。</li><li>支持的协议&#xff1a;列出服务器支持的 SSL/TLS 版本&#xff0c;如 TLS 1.0、1.1、1.2、1.3 等。</li><li>密码套件&#xff1a;显示支持的密码套件及其强度。</li><li>漏洞检查&#xff1a;识别已知的安全漏洞&#xff0c;如 POODLE、Heartbleed 等。</li></ol>
<p>安装命令</p>
  1. sudo yum remove sslscan
  2. git clone https://github.com/rbsec/sslscan
  3. cd sslscan
  4. sudo yum install -y perl-CPAN
  5. sudo yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
  6. sudo yum install zlib-devel
  7. make static
  8. ./sslscan --version
复制代码

<p>评估命令&#xff1a;进入sslscan目录下</p>
  1. ./sslscan www.baidu.com:443
复制代码

<p>
<img src="https://i-blog.csdnimg.cn/direct/f096916ec33a46199c315407cd3cdb09.png" alt="在这里插入图片描述" />
</p>
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

特级红客

关注
  • 3159
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行