Linux 重命名命令自制详细介绍
Linux 重命名命令
相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单的重命名命令。
准备工作
- 操作系统: Linux内核的系统都可以
- Shell:我用的系统默认的bash,(其实这个无所谓了)
- 基础: 了解关于shell脚本的基本的语法即可。
代码实现
#!/bin/bash #filename: rename.sh #description: rename file or directory by batch #attention: when rename directory,please end them both with '/' oldname=$1 newname=$2 mv $oldname $newname if [ $? -eq 0 ];then echo Rename Success; else echo Rename Failed!; fi
使用分析
关于这个命令的使用,有以下要进行讨论的地方。
首先:
我们需要赋予此文件以执行权限,否则只能通过shell解释器间接的执行了。
chmod 755 rename.sh
然后:
是关于位置变量的介绍以及使用。$0代表本可执行文件,如./rename.sh
- $1: 指的是执行此命令时的第一个参数
- $2: 指的是执行此命令时的第二个参数
- $? 为上一条命令执行成功与否的返回值,成功则返回0,否则不为0
最后:
然后到了最重要的一步了,那就是参数使用的时候需要注意:
单文件:对于单文件只需要注意文件名称即可
目录: 对于目录文件,两个参数的末尾必须都加上'/',否则会出错。这是由于mv指令默认的要求。
使用方式示例
这里可以把这条命令的路径添加到我们的环境变量中,这样我们就可以不敲此命令的完整的路径就可以很好的执行了。方法如下:
export PATH="$PATH":"/home/mark/temp/myscripts/rename.sh" # 我的rename.sh路径如上所示
# 对单文件 rename.sh temp.txt tmp.txt # 对目录文件 rename.sh directory1/ directory2/
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
linux下讲解MySQL安装与登录方法
Fedora5下配置MySQL (很有参考价值的 MySQL资料 包括如何在linux文件系统移动MySQL数据库的位置) 一.下载MySQL安装文件 完全安装MySQL需要下面6个文件: MySQL-server-community-5.1.26-0.rhel4.i386.rpm MySQL-client-community-5.1.26-0.rhel4.i386.rpm MySQL-shared-community-5.1.26-0.rhel4.i386.rpm MySQL-devel-co
-
linux下用cron定时执行任务的方法
名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab. crontab-[-u user]-用标准输入替代目前的crontab. crontab-1[user]-列出用户目前的crontab. crontab-e[user]-编辑用户目前的crontab. crontab-d[user]-删除用户目前的crontab. crontab-c dir- 指定crontab的目录. crontab文件的格式
-
Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作
一.修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件. oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 编辑完成后按Esc键,输入":wq"
-
linux查看目录的四种方法(ls只显示目录)
1.ls -d * 复制代码 代码如下: amosli@amosli-pc:~$ ls -d *%APPDATA% develop many sorted.txt workspacebank Documents Music space 下载 2. find . -type d -maxdepth 1 如果不加-maxdepth 参数的话那么将会有无
-
Linux shell脚本编程if语句的使用方法(条件判断)
if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi if 的三种条件表达式 ifcommandthen if 函数then 命令执行成功,等于返回0 (比如grep ,找到匹配)执行失败,返回非0 (grep,没找到匹配)if [ expression_r_r_r ]then 表达式结果为真,则返回0
-
linux命令详解之useradd命令使用方法
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也可以帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和各自的口令.用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录. 实现用户账号的管理,要完成的工作主要有如下几个方面:用户账号的添加.删除与修改.用户口令的管
-
Linux tar 压缩打包命令使用方法第1/2页
tar命令 [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 -. 参数: -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! 因为不可能同时压缩与解压缩. -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩
-
linux shell自定义函数(定义、返回值、变量作用域)介绍
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2.参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. retu
-
linux正确重启MySQL的方法
由于是从源码包安装的Mysql,所以系统中是没有红帽常用的servcie mysqld restart这个脚本 只好手工重启 有人建议Killall mysql.这种野蛮的方法其实是不行的,强制终止的话,如果造成表损坏,损失是巨大的. 这里推荐安全的重启方法 $mysql_dir/bin/mysqladmin -u root -p shutdown $mysql_dir/bin/safe_mysqld & mysqladmin和mysqld_safe位于Mysql安装目录的bin目录下,很容易找
-
Linux top命令的用法详细详解
查看多核CPU命令mpstat -P ALL 和 sar -P ALL 说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txt top命令经常用来监控linux的系统状况,比如cpu.内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解. 本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,还包括视图中各进程(任务)的字段的排序. top进入视图 top视图
-
linux下安装apache与php;Apache+PHP+MySQL配置攻略
1.apache 在如下页面下载apache的for Linux 的源码包 http://www.apache.org/dist/httpd/; 存至/home/xx目录,xx是自建文件夹,我建了一个wj的文件夹. 命令列表: cd /home/wj tar -zxvf httpd-2.0.54.tar.gz mv httpd-2.0.54 apache cd apache ./configure --prefix=/usr/local/apache2 --enable-mod
随机推荐
- jQuery选择器源码解读(一):Sizzle方法
- java synchronized同步静态方法和同步非静态方法的异同
- iOS实现代码只执行一次
- JSP中include指令和include行为的区别
- C++非递归队列实现二叉树的广度优先遍历
- C++实现从输入中读取字符串
- 利用C#实现AOP常见的几种方法详解
- AJAX初级教程之初识AJAX
- MVC中基于Ajax和HTML5实现文件上传功能
- js下通过prototype扩展实现indexOf的代码
- 如何通过javascript操作web控件的自定义属性
- JavaScript判断是否为数字的4种方法及效率比较
- Android系统更改状态栏字体颜色
- 混合使用Linux和Windows
- Android实现动态改变app图标的示例代码
- 浅谈C++的语句语法与强制数据类型转换
- Go实现短url项目的方法示例
- 解决vue-cli 打包后自定义动画未执行的问题
- spring security实现下次自动登录功能过程解析
- iOS蓝牙开发数据实时传输