linux自定义命令

文章目录

  • 1、自定义命令介绍
  • 2、自定义命令步骤 (centos7)
    • 2.1 新建隐藏目录存放自定义命令脚本文件
    • 2.2 将新建的目录配置环境变量
    • 2.3 取别名的方式简化已有命令
    • 2.4 编写自定义命令脚本

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}}"



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/505494.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MIPI CSI-2 Low Level Protocol解读

一、Low Level Protocol介绍 LLP 是一种面向字节的基于数据包的协议,支持使用短数据包和长数据包格式传输任意数据。为简单起见,本节中的所有示例均为单通道配置。 LLP特性: 传输任意数据(与有效载荷无关) 8 位字大…

代码随想录第二十五天 | 回溯算法P2 | ● 216● 17

216.组合总和III 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k 3, n 7 输出…

解决AD使用交互式BOM插件时,插入make点导致显示异常的问题

记得上次写了一篇关于使用这个插件时出现这个问题的解决方法,具体可查看:AD使用交互式BOM插件时应该注意到的一个问题_ad的bom插件-CSDN博客 当时的解决办法就是删除后再运行脚本生成,这些天经过多次实验,发现是当时那个封装有问…

健身房预约管理系统(源码+文档)

健身房预约管理系统(小程序、ios、安卓都可部署) 文件包含内容程序简要说明含有功能:项目截图客户端首页我的预约登录教练预约时间我的注册页个人资料课程预约课程预约 管理端订单管理团课管理教练管理分类管理用户管理 文件包含内容 1、搭建…

vulnhub靶场之driftingblues-4

一.环境搭建 1.靶场描述 get flags difficulty: easy about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email for troubleshooting or questions. This works better with VirtualBox rather than VMware. 2.靶场…

Segger Embedded Studio IDE使用体验——默认的Section和Linker的设置

Segger Embedded Studio IDE使用体验之一——默认的Section和Linker的设置 一、简介二、操作2.1 编译后代码分析2.1.1 符号浏览器2.1.2 读取elf文件和map文件 2.2 调试2.2.1 查看变量2.2.2 设置供电 2.3 运行环境设置2.3.1 编译器2.3.2 汇编器2.3.3 包含其他文件2.3.4 .bss和.d…

【MATLAB源码-第24期】基于matlab的水声通信中海洋噪声的建模仿真,对比不同风速的影响。

操作环境: MATLAB 2022a 1、算法描述 水声通信: 水声通信是一种利用水中传播声波的方式进行信息传递的技术。它在水下环境中被广泛应用,特别是在海洋科学研究、海洋资源勘探、水下军事通信等领域。 1. **传输媒介**:水声通信利…

Postgresql导出数据和结构后再去另外一个Postgresql数据库中导入失败

参考教程: postgresql 在导入建表sql时 遇到错误 :https://blog.csdn.net/weixin_37706944/article/details/132321731 是因为原表定义了自增字段,解决办法: 解决方法: 执行如下sql后再新建表,就可以了 DR…

ngrok 内网穿透使用

title: ngrok 内网穿透使用 search: 2024-02-29 文章目录 背景Windows安装ngrok指令授权ngrok个人用户Authtoken穿透 http 或 https 服务ngrok的代理http指令ngrok获得静态域名指令ngrok的代理ssh指令 背景 这次寒假回家,很无奈,很多东西放在项目组服务…

[Windows]防火墙,出入站规则失效。

场景: 因为具体需要,在内网中,不想别人发现我们的nacos端口8848,因此我们设置了入站规则,特定的ip地址才能访问。但是实际测试中发现并不起作用。。。 经过一番排查得到一下结果。 为什么有些应用绕过了防火墙配置 有…

记录阿里云服务器VNC登录一直显示Login Incorrect的问题

想要尝试通过VNC实例登录,结果一直提示Login Incorrect 怀疑自己忘记密码后,重置了几次密码还是登录不上去 解决: 发现阿里云把我小键盘的 ""识别为了 “” 号 但是主键盘区域的 键就没有错位 等就是等 加就是加 而小键盘区…

【Linux实验室】配置yum源为ftp服务器

配置yum源为ftp服务器 实验原理 文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传…

专题【链表】刷题日记

2024.03.31 两数相加 题目 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1:…

【算法-PID】

算法-PID ■ PID■ 闭环原理■ PID 控制流程■ PID 比例环节(Proportion)■ PID 积分环节(Integral)■ PID 微分环节(Differential) ■ 位置式PID,增量式PID介绍■ 位置式 PID 公式■ 增量式 PI…

anaconda navigator updater 版本更新失败

打开后,更新界面持续很久 使用命令行查看版本 执行conda update anaconda-navigator 第一次执行中间失败,重新执行,更新成功

MySQL编程实战LeetCode经典考题

文章简介 本文主要收集了LeetCode上关于MySQL的一些经典考题。 后续也会陆续把所有经典考题补充完整。 175.组合两个表 175.组合两个表 解答: select p.FirstName as firstName, p.LastName as lastName,a.City as city, a.State as state from Person p l…

动手学机器学习双线性模型+习题

在数学中,双线性的含义为,二元函数固定任意一个自变量时,函数关于另一个自变量线性 矩阵分解 设想有N个用户和M部电影,构建一个用户画像库,包含每个用户更偏好哪些类型的特征,以及偏好的程度。假设特征的个…

【数据结构与算法】二叉树的遍历及还原

树形结构 - 有向无环图 树是图的一种。 树形结构有一个根节点树形结构没有回路根节点:A叶子节点:下边没有其他节点了节点:既不是根节点,又不是叶子节点的普通节点树的度:这棵树最多叉的节点有多少叉,这棵树的度就为多少树的深度&#xff1a…

ROS中IMU惯性测量单元

一、IMU惯性测量单元消息包 IMU 是安装在机器人内部的一种传感器模块,用于测量机器人的空间姿态。 IMU的消息包定义在sensor_msgs包中的Imu中。头部是header,记录了消息发送的时间戳和坐标系ID。第二个是角速度。第三个是矢量加速度。三个数据成员都各…

机器学习每周挑战——旅游景点数据分析

数据的截图,数据的说明: # 字段 数据类型 # 城市 string # 名称 string # 星级 string # 评分 float # 价格 float # 销量 int # 省/市/区 string # 坐标 string # 简介 string # 是否免费 bool # 具体地址 string拿到数据…