十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
权限管理命令 chmod
专注于为中小企业提供网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业梅州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
英文愿意: change the permissions mode of a file
语法: chmod[{ugoa}{+-=}{rwx}] [文件或目录]
[mide = 421] [文件或目录]
-R 递归修改
权限的数字表示
r -- 4
w -- 2
x -- 1
rwxrw-r-- (4+2+1 = 7)
7 6 4
例子:mkdir /temp 创建了一个目录
touch /temp/testfile 在该目录下创建了一个test file文件
chmod 777 /temp 改变了一下该目录的权限
名称: chgrp
英文原意:change file group ownership
语法:chgrp [用户][文件或目录]
功能: 改变文件或目录的所属租
例子: useradd hl // 添加所有者
groupadd brother // 添加所有组
charp brother text // brother变成了text文件的所属组
注意:
1、所属组就是创建这的所属者的缺省组
2、linux中创建的文件缺少x(可执行)为了使系统更加安全
mask
0022
0特殊权限
022 ugo --- -w- -w-
1、文件搜索命令find
执行权限:find
语法:find[搜索范围][匹配条件]
功能描述:文件搜索
例子:
find /etc -name init (-iname 不区分大小写)
find /home -user(-group) hl
在根目录下查找所有者(所有组)为hl的文件
在目录/etc中查找文件init
init init init // 通配符
?init (?匹配单个字符)
find / -size +204800
在跟目录下查找大于100MB的文件 (100MB = 102400KB = 204800)
+n 大于 -n小于 n等于
find /etc -cmin -5
例子2:
find /etc -size + 163840 -a size -204800
在/etc下查找大于80MB小于100MB的文件
-a两个条件同时满足
-o两个条件满足任意一个即可
在/etc下查找5分钟内被修改的属性的文件和目录
-amin 访问时间 access
-cmin 文件属性 change
-mmin 文件内容 modify
2、文件搜索指令 locate
命名名称:locate
执行权限:所有用户
语法:locate 文件名
功能描述:在文件资料库中查找文件
例子: $ locate inittab
输出文件所在位置
locate和find的区别:
locate的查找速度很快,因为find是在分区和磁盘上查找,而locate是在资料库中查找
注意:如果资料库没有实时更新,所以locate可能会查不到要查询的文件。
即:
updatedb (升级文件的资料库)
loocate -i 文件名 (-i 不区分大小写)
3、文件搜索命令:which (更精确呦)
执行权限:所有用户
功能描述:搜索命令所在目录及别名信息
例子: which ls
alias(别名)
4、whiereis
执行权限:所有用户
语法: whereis[命令名称]
功能描述:搜索命令所在目录及帮助文档路径
例子: whereis ls
5、grep
执行权限:所有用户
语法:grep -iv[指定字串][文件]
功能描述:在文件中搜索字符串匹配的行并输出
-i 不区分大小写
-v 排除指定字符串
例子 grep mysql /root/install.log
补充: linux中 # 表示注释
命名名称:man
英文原意:manual
执行权限:所有用户
语法:man[命令或配置文件]
功能描述:获取帮助信息
例子: man ls # 查看ls命令的帮助信息
man services 查看配置文件sevices的帮助信息
补充:man 。。。。后
/-g :查询与g有关的信息
空格进行翻页
回车进行换行
按n继续查找
命令名称:useradd
执行权限:root
语法:useradd 用户名
功能描述: 添加新用户
例子: useradd HF
命令名称:passwd
执行权限:所有用户
语法:passwd 用户名
功能描述: 设置用户密码
例子: passwd HF
命令名称:who
执行权限:所有用户
语法:who
功能描述: 查看登录用户信息
例子: who
输出内容含义:
登录用户名 登录终端(tty本地登录、pds表述远程终端) 登录时间 登录主机ip地址
命令名称:w
执行权限:所有用户
语法:w
功能描述: 查看登录用户详细信息
例子: w
命令名称:gzip
英文原意:GNU zip
执行权限:所有用户
语法:gzip[文件]
功能描述: 压缩文件
压缩后文件格式:.gz
解压缩:gunzip 压缩文件
注意:gizp只能压缩文件,不能压缩目录
命令名称:tar
执行权限:所有用户
语法:tar 选项 [-zcf] [压缩文件名] [目录]
-c 打包
-v 显示详细文件
-f 指定文件名
-z 打包同时压缩
功能描述: 打包目录
压缩后文件格式:.tar.gz
命令名称:zip
执行权限:所有用户
语法:zip 选项[-r][压缩后文件名][文件或目录]
-r 压缩目录
功能描述: 压缩文件或目录
压缩后文件格式: zip
注意:zip是window和linux系统中通过用的压缩格式
命令名称:bzip2
执行权限:所有用户
语法:bzip2 选项 [-k] [文件]
-k 产生压缩文件后保留有源文件
功能描述: 压缩文件
压缩后文件格式: .bz2
注意: bzip2的压缩比例大,适用于压缩较大的文件
bunzip2解压缩
对目录压缩:tar.bz2
指令名称:write
指令权限:所有用户
语法:write 用户名
功能描述:给用户发消息 ,以ctrl + D保存
例子: write YX
命令名称:wall
英文原意:write all
执行权限:所有用户
语法:wall [message]
功能描述: 发广播信息
命令名称:ping
执行权限:所有用户
语法:ping 选项IP地址
-c 指定发送次数
功能描述: 测试网络连通性
例子: ping 192.168.1.156
命令名称:ifcongig
英文原意:interface configure
执行权限:root
语法:ifconfig 网卡名称 IP地址
功能描述:查看和设置网卡信息(设立之临时IP)
例子: ifconfig etho 192.168.1.156
etch0 本地真实网卡
lo 回环网卡 (用来本机通信个测试的)
cncap:。。网络名称是以太网
HWaddr: 16进制表示的 48位的 网卡的物理地址
addr:当前计算机IP地址
Bcast:当前网络地址
Mask:子网掩码
inet6 addr: 表示的是IPv6的地址信息
RX packets:接受数据包的总数量
TX packets:发送数据包的总数量
Base addtess: 网卡当中的物理位置
命令名称:mail (邮件命令)
执行权限:所有用户
语法:mail [用户名]
功能描述:查看发送电子邮件
发送:ctrl + D
查询: mail
例子: mail root
[图片上传中...(-d00bb9-1591253201012-0)]
命令名称:last
执行权限:所有用户
语法:last
功能描述:列出目前和过去登入系统的用户信息
命令名称:traceroute
执行权限:所有用户
语法:traceroute
功能描述:显示数据包到主机的路径
例子: traceroute
命令名称:netstat
执行权限:所有用户
语法:netstat [选项]
功能描述:显示网络相关信息
选项:
-t : TCP协议
-u : UDP协议
-l : 监听
-r : 路由
-n : 显示IP地址和端口号
例子:
netstat -tlun 查看本机监听的端口
netstat -an 查看本机所有网络链接
netstat -rn 查看本届路由表
命令名称:setup
执行权限:root
语法:setup
功能描述:配置网络(永久生效)
例子: setup
注意:配置网络结束后要重启网络服务
service network restart
挂在命令
命令名称:mount
执行权限:所有用户
语法:mount[-t 文件系统] 设备文件
例子: mount -t iso9660/dev/sr0/mnt/cdrom
命令名称:shutdown
[root@localhost~]#shutdown [选项] 时间
选项:- c : 取消前一个关机命令
- h:关机
- r :重启
特点:可以正确的关闭和保存服务,建议实用
其他关机命令
halt
poweroff (直接断电)
init 0
重启命令
reboot
init6
补充:init _ 的数字含义
init0 关机
init1 单用户(启动最小最核心的服务)
init2 不完全多用户,不含NFS服务(network file system 网络文件系统)
init3 完全多用户
init4 未分配
init5 图形界面
init6 重启
查询系统运行级别
runlevel
退出登录命令
logout
linux 常用命令有:
pwd 命令
使用 pwd 命令找出您所在的当前工作目录(文件夹)的路径。该命令将返回一个绝对(完整)路径,该路径基本上是所有以 / 开头的目录的路径。绝对路径的一个示例是 /home/username。
cd 命令
要浏览 Linux 文件和目录,请使用 cd 命令。根据您所在的当前工作目录,它需要目录的完整路径或名称。假设您位于 /home/username / Documents 中,并且想要转到 Documents 的子目录 Photos。为此,只需键入以下命令:cd Photos。另一种情况是,如果您想切换到一个全新的目录,例如 /home/username / Movies。在这种情况下,您必须输入 cd,然后输入目录的绝对路径:cd /home/username / Movies。有一些快捷方式可帮助您快速导航:cd ..(带有两个点)将一个目录向上移动 cd 直接转到主文件夹 cd-(带连字符)移动到上一个目录附带说明一下,Linux 的 shell 是区分大小写的。因此,您必须准确输入名称的目录。
ls 命令
LS 命令用于查看目录的内容。默认情况下,此命令将显示当前工作目录的内容。如果要查看其他目录的内容,请键入 ls,然后键入目录的路径。例如,输入 LS / 家 / 用户名 / 文档查看的内容的文件。您可以使用 ls 命令使用以下变体:ls -R 还将列出子目录中的所有文件 ls -a 将显示隐藏的文件 ls -al 将列出文件和目录以及详细信息,例如权限,大小,所有者等。
cat 命令
cat(连接的缩写)是 Linux 中最常用的命令之一。它用于在标准输出(sdout)上列出文件的内容。要运行此命令,请键入 cat,然后输入文件名及其扩展名。例如:cat file.txt。以下是使用 cat 命令的其他方法:cat filename 创建一个新文件 cat filename1 filename2 filename3 连接两个文件(1 和 2),并将它们的输出存储在新文件中(3)将文件转换为大写或小写使用,cat filename | tr a-z A-Z output.txt
cp 命令
使用 cp 命令将文件从当前目录复制到另一个目录。例如,命令 cp scenery.jpg/home /username/ Pictures 将在您的 Pictures 目录中创建一个 Scene.jpg 副本(来自当前目录)。
mv 命令
mv 命令的主要用途是移动文件,尽管它也可以用于重命名文件。mv 中的参数类似于 cp 命令。您需要输入 mv,文件名和目标目录。例如:mv file.txt/home /username/ Documents。
mkdir 命令
使用 mkdir 命令创建一个新目录 - 如果键入 mkdir Music,它将创建一个名为 Music 的目录。还有一些额外的 mkdir 命令:要在另一个目录中生成新目录,请使用此 Linux 基本命令 mkdir Music / Newfile 使用 p(父级)选项在两个现有目录之间创建一个目录。例如,mkdir -p Music / 2022 / Newfile 将创建新的 “2022” 文件。
rmdir 命令
如果需要删除目录,请使用 rmdir 命令。但是,rmdir 仅允许您删除空目录。
rm 命令
该 RM 命令用于删除目录以及其中的内容。如果只想删除目录(作为 rmdir 的替代方法),请使用 rm -r。注意:使用此命令时要格外小心,并仔细检查您所在的目录。这将删除所有内容,并且没有撤消操作。
touch 命令
该触摸命令允许您创建通过 Linux 命令行新的空白文件。例如,输入 touch /home/username/Documents/Web.html 在 Documents 目录下创建一个名为 Web 的 HTML 文件。
locate 命令
您可以使用此命令来定位文件,就像 Windows 中的搜索命令一样。此外,将 - i 参数与该命令一起使用将使其不区分大小写,因此即使您不记得其确切名称,也可以搜索文件。要搜索包含两个或多个单词的文件,请使用星号(*)。例如,locate -i school * note 命令将搜索包含单词 “school” 和 “ note” 的任何文件,无论它是大写还是小写。
find 命令
在类似定位命令,使用 查找也搜索文件和目录。区别在于,您可以使用 find 命令在给定目录中查找文件。例如,find /home/-name notes.txt 命令将在主目录及其子目录中搜索名为 notes.txt 的文件。使用查找时的其他变化 是:要查找当前目录中使用的文件,请使用 find . -name notes.txt 要查找目录,请使用 /-type d -name notes. txt13. grep 命令无疑对日常使用很有帮助的另一个基本 Linux 命令是 grep。它使您可以搜索给定文件中的所有文本。为了说明这一点,grep blue notepad.txt 将在记事本文件中搜索单词 blue。包含搜索到的单词的行将被完整显示。
sudo 命令
该命令是 “SuperUser Do” 的缩写,使您能够执行需要管理或超级用户权限的任务。但是,建议不要将此命令用于日常使用,因为如果您做错了一些事情,很容易发生错误。
df 命令
使用 df 命令可获取有关系统磁盘空间使用情况的报告,以百分比和 KB 表示。如果要以兆字节为单位查看报告,请输入 df -m。
du 命令
如果要检查文件或目录占用了多少空间,答案是 du(磁盘使用情况)命令。但是,磁盘使用情况摘要将显示磁盘块号,而不是通常的大小格式。如果要以字节,千字节和兆字节为单位查看它,请在命令行中添加 - h 参数。
head 命令
所述头命令用于查看任何文本文件的第一行。默认情况下,它将显示前十行,但是您可以根据自己的喜好更改此数字。例如,如果只想显示前五行,则键入 head -n 5 filename.ext。
tail 命令
该命令与 head 命令具有相似的功能,但是 tail 命令将显示文本文件的最后十行,而不是显示第一行。例如,tail -n filename.ext。
diff 命令
diff 命令是差异的缩写,diff 命令逐行比较两个文件的内容。分析文件后,它将输出不匹配的行。程序员在需要进行程序更改时经常使用此命令,而不是重写整个源代码。此命令最简单的形式是 diff file1.ext file2.ext
tar 命令
该 tar 命令是最常用的命令归档多个文件到一个压缩包。类似于 zip 格式常见的 Linux 文件格式,压缩是可选的。该命令具有很长的功能列表,非常复杂,例如将新文件添加到现有档案中,列出档案内容,从档案中提取内容等等。查看一些实际示例,以了解有关其他功能的更多信息。
chmod 命令
chmod 是另一个 Linux 命令,用于更改文件和目录的读取,写入和执行权限。由于此命令相当复杂,因此您可以阅读完整的教程以正确执行它。
chown 命令
在 Linux 中,所有文件均归特定用户所有。该 CHOWN 命令使您可以更改或文件的所有权转让给指定的用户名。例如,chown linuxuser2 file.ext 将使 linuxuser2 成为 file.ext 的所有者。
Jobs 命令
jobs 命令将显示所有当前作业及其状态。作业基本上是由 Shell 启动的进程。
kill 命令
如果您的程序无响应,则可以使用 kill 命令手动终止它。它将向运行异常的应用发送特定信号,并指示该应用自行终止。您总共可以使用 64 个信号,但是人们通常只使用两个信号:SIGTERM(15) — 请求程序停止运行,并给它一些时间来保存其所有进度。如果在输入 kill 命令时未指定信号,则将使用此信号。SIGKILL(9) - 强制程序立即停止。未保存的进度将丢失。除了知道信号之外,您还需要知道要杀死的程序的进程标识号(PID)。如果您不知道 PID,只需运行命令 ps ux。在知道您要使用什么信号以及程序的 PID 之后,输入以下语法:kill [signal option] PID.
ping 命令
使用 ping 命令检查与服务器的连接状态。例如,只需输入 ping google.com,该命令将检查您是否能够连接到 Google 并测量响应时间。
wget 命令
Linux 命令行非常有用 - 您甚至可以在 wget 命令的帮助下从 Internet 下载文件。为此,只需键入 wget,然后输入下载链接即可。
uname 命令
该 UNAME 命令,短期对于 Unix 名,将打印您的 Linux 系统,如计算机名称的详细信息,操作系统,内核,等等。
top 命令
作为与 Windows 中的任务管理器等效的终端,top 命令将显示正在运行的进程的列表以及每个进程使用的 CPU 数量。监视系统资源使用情况非常有用,尤其是知道哪个进程由于消耗太多资源而需要终止时。
history 命令
当您使用 Linux 一段时间后,您会很快注意到每天可以运行数百个命令。因此,如果您想查看之前输入的命令,运行历史记录命令特别有用。
man 命令
对某些 Linux 命令的功能感到困惑吗?不用担心,您可以使用 man 命令从 Linux 的外壳程序中轻松地学习如何使用它们。例如,输入 man tail 将显示 tail 命令的手动指令。
echo 命令
此命令用于将一些数据移到文件中。例如,如果要将文本 “Hello,我的名字叫 John” 添加到名为 name.txt 的文件中,则可以键入 echo Hello, my name is John name.txt
zip,unzip 命令
使用 zip 命令将文件压缩到 zip 归档文件中,然后使用 unzip 命令从 zip 归档文件中提取压缩文件。
hostname 命令
如果您想知道主机 / 网络的名称,只需键入 hostname。在末尾添加 - I 将显示您的网络的 IP 地址。
useradd,userdel 命令
1、目录切换命令
cd usr/ 切换到该目录下usr目录
cd ../ 切换到上一层目录
cd /切换到系统根目录
cd ~ 切换到用户主目录
2、目录操作命令
(1)增加目录
命令:mkdir 目录名称
(2)查看目录
ls [-al] 父目录 ls -l 可以缩写成ll
(3)寻找目录
find 目录 参数(重点)
注意这里涉及权限问题,需要先切换到root目录 su root
(4)修改目录名称
mv 目录名称 新目录名称
(5)拷贝目录
cp -r 被目录名称 目录拷贝的目标位置 -----r代表 递归拷贝
将/usr下的newTest拷贝到根目录下的test中,使用cp -r /usr/newTest test/rm
(6)删除目录
rm [-rf] 目录
删除/usr下的newTest,进入/usr下使用rm -r newTest
3、文件操作命令
(1)文件创建 touch 文件名称 ----- 空文件
(2)文件查看 cat/more/less/tail 文件
(3)修改文件内容 vim 文件
vim 文件------进入文件-----命令模式------按i进入编 辑模式-----编辑文件 -------按Esc进入底行模式----- 输入:wq/q!
(4)删除文件
熟记 rm -rf 文件 即可
4、压缩文件操作命令
(1)tar -zcvf 打包压缩后的文件名 要打包压缩的文件
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
(2) 解压压缩包(重点)
tar [-xvf] 压缩文件
5、其他命令
(1)显示当前所在位置 pwd
(2)搜索命令 grep 要搜索的字符串 要搜索的文件
(3)管道命令 | 将前一个命令的输出作为本次目录的 输入
(4)查看进程 ps -ef
(5)网络通信命令 查看当前系统的网卡信息:ifconfig
查看与某台机器的连接情况:ping
(6)查看当前系统的端口使用 netstat –an,通常和 | grep一起使用
6、Linux的权限命令
在随意某个目录下ls -l 查看某个目录下的文件或目录 的权限 rwx 读取权 写入权 执行权
这个字符串有10位,可以分为4段来解读
第一段(第1位)表示是目录还是文件,-表示是文件,d表示是目录;
第二段(第2-4位,共3个字符串)表示文件所属用户对它的权限 - 属主权限(User);
第三段(第5-7位,共3个字符串)表示文件所属用户组用户对它的权限 - 属组权限(Group);
第四段(第8-10位,共3个字符串)表示其他用户对它的权限 - 其他权限(other);
注意:①我们用3位8进制来表示文件的权限,r(read)用4标识,w(write)用2标识,x(excute)用1标识
②r–可读,w–可写,x–可执行。
③每一段的三位顺序不可变,如果没有对应的权限,则使用-表示
上图中的-rwxrw-r–可以用八进制数字764表示。
!!!!修改文件/目录的权限的命令:chmod
chmod u=rwx,g=rw,o=r aaa.txt 或者777 代表全部权限
7、 free查看内存信息
df -h 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计
8、top查看资源信息(CPU)
top
补充:
关机命令
reboot 重新启动操作系统
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 10:23
shutdown -h +10 系统再过十分钟后自动关机
Linux命令
目录操作
cd usr/ 切换到该目录下usr目录
cd .. 切换到上一层目录
cd / 切换到系统根目录
mkdir 目录名称 创建目录
ls 目录名称 查询该目录下所有的目录和文件
ls [-a] 目录名称 查询该目录下所有的目录和文件,包含隐藏文件
ls [-l] 目录名称 查询该目录下所有的目录和文件的详细信息
find / -name 目录名称 查找/root下的目录(文件)
mv 目录名称 新目录名称 修改目录名称
mv 目录名称 目录的新位置 剪切
cp -r 目录名称 目录的目标位置 拷贝
rm -rf 目录 强制删除目录
文件操作
touch 文件名称 创建空文件
cat/more/less/tail 文件 查看文件内容
tail -f 文件 动态查看/实时查看文件(日志)
grep 要搜索的字符串 要搜索的文件 关键字搜索
vi/vim 文件 修改文件内容
rm -rf 文件 强制删除文件
文件的打包
tar -zcvf 文件名.tar 要打包的文件
文件的解压
tar -xvf 文件名.tar
扩充:将文件解压到固定位置
tar -xvf 文件名.tar -C 指定解压的位置
查询当前所在位置
pwd
查看进程
ps -ef | grep 进程名称(tomcat/mysql)
杀死进程
kill -9 进程pid
查看端口号
netstat -an | grep 端口号(3306)
查看服务器ip
ifconfig
查看网络是否能正常使用
ping 外网地址 查看是否能访问外网
ping 内网ip 查看是否能访问内网
权限命令
chmod 777 文件 赋权
查看cpu
top
查看磁盘信息
df -h
查看内存信息
free
关机命令
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 10:23
shutdown -h +10 系统再过十分钟后自动关机
重新启动
reboot 重新启动操作系统
Linux查看程序端口占用情况
使用命令:
ps -aux | grep tomcat
发现并没有8080端口的Tomcat进程。
使用命令:netstat –apn
查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name
发现8080端口被PID为9658的Java进程占用。
进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉! 《Linux就该这么学》学习更多命令。
方法二:直接使用 netstat -anp | grep portno
即:netstat -anp|grep 8080
一、创建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,顺序所有者、组成员、其他用户
Chomd 755 jdk的解压文件目录
三、安装tomcat
安装tomcat和放入war包使用非root的维护用户
如果使用root安装的话记得设置权限。( chomd -r 外层文件目录 )
su - 用户名
1、解压包
tar xvf tomcat包名.tar
2、将war包放入tomcat/webapps目录下
3、Tomcat启动服务和停止服务
查看进程
ps -ef | grep java
启动应用
Tomcat bin目录下.startup.sh
停止应用
建议使用
Kill -9 进程号
注:解压出应用文件后,注意配置信息的修改
四、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 -q SXRECV
strmqm SXRECV
——————
如果执行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)
su root
[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); 查看通道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、修改权限
chomd XXX(对应的权限) 文件目录
5、修改文件或目录下所有文件所有者和组
Chomd -R 用户名:组名 文件目录
6、查看目录内容
ls 或者ls -l (简写ll)
7、查看文件输出
cat 目录/文件名
或者
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 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录。