当前位置: 首页 > news >正文

Linux常用方法

1、查看日志后100行

tail -f -n 100 catalina.out

2、ps命令

ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照
ps -ef 显示所有进程信息,连同命令行,ps 与grep 常用组合用法,查找特定进程
ps aux列出目前所有的正在内存当中的程序
ps -ef|grep java 或ps -aux|grep java 显示出所有的java进程
ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
注:linux上进程有5种状态
(1)运行(正在运行或在运行队列中等待)
(2)中断(休眠中,受阻,在等待某个条件的形成或接受到信号)
(3)不可中断(收到信号不唤醒和不可运行,进程必须等待直到有中断发生)
(4)僵死(进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放)
(5)停止(进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止运行运行)

3、文件大小查看

df -h 查看磁盘各分区大小、已用空间等信息
ls -lh 查看文件大小
du -sh 查看当前文件夹下所有文件大小总和
du -sh foo 查看foo目录的大小
du -sh ./* 查看当前文件夹下各个文件大小
ll -Sh 由大到小排序(可读的方式)
ll -Sr 由小到大排序(可读的方式)
ll -t 按时间排序,由新到旧
ll -rt 按时间排序,有旧到新
ll -a 查看隐藏文件

4、文件查找

查找包含有redis的文件
find -type f -name ‘.’|xargs grep ‘redis’
find / -name docker.service -type f
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-type f : 文件类型是 f 的文件。
d: 目录
c: 字型装置文件
b: 区块装置文件
p: 具名贮列
f: 一般文件
l: 符号连结
s: socket
find -type f -mtime +7 -exec rm -f {} ;
-mtime 按创建天数查找
-mtime +3和-mtime -3 这个查找方式都是以指定的3天为分割,一个是+3查找3天前的,-3是查找3天到现在的
语法格式为find /目录 -type f -name “ ” -mtime +3
find /home/data/mysql/data/mysql-bin* -mtime +3
按照text.txt中的文件名清单删除文件
cat text.txt |xargs rm

5、Linux查看端口占用情况

Linux 查看端口占用情况一般可以使用 lsof 和 netstat 命令。
lsof
lsof(list open files)是一个列出当前系统打开文件的工具。
lsof 查看端口占用方式:
lsof -i:端口号
案例:
查看服务器 8080 端口的占用情况:
lsof -i:8080
netstat
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat查看端口号占用方式:
netstat -tunlp | gerp 8080
检查进程启动
ps aux|grep java
杀掉多个进程
kill -9 $(ps -ef | grep wx |awk ‘{print $2}’)

6、修改时区

echo ‘Asia/Shanghai’ >/etc/timezone
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

7、node安装与卸载

wget https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.xz
export PATH=$PATH:/usr/share/node-v14.17.3-linux-x64/bin
cnpm cache verify
cnpm install
cnpm run build
zip -r dist.zip dist
echo $PATH
node -v
cnpm -v
cnpm install --force chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
cnpm install --force
cnpm run build

node的卸载
在卸载node时需要先卸载npm
查看node的版本:
命令:
sudo node -v
查看node相关的文件信息
命令:
sudo whereis node
卸载node
命令:
sudo apt-get remove nodejs
注意:卸载时需要卸载nodejs,而不是node;如果卸载的是node将会报错,无法定位node软件包
清理掉自动安装的并且不需要软件包
命令:
sudo apt autoremove //清理掉不需要软件包
查看node相关文件
命令:
sudo whereis node
如果有文件需要手动删除文件
删除该文件命令
命令:
sudo rm -rf /usr/local/bin/node
再次查看node的版本
命令:
sudo node -v
或者
node -v
node完全卸载。

8、sed命令

sed 的 -i 选项可以直接修改文件内容
-g 忽略大小写
数据的搜寻并替换
sed ‘s/要被取代的字串/新的字串/g’
sed -i “s/171.212.101.25/192.168.1.76/g” grep 171.212.101.25 -rl application.yml

9、chmod 命令

linux chmod 755
chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。
一般是三个数字:
第一个数字表示文件所有者的权限
第二个数字表示与文件所有者同属一个用户组的其他用户的权限
第三个数字表示其它用户组的权限。
权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。
所以,chmod 755 设置用户的权限为:
(1)、文件所有者可读可写可执行
(2)、与文件所有者同属一个用户组的其他用户可读可执行
(3)、其它用户组可读可执行

10、cron定时任务

/etc/crontab 这个文件负责调度各种管理和维护任务
yum install vixie-cron
yum install crontabs
apt-get install vixie-cron
apt-get install crontabs
查看定时任务
cat /etc/crontab
service cron start //启动服务
service cron stop //关闭服务
service cron restart //重启服务
service cron reload //重新载入配置
service cron status //查看crond状态
systemctl start crond //启动服务
systemctl stop crond //关闭服务
systemctl restart crond //重启服务
systemctl reload crond //重新载入配置
systemctl status crond //查看服务状态
crontab -l //查看root用户的crontab任务
crontab -r //删除root用户所有crontab任务
crontab -u //使用者名称

11、ubuntu修改apt-get源为国内镜像源

(1)、原文件备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
(2)、编辑源列表文件
sudo vim /etc/apt/sources.list
(3)、将原来的列表删除,添加如下内容
(dG 删除至文末
d1G 删除至文首)
https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11VySHLS
阿里云 ubuntu 20.04(focal) 配置如下
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
(4)、更新源
更新软件包列表
sudo apt-get update
休复损坏的软件包,尝试卸载出错的包,重新安装正确版本的。
sudo apt-get -f install
升级系统中的所有软件包
sudo apt-get -y upgrade
更换三方源没有对应的Key
解决:
直接执行如下命令,比如我没有 3B4FE6ACC0B21F32,就需要执行
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
参考文档:https://www.landui.com/help/show-7562

12、java相关操作

(1)、查看java的执行路径
[root@icoolkj ~]# which java
/usr/bin/java
(2)、查看java的文件目录情况
[root@icoolkj ~]# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
(3)、java的安装与卸载
apt-get install openjdk-8-jdk
apt-get install openjdk-8-jdk
yum -y install java-1.8.0-openjdk.x86_64
apt-get remove openjdk*

13、tcpdump抓包

使用-i参数指定tcpdump监听的网卡
使用-c参数指定要监听的数据包数量,
使用-w参数指定将监听到的数据包写入文件中保存
tcpdump -i eth0 tcp port 7611 -w test.cap
tcpdump -i enp7s0 -w test.cap
抓包文件搜索
sip.Method == INVITE
ip.addr == 221.237.182.121
ip.addr == 171.212.101.25
udp.payload contains “51013199011318104016”
查看所有uri请求
http.request.uri

14、查看Linux操作系统

cat /etc/redhat-release
显示系统名、节点名称、操作系统的发行版号、内核版本等等。
uname -a
uname -r 查看Linux内核版本
cat /proc/cpuinfo | grep ‘cpu cores’ | uniq 查看Linux内核数
监听本机的TCP80端口
nc -l -p 80
监听本机的UDP80端口
nc -l -p 80 -u

15、ftp安装

yum -y install vsftpd
设置 FTP 服务开机自启动。
systemctl enable vsftpd.service
启动FTP服务器
systemctl start vsftpd.service
systemctl status vsftpd.service #查看状态, 显示active说明FTP启动成功
修改文件权限, var/ftp/pub为FTP服务默认的文件目录
chmod o+w /var/ftp/pub/
创建一个新的FTP用户,请输入以下内容:
adduser ftp
passwd 123456

16、防火墙操作

(1):查看防火状态
systemctl status firewalld
service iptables status
(2):暂时关闭防火墙
systemctl stop firewalld
service iptables stop
(3):永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
(4):重启防火墙
systemctl enable firewalld
service iptables restart
(5):永久关闭后重启
chkconfig iptables on

17、Nginx配置

Nginx配置之client_max_body_size和client_body_buffer_size
client_max_body_size
client_max_body_size 默认 1M,表示 客户端请求服务器最大允许大小,在“Content-Length”请求头中指定。如果请求的正文数据大于client_max_body_size,HTTP协议会报错 413 Request Entity Too Large。就是说如果请求的正文大于client_max_body_size,一定是失败的。如果需要上传大文件,一定要修改该值。
client_body_buffer_size
Nginx配置文件路径
/etc/nginx/conf.d
修改Nginx配置文件后加载生效
nginx -t
nginx -s reload

18、Ubuntu系统离线安装资源包

找到/var/cache/apt/archives目录
离线安装
sudo dpkg -i gcc.deb

19、SSH 登录时出现如下错误

No supported key exchange algorithms
对于 Ubuntu 、Debain 类操作系统,修复指令如下:
sudo rm -r /etc/ssh/ssh*key
sudo dpkg-reconfigure openssh-server

20、scp命令

scp -P 22122 data.zip root@10.25.25.61:/data

相关文章:

  • Apache HttpClient 5 用法-Java调用http服务
  • 阿里开源通义万相Wan2.1-VACE-14B:用于视频创建和编辑的一体化模型
  • 什么是TCP协议?它存在哪些安全挑战?
  • docker 命令操作大全
  • 【寻找Linux的奥秘】第五章:认识进程
  • window 显示驱动开发-命令和 DMA 缓冲区简介
  • 生成式AI在编程中的应用场景:从代码生成到安全检测
  • Java转Go日记(三十六):简单的分布式
  • LeetCode 热题 100 437. 路径总和 III
  • Day118 | 灵神 | 二叉树 | 删点成林
  • 详解 Zephyr RTOS:架构、功能与开发指南
  • Makefile 在 Go 项目中的实践
  • 养生:打造健康生活的四大支柱
  • 和为target问题汇总
  • 低分辨率运行安卓模拟器:
  • 商业架构 2.0 时代:ZKmall开源商城前瞻性设计如何让 B2B2C 平台领先同行 10 年?
  • mock 数据( json-server )
  • 【Spring Cloud Gateway】Nacos整合遇坑记:503 Service Unavailable
  • 【上位机——WPF】App.xml和Application类简介
  • 【微服务】SpringBoot + Docker 实现微服务容器多节点负载均衡详解
  • 王东杰评《国家与学术》︱不“国”不“故”的“国学”
  • 新片|《碟中谍8:最终清算》定档5月30日
  • 美F-35险被胡塞武装击中,损失增大让行动成“烂尾仗”
  • 河南:响鼓重锤对违规吃喝问题露头就打、反复敲打、人人喊打
  • 美叙领导人25年来首次会面探索关系正常化,特朗普下令解除对叙经济制裁
  • 孙卫东会见巴基斯坦驻华大使:支持巴印两国实现全面持久停火