linux命令乱记

文章目录

  • 根据启动的jar包名找到pid及启动路径
  • 根据端口号找pid
  • 根据pid找到文件位置
  • 根据pid获取端口号
  • 压缩zip包
  • nginx命令
    • 启动,停止
    • 查看nginx是否启动
  • 复制文件
  • 删除乱码文件
  • 查看当前目录下,各个文件夹的大小
  • 上传下载命令
  • 查看与某个端口之间的连接个数
  • 使用cp复制的文件夹打不开
  • 翻页查看文件
  • linux系统环境配置
    • 1. Java环境依赖
    • 2. redis依赖
  • 从服务器直接复制文件夹后,会找不到命令错误
    • 3.nginx依赖
  • 查看有几核、几个CPU
  • 查看内存大小
  • 查看硬盘大小
  • 查看某个进程占用的内存
  • 防火墙状态、某端口防火墙状态
  • yum 下载到指定目录
  • yum 安装到指定目录
  • rpm安装
  • rpm 批量安装
  • 删除文件
  • 删除文件夹
  • 查看当前进程的权限
  • 延时

根据启动的jar包名找到pid及启动路径

ps -ef|grep java|grep

根据端口号找pid

lsof -i:80

根据pid找到文件位置

ls -al /proc/5532

根据pid获取端口号

netstat -ntlp |grep 24897,这个只会显示端口

在这里插入图片描述

netstat -antup|grep 24897,这个会显示端口及监听的端口
linux命令乱记_第1张图片

查看请求方的ip

netstat -nat|grep 8089
linux命令乱记_第2张图片

压缩zip包

linux zip命令参数列表:

-a 将文件转成ASCII模式
-F 尝试修复损坏的压缩文件  
-h 显示帮助界面
-m    将文件压缩之后,删除源文件
-n 特定字符串  不压缩具有特定字尾字符串的文件
-o    将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q    安静模式,在压缩的时候不显示指令的执行过程
-r    将指定的目录下的所有子目录以及文件一起处理
-S 包含系统文件和隐含文件(S是大写)
-t 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy

举例:说个最常用的吧,打包/opt/file目录到/opt/file.zip,参数一般只要

-r,# zip -r service_lib.zip /data/project/cdr/lib/service_lib/

压缩“/data/project/cdr/lib/service_lib/”文件夹路径下的每一项到service_lib.zip中,压缩包会放到你当前所处目录下,同时需要注意,当前路径也会全部打包到压缩包中
linux命令乱记_第3张图片
如果只项要这个文件夹的压缩包,那么需要进入到这个文件夹所在的路径,然后从这个路径下下钻文件夹,比如:

cd /data/project/cdr/lib

zip -r config.zip config/

打的包中,只会又config这个路径了,这个意思就是说把config下的文件,压缩到config.zip中,压缩包中的格式为 config/…

解压:unzip xahot.zip

nginx命令

启动,停止

  1. 启动

    在sbin目录下“ ./nginx ” 即可

  2. 停止

    在sbin目录下“ ./nginx -s stop ” 即可

    ./nginx -s quit ,温柔停止,就是处理完请求之后,停止

  3. 重启

    在sbin目录下“ ./nginx -s reload ” 即可

  4. 指定配置文件进行启动
    nginx -c

查看nginx是否启动

  1. 我们知道,Nginx监听的是80端口,那么就可以查看80端口运行的程序来判断Nginx是否运行:netstat -anp | grep :80

  2. 查看进程pid:ps -C nginx -o pid,结果为ngnix的pid

  3. 查看进程列表:ps -ef | grep nginx

复制文件

复制service_lib 文件夹下的所有内容,到lib下,并在lib下创建service_lib 文件夹
cp -r /data/project/cdr_third_test/lib/service_lib /data/project/cdr_third/lib

