Linux命令(补充ing~)

dxhySubscriptionClient_A9_EPSON~LQ~730KII

1.按键操作

按键 作用
空格键 向下翻一页
PaGe down 向下翻一页
PaGe up 向上翻一页
home 直接前往首页
end 直接前往尾页
/ 从上至下搜索某个关键词,如“/linux”
? 从下至上搜索某个关键词,如“?linux”
n 定位到下一个搜索到的关键词
N 定位到上一个搜索到的关键词
q 退出帮助文档
ctrl+alt+F1/ctrl+alt+F3 虚拟机内linux图形界面命令行切换
ctrl+alt/ctrl+G 虚拟机及主机鼠标切换

2.查看当前目录文件

 ls  #查看文件名称
 ll  #查看文件详细内容

3.find

find / -name 'kweb-api.jar' 查找叫keweb-api******的jar类型文件位置;表示在整个硬盘查找
find . -name 'srm
'   #表示当前目录下查找文件名开头是字符串‘srm’的文件

4.cd

下一级目录

 cd  /   #根目录
 cd ../ #上一级
 cd  /home/xxx  #home下xx的子目录

5.删除文件

cd 到所在文件夹内使用rm 删除文件

rm -rf xxxx    (文件名)

6.复制文件

cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下(复制文件夹时要加-r)

cp –r test/ newtest          
##从别的服务器上复制文件
scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

7.加执行权限

changemode:修改文件或目录权限
-R:以递归方式对子目录进行相同的权限变更
u:user当前用户
+:添加权限
x:执行权限
./bin:操作的目录

##为文件夹内添加权限
chmod -R u+x ./bin
##为文件添加权限
chmod u+x file.sh
# 给bin文件夹下的所有文件添加rwx权限
chmod -R 777

8.执行脚本有三种方法:

. ./file.sh 特点:开启bash子进程来执行,也就是开启额外的进程来进行,不影响原进程的变量、配置等

bash file.sh 特点:和./file.sh相同

source file.sh 或者 . file.sh 特点:在原bash进程中执行脚本。

第三种方法主要用于在脚本中切换用户su、切换目录cd等命令。source 和 . 命令是相同的。
在服务器上通过如下方式启动成功之后,如果涉及到重新启动,那么你需要通过
ps -ef | grep bootdo 查询到进程号,
再通过kill -s 9 ${pid} 进行杀死再重新启动,很是麻烦。

9.cat命令

一次显示整个文件。

cat   filename

10.tail 命令:tail [参数] [文件地址]

参数:
-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示的行数

--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.

-q, --quiet, --silent 从不输出给出文件名的首部

-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

#循环读日志后100条
tail -100f ./bin/catalina.out

11.su命令:

Linux su(英文全拼:swith user)命令用于变更为其他使用者的身份

su root

##临时切换root权限
sudo su

12.查看接口是否ping通

telnet 127.0.0.1  8081
## ctrl+],然后再按q退出

13. nginx 命令:

nginx 安装 ://blog.csdn.net/weixin_51788950/article/details/127848609

## 启动相关:文件夹下的sbin目录下的nginx文件
#启动命令:
./nginx

#重启命令:
./nginx  -s reload

#正常停止:
./nginx -s quit

#快速停止:
./nginx -s stop

## 查看版本:
./nginx -V 

## 使用其他配置文件
nginx -c conf/web01.conf 

## 验证配置是否正确: 
nginx -t

## 查看错误日志:日志文件夹logs内
tail -100f  error.log

14. 防火墙查看并开放linux端口

##查看端口号是否开启
firewall-cmd --query-port=8088/tcp
## 开放端口号
firewall-cmd --zone=public --add-port=8088/tcp --permanent
##重启防火墙
firewall-cmd --reload

15. 查看端口及进程

#查找端口号是否被启动
netstat -lnp | grep 端口号
#通过pid查看占用端口
netstat -nap | grep 进程pid
#查看已占用的端口号
lsof -i:端口号
lsof -i

16. 创建文件夹

mkdir + 文件名

mkdir  home2 

17.关闭正在启动的API

##可以使用jps命令下:
kill -9 `jps -l |grep knmarket-web.jar|awk '{print $1}'`
##其他:
##查看当前项目运行端口首个端口号
ps -ef |grep order 
##杀死进程
kill -9 进程号

18.启动API

##jar包 执行完回车两次跳出命令行
nohup java -jar /opt/service/knmarket-web/knmarket-web.jar --spring.profiles.active=prod  

nohup java -jar DemoWeb-0.0.1-SNAPSHOT.jar > DemoWeb.log 2>&1 & 
tail -100f DemoWeb.log

##查看API是否启动:有类似于 24166 knmarket-web.jar 代表启动成功
jps -l|grep knmarket-web.jar 

##tomcat  war包启动 
./bin/startup.sh ;tail -200f logs/catalina.out

19.创建shell脚本:

cd到你想创建脚本的目录
输入touch 名字.sh 创建你的脚本
在同目录下vi /vim名字.sh 编辑你的脚本
shift G页尾
GG页首
按i进入编辑模式
先按Esc退出编辑,光标自动定位到文本末行,输入 :wq 回车,即可保存退出//输入:q!回车,不保存返回

20.linux上传文件

#1)安装
  yum -y install lrzsz
#1)查看是否安装成功,
rpm -qa|grep lrzsz
#1)rz回车 上传文件;rz -y 上传并覆盖原文件
rz 
#下载
sz

21.移动文件

mv 需要移动的文件 + 移动的位置

