【愚公系列】2023年11月 大数据教学课程 003
圆圆2025-08-03 10:01:31次浏览条评论
<p>?前言</p><p><a style="color:#f60; text-decoration:underline;" title="linux" href="https://www.php.cn/zt/15718.html" target="_blank">linux</a>权限指的是文件或目录在系统中的访问权限,分为读、写、执行三种权限,通过权限设置可以保护系统的安全性。</p><thead><th><p>命令</p></th><th><p>描述</p></th></thead><p>chmod</p><p>更改文件或目录的权限</p><p>chown</p><p>更改文件或目录的所有者</p><p>ls</p><p>显示目录或文件的内容</p><p>mkdir</p><p>创建新目录</p><p>rm</p><p>删除一个文件或目录</p><p>mv</p><p>移动或重命名文件或目录</p><p>ps</p><p>显示当前正在运行的进程</p><p>kill</p><p>停止运行的进程</p><p>grep</p><p>在文件中搜索特定的字符串</p><p>awk</p><p>在文本文件中搜索和操作数据</p><p>sed</p><p>对文本进行替换和流编辑操作</p><p>ping</p><p>测试网络连接</p><p>ifconfig</p><p>显示网络接口的配置信息</p><p>netstat</p><p>显示网络连接状态</p><p>route</p><p>配置和显示网络路由表</p><p>traceroute</p><p>跟踪数据包的路径</p><p>ssh</p><p>远程登录到另一台计算机</p><p>scp</p><p>跨计算机之间复制文件</p><p>tar</p><p>压缩和解压缩文件</p><p>top</p><p>显示系统资源的使用情况</p>?一、搜索命令?1.find 搜索?1.1 find详解<thead><th><p>序号</p></th><th><p>命令格式</p></th><th><p>作用</p></th></thead><p>01</p><p>find [路径] -name ‘*.txt’</p><p>查找指定路径下扩展名是 .txt的文件, 包括子目录</p>如果省略路径, 表示在当前文件夹下查找之前学习的通配符, 在使用find命令时同时可用<p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">第一步: 搜索指定目录下, 文件是 abc.txt的文件</pre><div class="contentsignin">登录后复制</div></div></p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># ===================实现目标============================# 方式一: 指定全目录find /export/ -name 'abc.txt'# 方式二: 当前目录find . -name 'abc.txt'# 方式三: 当前目录 可以 省略 不写find -name 'abc.txt'</pre><div class="contentsignin">登录后复制</div></div><p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">第二步: 搜索指定目录下, 文件名 包含 </pre><div class="contentsignin">登录后复制</div></div>1<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> 的文件</pre><div class="contentsignin">登录后复制</div></div></p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># =================实现目录===============find /export/ -name "*1*"</pre><div class="contentsignin">登录后复制</div></div><p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">第三步: 搜索指定目录下,所有以</pre><div class="contentsignin">登录后复制</div></div>.txt<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> 为扩展名的文件</pre><div class="contentsignin">登录后复制</div></div></p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">find /export/ -name "*.txt"</pre><div class="contentsignin">登录后复制</div></div><p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">第四步: 搜索指定目录下, 以数字</pre><div class="contentsignin">登录后复制</div></div>1<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">开头的文件</pre><div class="contentsignin">登录后复制</div></div></p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">find /export -name "1*"</pre><div class="contentsignin">登录后复制</div></div>?1.2 find和grep<p>find和grep都是Linux系统中十分常用的命令,但是它们的作用不同。</p> find命令主要用于在指定目录下,按照文件名、文件类型、大小、权限等条件查找文件,支持使用通配符匹配文件名,例如<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">find /usr/local -name "*.txt"</pre><div class="contentsignin">登录后复制</div></div>可以查找/usr/local目录下所有以".txt"后缀的文件。 grep命令则用于在文本文件中查找特定的字符串,它可以指定要搜索的文件,也可以将其他命令输出的结果作为输入进行过滤,支持正则表达式匹配,例如<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">grep "hello" test.txt</pre><div class="contentsignin">登录后复制</div></div>可以查找test.txt中所有包含"hello"的行。 <p>find适用于查找文件,而grep适用于查找文本。两者可以组合使用,例如<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">find /usr/local -name "*.txt" | xargs grep "hello"</pre><div class="contentsignin">登录后复制</div></div>可以查找/usr/local目录下所有名为".txt"的文件中包含"hello"的行。</p>?二、解压缩命令?1.tar 格式 压缩 和 解压缩?1.1 打包 类似将 冬天的衣服 放到 袋 打包之后的大文件 需要以 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">.tar</pre><div class="contentsignin">登录后复制</div></div> 结尾. <p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">tar</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 打包命令格式</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># 将 一系列文件 打包成 一个大文件tar -cvf 打包名.tar 被打包的目录tar -cvf 打包名.tar 被打包的文件1 被打包的文件2 被打包的文件3</pre><div class="contentsignin">登录后复制</div></div><p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">tar</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 选项说明</p><thead><th><p>命令</p></th><th><p>英文</p></th><th><p>含义</p></th></thead><p>c</p><p>create</p><p>生成档案文件, 创建打包文件</p><p>v</p><p>verbosely(啰嗦的)</p><p>像 ‘唐僧’ 一样报告进度</p><p>f</p><p>file</p><p>指定档案的文件名称, f后面一定是 .tar 文件, 所以必须放到左后</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">练习1: 将1.txt、2.txt、3.txt 打包成 123.tar文件练习2: 将有内容的aaa目录 打包成 aaa.tar 文件</pre><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# tar -cvf 123.tar 1.txt 2.txt 3.txt 1.txt2.txt3.txt[root@node01 export]# lltotal 16-rw-r--r--. 1 root root 10240 Jul 31 06:04 123.tar-rw-r--r--. 1 root root 0 Jul 31 06:03 1.txt-rw-r--r--. 1 root root 0 Jul 31 06:03 2.txt-rw-r--r--. 1 root root 0 Jul 31 06:03 3.txtdrwxr-xr-x. 2 root root 4096 Jul 31 06:03 aaa[root@node01 export]# tar -cvf aaa.tar aaa/aaa/aaa/4.txtaaa/5.txt[root@node01 export]# lltotal 28-rw-r--r--. 1 root root 10240 Jul 31 06:04 123.tar-rw-r--r--. 1 root root 0 Jul 31 06:03 1.txt-rw-r--r--. 1 root root 0 Jul 31 06:03 2.txt-rw-r--r--. 1 root root 0 Jul 31 06:03 3.txtdrwxr-xr-x. 2 root root 4096 Jul 31 06:03 aaa-rw-r--r--. 1 root root 10240 Jul 31 06:04 aaa.tar[root@node01 export]# rm -rf *.txt aaa[root@node01 export]# lltotal 24-rw-r--r--. 1 root root 10240 Jul 31 06:04 123.tar-rw-r--r--. 1 root root 10240 Jul 31 06:04 aaa.tar[root@node01 export]# [root@node01 export]# tree.├── 123.tar└── aaa.tar</pre><div class="contentsignin">登录后复制</div></div>?1.2 解包类似将 冬天的衣服 从 袋子里取出来<p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">tar</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 解包命令格式</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># 将一个打包后的 分解成 一系列小文件, 分解位置为 当前目录tar -xvf 打包名.tar# 将一个打包后的 分解成 一系列小文件, 分解位置为 指定目录tar -xvf 打包名.tar -C 解包路径位置</pre><div class="contentsignin">登录后复制</div></div><thead><th><p>命令</p></th><th><p>英文</p></th><th><p>含义</p></th></thead><p>x</p><p>extract (提取)</p><p>解包</p><p>C (大写C)</p><p>directory (目录)</p><p>默认保存到当前目录, 通过-C 更改解压目录, 注意: 解压目录必须存在</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">练习1: 将 123.tar 解压到 当前目录中练习2: 将 aaa.tar 解包到 /export/test/a1/b1/c1/ 目录中</pre><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# lltotal 24-rw-r--r--. 1 root root 10240 Jul 31 06:04 123.tar-rw-r--r--. 1 root root 10240 Jul 31 06:04 aaa.tar[root@node01 export]# tar -xvf 123.tar 1.txt2.txt3.txt[root@node01 export]# lltotal 24-rw-r--r--. 1 root root 10240 Jul 31 06:04 123.tar-rw-r--r--. 1 root root 0 Jul 31 06:03 1.txt-rw-r--r--. 1 root root 0 Jul 31 06:03 2.txt-rw-r--r--. 1 root root 0 Jul 31 06:03 3.txt-rw-r--r--. 1 root root 10240 Jul 31 06:04 aaa.tar[root@node01 export]# mkdir -p /export/test/a1/b1/c1[root@node01 export]# tree.├── 123.tar├── 1.txt├── 2.txt├── 3.txt├── aaa.tar└── test └── a1 └── b1 └── c14 directories, 5 files[root@node01 export]# tar -xvf aaa.tar -C /export/test/a1/b1/c1aaa/aaa/4.txtaaa/5.txt[root@node01 export]# tree.├── 123.tar├── 1.txt├── 2.txt├── 3.txt├── aaa.tar└── test └── a1 └── b1 └── c1 └── aaa ├── 4.txt └── 5.txt</pre><div class="contentsignin">登录后复制</div></div>?2.gzip格式 压缩 和 解压缩 打包 和 压缩 是两件事 类似与 先将冬天衣服放到压缩袋, 再抽取里面的空气 在 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Linux</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 中, 最常用的压缩文件格式是 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">xxx.tar.gz</pre><div class="contentsignin">登录后复制</div></div> 在 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">tar</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 命令中有一个选项 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">-z</pre><div class="contentsignin">登录后复制</div></div> 可以调用 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">gzip</pre><div class="contentsignin">登录后复制</div></div> , 从而可以方便的实现压缩和解压缩的功能 <p>命令格式如下</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># 压缩文件tar -zcvf 打包压缩文件名.tar.gz 被压缩的文件/目录# 解压缩文件(记忆敲门: 至孝潍坊)tar -zxvf 打包文件.tar.gz# 解压缩到指定路径tar -zxvf 打包文件.tar.gz -C 目录路径</pre><div class="contentsignin">登录后复制</div></div><p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">tar</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 的选项说明</p><thead><th><p>命令</p></th><th><p>英文</p></th><th><p>含义</p></th></thead><p>z</p><p>gzip</p><p>使用gzip压缩和解压缩</p><p>j</p><p>bzip2</p><p>使用bzip2压缩和解压缩</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">需求1: 将1.txt、2.txt、3.txt 打包压缩成 123.tar.gz文件(gzip压缩格式)需求2: 将有内容的aaa目录 打包成 aaa.tar.gz 文件(gzip压缩格式)需求3: 将 123.tar.gz 解压到 当前目录中(gzip压缩格式)需求4: 将 aaa.tar.gz 解包到 /export/bbb 目录中(gzip压缩格式)</pre><div class="contentsignin">登录后复制</div></div><p>需求1和需求2答案</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# tree.├── 1.txt├── 2.txt├── 3.txt└── aaa ├── 4.txt └── 5.txt1 directory, 5 files[root@node01 export]# tar -zcvf 123.tar.gz 1.txt 2.txt 3.txt 1.txt2.txt3.txt[root@node01 export]# tar -zcvf aaa.tar.gz aaa/aaa/aaa/4.txtaaa/5.txt[root@node01 export]# lltotal 12-rw-r--r--. 1 root root 122 Jul 31 06:11 123.tar.gz-rw-r--r--. 1 root root 0 Jul 31 06:10 1.txt-rw-r--r--. 1 root root 0 Jul 31 06:10 2.txt-rw-r--r--. 1 root root 0 Jul 31 06:10 3.txtdrwxr-xr-x. 2 root root 4096 Jul 31 06:10 aaa-rw-r--r--. 1 root root 142 Jul 31 06:11 aaa.tar.gz</pre><div class="contentsignin">登录后复制</div></div><p>清空无用内容</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# tree.├── 123.tar.gz├── 1.txt├── 2.txt├── 3.txt├── aaa│ ├── 4.txt│ └── 5.txt└── aaa.tar.gz1 directory, 7 files[root@node01 export]# rm -rf *.txt aaa/[root@node01 export]# tree.├── 123.tar.gz└── aaa.tar.gz</pre><div class="contentsignin">登录后复制</div></div><p>需求3和需求4 答案</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# tree.├── 123.tar.gz├── 1.txt├── 2.txt├── 3.txt└── aaa.tar.gz0 directories, 5 files[root@node01 export]# mkdir -p /export/bbb[root@node01 export]# tar -zxvf aaa.tar.gz -C /export/bbb/aaa/aaa/4.txtaaa/5.txt[root@node01 export]# tree.├── 123.tar.gz├── 1.txt├── 2.txt├── 3.txt├── aaa.tar.gz└── bbb └── aaa ├── 4.txt └── 5.txt</pre><div class="contentsignin">登录后复制</div></div>?3.bzip2 格式 压缩 和 解压缩<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">bzip</pre><div class="contentsignin">登录后复制</div></div> 是压缩的第二种方式类似与 先将冬天衣服放到压缩袋, 再抽取里面的空气在 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Linux</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 中, bzip2 压缩文件格式是 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">xxx.tar.bz2</pre><div class="contentsignin">登录后复制</div></div>在 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">tar</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 命令中有一个选项 -j 可以调用 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">bzip2</pre><div class="contentsignin">登录后复制</div></div> , 从而可以方便的实现压缩和解压缩的功能<p>命令格式如下</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># 压缩文件tar -jcvf 打包压缩文件名.tar.bz2 被压缩的文件/目录# 解压缩文件 (绩效潍坊)tar -jxvf 打包文件.tar.bz2# 解压缩到指定路径tar -jxvf 打包文件.tar.bz2 -C 目录路径</pre><div class="contentsignin">登录后复制</div></div><p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">tar</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 的选项说明</p><thead><th><p>命令</p></th><th><p>英文</p></th><th><p>含义</p></th></thead><p>z</p><p>gzip</p><p>使用gzip压缩和解压缩</p><p>j</p><p>bzip2</p><p>使用bzip2压缩和解压缩</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">练习1: 将1.txt、2.txt、3.txt 打包压缩成 123.tar.bz2文件(bzip2压缩格式)练习2: 将有内容的aaa目录 打包成 aaa.tar.bz2 文件(bzip2压缩格式)练习3: 将 123.tar.bz2 解压到 当前目录中(bzip2压缩格式)练习4: 将 aaa.tar.bz2 解压到 /export/bbb 目录中(bzip2压缩格式)</pre><div class="contentsignin">登录后复制</div></div><p>需求1和需求2答案</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# tar -jcvf 123.tar.bz2 1.txt 2.txt 3.txt 1.txt2.txt3.txt[root@node01 export]# tar -jcvf aaa.tar.bz2 aaa/aaa/aaa/4.txtaaa/5.txt[root@node01 export]# tree.├── 123.tar.bz2├── 1.txt├── 2.txt├── 3.txt├── aaa│ ├── 4.txt│ └── 5.txt└── aaa.tar.bz2</pre><div class="contentsignin">登录后复制</div></div><p>清空内容</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# rm -rf *.txt[root@node01 export]# rm -rf aaa/[root@node01 export]# tree.├── 123.tar.bz2└── aaa.tar.bz2</pre><div class="contentsignin">登录后复制</div></div><p>需求3和需求4答案</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# tar -jxvf 123.tar.bz2 1.txt2.txt3.txt[root@node01 export]# mkdir -p /export/bbb[root@node01 export]# tar -jxvf aaa.tar.bz2 -C /export/bbb/aaa/aaa/4.txtaaa/5.txt[root@node01 export]# tree.├── 123.tar.bz2├── 1.txt├── 2.txt├── 3.txt├── aaa.tar.bz2└── bbb └── aaa ├── 4.txt └── 5.txt</pre><div class="contentsignin">登录后复制</div></div>?三、终端编辑器?1.简介?1.1 学习vi的目的 在工作中, 要对 服务器上的 文件进行 简单 的修改, 可以使用 ssh 登录到远程服务器上, 并且使用 vi编辑器 进行简单的编辑即可 需要修改的文件包括 源代码配置文件 例如: <a style="color:#f60; text-decoration:underline;" title="tomcat" href="https://www.php.cn/zt/17171.html" target="_blank">tomcat</a>服务器的配置文件例如: 网卡信息的配置文件?1.2 vi 和 vim在很多linux发行版中, 直接把vi做成vim的 软连接☀️1.2.1 VI vi是 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">visual interface</pre><div class="contentsignin">登录后复制</div></div>的简称, 是linux中最经典的文本编辑器 vi 的核心设计思想 让程序员的手指始终保持在键盘的 核心区域, 就能完成所有的编辑操作 vi的特点 只能是编辑 文本内容, 不能对 字体 段落进行排版不支持鼠标操作没有菜单只有命令 vi编辑器在 系统管理 服务器管理 编辑文件时, 其功能永远不是图形界面的编辑器能比拟的 ☀️1.2.2 VIM<p>vim = vi improved</p><p>vim 是从vi发展出来的文本编辑器, 支持代码补全、编译 及 错误跳转等方便编程的功能提别丰富, 在程序员中被广泛使用, 被称为编辑器之神</p>?2.打开和新建文件在终端中输入vim在后面跟上 文件名 即可代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">vim 文件名</pre><div class="contentsignin">登录后复制</div></div>如果文件已经存在, 会直接打开该文件如果文件不存在, 保存且退出时 就会新建一个文件代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">1 vim 没有的文件名2 编辑内容2.1 编写类2.2 输出一行语句2.3 复制粘贴 2.2内容 19次2.4 保存且退出3 查看</pre><div class="contentsignin">登录后复制</div></div><p>注意: 本节重点是 打开 和 新建文件, 其他命令后面会一一讲解</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# cd /export/ && rm -rf *[root@node01 export]# vim Hello.java</pre><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">public class Hello { public static void main(String[] args) { System.out.println("Hello World!"); // 1 将光标移动到上一行, 按 yy // 2 按 ESC 键 退出编辑模式 // 3 按 19p System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); // 1 按 ESC 退出编辑模式 // 2 按 : 进入莫行模式 // 3 输入 wq(write quit)保存且退出 按回车键执行 }}</pre><div class="contentsignin">登录后复制</div></div>?2.1 打开文件并且定位行在日常工作中, 有可能会遇到打开一个文件, 并定位到指定行的情况例如: 在开发是, 知道某一行代码有错误, 可以 快速定位 到出错误代码的位置这个时候, 可以使用以下命令打开文件代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">vim 文件名 +行数</pre><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# vim Hello.java +10</pre><div class="contentsignin">登录后复制</div></div>?2.2 异常处理如果 vi 异常退出, 在磁盘上可能会保存有 交换文件下次再使用 vi 编辑文件时, 会看到以下屏幕信息, 按下字母 d 删除交换文件即可<figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509454325.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure>如何产生 编辑文件, 没有退出, 关闭回话窗口<figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509517652.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure><p> .</p>?2.3 VI三种工作模式VI有三种工作模式命令模式 打开文件首先进入命令模式, 是使用vi的入口通过 命令 对文件进行常规的编辑操作, 例如 定位 翻页 复制 粘贴 删除 … …在其他图形编辑器下, 通过 快捷键 或者 鼠标 实现的操作, 都在 命令模式 下实现末行模式 – 执行 保存 退出等操作 要退出 vi 返回到控制台, 需要在莫行模式下输入命令末行模式 是 vi 的出口编辑模式 – 正常的编辑文字?2.4 末行模式命令<thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th></thead><p>w</p><p>write</p><p>保存</p><p>q</p><p>quit</p><p>退出,如果没有保存,不允许退出</p><p>q!</p><p>quit</p><p>强行退出,不保存退出</p><p>wq</p><p>write & quit</p><p>保存且退出(莫行模式)</p><p>x</p><p></p><p>保存并退出(莫行模式)</p><p>ZZ</p><p></p><p>保存并退出(命令模式)</p>?3.常用命令?3.1 移动<p>要熟练使用vi, 首先应该学会怎么在 命令模式下 快速移动光标 编辑操作命令 能够和移动命令一起使用</p><p>1、上 下 左 右</p><figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509552928.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure><thead><th><p>命令</p></th><th><p>功能</p></th><th><p>手指</p></th></thead><p>h</p><p>向左</p><p>食指</p><p>j</p><p>向下</p><p>食指</p><p>k</p><p>向上</p><p>中指</p><p>l</p><p>向右</p><p>无名指</p><p>2、行内移动</p><thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th></thead><p>w</p><p>word</p><p>向后移动一个单词</p><p>b</p><p>back</p><p>向前移动一个单词</p><p>0</p><p></p><p>行首</p><p>^</p><p></p><p>行首, 第一个不是空白字符的位置</p><p>$</p><p></p><p>行尾</p><p>3、行数移动</p><thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th></thead><p>gg</p><p>go</p><p>文件顶部</p><p>G</p><p>go</p><p>文件末尾</p><p>数字gg</p><p>go</p><p>移动到 数字 对应行数</p><p>数字G</p><p>go</p><p>移动到 数字 对应行数</p><p>: 数字</p><p></p><p>移动到数字对应的 行数</p><p>4、屏幕移动</p><thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th></thead><p>Ctrl + b</p><p>back</p><p>向上翻页</p><p>Ctrl + f</p><p>forward</p><p>向下翻页</p><p>H</p><p>Head</p><p>屏幕顶部</p><p>M</p><p>Middle</p><p>屏幕中间</p><p>L</p><p>Low</p><p>屏幕底部</p>?3.2 移动(程序)<p>1、段落移动</p> vim中使用 空行 来区分段落 程序开发时, 通常 一段功能相关的代码会写在一起 – 之间没有空行 命令功能{上一段}下一段<p>2、括号切换</p> 在程序世界中, **()、[]、{}**使用率很高, 而且 都是成对出现的. 命令功能%括号匹配及切换<p>3、标记</p>在开发时, 某一块代码可能需要稍后处理, 例如: 编辑、查看此时先试用 m 增加一个标记, 这样可以 在需要时快速的跳转回来 或者 执行其他编辑操作标记名称 可以是 a~z 或者 A~Z 之间的任意 一个 字母添加了标记的 行如果删除, 标记同时被删除如果 在其他行添加了相同名称的标记, 之前添加的标记也会被替换掉<thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th></thead><p>mx</p><p>mark</p><p>添加编辑x, x是a~z 或者 A~Z的任意一个字母</p><p>'x</p><p></p><p>直接定位到标记x所在的位置</p>?3.3 选中文本(可视模式)学习 复制 命令前, 应该先学会 怎么样选中 要复制的代码在 vi 中要选择文本, 需要显示 visual 命令切换到 可视模式vi 中提供了 三种 可视模式, 可以方便程序员的选择 选中文本的方式按 ESC 可以放弃选中, 返回到 命令模式<thead><th><p>命令</p></th><th><p>模式</p></th><th><p>功能</p></th></thead><p>v</p><p>可视模式</p><p>从光标位置开始按照正常模式选择文本</p><p>V</p><p>可视化模式</p><p>选中光标经过的完整行</p><p>Ctrl + v</p><p>可是块模式</p><p>垂直方向选中文本</p>可视模式下, 可以和 移动命令 连用, 例如 ggVG 能够 选中所有的内容?3.4 撤销和恢复撤销(保命指令)<p>在学习编辑命令之前,先要知道怎样撤销之前一次 错误的 编辑操作</p><thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th></thead><p>u</p><p>undo</p><p>撤销上次的命令(ctrl + z)</p><p>Ctrl + r</p><p>u<a style="color:#f60; text-decoration:underline;" title="red" href="https://www.php.cn/zt/122037.html" target="_blank">red</a>o</p><p>10dd恢复撤销的命令</p>?3.5 删除文本<thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th></thead><p>x</p><p>cut</p><p>删除光标所在的字符,或者选中的文字</p><p>d(移动命令)</p><p>delete</p><p>删除移动命令对应的内容</p><p>dd</p><p>delete</p><p>删除光标所在行, 可以ndd删除多行</p><p>D</p><p>delete</p><p>删除至行尾</p><p>提示: 如果使用 可视模式 已经选中了一段文本, 那么无论使用 d 还是 x, 都可以删除选中文本</p><p>删除命令可以和移动命令连用, 以下是常见的组合命令(扩展):</p><thead><th><p>命令</p></th><th><p>作用</p></th></thead><p>dw</p><p>从光标位置删除到单词末尾</p><p>d0</p><p>从光标位置删除到一行的起始位置</p><p>d}</p><p>从光标位置删除到段落末尾</p><p>ndd</p><p>从光标位置向下连续删除 n 行</p><p>d’a</p><p>从光标所在行 删除到 标记a 之间的所有代码</p>?3.6 复制和剪切vi 中提供有一个 被复制文本的缓冲区 复制 命令会将选中的文字保存在缓冲区删除 命令删除的文字会被保存在缓冲区在需要的位置, 使用 粘贴 命令可以将缓冲对的文字插入到光标所在的位置<thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th></thead><p>y(复制命令)</p><p>copy</p><p>复制</p><p><a style="color:#f60; text-decoration:underline;" title="yy" href="https://www.php.cn/zt/79744.html" target="_blank">yy</a></p><p>copy</p><p>复制一行,可以nyy复制多行</p><p>d(剪切命令)</p><p>delete</p><p>剪切</p><p>dd(剪切)</p><p>delete</p><p>剪切一行, 可以 ndd 剪切n行</p><p>p</p><p>paste</p><p>粘贴</p><p>提示:</p>命令 d 、x 类似于图形界面的 剪切操作 – ctrl + x命令 y 类似于 图形界面的 复制操作 – Ctrl +命令 p 类似于图形界面的 粘贴操作 – Ctrl + vvi中的文本缓冲区只有一个,如果后续做过 复制、剪切操作, 之前缓冲区中的内容会被替换.<p>注意</p>vi中的 文本缓冲区 和 系统的 剪切板 不是同一个所以在其他软件中使用 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Ctrl + C</pre><div class="contentsignin">登录后复制</div></div> 复制的内容, 不能再 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">vi</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 中通过 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">p</pre><div class="contentsignin">登录后复制</div></div> 命令粘贴可以在 编辑模式 下使用 鼠标右键粘贴?3.7 替换<thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th><th><p>工作模式</p></th></thead><p>r</p><p>replace</p><p>替换当前字符</p><p>命令模式</p><p>R</p><p>replace</p><p>替换当前行光标后的字符</p><p>替换模式</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">R</pre><div class="contentsignin">登录后复制</div></div> 命令可以进入 替换模式, 替换完成后, 按下<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">ESC</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> , 按下 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">ESC</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 可以回到 命令模式替换命令 的作用就是不用进入 编辑模式, 对文件进行 轻量级的修改?3.8 缩排和重复执行<thead><th><p>命令</p></th><th><p>功能</p></th></thead><p>>></p><p>向右增加缩进</p><p></p><p>向左减少缩进</p><p>.</p><p>重复上次命令</p>缩进命令 在开发程序时, 统一增加代码的缩进 比较有用! 一次性 在选中代码前增加 4 个空格, 就叫做 增加缩进一次性 在选中代码前删除 4 个空格, 就叫做 较少缩进在 可视模式 下, 缩排命令 主需要使用 一个 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">></pre><div class="contentsignin">登录后复制</div></div> 或者 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><</pre><div class="contentsignin">登录后复制</div></div><p>在程序中, 缩进 通常用来表示代码的归属关系</p>前面空格越少, 代码的级别越高前面空格越多, 代码的级别越低?3.9 查找<p>常规查找</p><thead><th><p>命令</p></th><th><p>功能</p></th></thead><p>/str</p><p>查找str</p> 查找到指定内容之后, 使用 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Next</pre><div class="contentsignin">登录后复制</div></div> 查找下一个出现的位置 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">n</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> : 查找下一个<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">n</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> : 查找上一个 如果不想看到高亮显示, 可以随便查找一个文件中不存在的内容即可 单词快速匹配 <thead><th><p>命令</p></th><th><p>功能</p></th></thead><p>*</p><p>向后查找当前光标所在单词</p><p>#</p><p>向前查找当前光标所在单词</p>在开发中, 通过单词快速匹配, 可以快速看到这个单词在其他位置使用过?3.10 查找并替换在 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">vi</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 中查找和替换命令需要在 末行模式 下执行记忆命令格式代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">:%s///g</pre><div class="contentsignin">登录后复制</div></div>全局替换<p>一次向 替换文件中的 所有出现的旧文本</p><p>命令格式如下</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">:%s/旧文本/新文本/g</pre><div class="contentsignin">登录后复制</div></div>可视区域替换先选中 要替换文字的 范围命令格式如下代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">:s/旧文本/新文本/g</pre><div class="contentsignin">登录后复制</div></div>确认替换:<p>c confirm 确认</p><p>如果把末尾的 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">g</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 改成 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">gc</pre><div class="contentsignin">登录后复制</div></div> 在替换的时候, 会有提示! 推荐使用</p><p>命令格式如下</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">:%s/旧文本/新文本/gc</pre><div class="contentsignin">登录后复制</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">y</pre><div class="contentsignin">登录后复制</div></div> - <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">yes</pre><div class="contentsignin">登录后复制</div></div> 替换<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">n</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> - <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">no</pre><div class="contentsignin">登录后复制</div></div> 不替换<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">a</pre><div class="contentsignin">登录后复制</div></div> - <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">all</pre><div class="contentsignin">登录后复制</div></div> 替换所有<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">q</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> -<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">quit</pre><div class="contentsignin">登录后复制</div></div> 退出替换<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">l</pre><div class="contentsignin">登录后复制</div></div> - <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">last</pre><div class="contentsignin">登录后复制</div></div> 最后一个, 并把光标移动到行首<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">^E</pre><div class="contentsignin">登录后复制</div></div> 向下滚屏<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">^Y</pre><div class="contentsignin">登录后复制</div></div> 向上滚屏?3.11 插入命令(重点重点重点)在 vi 中除了常用 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">i</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 进入编辑模式 外, 还提供了一下命令同样可以进入编辑模式<thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th><th><p>常用</p></th></thead><p>i</p><p>insert</p><p>在当前字符前插入文本</p><p>常用</p><p>I</p><p>insert</p><p>在行首插入文本</p><p>较常用</p><p>a</p><p>append</p><p>在当前字符后添加文本</p><p></p><p>A</p><p>append</p><p>在行末添加文本</p><p>较常用</p><p>o</p><p></p><p>在当前行后面插入一空行</p><p>常用</p><p>O</p><p></p><p>在当前行前面插入一空行</p><p>常用</p><figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509512695.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure>?3.12 练习<p>1、演练1 – 编辑命令 和 数字连用</p>在开发中, 可能会遇到连续输入 N 个同样的字符例如: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">**********</pre><div class="contentsignin">登录后复制</div></div> 连续10个星号<p>要实现这个效果可以在 命令模式 下:</p>输入 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">10</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div>, 表示要重复10次输入 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">i</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 进入 编辑模式输入 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">*</pre><div class="contentsignin">登录后复制</div></div> 也就是重复的文字按下 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">ESC</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 返回 命令模式, 返回之后 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">vi</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 就会把 第 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">2、3</pre><div class="contentsignin">登录后复制</div></div> 两步的操作重复 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">10</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 次<p>提示: 正常开发时, 在 进入编辑模式之前,不要按数字</p><p>2、演练2 – 利用 可视块 给多行代码增加注释</p>在开发中, 可能会遇到一次向给多行代码 增加注释 的情况<p>要实现这个效果可以在 命令模式 下</p>移动到要添加注释的 第1行代码, 按 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">^</pre><div class="contentsignin">登录后复制</div></div> 来到行首按 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Ctrl + v</pre><div class="contentsignin">登录后复制</div></div> 进入 可视化 模式使用 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">j</pre><div class="contentsignin">登录后复制</div></div> 向下连续选中要添加的代码行输入 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">i</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 进入编辑模式 , 并在 行首插入, 注意: 一定要使用 I输入 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">//</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 也就是 注释符号按下 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">ESC</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 返回到 命令::模式, 返回之后 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">vi</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 会在之前选中的每一行代码 前 插入 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">//</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><p>3、演练3: 坦克大战案例(另存为 备份)</p>已经学习过的 末行命令<thead><th><p>命令</p></th><th><p>英文</p></th><th><p>功能</p></th></thead><p>:w 文件</p><p></p><p>另存为</p><p>:w</p><p>write</p><p>保存(ctrl + s)</p><p>:q</p><p>quit</p><p>退出, 如果没有保存,不允许退出</p><p>:q!</p><p>quit</p><p>强行退出, 不保存退出</p><p>:wq</p><p>write & quit</p><p>保存并退出</p><p>:x</p><p></p><p>保存并退出</p><p>在实际开发中, 可以使用 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">w</pre><div class="contentsignin">登录后复制</div></div> 命令 阶段性的备份代码</p>?四、用户权限相关命令?1.用户和权限的基本概念?1.1 基本概念 用户 是Linux系统工作中重要的一环, 用户管理包括 用户 与 组 管理 在Linux系统中, 不论是由本级或是远程登录系统, 每个系统都必须拥有一个账号, 并且对于不同的系统资源拥有不同的使用权限 对 文件 / 目录 的权限包括: <thead><th><p>序号</p></th><th><p>权限</p></th><th><p>英文</p></th><th><p>缩写</p></th><th><p>数字序号</p></th></thead><p>01</p><p>读</p><p>read</p><p>r</p><p>4</p><p>02</p><p>写</p><p>write</p><p>w</p><p>2</p><p>03</p><p>执行</p><p>execute</p><p>x</p><p>1</p><p>04</p><p>无权限</p><p></p><p>-</p><p>0</p>在 Linux中 ,可以指定 每一个用户 针对 不同的文件或者目录 的 不同权限<figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509688853.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure>?1.2 组为了方便用户管理, 提出了 组 的概念, 如下图所示<figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509680163.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure>?1.3 ls -l 扩展 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">ls -l</pre><div class="contentsignin">登录后复制</div></div> 可以查看文件夹下文件的详细信息, 从左到右 依次是: 权限, 第一个字符如果是 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">d</pre><div class="contentsignin">登录后复制</div></div> 表示目录硬链接数, 通俗的讲就是有多少种方式, 可以访问当前目录和文件拥有者, 家目录下 文件 / 木兰路 的拥有者通常都是 当前用户组, 在linux中, 很多时候, 会出现组名 和 用户名 相同的情况, 后续会讲大小时间名称<figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509611224.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure><figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509616355.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure>?2.组管理 终端命令<p>本质: 给 同一类型用户 分配权限</p><thead><th><p>序号</p></th><th><p>命令</p></th><th><p>作用</p></th></thead><p>01</p><p>groupadd 组名</p><p>添加组</p><p>02</p><p>groupdel 组名</p><p>删除组</p><p>03</p><p>cat /etc/group</p><p>确认组信息</p><p>04</p><p>chgrp 组名 文件/目录名</p><p>修改文件/目录的所属组</p>组信息保存在 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">/etc/group</pre><div class="contentsignin">登录后复制</div></div> 文件中<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">/etc</pre><div class="contentsignin">登录后复制</div></div> 目录是专门用来保存 系统配置信息 的目录在实际应用中, 可以预先针对 组 设置好权限, 然后 将不同的用户添加到对应的组中, 从而不用依次为每一个用户设置权限<p>chgrp : change group</p><p>演练目标</p>在 指定目录下 创建 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">aaa</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 目录新建 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">dev</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 组将 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">aaa</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 目录的组修改为 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">dev</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# mkdir -p aaa/[root@node01 export]# lltotal 4drwxr-xr-x. 2 root root 4096 Jul 31 06:48 aaa[root@node01 export]# chgrp dev aaa/[root@node01 export]# lltotal 4drwxr-xr-x. 2 root dev 4096 Jul 31 06:48 aaa</pre><div class="contentsignin">登录后复制</div></div>?3.用户管理 终端命令?3.1 创建用户 / 设置密码 / 删除用户<thead><th><p>命令</p></th><th><p>作用</p></th><th><p>说明</p></th></thead><p>useradd -m -g 组 新建用户名</p><p>添加新用户</p><p>-m 自动建立用户家目录 -g 指定用户所在的组, 否则会建立一个和同名的组</p><p>passwd 用户名</p><p>设置用户密码</p><p>如果是普通用户,直接用 passwd可以修改自己的账号密码</p><p>userdel -r 用户名</p><p>删除用户</p><p>-r 选项会自动删除用户家目录</p><p>cat /etc/passwd | grep 用户名</p><p>确认用户信息</p><p>新建用户后,用户信息会保存在 /etc/passwd文件夹中</p>创建用时, 如果忘记添加 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">-m</pre><div class="contentsignin">登录后复制</div></div> 选项指定新用户的家目录 – 最简单的方式就是删除用户,重新创建创建用户时, 默认会创建一个和用户名同名的组名用户信息保存在 /etc/passwd 文件中<p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">/etc/passwd</pre><div class="contentsignin">登录后复制</div></div> 文件存放的是用户的信息, 由6个分好组成的7个信息, 分别是</p>用户名密码 (x, 表示加密的密码)UID (用户标志)GID(组标志)用户全名或本地账号家目录登录使用的Shell, 就是登录之后, 使用的终端命令<p>需求</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">1 创建用户 zhangsan, 指定归属于 dev 组2 设置用户 zhangsan 的密码3 查看配置文件中是否增加用户 zhangsan 观察 zhangsan 的家目录是否创建4 删除 zhangsan 用户</pre><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# useradd -m -g dev zhangsan[root@node01 export]# passwd zhangsanChanging password for user zhangsan.New password: BAD PASSWORD: it is too simplistic/systematicBAD PASSWORD: is too simpleRetype new password: passwd: all authentication tokens updated successfully.[root@node01 export]# cat /etc/passwd | grep zhangsanzhangsan:x:500:500::/home/zhangsan:/bin/bash[root@node01 export]# tree /home/home└── zhangsan[root@node01 export]# userdel -r zhangsan[root@node01 export]# cat /etc/passwd | grep zhangsan[root@node01 export]# tree /home/home</pre><div class="contentsignin">登录后复制</div></div>?3.2 查看用户信息<thead><th><p>序号</p></th><th><p>命令</p></th><th><p>作用</p></th></thead><p>01</p><p>id [用户名]</p><p>查看用户UID 和 GID 信息</p><p>02</p><p>who</p><p>查看当前所有登录的用户列表</p><p>03</p><p>whoami</p><p>查看当前登录用户的账户名</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 ~]# useradd -m -g dev lisi[root@node01 ~]# passwd lisiChanging password for user lisi.New password: BAD PASSWORD: it is too simplistic/systematicBAD PASSWORD: is too simpleRetype new password: passwd: all authentication tokens updated successfully.[root@node01 ~]# id lisiuid=500(lisi) gid=500(dev) groups=500(dev)[root@node01 ~]# whoroot pts/0 2019-07-31 07:02 (192.168.100.2)[root@node01 ~]# whoamiroot</pre><div class="contentsignin">登录后复制</div></div>?3.3 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">su</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 切换用户<figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509716675.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure>因为 普通用户 不能使用某些权限, 所以需要 切换用户<thead><th><p>序号</p></th><th><p>命令</p></th><th><p>作用</p></th><th><p>说明</p></th></thead><p>01</p><p>su - 用户名</p><p>切换用户, 并且企划目录</p><p>- 可以切换到用户家目录, 否则保持位置不变</p><p>02</p><p>exit</p><p>退出当前登录用户</p><p></p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">su</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 不接用户名, 可以切换到 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">root</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> , 但是不推荐使用, 因为不安全<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">exit</pre><div class="contentsignin">登录后复制</div></div> 示意图如下:<figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509743597.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" style="max-width:90%" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[lisi@node01 ~]$ whoamilisi[lisi@node01 ~]$ su - rootPassword: [root@node01 ~]# whoamiroot[root@node01 ~]# exitlogout[lisi@node01 ~]$ whoamilisi</pre><div class="contentsignin">登录后复制</div></div>?3.4 sudo虽然 通过 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">su -u root</pre><div class="contentsignin">登录后复制</div></div> 可以切换到 root用户, 但是 存在严重的 安全隐患 linux系统中的 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">root</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 账号通常 用于系统的维护和管理, 对<a style="color:#f60; text-decoration:underline;" title="操作系统" href="https://www.php.cn/zt/16016.html" target="_blank">操作系统</a>的所有资源 具有访问权限 如果不小心使用 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">rm -rf ... ...</pre><div class="contentsignin">登录后复制</div></div> , 就可能将系统搞瘫痪 在大多数版本的linux中, 都不推荐 直接只用 root 账号登录系统 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">sudo</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 命令用来以其他身份来执行命令, 预设的身份为 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">root</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 用户使用 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">sudo</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 时, 必须先输入密码, 之后5分钟的有效期限, 超过期限则必须重新输入密码 提示: 若其未经授权的用户企图使用 sudo, 则会发出警告邮件给管理员 ☀️3.4.1 给 指定用户 授予 权限本质: 通知 服务器 给 特定用户 分配 临时管理员权限<p>vim /etc/sudoers</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># 默认存在: root用户 具备所有的权限root ALL=(ALL) ALL# 授予 lisi 用户 所有的权限lisi ALL=(ALL) ALL </pre><div class="contentsignin">登录后复制</div></div><figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509724651.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure>☀️3.4.2 使用 用户 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">lisi</pre><div class="contentsignin">登录后复制</div></div> 登录, 操作管理员命令本质: 使用临时管理员权限代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" style="max-width:90%" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># 不切换root用户, 也可以完成 添加用户的功能 sudo useradd -m -g dev zhaoliu</pre><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[lisi@node01 ~]$ sudo useradd -m -g dev zhaoliuWe trust you have received the usual lecture from the local SystemAdministrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility.[sudo] password for lisi: [lisi@node01 ~]$ sudo cat /etc/passwd | grep zhaoliuzhaoliu:x:501:500::/home/zhaoliu:/bin/bash</pre><div class="contentsignin">登录后复制</div></div>zhaoliu:用户的用户名。x:用户密码的加密形式。在这种情况下,它是x,这意味着密码存储在/etc/shadow文件中。501:用户的用户ID(UID)。这是一个唯一的数字,用于标识用户。在大多数情况下,普通用户的UID从500开始分配。500:用户所属的组ID(GID)。这是一个数字,用于确定用户所属的主要组。/home/zhaoliu:用户的主目录的路径。在这种情况下,用户的主目录是/home/zhaoliu。/bin/bash:用户登录时默认使用的shell。在这种情况下,使用的是bash shell。?4.修改用户权限<thead><th><p>序号</p></th><th><p>命令</p></th><th><p>作用</p></th></thead><p>01</p><p>chmod</p><p>修改权限</p>?4.1 方式一: 修改用户权限<p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">chmod</pre><div class="contentsignin">登录后复制</div></div> 可以修改 用户/组 对 文件/目录 的权限</p><p>命令格式如下:</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">chmod +/- rwx 文件名|目录名</pre><div class="contentsignin">登录后复制</div></div><p>目标演练:</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># 1. 使用 root 删除目录的可读 可写 可执行权限# 2. 使用 其他用户如 lisi 无法切换到 这个目录# 3. 使用 root 增加目录的执行权限, 再次 使用 lisi 切换到目录试试</pre><div class="contentsignin">登录后复制</div></div><p>需求1答案:使用 root 删除目录的可读 可写 可执行权限</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# lltotal 4drwxr-xr-x. 2 root root 4096 Jul 31 07:10 aaa[root@node01 export]# chmod -rwx aaa/[root@node01 export]# lltotal 4d---------. 2 root root 4096 Jul 31 07:10 aaa</pre><div class="contentsignin">登录后复制</div></div><p>需求2答案: 使用 其他用户如 lisi 无法切换到 这个目录</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[lisi@node01 ~]$ cd /export/[lisi@node01 export]$ lltotal 4d---------. 2 root root 4096 Jul 31 07:10 aaa[lisi@node01 export]$ cd aaa/-bash: cd: aaa/: Permission denied</pre><div class="contentsignin">登录后复制</div></div><p>需求3答案: 使用 root 增加目录的执行权限, 再次 使用 lisi 切换到目录试试</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# chmod +x aaa/[root@node01 export]# lltotal 4d--x--x--x. 2 root root 4096 Jul 31 07:10 aaa</pre><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[lisi@node01 export]$ cd aaa/[lisi@node01 aaa]$ pwd/export/aaa</pre><div class="contentsignin">登录后复制</div></div>?4.2 方式二虽然 方式一 直接修改文件|目录的 读|写|执行 权限, 但是不能精确到 拥有者|组|其他 权限命令格式如下:( <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">u</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 表示所属用户 / <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">g</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 表示所属组 / <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">o</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 表示其他)代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">chmod -R u=rwx,g=rx,o=rwx 文件|目录</pre><div class="contentsignin">登录后复制</div></div><thead><th><p>序号</p></th><th><p>权限</p></th><th><p>英文</p></th><th><p>缩写</p></th><th><p>数字序号</p></th></thead><p>01</p><p>读</p><p>read</p><p>r</p><p>4</p><p>02</p><p>写</p><p>write</p><p>w</p><p>2</p><p>03</p><p>执行</p><p>execute</p><p>x</p><p>1</p><p>04</p><p>无权限</p><p></p><p>-</p><p>0</p><p>目标演练:</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># 1 使用root用户给 所属用户分配 可读、可写、可执行 权限, 所属组 分配 可读、可执行 权限, 其他人 分配 可读、可执行 权限 </pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# chmod u=rwx,g=rx,o=rx aaa/[root@node01 export]# lltotal 4drwxr-xr-x. 2 root root 4096 Jul 31 07:10 aaa</pre><div class="contentsignin">登录后复制</div></div>?4.3 方式三: 简化方式二命令格式如下:代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">chmod -R 755 文件|目录</pre><div class="contentsignin">登录后复制</div></div>说明 第一个数字 是 拥有者权限, 第二个数字 是 组权限, 第三个数字 是 其他用户权限<figure class=""><img src="https://img.php.cn/upload/article/001/503/042/175418509743757.jpg" alt="【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令"></figure><p>常用数字组合有( <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">u</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 表示用户 / <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">g</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 表示组 / <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">o</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 表示其他)</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">777</pre><div class="contentsignin">登录后复制</div></div> ===> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">u=rwx, g=rwx, o=rwx</pre><div class="contentsignin">登录后复制</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">755</pre><div class="contentsignin">登录后复制</div></div> ===> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">u=rwx, g=rx, o=rx</pre><div class="contentsignin">登录后复制</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">644</pre><div class="contentsignin">登录后复制</div></div> ===> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">u=rw, g=r, o=r</pre><div class="contentsignin">登录后复制</div></div><p>目标演练:</p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" style="max-width:90%" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># 1 使用root用户给 所属用户分配 可读、可写、可执行 权限, 所属组 分配 可读、可执行 权限, 其他人 分配 可读、可执行 权限 </pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# chmod 755 bbb/[root@node01 export]# lltotal 8drwxr-xr-x. 2 root root 4096 Jul 31 07:10 aaadrwxr-xr-x. 3 root root 4096 Jul 31 07:19 bbb</pre><div class="contentsignin">登录后复制</div></div>?五、系统信息相关命令时间和日期 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">date</pre><div class="contentsignin">登录后复制</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">cal</pre><div class="contentsignin">登录后复制</div></div>磁盘和目录空间 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">df</pre><div class="contentsignin">登录后复制</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">du</pre><div class="contentsignin">登录后复制</div></div>进程信息 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">ps</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">top</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">kill</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div>?1.时间和日期?1.1 date 时间<thead><th><p>命令</p></th><th><p>作用</p></th></thead><p>date</p><p>查看系统时间(默认)</p><p>date +“%Y-%m-%d %H:%M:%S”</p><p>查看系统时间(指定格式)</p><p>date -s “时间字符串”</p><p>设置系统时间</p><p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">第一步: 显示当前时间</pre><div class="contentsignin">登录后复制</div></div></p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false"># 显示时间date# 按照指定格式显示时间date +"%Y-%m-%d %H:%M:%S"</pre><div class="contentsignin">登录后复制</div></div><p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">第二步: 设置系统时间</pre><div class="contentsignin">登录后复制</div></div></p>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">date -s "时间字符串"</pre><div class="contentsignin">登录后复制</div></div>代码语言:javascript<i class="icon-code"></i>代码运行次数:<!-- -->0<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor"></path></svg>复制<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="prism-token token line-numbers javascript"><pre class="brush:php;toolbar:false">[root@node01 export]# dateWed Jul 31 07:20:31 CST 2019[root@node01 export]# date +"%Y-%m-%d %H:%M:%S"2019-07-31 07:20:49[root@node01 export]# date -s '2019-07-31 20:21:49'Wed Jul 31 20:21:49 CST 2019[root@node01 export]# date +"%Y-%m-%d %H:%M:%S" 2019-07-31 20:21:52</pre><div class="contentsignin">登录后复制</div></div>?1.2 cal 日历<thead><th><p>序号</p></th><th><p>命令</p></th><th><p>作用</p></th></thead><p>01</p><p>cal</p><p>查看当前月的日历</p><p>02</p><p>cal -y</p><p>查看当前年的日历</p><p>03</p><p>cal 2020</p><p>查看2020年的日历</p><p>04</p><p>cal 10 2020</p><p>查看2020年10月的日历</p>?2.磁盘信息<thead><th><p>序号</p></th><th><p>命令</p></th><th><p>作用</p></th></thead><p>01</p><p>df -h</p><p>disk free 显示磁盘剩余空间</p><p>02</p><p>du -h [目录名]</p><p>disk usage 显示目录下的目录大小</p><p>03</p><p>free -h</p><p>查看内存使用率</p>选项说明<thead><th><p>参数</p></th><th><p>含义</p></th></thead><p>-h</p><p>以人性化的方式显示文件的大小</p>?3.进程信息所谓 进程, 通俗的说就是 当前正在执行的一个进程<thead><th><p>序号</p></th><th><p>命令</p></th><th><p>作用</p></th></thead><p>01</p><p>ps aux</p><p>process status 查看进程的详细情况</p><p>02</p><p>top</p><p>动态显示运行中进程并且排序</p><p>03</p><p>kill [-9] 进程代号</p><p>终止指定代号的进程 -9 表示强行终止</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">ps</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 选项说明功能 选项含义a显示终端上的所有进程,包括其他用户的进程u显示进程的详细状态x显示没有控制终端的进程 提示: 使用<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">kill</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div>命令时, 最好只终止由当前用户开启的进程, 而不要终止<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">root</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div>身份开启的进程, 否则可能导致系统崩溃 要退出 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">top</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> 可以直接输入 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">q</pre><div class="contentsignin">登录后复制</div></div><div class="contentsignin">登录后复制</div></div> <figure class=""><hr></figure>?感谢:给读者的一封信<p>亲爱的读者,</p><p>我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。</p><p>如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。</p><p>我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。</p>以上就是【愚公系列】2023年11月 大数据教学课程 003-Linux权限和系统相关命令的详细内容,更多请关注乐哥常识网其它相关文章!