1.基本命令
命令 | 解释 |
---|---|
cd | 进D盘 cd /d;cd /文件夹名 |
pwd | 查当前路径 |
ls | 目录文件按行排列 |
ls -l | 目录文件按列排 |
ls -al | 目录所有文件列排序 |
cat | 查看文件全部内容;cat 文件名 |
mkdir | 新建文件夹;mkdir 文件夹名 |
vi | 新建文件(直接进入文件编辑);vi 文件名; |
touch | 新建文件(不进入文件);touch 文件名 |
文件名都是要带后缀的。
文件编译命令
命令 | 解释 |
---|---|
esc | 退出编辑模式回到命令模式 |
: | 进入末行模式(在最后一行写命令) |
i | 进入编辑模式(末行会出现插入或者insert) |
H L J K | 左右下上移动光标 |
a | 追加命令在光标后一位追加 |
i | 在光标处加 |
r | 替换,先按r在输入替换后的内容 |
o | 进入编辑模式并新起一行 |
:wq | 保存并退出 |
:q! | 退出不保存 |
^ | 移动到行首 |
$ | 移动到行位 |
w | 一个单词一个单词移动光标;5w下移动五个单词 |
x | 删除一个字符;5x就一下删除5个字符 |
u | 回退之前操作相当于Word 中ctrl+z |
ctrl+r | 撤销刚刚的回退 |
:%s/n/N/g | 将所有的n替换为N;s是替换意思g是全部替换,没有g就只替换一个 |
:set nu | 显示行编号 |
/a | 查找a;在末行输入/查找zifu点回车,然后n正序查下一个N倒序查下一个 |
所有移动删除(h、j、k、l、x、w)都支持加数字快速操作
2.查找文件操作
1.在电脑E盘建一个文件夹(mkdir test);里面复制一个日志文件例如 catalina.2017-11-24.log
1.查找E盘下所有catalina开头 .log结尾的文件,find /e -name 'catalina*.log'
$ find /e -name 'catalina*.log'
/e/test/catalina.2017-11-24.log
2.查找D盘下,以“catalina”开头,“.log”结尾的文件,find /d -name 'catalina*.log'
/d/program/apache-tomcat-7.0.79/logs/catalina.2017-11-24.log
/d/program/apache-tomcat-7.0.79/logs/catalina.2017-11-27.log
/d/program/apache-tomcat-7.0.79/logs/catalina.2017-11-28.log
/d/program/apache-tomcat-7.0.79/logs/catalina.2017-12-11.log
/d/program/apache-tomcat-7.0.79/logs/catalina.2017-12-14.log
3.统计catalina.2017-11-24.log文件大小 wc catalina.2017-11-24.log
命令:
Administrator@SKY-20170927UML MINGW64 /e/test
$ wc catalina.2017-11-24.log
结果:
1031 5418 78712 catalina.2017-11-24.log
解释:1031行,5418单词,18712字节
4将catalina.2017-11-24.log分成10个小文件
命令:(按行分一个小文件100行,分后新文件文件名以new_开头)
Administrator@SKY-20170927UML MINGW64 /e/test
$ split -l 100 catalina.2017-11-24.log new_
查看结果:
Administrator@SKY-20170927UML MINGW64 /e/test
$ ls
a.log c.log new_aa new_ac new_ae new_ag new_ai new_ak
b.log catalina.2017-11-24.log new_ab new_ad new_af new_ah new_aj
5.重新合并拆分后的文件
命令:(new_*要合并的文件名,“*”是通配符,hebing.out合并后的新文件名)
Administrator@SKY-20170927UML MINGW64 /e/test
$ cat new_*> hebing.out
Administrator@SKY-20170927UML MINGW64 /e/test
$ ls
a.log catalina.2017-11-24.log new_ab new_ae new_ah new_ak
b.log hebing.out new_ac new_af new_ai xin.log
c.log new_aa new_ad new_ag new_aj
6.随机找一个拆分的文件里面添加自己手机号,保存并退出。
Administrator@SKY-20170927UML MINGW64 /e/test
$ vi new_ac
7.找出手机号所在的文件以及在哪一行。
命令:grep -rn --text '13333610638' ./
grep:全局查询打印命令。
-r:递归查询,也就是遇到子文件夹,会查询子文件夹。
-n:打印行号。
--text:以文本形式查询。
‘13333610638’:要查询的字段,可写正则表达式。
./:“.”当前目录,也可以指定从其他目录,即从指定文件夹查询。
Administrator@SKY-20170927UML MINGW64 /e/test
$ grep -rn --text '13333610638' ./
结果:/new_ac:59所在文件夹59行
./new_ac:59:ʮһ▒▒ 24, 2017 11:43:55 ▒▒▒▒13333610638 org.apache.catalina.startup.HostConfig deployDirectory
8.打开手机号所在文件夹
命令:
Administrator@SKY-20170927UML MINGW64 /e/test
$ vi new_ac
进入之后
/13333610638(找手机号)
点回车之后n下一个,N上一个
或者
:set nu(显示行号)
59j(直接光标下移到59行)
9.more从前往后,一页一页的往后翻
命令1:
more new_ac
## 最下方会显示已看百分比:
--More--(0%)
命令2:“/”查询,类似vi,也类似windows的ctrl f
/13333610638
10.业务重现,从日文件查询最新的日志
命令1:(找到D盘的启动程序)
Administrator@SKY-20170927UML MINGW64 /e/test
$ find /d -name startup.sh
/d/program/apache-tomcat-7.0.79/bin/startup.sh
/d/program/MyEclipse14/plugins/com.genuitec.eclipse.easie.tomcat.myeclipse_11.0.0.me201211151802/tomcat/bin/startup.sh
/d/program/MyEclipse14/plugins/com.genuitec.eclipse.easie.tomcat7.myeclipse_11.5.0.me201310302042/tomcat/bin/startup.sh
命令2:启动tomcat
Administrator@SKY-20170927UML MINGW64 /e/test
$ /d/program/apache-tomcat-7.0.79/bin/startup.sh
Using CATALINA_BASE: /d/program/apache-tomcat-7.0.79
Using CATALINA_HOME: /d/program/apache-tomcat-7.0.79
Using CATALINA_TMPDIR: /d/program/apache-tomcat-7.0.79/temp
Using JRE_HOME: C:\Program Files\Java\jdk1.8.0_144
Using CLASSPATH: /d/program/apache-tomcat-7.0.79/bin/bootstrap.jar:/d/program/apache-tomcat-7.0.79/bin/tomcat-juli.jar
Tomcat started.(以启动)
命令3:找到日志
Administrator@SKY-20170927UML MINGW64 /e/test
$ find /d -name catalina.out
/d/program/apache-tomcat-7.0.79/logs/catalina.out
命令4:打开日志(最后200行 tail -行数f)
Administrator@SKY-20170927UML MINGW64 /e/test
$ tail -200f /d/program/apache-tomcat-7.0.79/logs/catalina.out
打包和压缩
常见压缩包 | 打包/压缩命令 | 解压命令 | 注释 |
---|---|---|---|
.tar | tar cvf filename.tar dirname | tar xvf filename.tar | 1.filename打包后的文件名,dirname要打包的文件名,2.打包后源文件和包都存在,只是打包没有压缩和源文件一样大 |
.gz | gizp dirname | gunizp dirname.gz | 1.dirname要压缩的文件2.压缩后源文件不在只有包,3.压缩后文件变小 |
.tar.gz和.tgz | tar zcvf filename.tar.gz dirname | tar zxvf filename.tar.gz | 1.filename压缩后的文件名,dirname要压缩的文件名,2.打包后源文件和包都存在,压缩后文件变小 |
.zip | zip filename.zip dirname | unzip.filename.zip | linux命令只能解压不能压缩,压缩要在windows系统下操作 |
.rar | 一般不用只能在window读取 |
批量删除打包操作
1.将new_开头的文件夹全部打包成一个文件
命令:可以用正则表达式批量给文件打包
$ tar cvf package.tar new_*(打tar包)
$tar zcvf package.tar.gz new_*(打.tar.gz)
2.删除所有的new_开头的文件夹
命令:
rm -rf new_*
查看进程
1.进程含义:
操作系统,将内存、cpu等资源,打包给应用使用,是分配资源的基本单元
查看进程命令:
命令:
Administrator@SKY-20170927UML MINGW64 /e/test
$ ps -ef
结果:
UID PID PPID TTY STIME COMMAND
Administ 3048 3224 pty0 09:27:06 /usr/bin/bash
Administ 9048 3048 pty0 21:57:32 /usr/bin/ps
Administ 3224 1 ? 09:27:06 /usr/bin/mintty
2.使用管道符(|)对进程信息筛选
用管道符筛选刚查到的进程
命令1:查看所有进程
Administrator@SKY-20170927UML MINGW64 /e/test
$ ps -ef
结果:
UID PID PPID TTY STIME COMMAND
Administ 3048 3224 pty0 09:27:06 /usr/bin/bash
Administ 8708 3048 pty0 22:03:07 /usr/bin/ps
Administ 3224 1 ? 09:27:06 /usr/bin/mintty
命令2:筛选usr进程
Administrator@SKY-20170927UML MINGW64 /e/test
$ ps -ef | grep usr
结果:
Administ 3048 3224 pty0 09:27:06 /usr/bin/bash
Administ 7964 3048 pty0 22:03:36 /usr/bin/ps
Administ 3224 1 ? 09:27:06 /usr/bin/mintty
Administ 7160 3048 pty0 22:03:36 /usr/bin/bash
命令3:筛选usr里面PS
Administrator@SKY-20170927UML MINGW64 /e/test
$ ps -ef | grep usr | grep ps
结果:
Administ 8356 3048 pty0 22:08:14 /usr/bin/ps
重定向
作用:将获取的信息存到文件
1.将test目录中含有g的文件筛选出来
命令:
Administrator@SKY-20170927UML MINGW64 /e/test
$ ls |grep g
结果:
a.log
b.log
c.log
catalina.2017-11-24.log
hebing.out.gz
hebing.zip
logs.tar.gz
news.log
package.tar
xin.log
ys.tar.gz
2.将找到的结果保存到d.log
命令1:(将test目录中含有g的文件筛选出来,重定向,就是把筛选出来的有g的文件重新放进d.log)
Administrator@SKY-20170927UML MINGW64 /e/test
$ ls | grep g > d.log
命令2:(查看d.log的内容)
Administrator@SKY-20170927UML MINGW64 /e/test
$ cat d.log
结果:
a.log
b.log
c.log
catalina.2017-11-24.log
d.log
hebing.out.gz
hebing.zip
logs.tar.gz
news.log
package.tar
xin.log
ys.tar.gz
3.查出含“tar”的文件,并重定向到d.log
命令1:(查出含“tar”的文件,并重定向到d.log)
Administrator@SKY-20170927UML MINGW64 /e/test
$ ls | grep tar > d.log
命令2:(查看d.log里面文件)
Administrator@SKY-20170927UML MINGW64 /e/test
$ cat d.log
结果:
logs.tar.gz
package.tar
qqq.tar
yasuobao.tar
ys.tar.gz
原先的内容没了,一个>是覆盖的方式写入
4.追加重定向>>
命令1:(追加重定向,追加含“g”的文件进入d.log)
Administrator@SKY-20170927UML MINGW64 /e/test
$ ls | grep g >> d.log
命令2:(查看d.log里面文件)
Administrator@SKY-20170927UML MINGW64 /e/test
结果:
$ cat d.log
logs.tar.gz
package.tar
qqq.tar
yasuobao.tar
ys.tar.gz
a.log
b.log
c.log
catalina.2017-11-24.log
d.log
hebing.out.gz
hebing.zip
logs.tar.gz
news.log
package.tar
xin.log
ys.tar.gz
两次重定向加在一起进入一个文件d.log
杀进程
命令:kill -9 进程号
[shccs01 ~]$ps -ef | grep shccs01 | grep tomcat | grep ux
shccs01 18839(进程号) 1 0 Dec11 ? 00:02:09 /usr/lib/jvm/jdk1.8.0_11/bin/java -Djava.util.logging.config.file=/unibss/users/shccs01/server/tomcat/ux/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m -classpath /unibss/users/shccs01/server/tomcat/ux/bin/bootstrap.jar:/unibss/users/shccs01/server/tomcat/ux/bin/tomcat-juli.jar -Dcatalina.base=/unibss/users/shccs01/server/tomcat/ux -Dcatalina.home=/unibss/users/shccs01/server/tomcat/ux -Djava.io.tmpdir=/unibss/users/shccs01/server/tomcat/ux/temp org.apache.catalina.startup.Bootstrap start
[shccs01 ~]$kill -9 18839
查看端口
查询10000端口对应的进程号
命令:(netstat -ano查看所有端口 findstr "10000"筛选10000端口)
C:\Users\Administrator>netstat -ano | findstr "10000"
TCP 0.0.0.0:10000 0.0.0.0:0 LISTENING 3936
TCP 127.0.0.1:10000 0.0.0.0:0 LISTENING 7876
查看2488进程对应的应用程序
命令:(tasklist查看所有端口的应用程序)
C:\Users\Administrator>tasklist | findstr "7876"
结果:
yundetectservice.exe 7876 Console 1 9,200 K
命令:(按照进程号杀程序)
C:\Users\Administrator>taskkill /pid 7876 /f
成功: 已终止 PID 为 7876 的进程。
对比linux和cmd
对比项 | linux | cmd |
---|---|---|
查端口 | netstat | netstat |
查进程 | ps -ef | tasklist |
管道符 | 竖线 | 竖线 |
查询包含指定串的行 | grep '查询串' | findstr '查询串' |
杀进程 | kill -9 进程号 | taskkill /pid 进程号/f |
网友评论