删除乱码文件

  1. 使用rm询问机制

    因为rm命令再删除文件前都会询问,确认要删除的乱码文件输入y,其他回复n。期间可以用ctrl+c随时结束,慎用:请先确保rm命令没有被alais成rm -rf(此命令没有提示,直接删除,慎用),如:

    [langxiaowei@mirror:~]$ rm ./*
      rm: remove regular file `./\245\373b\253\272g\224\257\374\346\370E#\245藠\277T ko\376\335\322\332k%\325m~P\347JbS\364]\245\345b#\250\311[\203m\376\320y\372\375LZn.\3227'? y  
      rm: remove regular file `./falcon-agent-5.1.0.tar.gz'? n
      rm: remove regular empty file `./M\277m\233\260+\263BO'? y
      rm: remove regular file `./yc_linkd-nmob_2.6_ex_CTL-64.tar.gz'? n
    
  2. 找到索引节点进行删除(inode)

    find ./ -inum 54263996 -exec rm {} -rf ;一个个删除inode即删除了对应文件,如:

    [langxiaowei@mirror:~]$ ls -li
      total 11420
      6176785 -rw-rw-r-- 1 langxiaowei langxiaowei 0 Oct 13 17:26 ?7?%??S?^d??X???b戮
      6176784 -rw-rw-r-- 1 langxiaowei langxiaowei 29 Oct 13 17:26 ??b??g?????E#?藠?T ko????k%?m~P?JbS?]??b#??[?m??y??LZn.?7
      6176782 -rw-r--r-- 1 langxiaowei langxiaowei 3203523 Aug 20 10:02 falcon-agent-5.1.0.tar.gz
      6176787 -rw-rw-r-- 1 langxiaowei langxiaowei 0 Oct 24 14:15 M?m??+?BO
      [langxiaowei@mirror:~]$ find ./ -inum 6176785 -exec rm -rf {} \;
    

查看当前目录下,各个文件夹的大小

du -lh --max-depth=1

上传下载命令

使用sz、rz
yum install lrzsz
下载:sz filename
上传文件到服务端:rz

查看与某个端口之间的连接个数

netstat -nat | grep -i 1521 | wc -l

使用cp复制的文件夹打不开

root用户使用cp命令复制了问价夹,cp -r cdr cdr-third,然后使用xftp打开问价夹的时候,显示无法打开远程文件夹,执行命令“chmod 755 -R cdr-third/”即可

翻页查看文件

less 文件

home 键跳到文件开始,end键跳到最后,PgUp向前翻页,PgDn向下翻页

按一下shift键,在冒号后面直接输入 /要搜索的关键字可以 用 n 向前查找或者 N 向后查找

less 向上翻页 向下翻页
一页 b (back) 空格
半页 u (undo) d (down)
一行 y (…) 回车

linux系统环境配置

生产工具: https://borenhospital.feishu.cn/drive/folder/fldcnUMedpwn3IQHKC6J5wiUXob

1. Java环境依赖

  1. 在服务器上解压jdk11以上

    进入目录:cd /<自定义目录>/

    解压命令:tar -zxvf jdk-11_linux-x64_bin.tar.gz

  2. 配置环境变量(注:目前打包指向绝对路径,不需要配置环境变量。)

    编辑:/etc/profile配置环境变量

    配置Java环境变量:

    export JAVA_HOME=glzt/java/jdk-11

    export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH

    export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

  3. 执行生效命令

    source /etc/profile

  4. 版本查看:java -version

2. redis依赖

  1. 安装依赖gcc: yum install gcc-c++
  2. 解压缩redis安装包(自行下载)

进入目录:cd /data/redis

执行解压:tar -zxvf redis-5.0.5.tar.gz

  1. 进入redis源码目录(src):执行”make“ 命令,进行编译make install。
    cd /data/redis/redis-5.0.5
    make
    cd src
    make install
  2. 配置文件修改
    绑定访问ip所有都可以访问:bind 0.0.0.0
    配置redis为后台启动:daemonize yes
  3. 启动redis服务端
    redis-server …/redis.conf
  4. 启动redis客户端
    redis-cli -h localhost -p 9736
  5. 退出客户端
    quit
  6. 关闭redis
    查找进程:lsof -i:9736
    杀死进程:kill -9

从服务器直接复制文件夹后,会找不到命令错误

差了一个全局命令,找到redis安装路径下的redis-server定义全局命令就可以用了

ln -s /data/redis/redis-5.0.5/src/redis-server /usr/bin/redis-server

  1. 权限不够
    进入:cd /data/redis/redis-5.0.5/src
    执行:chmod 777 redis-server

  2. 验证版本
    进入:cd /data/redis/redis-5.0.5/src
    执行:redis-server -v

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HK3Jpu7U-1643290466774)(https://gobroadhealthcare.feishu.cn/space/api/box/stream/download/asynccode/?code=NTAwOGUwYmQxZDI3ZDNmZmJmMThiZThiMjE0ODExNmVfMzRTdEVGM21PaTFJRkZidVVTd1JIWmZNUHdMUjVYS2RfVG9rZW46Ym94Y25CSkFzcnZlZTg5TlVNS29CRTg0QkdoXzE2Mzc4MjE2Mzc6MTYzNzgyNTIzN19WNA)]

3.nginx依赖

  1. 安装依赖包,安装四个依赖

    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

  2. 下载并解压安装包

    wget http://nginx.org/download/nginx-1.17.7.tar.gz

    tar -xvf nginx-1.17.7.tar.gz

  3. 安装nginx

    进入nginx安装包解压目录,输入命令“./configure \”回车,输入“–prefix=``/data/nginx”回车

  4. 执行make命令,进行编译

  5. 执行make install命令,进行安装,此时会安装到第3步设置的路径中

  6. windows下启动停止命令

    启动:nginx.exe

    停止:nginx.exe -s stop或者nginx.exe -s quit,stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息

    重启:nginx.exe -s reload

    查看版本:nginx -v

  7. 若想使用外部主机连接上虚拟机访问,需要关闭虚拟机的防火墙:
    centOS6及以前版本使用命令: systemctl stop iptables.service
    centOS7关闭防火墙命令: systemctl stop firewalld.service
    随后访问该ip即可看到nginx界面。

  8. 安装完成一般常用命令
    启动,关闭,重启,命令:
    ​ 进入:cd sbin
    ​ 赋权限:chmod +x nginx
    ./nginx 启动
    ./nginx -s stop 关闭
    ./nginx -s reload 重启
    ​ 权限不足可以:sudo ./nginx -s reload

查看有几核、几个CPU

通过Physical Processor ID来区分单核和双核,有的是单核单CPU,有的是单核多CPU

cat /proc/cpuinfo |grep “model name” && cat /proc/cpuinfo |grep “physical id”

单核多CPU
linux命令乱记_第4张图片
单核单CPU
linux命令乱记_第5张图片

查看内存大小

cat /proc/meminfo |grep MemTotal
或者free -h
free -h也查看总内存使用情况
free 是真正尚未被使用的物理内存数量。
available 是应用程序认为可用内存数量,available = free + buffer + cache (注:只是大概的计算方法)

Linux 为了提升读写性能,会消耗一部分内存资源缓存磁盘数据,对于内核来说,buffer 和 cache 其实都属于已经被使用的内存。但当应用程序申请内存时,如果 free 内存不够,内核就会回收 buffer 和 cache 的内存来满足应用程序的请求。这就是稍后要说明的 buffer 和 cache。

查看硬盘大小

查看某个进程占用的内存

cat /proc/26412/status

VmRSS 就是内存大小

防火墙状态、某端口防火墙状态

  1. 查看firewall的状态
    firewall-cmd --state

  2. 查询端口状态
    firewall-cmd --query-port=8080/tcp

  3. 开启端口
    firewall-cmd --permanent --add-port=8080/tcp

  4. 移除端口
    firewall-cmd --permanent --remove-port=8080/tcp

  5. 刷新防火墙配置
    firewall-cmd --reload

  6. 其他操作
    开启防火墙:service firewalld start
    关闭防火墙:service firewalld stop
    重启防火墙:service firewalld restart

yum 下载到指定目录

但是有个问题,就是说下载这些包,不知道会不会主动下载他自己的依赖,比如

nginx依赖A,而A呢又依赖B,而现在只是下载,不知道会不会主动下载B,如果是yum安装的话,会在安装路径下找B,如果找不到B,就会下载,所以,如果只是单纯安装的话,还真不知道会不会下载B

  1. yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel --downloadonly --downloaddir=/data/downTest

  2. yum -y install --downloadonly --downloaddir=/tmp/ vlock

    –downloaddir=/tmp/ 要下载到的目录

    vlock 要下载的软件名称

  3. yum自动下载RPM包及其所有依赖的包至/root/rpm目录:

    yum install yum-plugin-downloadonly  
    yum install --downloadonly --downloaddir=/root/rpm 
    
    例如:
    yum install --downloadonly --downloaddir=/root/myrpm/ systemd-libs 
    

yum 安装到指定目录

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel --installroot=/data/downTest --releasever=/ install ***

yum -c /etc/yum.conf --installroot=/usr/local --releasever=/ install nginx

-c /etc/yum.conf 表示指定yum配置文件地址

–installroot=/usr/local 表示指定自定义的安装目录

rpm安装

目前知道yum下载的是rpm后缀,安装命令是 rpm -i <包名>

rpm   -i	        ###安装
rpm   -v	        ###显示过程
rpm   -h 	hash    ###进度
rpm	  -e	        ###卸载
rpm	  -q        	###查看
rpm   -ql	        ###查看软件在系统中的安装文件路径
rpm   -qlp	        ###查看未安装的软件包在系统中如果安装后产生文件的路径
rpm   -p	        ###软件包
rpm	  -a	        ###所有
rpm   -qf	        ###根据某个文件找出此文件属于哪个安装包
rpm	  -qc	        ###查看软件的配置文件名称
rpm	  -qd	        ###查看软件的说明
rpm   --scritps	    ###查看脚本
rpm	  --nodeps	    ###安装软件忽略软件依赖
rpm   --force	    ###强行安装软件
rpm	  --kv	        ###检测软件包是否被篡改


1 #rpm -i example.rpm 安装 example.rpm 包;
2 #rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
3 #rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度

rpm 批量安装

将rpm安装包集中放在一个文件夹下,rpm可能一个或者多个,不要一个个去安装rpm,使用同时安装的命令,此事系统就会正确的安装软件包

rpm -ivh --replacefiles *.rpm

删除文件

rm 文件名

删除文件夹

rm -rf 文件夹

查看当前进程的权限

stat /proc/31608
linux命令乱记_第6张图片

延时

sleep 1s 表示延迟一秒
sleep 1m 表示延迟一分钟
sleep 1h 表示延迟一小时

你可能感兴趣的:(linux,服务器,运维)