linux自定义命令

本文详细介绍了如何在CentOS7中自定义命令,包括创建隐藏目录存储脚本、配置环境变量、创建别名简化常用操作,以及编写和管理自定义脚本,涉及rm、mv、ls等命令的扩展和docker、nginx的集成使用。

1、自定义命令介绍

不管是linux系统还是windows系统都支持自定义命令,windows端命令行用得不多,可视化接口又封装得太好,导致这个功能被忽视,但是linux端命令使用频率就太大了,玩个人服务器时可以根据个人习惯自定义一些命令,大大降低使用难度。

通过自定义命令,可以做到:

  1. 新建一些命令
  2. 简化已有命令
  3. 修改已有命令逻辑

核心思想:shell编程+配置环境变量

2、自定义命令步骤 (centos7)

请先以root用户身份登录系统。已经登录普通用户请以su root命令切换到root账户

2.1 新建隐藏目录存放自定义命令脚本文件

这里选择在主目录下新建隐藏目录.mycmd

cd
mkdir .mycmd

2.2 将新建的目录配置环境变量

vim ~/.bashrc
# 末尾插入一行
export PATH="$PATH:~/.mycmd"
# 使修改立刻生效
source ~/.bashrc

在这里插入图片描述

2.3 取别名的方式简化已有命令

就是在~/.bashrc文件里面加上一些取别名的命令

vim ~/.bashrc

修改或加上下面这些命令

#alias rm='rm -i' # rm命令太可怕了,修改为自定义的放入回收站的逻辑
alias rm='mrm'
alias cp='cp -i'
alias mv='mv -i'
alias la='ls -lah'
alias lt='ls -t'
alias lr='ls -r'
alias l='ls -CF'
alias clc='clear'
alias cls='clear'
alias note='cat /root/.mycmd/note.txt | less'
alias toTrash='source toTrash'
alias toJdk='source toJdk'
alias toTomcat='source toTomcat'
alias toCmd='source toCmd'
alias vm='vim ~/.mycmd/my.txt'

使修改生效:

source ~/.bashrc

2.4 编写自定义命令脚本

现在在.mycmd目录里面写一些脚本文件就成了自定义命令了,部分需要source为前缀的命令还需要借助2.3取别名的方式结合使用

注意给所有脚本赋予执行权限

cd ~/.mycmd
chmod +x ./*
ls

在这里插入图片描述

  • mrm

放入回收站,需要新建一个目录作为回收站目录

mkdir -p /root/.local/share/Trash/files
if test $# -eq 0
        then
        echo "rm命令至少需要一个参数-文件名或文件夹名!"
else
        while [ $# != 0 ]
        do
                mv $1 /root/.local/share/Trash/files 
                if [ $? != 0 ]
                        then
                        echo
                        echo "$1删除失败!"
                        echo "参考:"
                        echo "    1.请确保文件存在!"
                        echo "    2.权限问题请改用srm命令!"
                        exit 1
                fi
                echo "$1已放入回收站!"
                shift
        done
fi

  • toTrash
cd /root/.local/share/Trash/files
  • toCmd
cd ~/.mycmd
  • toJdk
cd /usr/local/jdk1.8.0_171/
  • toTomcat
cd /usr/local/apache-tomcat-7.0.57
  • tomcatStart
/usr/local/apache-tomcat-7.0.57/bin/startup.sh
  • tomcatShutdown
/usr/local/apache-tomcat-7.0.57/bin/shutdown.sh
  • vb
vim ~/.bashrc
  • lsJdk
ls /usr/local/jdk1.8.0_171/
  • lsTomcat
ls /usr/local/apache-tomcat-7.0.57
  • lsTrash
ls /root/.local/share/Trash/files
  • listport

如果防火墙是打开的,可以用来查看哪些接口是开着的

firewall-cmd --zone=public --list-ports
  • my
cat ~/.mycmd/my.txt

其中my.txt可以写一些自己的备忘

回收站目录:
/root/.local/share/Trash/files

jdk安装目录:
/usr/local/jdk1.8.0_171/

tomcat安装目录:
/usr/local/apache-tomcat-7.0.57


1). 分页查询Tomcat的日志信息
more /usr/local/apache-tomcat-7.0.57/logs/catalina.out

2). 查询Tomcat日志文件尾部的50行记录
tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out

3). 动态查看Tomcat日志信息,调试用
tail -f /usr/local/apache-tomcat-7.0.57/logs/catalina.out

4). 查看tomcat系统进程
ps -ef|grep tomcat

kill也可以关闭tomcat
kill命令是Linux提供的用于结束进程的命令,-9表示强制结束 52016是上面ps命令查找的进程id
kill -9 52016


开放指定端口: 其中8080是想要开放的端口号 (需要重新加载生效)
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent

关闭指定端口: 其中8080是想要关闭的端口号 (需要重新加载生效)
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

立即生效(重新加载)port
firewall-cmd --reload

查看开放端口
firewall-cmd --zone=public --list-ports

查询当前系统中安装的所有软件 (类似windows控制面板->卸载程序)
rpm -qa

查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mysql


卸载软件
rpm -e --nodeps  软件名称
卸载 mariadb
rpm -e --nodeps  mariadb-libs-5.5.68-1.el7.x86_64


mysql安装目录:
/usr/local/mysql


升级现有软件及系统内核
yum update


查看mysql服务状态
systemctl status mysqld

启动mysql服务
systemctl start mysqld

停止mysql服务
systemctl stop mysqld

可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:
systemctl enable mysqld



查看已经启动的服务:
netstat -tunlp

我们可以通过如下两种方式,来判定mysql是否启动:
查看mysql的服务信息:
netstat -tunlp | grep mysql
查看mysql进程:
ps -ef | grep mysql
mysql日志:
/var/log/mysqld.log


登录mysql: 输入下面指令后直接回车,会提示你输入密码,再输入密码回车即可
mysql -uroot -p

修改密码:
设置密码长度最低位数:
set global validate_password_length=4;
设置密码安全等级低,便于密码可以修改成root、1234 这种
set global validate_password_policy=LOW;
设置密码为1234
set password = password('1234');

开启外部访问权限: root/1234 分别是被授权用户的用户名和密码
grant all on *.* to 'root'@'%' identified by '1234';
flush privileges;


修改文件编码为u8,解决cat乱码处理
iconv -f cp936 -t utf-8 旧文件名  > 新文件名

# 主库
mysql -uroot -p1234
GRANT REPLICATION SLAVE ON *.* to 'xiaoming'@'%' identified by 'Root@123456';
show master status;

# 从库
stop slave
change master 
	to master_host='192.168.141.100',
	master_user='xiaoming',
	master_password='Root@123456',
	master_log_file='mysql-bin.000003',
	master_log_pos=154;
start slave;
show slave status\G;

# 全局查找
find / -iname "auto.*"

# 查看nginx版本
nginx -v

# 检查nginx配置文件
nginx -t

# 重新加载nginx配置文件
nginx -s reload

# 启动nginx (默认80端口)
nginx

# 停止nginx
nginx -s stop


# 启动docker
systemctl start docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
# 查看docker服务状态
systemctl status docker


# 查看docker下的镜像(死镜像文件)
docker images

# 查看docker下的容器 (活的运行的隔离进程)
docker ps
# 查看所有容器及其状态(运行、暂停、停止)
docker ps -a

# 利用docker ps -a 命令查看到的container id 可以启动停止的容器
docker start c_id
# 启动(已经创建好了的)容器  后面是容器id
docker start cd6a833208d2
 
# 删除一个容器(不会删除镜像)
docker rm

# 选择性只展示几行
docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}"



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值