大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
叹号命令使用
创新互联公司专注于天涯企业网站建设,自适应网站建设,商城网站建设。天涯网站建设公司,为天涯等地区提供建站服务。全流程按需设计网站,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
双叹号!!
!!代表上一条输入的命令,可以和其他命令组合起来构成新的命令
eg:
$ ./startup.sh
$ cat !!
复制
此命令相当于 cat ./startup.sh,省去了来回切换
!$
代表得是上一条命令中最后一个参数
eg:
$ ls /usr/local/dic
$ cat !$/a.txt
复制
如果上一个路径是一个很长的,就会很省事的
!字符串
代表最近一条以指定字符串开头的命令
eg:
$ !ssh
复制
执行最近一次ssh命令
!?字符串?
类似于mysql的模糊匹配,执行最近一条命令中包含指定字符串的命令
eg:
$ !?ssh?
复制
执行最近的一次包含ssh的命令
!n 或 !-n
此命令通常配合history命令使用
使用history查找ssh记录
eg:
$ !109
复制
执行history查询出来前面序号为109的命令
$ !-1
复制
执行当前命令序号减去一得到的序号对应的命令
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。下面让我们一起去了解Linux TOP命令 按内存占用排序和按CPU占用排序。
Linux TOP命令 按内存占用排序和按CPU占用排序:
:在命令行提示符执行top命令
2:输入大写P,则结果按CPU占用降序排序。输入大写M,结果按内存占用降序排序。(注:大写P可以在capslock状态输入p,或者按Shift+p)
另外:
认识top的显示结果
top命令的显示结果如下所示:
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48 Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 191272k total, 173656k used, 17616k free, 22052k buffers Swap: 192772k total, 0k used, 192772k free, 123988k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd 14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top 1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init 2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0统计信息区
前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
01:06:48当前时间
up 1:22系统运行时间,格式为时:分
1 user当前登录用户数
load average: 0.06, 0.60, 0.48系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks: 29 total进程总数
1 running正在运行的进程数
28 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数
Cpu(s): 0.3% us用户空间占用CPU百分比
1.0% sy内核空间占用CPU百分比
0.0% ni用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id空闲CPU百分比
0.0% wa等待输入输出的CPU时间百分比
0.0% hi
0.0% si
最后两行为内存信息。内容如下:
Mem: 191272k total物理内存总量
173656k used使用的物理内存总量
17616k free空闲内存总量
22052k buffers用作内核缓存的内存量
Swap: 192772k total交换区总量
0k used使用的交换区总量
192772k free空闲交换区总量
123988k cached缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
进程信息区
统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
序号列名含义
aPID进程id
bPPID父进程id
cRUSERReal user name
dUID进程所有者的用户id
eUSER进程所有者的用户名
fGROUP进程所有者的组名
gTTY启动进程的终端名。不是从终端启动的进程则显示为 ?
hPR优先级
iNInice值。负值表示高优先级,正值表示低优先级
jP最后使用的CPU,仅在多CPU环境下有意义
k%CPU上次更新到现在的CPU时间占用百分比
lTIME进程使用的CPU时间总计,单位秒
mTIME+进程使用的CPU时间总计,单位1/100秒
n%MEM进程使用的物理内存百分比
oVIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
pSWAP进程使用的虚拟内存中,被换出的大小,单位kb。
qRES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
rCODE可执行代码占用的物理内存大小,单位kb
sDATA可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
tSHR共享内存大小,单位kb
unFLT页面错误次数
vnDRT最后一次写入到现在,被修改过的页面数。
wS进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
xCOMMAND命令名/命令行
yWCHAN若该进程在睡眠,则显示睡眠中的系统函数名
zFlags任务标志,参考 sched.h
默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。
更改显示内容
通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。
按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。
按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。
Linux 对我们的生活产生了巨大的冲击。至少你的安卓手机使用的就是 Linux 核心。尽管如此,在第一次开始使用 Linux 时你还是会感到难以下手。因为在 Linux 中,通常需要使用终端命令来取代 Windows 系统中的点击启动图标操作。但是不必担心,这里我们会介绍 10 个 Linux 基本命令来帮助你开启 Linux 神秘之旅。
帮助新手走出第一步的 10 个 Linux 基本命令
当我们谈论 Linux 命令时,实质上是在谈论 Linux 系统本身。这短短的 10 个 Linux 基本命令不会让你变成天才或者 Linux 专家,但是能帮助你轻松开始 Linux 之旅。使用这些基本命令会帮助新手们完成 Linux 的日常任务,由于它们的使用频率如此至高,所以我更乐意称他们为 Linux 命令之王!
让我们开始学习这 10 条 Linux 基本命令吧。
1. sudo
这条命令的意思是“以超级用户的身份执行”,是 SuperUserDo 的简写,它是新手将要用到的最重要的一条 Linux 命令。当一条单行命令需要 root 权限的时候,sudo命令就派上用场了。你可以在每一条需要 root 权限的命令前都加上sudo。
$ sudo su
2. ls
跟其他人一样,你肯定也经常想看看目录下都有些什么东西。使用列表命令,终端会把当前工作目录下所有的文件以及文件夹展示给你。比如说,我当前处在 /home 文件夹中,我想看看 /home 文件夹中都有哪些文件和目录。
/home$ ls
在 /home 中执行ls命令将会返回类似下面的内容:
imad lost+found
3. cd
变更目录命令(cd)是终端中总会被用到的主要命令。它是最常用到的 Linux 基本命令之一。此命令使用非常简单,当你打算从当前目录跳转至某个文件夹时,只需要将文件夹键入此命令之后即可。如果你想跳转至上层目录,只需要在此命令之后键入两个点 (..) 就可以了。 举个例子,我现在处在 /home 目录中,我想移动到 /home 目录中的 usr 文件夹下,可以通过以下命令来完成操作。
/home $ cd usr
/home/usr $
4. mkdir
只是可以切换目录还是不够完美。有时候你会想要新建一个文件夹或子文件夹。此时可以使用 mkdir 命令来完成操作。使用方法很简单,只需要把新的文件夹名跟在 mkdir 命令之后就好了。
~$ mkdir folderName
5. cp
拷贝-粘贴copy-and-paste是我们组织文件需要用到的重要命令。使用 cp命令可以帮助你在终端当中完成拷贝-粘贴操作。首先确定你想要拷贝的文件,然后键入打算粘贴此文件的目标位置。
$ cp src des
注意:如果目标目录对新建文件需要 root 权限时,你可以使用 sudo命令来完成文件拷贝操作。
6. rm
rm 命令可以帮助你移除文件甚至目录。如果不希望每删除一个文件都提示确认一次,可以用-f参数来强制执行。也可以使用-r参数来递归的移除文件夹。
$ rm myfile.txt
7. apt-get
这个命令会依据发行版的不同而有所区别。在基于 Debian 的发行版中,我们拥有 Advanced Packaging Tool(APT)包管理工具来安装、移除和升级包。apt-get 命令会帮助你安装需要在 Linux 系统中运行的软件。它是一个功能强大的命令行,可以用来帮助你对软件执行安装、升级和移除操作。
在其他发行版中,例如 Fedora、Centos,都各自不同的包管理工具。Fedora 之前使用的是 yum,不过现在 dnf 成了它默认的包管理工具。
$ sudo apt-get update
$ sudo dnf update
8. grep
当你需要查找一个文件,但是又忘记了它具体的位置和路径时,grep命令会帮助你解决这个难题。你可以提供文件的关键字,使用grep命令来查找到它。
$ grep user /etc/passwd
9. cat
作为一个用户,你应该会经常需要浏览脚本内的文本或者代码。cat命令是 Linux 系统的基本命令之一,它的用途就是将文件的内容展示给你。
$ cat CMakeLists.txt
10. poweroff
最后一个命令是 poweroff。有时你需要直接在终端中执行关机操作。此命令可以完成这个任务。由于关机操作需要 root 权限,所以别忘了在此命令之前添加sudo。
$ sudo poweroff
总结
如我在文章开始所言,这 10 条命令并不会让你立即成为一个 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,顺序所有者、组成员、其他用户
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 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录。
批量在文件名前面加连续的数字序号
第一步,电脑上先下载优速文件批量重命名工具,安装后打开使用。点击“文件重命名”功能进入内页后,再点击【添加文件】按钮,将需要加序号的文件批量导入到软件中。
第二步,如下图所示左边位置进行设置,命名方式选择“插入”;插入类型选择“编号”(也就是序号的意思);然后插入位置选择“文件名头”(也可以根据自己的需求插入到任意位置);最后在下面进行编号设置。可以在右边实时预览新文件名。
第三步,上面的设置完成后,就可以点击【开始重命名】启动重命名程序。当软件弹出“重命名成功”的提示后,说明所有文件成功加上了数字序号。
第四步,从案例中的结果可以看到,文件名从上到下在前面成功依次添加了递增的数字序号。