参考:CentOS里alias命令详解

每天一个linux命令(35):ln 命令

1. Alias命令

功能描述:我们在进行系统的管理工作一定会有一些我们经常固定使用,但又很长的命令。那我们可以给这些这一长串的命令起一个别名。之后还需要这一长串命令时就可以直接以别名来替代了。系统中已经有一些默认的命令别名。可以alias来查看。也可以查看家目录下的~/.bash_profile来查看,这个是属于用户个人的别名。如果要定义全局的别名,可以将定义写入/etc/bashrc档案中。通过alias去的别名,在系统重新启动过后会自动清除。修改后,要source一下才会生效。

语法:alias [别名] = [指令名称]

取消别名:unalias [别名]

使用实例:将 matlab 的版本号由 R2013a 更新为 R2015b

(1)系统现有的别名

  1. [She@She ~]$ alias
  2. ...
  3. alias matlab='"/usr/local/MATLAB/R2013a/bin/matlab"'
  4. ...

(2)编辑文件~/.bashrc。更改部分见彩色文字的标注。

  1. [She@She ~]$ vi ~/.bashr
  1.  
  1. # .bashrc
  2. ...
  3. alias matlab='"/usr/local/MATLAB/R2013a/bin/matlab"'
  4. ...
  1.  
  1. 更改后:
  1. # .bashrc
  2. ...
  3. alias matlab='"/usr/local/MATLAB/R2015b/bin/matlab"'
  4. ...
  1.  
  1.  

(3)用source命令更新环境变量,使更改生效。

  1. [She@She ~]$ source ~/.bashrc

(4)查询系统现有的别名,以确认更新成功。

  1. [She@She ~]$ alias
  2. ...
  3. alias matlab='"/usr/local/MATLAB/R2015b/bin/matlab"'
  4. ...

2. 用 ln 命令修复 shell 调用 matlab 时的 bug

Bug描述:用 alias 命令指定的简写,可以在终端启动matlab,但不能在 shell 文件中运行matlab命令。

Bug修复:用 ln -s 生成软链接,以搭配使用。

(1)在终端可以正常启动 matlab

  1. [She@She ~]$ matlab -nodesktop -nojvm
  2.  
  3. < M A T L A B (R) >
  4. Copyright - The MathWorks, Inc.
  5. R2015b (8.6.0.267246) -bit (glnxa64)
  6. August ,
  7.  
  8. For online documentation, see http://www.mathworks.com/support
  9. For product information, visit www.mathworks.com.
  10.  
  11. >>

(2)bug:在 shell 脚本中无法使用简写命令调用 matlab,只能使用含绝对路径的完整命令来调用 matlab:

测试 m 文件 /home/She/tmp.m:

  1. pause(60);

测试 shell 脚本 /home/She/test.sh:

  1. #!/bin/bash
  2.  
  3. MatlabFile='/home/She/tmp.m'
  4.  
  5. chmod +x ${MatlabFile}
  6.  
  7. /usr/local/MATLAB/R2015b/bin/matlab -nodesktop -nosplash -nojvm -r "run ${MatlabFile}; exit;"  # 可正常运行
  8.  
  9. matlab -nodesktop -nosplash -nojvm -r "run ${MatlabFile}; exit;"                               # 报错
  10.  
  11. exit

shell 报错如下:

  1. [She@She ~]$ ./test.sh
  2. ./test.sh: line 9: matlab: command not found
  3. [She@She ~]$

(3)用 ln 命令修复 bug

ln 命令的用法为: ln [参数] [源文件或目录] [目标文件或目录]

注意:源文件和目标文件的顺序千万不要搞错了!

使用 "ln" 命令生成软链接 /usr/bin/matlab,使它指向 matlab 的启动程序:

  1. [She@She ~]$ sudo ln -s /usr/local/MATLAB/R2015b/bin/matlab /usr/local/bin/matlab
  2. [sudo] password for She:

(4)再次测试 shell 脚本,一切正常

  1. [She@She ~]$ ./test.sh
  2. [She@She ~]$

