linux 添加自定义命令

Linux 主流发行版及其衍生版

由于 Linux 的开源特性,自诞生起就产生了各种各样的分支。

目前有三大主流发行版及其下著名的衍生版,目录如下

  1. Debian
  • Ubuntu
  • Knopix
  1. Slackware
  • Suse
  • Opensuse
  1. Redhat
  • Centos
  • Fedora

在介绍自定义指令之前,要理解一下其中涵盖的一些知识点

if [ -f /$1/$2 ] 的含义

if 是一个判断语句;-f 用来判断后面的是否是一个存在的文件;

美元符号 $ 有两个含义:

  • 表示自定义变量
  • 表示第几个参数,从1开始
[root@localhost test]# pwd
/root/test
[root@localhost test]# ls
A.sh B.txt
[root@localhost test]# cat A.sh
parent = root
if [ -f /$parent/$1 ]; then
	echo "存在,且是文件";
else
	echo "不是文件,或不存在";
fi

[root@localhost test]# sh A.sh B.txt
存在,且是文件

点命令

点命令的作用就是执行当前脚本文件

[root@localhost test]# cat test.sh
data

[root@localhost test]# . test.sh
Thu Mar 14 09:49:02 CST 2019

清除历史纪录

如果想删除自己当前会话中执行过的历史命令,使用 history -c 即可。执行完 history -c,如果没有退出当前会话的话,再执行 history 命令便看不到任何命令了。但是你退出会话再重新登录一下,再执行 history 指令,会发现除了上一次会话执行过的指令被删除之外,其它的指令都在。

Linux系统是这样的,当你在 shell(控制台)中输入命令并执行时,shell 会自动把你的命令写到历史列表中,一般会保存在用户目录下的 .bash_history 文件中。默认保存 1000 条。而调用 history 实际上就是从该文件中读取数据的。

而通过 history -w 命令可以将目前的 history 记忆的内容写入 .bash_history。

因此 通过 history -c 和 history -w 这两条指令,就可以彻底的清空 history 了。

alias 自定义指令

每个衍生版本都会有一些指令上的差异,这些东西其实都是在 Shell 的初始化脚本中做的。

Shell 的初始化脚本分为 2 种:一种是全局默认的,一种是用户自己添加的。

  • 全局默认的路径为 /etc/profile,然后它会再加载 /etc/bash.bashrc
  • 用户自己的就是 $HOME 目录下的 .profile,它默认会加载 .bashrc

通过 alias 命令,我们可以给 自定义的指令取别名,例如

alias ll  = "ls -l"
alias la = "ls -A"
alias lc = "ls --color"
alias clean = "history -c; history -w"
alias ws = "cd ~/workspace"

定制方式有如下几种:

  • 直接将命令添加到系统定义的 bashrc 中
  • 单独定义一个文件存放,然后在系统的 bashrc 中执行该脚本
    在用户目录创建一个 .bash_alias 文件,专门存放用户自定义的指令,然后将如下代码添加到 .bashrc 文件即可
if [ -f ~/.bash_alias ]; then
    . ~/.bash_alias
fi
  • 将当前路径加到环境中
    修改用户目录的 .bashrc,加入 PATH = $PATH : ~/my_cmd
    然后使用 source .bashrc 命令重新加载配置文件,使之生效即可

你可能感兴趣的:(linux)