#如: 
mv /opt/20210111/knmarket-web.jar /opt/service/knmarket-web/knmarket-web.jar    

22.解压命令

.tar 
解包:tar xvf FileName.tar 
打包:tar cvf FileName.tar DirName 
(注:tar是打包,不是压缩!) 
——————————————— 
.gz 
解压1:gunzip FileName.gz 
解压2:gzip -d FileName.gz 
压缩:gzip FileName

.tar.gz 和 .tgz 
解压:tar zxvf FileName.tar.gz 
压缩:tar zcvf FileName.tar.gz DirName 
——————————————— 
.bz2 
解压1:bzip2 -d FileName.bz2 
解压2:bunzip2 FileName.bz2 
压缩: bzip2 -z FileName
——————————————— 

.tar.bz2 
解压:tar jxvf FileName.tar.bz2 
压缩:tar jcvf FileName.tar.bz2 DirName 
——————————————— 
.bz 
解压1:bzip2 -d FileName.bz 
解压2:bunzip2 FileName.bz 
压缩:未知

.tar.bz 
解压:tar jxvf FileName.tar.bz 
压缩:未知 
——————————————— 
.Z 
解压:uncompress FileName.Z 
压缩:compress FileName 
.tar.Z

解压:tar Zxvf FileName.tar.Z 
压缩:tar Zcvf FileName.tar.Z DirName 
——————————————— 
.zip 
解压:unzip FileName.zip 
压缩:zip FileName.zip DirName 
——————————————— 
.rar 
解压:rar x FileName.rar 
压缩:rar a FileName.rar DirName 
——————————————— 
.lha 
解压:lha -e FileName.lha 
压缩:lha -a FileName.lha FileName 
——————————————— 
.rpm 
解包:rpm2cpio FileName.rpm | cpio -div 
——————————————— 
.deb 
解包:ar p FileName.deb data.tar.gz | tar zxf - 

补充:jar解压及压缩

把当前目录下的所有文件打包成project.jar

jar -cvfM0 project.jar ./

-c   创建jar包

-v   显示过程信息

-f    

-M

-0   这个是阿拉伯数字,只打包不压缩的意思

 

 

解压project.jar

 

jar -xvf project.jar
————————————————
版权声明:本文为CSDN博主「kanpiaoxue」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kanpiaoxue/article/details/84906797

23.查看当前目录

pwd

24.查看当前用户

whoami

25.jar包内编辑

jar 可以当成zip包解压再去编辑,也可以直接编辑

##  vim包名 显示jar包内的文件列表
vim xxx.jar
##  可以输入/xxx  来搜索你想要查看的文件
/application
## 光标选中该文件行,回车进入文件
## 正常vim编辑
##退出jar 包文件
:q
##编辑后需要重启项目才能实现配置修改

详见:
https://jingyan.baidu.com/article/91f5db1b1b66a41c7e05e36c.html

26.查找指定字符

grep -A 10 -B 50 -i ‘抓不到我’ catalina.out
cat catalina.out|grep ‘2018041417434200258001’
##若数据依然很大,想多条件查询可以将第一次查询结果新建文件,再在其中二次查询。如:
cat catalina.out|grep ‘2018041417434200258001’ > 1.txt
cat  1.txt |grep ‘88:’ 

27.服务器间切换账号

## 切换其他服务器账号密码
ssh root@192.168.31.27

28.查询可用空间

df -hl:查看磁盘剩余空间
df -h:查看每个根路径的分区大小
du -sh [目录名]:返回该目录的大小
du -sm [文件夹]:返回该文件夹总M数
du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)

29.清空文件

#清空文件内容
true > access.log

cat /dev/null > access.log


rm -rf process.2022-01-*

查看磁盘占用空间
 du -sh /*

30.根据class文件查询所在jar位置

# 根据Importxxx.class找到含该文件的jar包名称
ls *.jar | while read jarfile; do
    jar -tf $jarfile | grep  "Importxxx.class"
    if [ $? -eq 0 ]
    then
        echo "find class in jar : "$jarfile
    fi
done

31.根据进程号查询文件位置

#通过端口查看进程
netstat -lnp | grep 12888
#通过进程查看文件位置
ll /proc/进程号

32.文件操作

# 创建文件xx.log
vi  xx.log  并保存
# 清空文件xx.log
echo > xx.log

输入“/关键字”,按enter键查找
查找下一个,按“n”即可( n 查找上一处错误日志 N 查找下一处错误日志)
ctrl+f: 下翻一屏。
ctrl+b: 上翻一屏。
ctrl+d: 下翻半屏。
ctrl+u: 上翻半屏。
ctrl+e: 向下滚动一行。
ctrl+y: 向上滚动一行。
cat app.log | grep -C 5 '关键字'   (显示日志里匹配字串那行以及前后5行)
cat app.log | grep -B 5 '关键字'   (显示匹配字串及前5行)
cat app.log | grep -A 5 '关键字'   (显示匹配字串及后5行)

grep -E 同时匹配多个关键字:或关系
grep -E "word1|word2|word3"

grep 同时匹配多个关键字:与关系
grep "word1"| grep"word3"

33.筛选csv文件


-- 筛选含  "|OPT_2GE|"  或者  含  "|GP1ON|" 的行

 cat CS*.csv | grep -E '\|OPT_2GE\||\|GP1ON\|'   >1.csv
 
-- 筛选含  "|NA|0"  的行
 cat 1.csv | grep -E '\|NA\|0' >2.csv
 
-- 查询总条数
 wc -l 2.csv  
-- 或者:  find . -type f -name '2.csv' -exec wc -l {} +


4

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容