[CentOS] 指定命令别名:Alias & 软链接生成命令 ln -s的更多相关文章

  1. linux杂记(?)命令别名——alias

    linux中的命令别名--alias linux中的命令别名--alias 1. 用命令alias可以查询系统中有哪些可用的命令别名 2.添加命令别名 回车查看, 别名建立成功 3.查询命令的地址ty ...

  2. Linux学习之路:命令别名、历史记录和命令查找执行顺序

    一.命令别名 alias rm='rm –i':删除命令时会随时出现提示;alias vi=vim alias 不加参数,显示系统内所以命令别名 unalias 取消别名 二.历史命令 history ...

  3. 命令别名alias设置

    <转:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_3.php> 命令别名配置: alias, unalias 命令别名是一个很有趣的东 ...

  4. MacBook设置终端颜色,补全忽略大小写,设置命令别名alias,设置vim,设置显示git分支

    1.启用终端颜色 修改配置文件 $ vim .bash_profile #enables colorin the terminal bash shell export export CLICOLOR= ...

  5. 转Linux 下用alias 设置命令别名快速切换常用命令

    https://blog.csdn.net/u012830148/article/details/80618616 在linux下开发,经常需要切换目录,如果目录很长则切换起来非常的麻烦,针对一些常用 ...

  6. Linux中命令别名alias与命令替换

    当我们使用bash进行一些操作的时候,希望一些较为长的命令使用一些短的命令即可完成输入运行的话,我们就可以使用alias命令别名来帮助我们完成这个任务 alias作为一个bash的内置命令,具有一定的 ...

  7. Linux编程 10 (shell外部命令与内建命令,alias ,type命令)

    一.  内部命令 Linux命令有内部命令(内建命令)和外部命令之分,内部命令和外部命令功能基本相同,但也有些细微差别.内部命令不需要使用子进程来执行,它们已经和shell编译成一体,作为shell工 ...

  8. git命令别名(Alias)

    每次切换分支: git ckeckout branch_name 等命令费时又费力,git 别名配置起来: 别名配置: git config --global alias.ck ckeckout 其他 ...

  9. alias指令:设置命令别名

    alias: usage: alias [-p] [name[=value] ... ] 1. 语法    alias [参数][命令别名]=[原命令名称]   2. 功能介绍 该指令主要用于为原命令 ...

随机推荐

  1. Android 进程常驻----native保活5.0以上方案推演过程以及代码

    正文: 上一篇我们通过父子进程间建立双管道,来监听进程死掉,经过测试,无耗电问题,无内存消耗问题,可以在设置中force close下成功拉起,也可以在获取到root权限的360/cleanmaste ...

  2. mybatis 如何使用乐观锁

    悲观锁的问题: 因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性.如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是 ...

  3. 【leetcode❤python】 125. Valid Palindrome

    #-*- coding: UTF-8 -*- class Solution(object):    def isPalindrome(self, s):        ""&quo ...

  4. Js零散知识点笔记

    1.将类数组对象转换为数组 ES5: var arrLike = document.querySelectorAll('span'); var arr = Array.prototype.slice. ...

  5. Javascript运用函数计算正方形的面积

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  6. Best 3D Modeling software under Ubuntu

    Blender Blender is the best free and open source 3D modelling program out there by a long shot! The ...

  7. Windows下的Memcache安装

    Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 'c:\memca ...

  8. Sa yo na ra

    总想记点些什么. 都快忘了当初是为什么来到这里呢... 2014年10月,友人给我介绍了一门编程竞赛ACM,并给我演示了一下A+B.于是我知道了ACM的含义. 2014年12月,开始水入门题. 201 ...

  9. Scope 安装和使用

    Scope 安装和使用 一.安装 1. 软件下载 https://sourceforge.net/projects/cscope/files/ 2. 解压 3. 安装 ./configure --pr ...

  10. Selenium:元素等待的4种方法

    1.使用Thread.sleep(),这是最笨的方法,但有时候也能用到而且很实用. 2.隐示等待,隐性等待是指当要查找元素,而这个元素没有马上出现时,告诉WebDriver查询Dom一定时间.默认值是 ...