Linux 重命名命令自制详细介绍
<p><strong>Linux 重命名命令</strong></p>
<p>
相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单的重命名命令。</p>
<p>
准备工作</p>
<ol>
<li>
操作系统: Linux内核的系统都可以</li>
<li>
Shell:我用的系统默认的bash,(其实这个无所谓了)</li>
<li>
基础: 了解关于shell脚本的基本的语法即可。</li>
</ol>
<p>
代码实现</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_107436">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash preprocessor bold">#!/bin/bash</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash comments">#filename: rename.sh</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments">#description: rename file or directory by batch</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash comments">#attention: when rename directory,please end them both with '/'</code>
</div>
<div class="line number5 index4 alt2">
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">oldname=$1</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">newname=$2</code>
</div>
<div class="line number8 index7 alt1">
</div>
<div class="line number9 index8 alt2">
<code class="bash functions">mv</code> <code class="bash plain">$oldname $newname</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash keyword">if</code> <code class="bash plain">[ $? -</code><code class="bash keyword">eq</code> <code class="bash plain">0 ];</code><code class="bash keyword">then</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash plain">Rename Success;</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash keyword">else</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash plain">Rename Failed!;</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash keyword">fi</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
使用分析</p>
<p>
关于这个命令的使用,有以下要进行讨论的地方。</p>
<p>
首先:</p>
<p>
我们需要赋予此文件以执行权限,否则只能通过shell解释器间接的执行了。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_936981">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">chmod</code> <code class="bash plain">755 rename.sh</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
然后:</p>
<p>
是关于位置变量的介绍以及使用。$0代表本可执行文件,如./rename.sh</p>
<ul>
<li>
$1: 指的是执行此命令时的第一个参数</li>
<li>
$2: 指的是执行此命令时的第二个参数</li>
<li>
$? 为上一条命令执行成功与否的返回值,成功则返回0,否则不为0</li>
</ul>
<p>
最后:</p>
<p>
然后到了最重要的一步了,那就是参数使用的时候需要注意:</p>
<p>
单文件:对于单文件只需要注意文件名称即可<br>
目录: 对于目录文件,两个参数的末尾必须都加上'/',否则会出错。这是由于mv指令默认的要求。</p>
<p>
<strong>使用方式示例</strong></p>
<p>
这里可以把这条命令的路径添加到我们的环境变量中,这样我们就可以不敲此命令的完整的路径就可以很好的执行了。方法如下:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_291151">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">export</code> <code class="bash plain">PATH=</code><code class="bash string">"$PATH"</code><code class="bash plain">:</code><code class="bash string">"/home/mark/temp/myscripts/rename.sh"</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash comments"># 我的rename.sh路径如上所示</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_460129">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># 对单文件</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">rename.sh temp.txt tmp.txt</code>
</div>
<div class="line number3 index2 alt2">
</div>
<div class="line number4 index3 alt1">
<code class="bash comments"># 对目录文件</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">rename.sh directory1/ directory2/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!</p>
頁:
[1]