1. 使用alias和自定义的function的必要性和重要性就不说了 , 自己的通用做法是:

    可以创建: ~/bin/my.alias 文件 作为自定义的 alias专门文件

    创建: ~/libsh/my.func文件, 作为自己的 sh库函数文件:

    然后在.bashrc文件中, 包含并执行这两个文件:
# 载入自定义命令文件
if [ -f ~/bin/my.alias ]; then
. ~/bin/my.alias
fi # 载入自定义库~/lib中的函数/命令
if [ -f ~/libsh/my.func ]; then
. ~/libsh/my.func
fi
  1. 编辑~/libsh/my.func 的内容是:
# shell function library

function  sidnf()
{
if [ $# -eq 0 ] ; then
echo 'sidnf: usage: sidnf PKG_TO_INSTALLED [...]'
return 1
fi si='dnf install '$1
echo "sidnf: run su -c '"$si"' as root ..."
su -c "$si"
read -t1 -s svar
## exit
}
  1. 编辑 ~/bin/my.alias的内容:
#自定义httpd的aliases
alias edh='su -c "vim /etc/httpd/conf/httpd.conf"'
alias rsh='su -c "systemctl restart httpd.service"'
alias stah='systemctl status httpd'
alias sth='su -c "systemctl stop httpd.service"' # 自定义mariadb的aliases
alias rsm='su -c "systemctl restart mariadb.service"'
alias stam='systemctl status mariadb'
alias stm='su -c "systemctl stop mariadb.service"' alias senf0='su -c "setenforce 0"'
alias senf1='su -c "setenforce 1"' alias fwon='su -c "systemctl start firewalld"'
alias fwoff='su -c "systemctl stop firewalld"'
alias fwsta='systemctl status firewalld' # 定义vi的alias
alias vi='vim'

重要的是, 可以把这里的这些别名加以记忆, 就作为自己的 固定的 别名和使用习惯了!! 如果记不住了, 可以使用 alias命令查看 一下即可.

  1. type type 是显示 type 的类型. 可以看到 type 是 shell 的 builtin 内建 命令 , 输出结果的样子像: command is ....

    对于shell:

    如果是 另外 在机器上的 其他目录, 如 /usr/bin, /usr/sbin目录中, 真的有这样的命令文件 存在, 那么这种命令就是 shell的 "外部命令" , 显示: 比如: mysql is /usr/bin/mysql

    如果在另外的机器目录上, 没有这样的命令文件存在, 那么就是shell的 "内建"命令, 显示: 比如: cd is a shell builtin.

    如果是 "外表命令的别名" 则显示: mv is aliased to 'mv -i'


更全面的内容:

家目录下的 文件夹 libsh/下的文件 my.func
# shell function library function sidnf()
{
if [ $# -eq 0 ] ; then
echo 'sidnf: usage: sidnf PKG_TO_INSTALLED [...]'
return 1
fi si='dnf install '$*
echo "sidnf: Run su -c '"$si"' as root"
su -c "$si"
read -t1 -s svar
## exit
} function srdnf()
{
if [ $# -eq 0 ] ; then
echo 'srdnf: usage: srdnf PKG_TO_REMOVED [...]'
return 1
fi sr='dnf remove '$*
echo "srdnf: Run su -c '"$sr"' as root"
su -c "$sr"
read -t1 -s svar
## exit
} function svi()
{
if [ $# -eq 0 ] ; then
echo 'svi: usage: svi file_to_edit_as_root'
return 1
fi svi='vim '$1
echo "svi: Run su -c '"$svi"' as root ..."
su -c "$svi"
read -t1 -s svar
## exit
} function smv()
{
if [ $# -eq 0 ] ; then
echo 'usage: smv file_to_mv'
return 1
fi smv='mv '$1' '$2
echo "smv: Run su -c '"$smv"' as root ..."
su -c "$smv"
read -t1 -s svar
## exit
} function scp()
{
if [ $# -eq 0 ] ; then
echo 'usage: scp file_to_cp'
return 1
fi scp='cp '$1' '$2
echo "scp: Run su -c '"$scp"' as root ..."
su -c "$scp"
read -t1 -s svar
## exit
} function srm()
{
if [ $# -eq 0 ] ; then
echo 'usage: srm file_to_rm'
return 1
fi srm='rm '$1
echo "Run su -c '"$srm"' as root"
su -c "$srm"
read -t1 -s svar
## exit
} function sls()
{
if [ $# -eq 0 ] ; then
su -c 'ls'
return 0
fi sls='ls '$*
echo "Run su -c '"$sls"' as root"
su -c "$sls"
read -t1 -s svar
## exit
} ## 家目录下的 bin文件夹下的 my.alias
# 这里用 h代表 httpd服务; 用m代表mariadb.service服务
# 包括startx启动, 重载配置文件: reloadx , 停止stx, 状态stax, 重启: rsx
#
#自定义httpd的aliases
alias starth='su -c "systemctl start httpd"' # 其实这个可以不用 , 因为通常设置了 开机启动服务的
alias reloadh='su -c "systemctl reload httpd"'
alias edh='su -c "vim /etc/httpd/conf/httpd.conf"'
alias rsh='su -c "systemctl restart httpd.service"'
alias stah='systemctl status httpd'
alias sth='su -c "systemctl stop httpd.service"'
alias lsd='ls --group-directories-first'
alias lld='ll --group-directories-first'
alias lz='ll -Z --group-directories-first'
# 自定义mariadb的aliases
alias startm='su -c "systemctl start mariadb.service"' # 其实这个可以不用 , 因为通常设置了 开机启动服务的
# alias reloadm='su -c "systemctl reload mariadb"' # 提示对于 mariadb 这个命令reload 不适用.
alias rsm='su -c "systemctl restart mariadb.service"'
alias stam='systemctl status mariadb'
alias stm='su -c "systemctl stop mariadb.service"' alias senf0='su -c "setenforce 0"'
alias senf1='su -c "setenforce 1"' alias fwon='su -c "systemctl start firewalld"'
alias fwoff='su -c "systemctl stop firewalld"'
alias fwsta='systemctl status firewalld' # 定义vi的alias
alias vi='vim'

关于linux下自定义的 alias文件和自定义函数库的通用写法(只适合自己的)的更多相关文章

  1. linux下生成core dump文件方法及设置

    linux下生成core dump文件方法及设置    from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...

  2. linux下恢复误删除的文件方法(ext2及ext3)

     linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47 分类: LINUX 如果是ext2文件系统的,直接用debugfs是可以恢复出来的,但对于ext3,d ...

  3. linux下分卷tar.bz文件的合并并解压缩

    linux下分卷tar.bz文件的合并并解压缩 例: linux.tar.bz2.001;linux.tar.bz2.002;linux.tar.bz2.003; 首先 cat linux.tar.b ...

  4. linux下php上传文件注意

    linux下php上传文件注意1.修改上传目录权限linux 修改某目录下所有所有子目录权限chmod -R 777 html修改某目录为任何用户都用写读执行权限chmod a+rwx html2.设 ...

  5. Linux下遍历目录及文件,更改权限

    Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...

  6. 恢复Linux下被误删除的文件(笔记)

    恢复Linux下被误删除的文件 [root@xuegod63 ~]# mount /dev/cdrom /mnt/ 分一个区:sda4  查找:extundelete 分一个区:sda4  [root ...

  7. linux下java调用.so文件的方法1: JNI

    摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...

  8. Linux 下 Vi 配置文件 .vimrc 文件

    Linux 下 Vi 配置文件 .vimrc 文件 配置 vim 的方法是在用户主目录下建立个.vimrc文件,我一般使用root帐户,所以就在/root/下建立一个.vimrc文件:vi /root ...

  9. Linux下 两台机器文件/文件夹 相互拷贝

    Linux下 两台机器文件/文件夹 相互拷贝 设有两台机器 :A:*.101及 B:*.102. 把A下的.temp/var/a.txt拷贝到B机器的/text/目录下: 进入B机器:scp root ...

随机推荐

  1. javascript 面向对象之路.2 - 小蜜蜂

    接着上篇文章继续. 要实现上篇中gif图片的效果, 我们要写js, 算法并不是很复杂, 本次也仅仅展示了实现功能的代码, 并没有从面向对象的角度去构思或重构代码. 这里, 我们定义了一些变量, 用来定 ...

  2. ob

    可以利用ob_get_contens生成静态页面,应用场景 后台生成商品的时候 可以生成对应的前台页面,其他页面直接调用. $result = $goods->create(); if ($re ...

  3. c# 在mongo中查询经纬度范围

    #region 索引 //IndexKeysDocument doc = new IndexKeysDocument();//新建索引 //2d 平面坐标索引,适用于基于平面的坐标计算.也支持球面距离 ...

  4. gispro试用版账户注册

    1.注册账户 http://www.esri.com/zh-cn/arcgis/products/arcgis-pro/trial 2.分配账户权限 3.gispro可以登录了

  5. 软工网络15团队作业4——Alpha阶段敏捷冲刺8.0

    软工网络15团队作业4--Alpha阶段敏捷冲刺8.0 1.每天举行站立式会议,提供当天站立式会议照片一张. 2.项目每个成员的昨天进展.存在问题.今天安排. 2.1 任务完成安排: 成员 昨日已完成 ...

  6. 数据分析之Numpy库入门

    1.列表与数组 在python的基础语言部分,我们并没有介绍数组类型,但是像C.Java等语言都是有数组类型的,那python中的列表和数组有何区别呢? 一维数据:都表示一组数据的有序结构 区别: 列 ...

  7. 读取文件任意位置的内容——RandomAccessFile

    http://www.cnblogs.com/Sunw/p/3801145.html http://www.cnblogs.com/dukc/p/4776868.html http://www.cnb ...

  8. 解决 samba 服务器 windows 多重连接

    samba连接,用户名密码均正确.失败提示:不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接. 事实上,这个不是samba的限制.是Windows的限制. 在打开存在public = ...

  9. 基于FPGA摄像头图像采集显示系统

    本系统主要由FPGA主控模块.图像采集模块.图像存储模块以及图像显示模块等模块组成.其中图像采集模块选择OV7670摄像头模块,完成对视频图像的采集和解码功能,并以RGB565标准输出RGB 5:6: ...

  10. [转载]Oracle中的NVL函数

    Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...