linux命令发现 linux查看命令是否存在

《Linux下部分常用指令笔记》一、创建linux维护用户
登录root用户
创建新用户
useradd 新用户名
设置用户密码
passwd 新用户密码
二、安装jdk和配置环境变量
建议在root用户下直接安装jdk,并直接配置环境变量,同时给非root用户设置读和执行权限
解压包
tar xvf jdk包名.tar
配置全局变量
编辑/etc/profile文件
vi /etc/profile
按I键 , 切换成编辑模式 。
在文件未加入一下配置
export JAVA_HOME=jdk的解压文件目录
export JRE_HOME=jdk的解压文件目录/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${ JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${ JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
保存并退出
Esc
:wq
重载配置文件使其生效
source /etc/profile
检查是否安装成功
Javac
Java version
权限修改
读4写2执行1,顺序所有者、组成员、其他用户
Chomd755jdk的解压文件目录
三、安装tomcat
安装tomcat和放入war包使用非root的维护用户
如果使用root安装的话记得设置权限 。( chomd -r 外层文件目录 )
su - 用户名
1、解压包
tarxvftomcat包名.tar
2、将war包放入tomcat/webapps目录下
3、Tomcat启动服务和停止服务
查看进程
ps -ef | grep java
启动应用
Tomcat bin目录下.startup.sh
停止应用
建议使用
Kill -9 进程号
注linux命令发现:解压出应用文件后 , 注意配置信息的修改
四、IBM MQ部署 (7.5之后的版本)
(以下是使用9.0版本的正确部署命令)
一、卸载旧版本IBM MQ(可?。?
因为部署环境没有安装过mq,卸载这部分命令我没有亲自测试过
设置环境
以用户身份登录到组mqm,找到mq的安装位置 /opt/mqm
source ./setmqenv -s
查看队列管理器的状态
dspmq -o installation
停止与要卸载的安装关联的所有正在运行的队列管理器
endmqm SXRECV
停止与队列管理器关联的所有侦听器 。
endmqlsr -m SXRECV
查看系统上当前安装的软件包(组件)
sudo rpm -qa | grep MQSeries

列出软件包并一次性卸载
sudo rpm -qa | grep MQSeries | xargs rpm -ev
再将对应的用户及安装目录给删除
rm -rf /opt/mqm
userdel -r mqm

检查MQ license
license文件在安装目录中 /opt/mqm/lib 可以找到
amqtcert.lic - is a trial license
amqbcert.lic - is a beta license
amqpcert.lic - is the production license
——————————————————————————————————————
二、安装新版本ibm mq
解压,解压文件都在MQServer中
tar –xzvf IBM_MQ_9.1.5_LINUX_X86-64.tar.gz
进入MQServer文件夹中:
cd MQServer/
运行MQ许可证程序
./mqlicense.sh
安装WebSphere MQ for Linux服务器(Runtime、SDK 和 Server 软件包):
rpm -U MQSeriesRuntime-9.1.5-0.x86_64.rpm
rpm -U MQSeriesSDK-9.1.5-0.x86_64.rpm
rpm -U MQSeriesServer-9.1.5-0.x86_64.rpm

安装WebSphere MQ for Linux客户机:
rpm -U MQSeriesClient-9.0.0-0.x86_64.rpm
安装WebSphere MQ样本程序:
rpm -U MQSeriesSamples-9.0.0-0.x86_64.rpm
创建组和用户
安装过程创建了一个名为mqm的用户和一个同样名为 mqm 的组 。设置一个密码来解锁 。
passwd mqm
——————————————————————————————————————
三、配置
(这部分队列管理器、通道、队列等根据实际情况自行配置)
切换用户:
su mqm
创建队列管理器
使用crtmqm命令来创建一个名为 SXRECV
的队列管理器 。我们把它作为缺省队列 , 并且将不在创建时指定死信队列 。然后使用strmqm命令启动队列管理器 。
crtmqm -qSXRECV
strmqmSXRECV
——————
如果执行crtmqm命令时提示
-bash-3.2$ crtmqm
-bash: crtmqm: command not found
find / -name crtmqm
则需要配置mqm用户的环境变量,编辑如下文件,并添加下面的内容 , 如下:
第一种方法:相对第二种较安全仅对mqm用户有效
方法一:
(1) -bash-3.2$ vi /var/mqm/.bash_profile--有可能会在文件夹下看不到这个文件 , 通过编辑即可看到
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
(2)执行“.”命令 , 使这个文件生效
-bash-3.2$ source.bash_profile
(3)再次尝试实行crtmqm或是dspmqm命令,即可发现已经生效 。
方法二:
(1)
suroot
[if !supportLists](2)[endif]
vim /etc/profile
[if !supportLists](3)[endif] 在最后面加上:
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/bin
(4)关闭远程终端重新打开,无需重启服务器
——————
运行队列管理器
runmqsc SXRECV
创建通道和队列
DEFINE QLOCAL (XYDATA) REPLACE USAGE (NORMAL) DEFPSIST (YES) MAXDEPTH (300000) DESCR('兴业银行')
DEFINE QLOCAL (XYTRANS) REPLACE USAGE (XMITQ) DEFPSIST (YES) MAXDEPTH (300000) DESCR('兴业银行')
DEFINE QREMOTE (XYACK) REPLACE DEFPSIST (YES) RQMNAME (SXSEND)RNAME (XYACK) XMITQ (XYTRANS) DESCR('XXXX')
DEFINE CHANNEL (XYDATA) CHLTYPE (RCVR) TRPTYPE (TCP) REPLACE DESCR('XXXX')
DEFINE CHANNEL (XYACK) CHLTYPE (SDR) CONNAME ('166.1.1.8(2214)') XMITQ (XYTRANS) TRPTYPE (TCP) DISCINT (0) CONVERT (NO) SHORTRTY (30) SHORTTMR (10) LONGRTY (999999999) LONGTMR (20) REPLACE DESCR('XXXX')
DEFINE CHANNEL (SVRCONN) CHLTYPE (SVRCONN) MCAUSER('mqm')
创建监听
DEFINE LISTENER (RECLISTENER) TRPTYPE (TCP) CONTROL(QMGR) PORT (2214)
启动监听
start LISTENER(RECLISTENER)
启动通道
start channel(SVRCONN)
start channel(XYDATA)
start channel(XYACK)
———————————————————————————————————————————————————
四、2035错误码说明
如果程序连接mq报错2035,则需要对权限认证做设置,则进行以此操作
1、
ALTER QMGR CHLAUTH(DISABLED)
2、
ALTER CHL(通道名) CHLTYPE(SVRCONN) MCAUSER('mqm')
3、
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
或者直接将连接认证选项置为空,将其完全关闭,指令如下:
ALTER QMGR CONNAUTH('')
在执行完上述两条命令中的任一条后,都需要刷新连接认证的缓存,指令如下:
REFRESH SECURITY TYPE(CONNAUTH)
五、mq操作命令
一、MQ的启动与停止
1、MQ的启动
strmqm QMgrName
如果启动默认队列管理器,strmqm后可以忽略队列管理器名称 。
2、MQ的关闭
endmqm -i QMgrName
停止mq
二、MQ运行状态查看与常用操作
1、 查看队列管理器运行状态
su mqm
执行如下命令检查队列管理器运行状态:dspmq显示结果中QMNAME表示MQ队列管理器的名称 , STATUS表示当前运行状态 。运行状态有如下几种:Starting正在启动Running正在运行Ending正在停止Ended normally已经正常终止Ended immediately已经立即终止Ended preemtively已经强制终止Ended unexpectively异常终止
注意:停止MQ后必须使用dspmq命令进行状态检查
2、查看通道运行状态与启停通道
runmqsc
dis chl(*);查看所有通道定义
dis chs(*);查看所有通道状态,如果没有查询到通道状态,或报错AMQ8420: Channel Status not found,请启动通道
dis chs(ChannelName)linux命令发现; 查看通道ChannelName的状态
通道状态有如下几种:
STARTING正在启动BINDING正在绑定INITIALIZING正在初始化RUNNING正常STOPPING 正在停止RETRYING重试PAUSED等待STOPPED已停止REQUESTING请求
start chl(ChannelName);启动通道
stop chl(ChannelName);停止通道
*重置通道
reset channel(ChannelName); 重置通道序号 。当本地与其他MQ队列管理器的通道无法正常启动的情况,检查日志发现是通道序号不一致,此时就需要先停止发送方通道,清空队列深度并在发送方和接收方进行通道计数的重置,重置后启动通道即可恢复通讯 。
注意:重置成功mq序列号一般相同或相差1
3、查看通道监听状态与启停监听
runmqsc
dis listner(*);查看通道监听定义
dis lsstatu(listnerName);查看监听状态
start lstr(listnerName); 启动监听
stop lstr(listnerName); 停止监听
4、查看队列深度
runmqsc
dis q(*);查看所有各类队列的属性
dis qlocal(QName);查看所有本地队列的属性
队列深度属性为:CURDEPTH
查看队列深度display ql('队列名')curdepth
*清空队列深度
清空队列深度
clear ql(‘队列名’)
三、MQ发送和接收消息
su mqm
发送消息
amqsput队列名队列管理器
获取消息
amqsget队列名队列管理器
可通过配合查看队列深度命令,完成mq的联调
六、其他维护中常用linux命令
1、测试端口连接
telnet ip port
2、查看已启动的端口
netstat -an | grep 端口号
3、查看应用进程
ps -ef |grep java
4、修改权限
chomdXXX(对应的权限)文件目录
5、修改文件或目录下所有文件所有者和组
Chomd -R 用户名:组名文件目录
6、查看目录内容
ls 或者ls -l (简写ll)
7、查看文件输出
cat 目录/文件名
或者
【linux命令发现 linux查看命令是否存在】 Vi 目录/文件名 按i可进入编辑
按 G 到文档末尾
按 gg 到文件首行
不保存退出
Esc:q!
保存退出
Esc:wq
vi 进入文档文档后查找关键字
Esc 进入命令行
/关键字
按n向下继续查找
按N向上继续查找
8、杀进程
Kill -9 进程号
9、复制
cp -r 源目录目标目录
10、移动
mv-i 源文件或目录 目标文件或目录
11、删除
rm -R 文件目录
12、切换工作目录
cd相对路径或绝对路径
~也表示为 home 目录 的意思,. 则是表示目前所在的目录 , .. 则表示目前目录位置的上一层目录 。
在linux中如何用命令查找文件在哪需要准备的材料分别是:电脑、linux连接工具 。
1、首先连接上linux主机,进入等待输入指令的linux命令行状态 。
2、例如寻找/home/httpd/html/目录下的test.txt文件,在命令行状态下,输入指令:find /home/httpd/html/ -name "test.txt" , 按回车 。
3、等待查询结束后,会打印出查询结果 。
Linux 命令行展开介绍及示例???在Linux bash中可以使用命令行展开特性一步完成需要分开成多步完成的操作,达到事半功倍的效果 。在Linux指令参数位置使用"{}" 将相应的参数括起来,括号中的参数以逗号分隔 , 然后bash在执行这一指令时会自动将括号中的内容进行展开 。
示例1:
???同时创建多个目录,在/tmp目录下创建a_c,a_d,b_c,b_d等目录 , 只需要在命令行中执行如下命令即可,无须单个创建:
执行结果如下:
示例2:
???需要在/tmp/mylinux 目录下创建如下目录树 。
创建命令如下:
执行结果如下:
在这里可以使用指令tree来查看目录的层级结构 , 以更直观的方式将目录树显示出来:
Linux 高级命令echo "HelloWorld"
向控制台输出HelloWorld信息
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中 。
lstest.txt
test.txt 如果不存在 , 则创建 , 存在则覆盖其内容
注意:输出重定向会覆盖原来的内容,输出重定向则会追加到文件的尾部
cat xxx.py可以用来快速查看某个文件内容,输出到控制台
cat test.txthaha.txt将test.txt的内容追加到haha.txt中
cat 1.txt 2.txt1_2.txt 将1.txt 2.txt内容合并到1_2.txt中
分屏显示:more
查看内容时,在信息过长无法在一屏上显示时 , 会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,从头开始,每次只显示一页,空格键显示下一页,b键上一页,按下q键退出显示 , 按下h键可以获取帮助 。
more xxx.py
管道:一个命令的输出可以通过管道做为另一个命令的输入 。
管道我们可以理解现实生活中的管子 , 管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读) 。即管道左边的输出结果作为管道右侧的参数
cat info.txt | more
tree | more
::: warning
more管道符读到的内容只能前进,不能后退;只能使用空格或回车向下看 , 不能使用b回看
:::
Linux链接文件类似于Windows下的快捷方式 。
链接文件分为软链接和硬链接 。
ln -s 源文件 链接文件
ln 源文件 链接文件
没有-s 选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件 , 链接文件还是存在,一般用于保护系统重要的文件 。所以-s选项是更常见的形式 。
::: warning 注意
如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径 。
:::
find命令功能非常强大 , 通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件 。
常用用法:
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找 。如果找到匹配模式, grep打印包含模式的所有行 。
grep一般格式为:
在grep命令中输入字符串参数时 , 最好用引号或双引号括起来 。
例如:
从某个文件搜索
搜索当前目录所有文件
常用选项说明:**
grep搜索内容串可以是正则表达式 。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑 。
grep常用正则表达式:
计算机中的数据经常需要备份 , tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据 。
tar使用格式:
tar [参数] 打包文件名 文件
tar命令很特殊 , 其参数前面可以使用“-”,也可以不使用 。
常用参数:
注意:除了f需要放在参数的最后,其它参数的顺序任意 。
常用命令:
tar与gzip命令结合使用实现文件打包、压缩 。tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz 。也会见到缩写的.tgz这种扩展名 。
gzip使用格式如下:
常用选项:
tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项 -z 可以调用gzip实现压缩的功能 , 最终实行一个先打包后压缩的过程 。
-z :指定压缩包的格式为 xxx.tar.gz
tar压缩:tar zcvf xxx.tar.gz 文件1 文件2 ...
tar解压:tar zxvf xxx.tar.gz
解压到指定目录:tar zxvf xxx.tar.gz -C target_dir/(大写字母“C”)
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样) 。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.bz2 。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能 , 实行一个先打包后压缩的过程 。
压缩用法 : tar -jcvf 压缩包包名 文件1 文件2... (例: tar jcvf bak.tar.bz2 *.c )
解压用法 : tar -jxvf 压缩包包名(例: tar jxvf bak.tar.bz2 )
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip 。
压缩文件 :zip [-r] 目标文件(没有扩展名) 源文件
解压文件 :unzip -d 解压后目录文件 压缩文件
使用tree命令可以查看指定目录的树状结构
有时我们想知道被执行的命令在哪个目录,以方便切换或更新不同版本,如Python 。可以使用 which 命令
文件内容为:123 aaa bbb哈
执行 echo "123 aaa bbb哈"xxx.txt
wc -l xxx.txt文件内容的行数1
wc -w xxx.txt文件内容的单词数3
wc -c xxx.txt文件内容的字节数15
wc xxx.txt文件内容的行数,单词数,字节数1 3 15
wc -m xxx.txt文件的字符数13
sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用 。一般用于自动编辑转换程序,动态调整文件内容 。
sed 's/good/GOODS/' file 替换每行第一个指定字符串(输出所有行)
sed -n 's/good/GOODS/p' file 替换每行第一个指定字符串(只输出替换的行)
sed -i 's/good/GOODS/g' file 替换所有指定字符串,并应用到文件
sed '2d' file 删除第二行
sed '/^test/d' 删除good开头的行
sed -n '3p' file 打印第3行
显示当前时间 # Tue May 7 14:35:31 DST 2019
当前日期和时间 # 20190507-14:34:25
使用history命令可以查看之前输过的命令及其id,
使用 !id 的形式,可以快速执行指定历史命令
Linux命令大全:
菜鸟Linux命令:
关于linux命令发现和linux查看命令是否存在的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读