《Linux下部分常用指令笔记》

《Linux下部分常用指令笔记》,第1张

一、创建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 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录。

运维管理命令

netstat -nap 查看系统正在开放的端口

netstat -tnlp | grep 80 查看哪个服务占用了80端口(-t表示只列出tcp协议的连接)

netstat -anptu | grep tcp 查看当前开放的所有tcp端口

rm -r 文件名 删除文件 (-r 递归) (-f 强制)

rm -rf ./* 删除当前目录里的所有文件

mv 文件路径 目标路径 移动文件到指定目录

mv 文件名a 文件名b 将文件名a重命名为文件名b

mv ./* ../ROOT/ 把当前目录下的所有文件移动到上级目录的ROOT文件夹里面

cp 起始路径 目标路径 将一个文件从一个地址复制到另一个地址

cp 文件1 文件2 将文件1复制一份命名为文件2

ssh 远程主机的用户名@远程主机ip 远程登录服务器(如果无法登陆,删除本地.ssh文件里的known_hosts文件里的内容)

scp -r 本地路径 user@ip:服务器路径 将本地文件传到服务器

scp user@ip:服务器路径 本地路径 将服务器文件传到本地

chmod -R 777 文件路径 赋予指定文件所有权限

chmod -R 777 . 以递归的方式修改当前目录下所有文件和子目录的权限

rpm -qa | grep httpd 查询是否安装httpd服务,并列出安装文件

rpm -e 软件名 查询某个软件是否被安装 (只有通过yum安装的才能查询到)

ps -ef | grep java 显示当前进程及参数,并过滤出java程序的进程 { PID表示这个程序的ID,PPID表示这个程序的父程序的ID }

kill PID 立即终止这个进程

crontab -e 编写计划任务(语法格式:分 时 日 月 周 需要执行的命令)

mkdir a 创建一个名称为a的文件夹

touch 文件名.文件格式 创建一个带后缀的文件

du -sh 文件路径 查看指定路径的文件的大小

grep "关键词" 文件名 查找文件中带这个关键词的文件

系统维护命令

service 服务名 start/stop/restart 在deb包管理的系统中开关服务的命令

systemctl start/stop/restart 服务名 在rpm包管理的系统中开关服务的命令

man 命令 解释这个命令

history 数字 显示最近使用的命令

apt-get install 命令符号 安装命令程序

apt-get purge 命令符号 卸载命令程序

which 程序名 搜索某个程序路径

whereis 软件名 搜索某个软件路径

echo $PATH查看标准路径目录

dmesg -T 显示系统接入设备日志

sudo nautilus 文件路径 以管理员身份打开文件夹进行删改

df -h 查看磁盘使用情况

fdisk -l 查看分区具体情况

route 检查自己的路由表

traceroute url 检查本机到url的完整路径

git clone github地址 从github下载文件到本地

常用路径的作用

cd /bin 进入根目录下的bin目录

cd bin 进入当前目录下的bin目录

/etc/init.d 系统的启动文件目录,可以使用start启动着里面的文件 如:./bluetooth start 启动蓝牙

/usr/share / 从源安装的软件的文件默认存放地址

windows系

快捷键

Alt + Esc 切换活动窗口

Alt + F4 关闭当前程序

win + D 显示和隐藏桌面

win + I 打开设置

win + M 最小化所有窗口

win + Tab 打开任务视图

Ctrl + win + D 添加虚拟桌面

Ctrl + win + 切换虚拟桌面

Ctrl + win + F4 关闭你正在使用的虚拟桌面

打开服务配置

gpedit.msc 打开组策略

services.msc 打开服务控制

sysdm.cpl 打开系统属性(配置环境变量等 *** 作)

chcp 65001 设置cmd为utf8字符集

c:ProgramDataMicrosoftWindowsStart MenuPrograms windows启动程序路径

在cmd中光标只有在当前行才能 ctrl + v 进行粘贴

windows下的ssh的使用

C:ProgramDatassh sshd_config配置文件所在目录,修改这个文件可以更改ssh连接到win后所在的目录 #ChrootDirectory none 改成 ChrootDirectory C: 然后重启ssh server服务,这样用linux连接到win后就会到 C: 目录下

将linux上的 a.txt文件 复制到windows的 c盘的a文件夹中

scp user@ip:/home/username1/视频/a.txt /c:/a ( -r 递归传送 )

将windows的 c盘的a文件夹中的c.txt文件 复制到linux的中

scp /c:/a/c.txt user@ip:/home/username1/视频/a ( -r 递归传送)

只能在windows系统上 *** 作上面的两条命令,win中的user是用户文件夹里的文件夹名字。

在Mysql安装的目录中找到bin目录,复制此路径到系统属性的‘高级’中的环境变量path里,这样就可以在cmd中运行 mysql -u root -p

Dos命令

重点:inode、block(数据区块)、superblock(超级区块)

磁盘结构

GPT与MBR

区别

磁盘以文件表示

linux中设备都以文件形式在/dev中表示,如磁盘为/dev/sd[a-p物理][1-128分区]

文件系统:boot+group+group...

group: inode信息 数据

限制:

缺点:

区块大:小文件多浪费空间

区块小:inode多读写性能差

记录一个区块指针需要4B,一个inode包含12个直接、1个间接、1个双间接、1个三间接,所以1K区块下一个文件最大12+256+256 256+256 256*256个数据区块共16G

如何查看这些信息

输出:超级区块信息+区块群组信息

数据不一致

异步处理

修改时将文件读入内存标记为clean,修改后标记为dirty但并不立即写入硬盘,需要调用sync。

不正常关机时会导致磁盘校验。

文件系统与目录树

挂载:文件系统与目录树结合,比如将 / 挂载到 /dev/sda1 这个设备

相同文件系统类型的不同文件系统目录树根的inode相同,不同文件系统内文件inode值可能重复,同一个文件系统inode与文件一一对应。

Linux支持多种文件系统,包括 传统、日志、网络 的,以下命令可以查询。

VFS(Virtual Filesystem Switch)是位于 内核层 系统调用 ,帮助处理读取不同文件系统

ext4不好:预先分配所有inode,格式化慢,不适合大容量磁盘

XFS好:适合大容量磁盘和巨型文件

lsattr 和 chattr 可以更改隐藏属性,但是xfs不支持部分隐藏属性

xfs分为数据区(data section)、文件系统活动登录区(log section)、实时运行区(realtime section)

数据区

同ext,分为超级区块、剩余空间的管理、inode分配与追踪。但是inode动态分配,格式化快。且数据块(4K以上内核不给挂载)与inode大小(256B-2M)可以自定义。

文件系统活动登录区

类似日志区,所有文件变化在此记录,当完全被写入记录才被删除,用于校验。可指定外部磁盘作为该区。

实时运行区

先在该区段中寻找数个extent区块,将文件放到这些区块中, 等分配完了 再写入数据区中的inode与区块中。

xfs文件系统查看信息

注意点:如果对 /boot 使用,可以看到 /dev/sda2 指向某个物理设备,但是对 / 使用,可以看到指向 /dev/mapper/centos-root 。这是因为在安装系统时候, 设备分区 使用了LVM而非标准分区,linux为你自动创建的空间池,用多少取多少。

含有inode大小、个数、总数、区块大小、数量、与阵列 stripe 有关的信息

df

/proc 中1kblock,used,free都是0,因为这个目录挂载在内存中

/dev/shm/ 是用内存虚拟出的磁盘空间

不知道某个目录/文件所在挂载点,还想知道这个分区还能存多少东西?

du

硬链接

符号链接

流程: 分区->格式化->检验(可选)->挂载(Linux特色)

查看UUID(全局唯一标识符): lsblk-f 或 blkid

分区流程: lsblk 或 blkid 查看分区->gdisk 或 fdisk 根据提示 *** 作

区块与扇区:区块针对 文件系统 而言,扇区针对 物理硬盘 而言

不要处理正在活动的分区 (已挂载的分区),linux将不能更新分区表

添加分区默认按序号给分区编号,且默认开始扇区从第一个未被占用的扇区开始。

功能:使用文件系统格式化软件格式化磁盘分区。

命令: mkfs.xfs mkfs.ext4 mkfs


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8290244.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存