待整理:
常用的操作有哪些呢
显示所有日志:journalctl
s看启动只有的所有日志:journalctl -b
查看最后10条日志:journalctl -n 10
跟踪日志:journalctl -f
只显示冲突、告警和错误:journalctl -p err..alert
显示某个单元日志(也可以同时显示多个增加多个 -u nginx.service -u php-fom.service):journalctl -u nginx.service
根据时间查找:
journalctl --since "20 min ago" #查找20分钟前的日志
journalctl --since today #查找今天的日志
journalctl --until 2020-05-27 #查找2020-05-27日期的日志
查看内核日志:journalctl -k
查找指定客户(UID)日志:journalctl _UID=1000
linux 清理history
> ~/.bash_history
netstat -anp |grep 3306
netstat -nultp(此处不用加端口号)
netstat -anp |grep 82
cat /etc/redhat-release
CentOS Stream release 8
显示文件系统的磁盘使用情况
df -h|head -n11
使用 rsync 显示总体进度
这一切都很好。但是,如果您有数百个文件要传输,它就会变得一团糟。整个屏幕都充满了文件传输统计信息。
可以让 rsync 显示整体进度,而不是为每个单独的文件显示它。
代替--progress选项,使用info=progress2选项。
如进度,后跟一个数字,0 表示静音输出,1 表示为每个文件显示它,2 表示总传输进度。
rsync -r --info=progress2 source destination
rm -rf $(find ./ -name "*sms*")
搜索文件名称 find / -name registries.yaml
nc -vuz 172.17.241.222 8472
安装
yum install nc
测试udp协议
历史记录
history
netstat -ntpl -t |grep 5000
ps -ef |grep 30101
docker image inspect nginx:latest | grep -i version
Mac 查看IP
ifconfig | grep "inet "
利用jar打war包
jar cvf myhome.war */ .
yum安装过程 保留安装包
yum -y install --downloadonly --downloaddir=/tmp/package/ libicu libicu-devel openssl-devel gcc unzip perl-ExtUtils-Embed libxslt tcl java-1.8.0-openjdk net-tools
#其中--downloadonly表示仅下载不安装, --downloaddir=/tmp/package/ 表示自定义的存储目录
#如果已经安装了telnet这个指令,再去做仅下载的指令,就下载不下来了,可以换机器试试,或是试试下边的第3种方法
yum list docker-compose-plugin --showduplicates | sort -r
Linux命令行下删除文件内容
在 vim 中删除文件中的某几行很简单,只需要按下 dd 键即可。那么,在不主动打开文件的情况下,通过命令行怎样删除文件中特定的某行呢?
使用像 rm 这样的命令,会删除整个文件,但我们并不希望这样做。使用 vim 或者 nano 这样的文本编辑器,并不适用于 bash 脚本的自动化。
合适的方案,是使用 sed 命令,它可以在 shell 脚本中使用。
我们今天将介绍几种使用的场景和例子。
注意,我们介绍的例子会修改原始文件,所以如果大家在平时使用或者练习的时候,最好先做好备份。
从文件中删除某一行
假如我们要删除文件中的第7行,那么可以这样使用 sed 命令:
sed -i '7d' filename
我们来解释一下上述命令:
我们举个实际的例子,假如有一个名为 tiap.txt 的文件,其内容为:
The Mystery of the Blue Train
The Seven Dials Mystery
The Murder at the Vicarage
Giant's Bread
The Floating Admiral
The Sittaford Mystery
Peril at End House
Lord Edgware Dies
删除第4行:
sed '4d' tiap.txt
上述命令将会删除 Giant's Bread 这一行,如下为结果:
The Mystery of the Blue Train
The Seven Dials Mystery
The Murder at the Vicarage
The Floating Admiral
The Sittaford Mystery
Peril at End House
Lord Edgware Dies
接下来,我们删除第一行:
sed -i '1d' filename
注意:如果希望在不修改文件本身的情况下查看操作结果,请不要使用 -i 选项。
使用 sed 删除最后一行
上文我们介绍了删除特定的某一行,那么怎样删除最后一行呢?
有一种方法是使用 wc 命令来获取文件中的总行数,然后结合 sed 使用。不过,sed 提供了一个专门的方法来删除文件的最后一行,所以我们不需要再获取文件的总行数了。
sed -i '$d' filename.txt
删除多行
与前面介绍的类似,还可以删除文件中的多行。比如,我们要删除文件中的第11行至第15行,那么可以这样:
sed -i '11,15d' filename
上述命令会从文件中删除包括第11行到第15行的内容。
删除包含某字符串的行
使用 sed 命令还可以删除包含给定字符串或与特定模式匹配的所有行。
下面的命令将删除包含单词“string”的所有行:
sed -i '/string/d' filename
注意,上述字符串是区分大小写的。此外,还可以使用正则表达式来代替字符串。
删除以某个单词开头的行
如果要删除以特定单词或字母开头的所有行,只需提供如下正则表达式:
sed -i '/^word/d' filename
删除所有空行
我们今天介绍的最后一个例子,是删除文件中所有的空白行:
sed -i '/^$/d' filename
关于 sed 命令,它的使用方法还有很多,大家有兴趣可以查看一下 man 手册。后续我们也会再单独介绍一下。
替换
sed -i "s/maxWait: 60000/maxWait: 30000/g" filename
打包、压缩及解压缩#
单文件或文件夹打包
tar -zcvf index.tar.gz index.html
此时的结果是将index.html 打包为tar并压缩为gz了,如果后缀名不加 .gz 则不压缩,金打包
多文件或文件夹 混合打包
tar -zcvf index.tar.gz index.html css/js/images/此时则将多个文件及文件夹打包到一个包里并压缩 , index.html css/js/images/打包并压缩为 index.tar.gz
如我们打包presto服务,我们需要去掉logs目录
tar -zcvf presto.tar.gz --exclude=presto/logs presto
如果要排除多个目录,增加 --exclude 即可,如下命令排除logs和oldlib两个目录及文件mylib.tar.gz:
tar -zcvf presto.tar.gz --exclude=presto/logs --exclude=presto/oldlib --exclude=presto/mylib.tar.gz presto
这里要注意一个点,在我们使用tar 的–exclude 命令排除打包的时候,不能加“/”,否则还是会把logs目录以及其下的文件打包进去。
解压 index.tar.gz 到当前目录下
tar -zxvf xf1706.tar.gz
5. 配置防火墙
在 Linux 中,可以通过防火墙规则来限制进出网络的流量。如果系统启用了防火墙,需要打开相应的端口才能使其对外可见。
在 CentOS、RedHat 等系统中,可以使用 firewall-cmd 工具来配置防火墙规则。以下是一些常用的命令示例:
查看已开放端口:sudo firewall-cmd --list-ports
开放端口:sudo firewall-cmd --add-port=8080/tcp --permanent
移除端口:sudo firewall-cmd --remove-port=8080/tcp --permanent
重新加载防火墙规则:sudo firewall-cmd --reload
在 Ubuntu 等系统中,可以使用 ufw(Uncomplicated Firewall)工具来配置防火墙规则。以下是一些常用的命令示例:
查看已开放端口:sudo ufw status
开放端口:sudo ufw allow 8080/tcp
移除端口:sudo ufw delete allow 8080/tcp
需要注意的是,开放端口时要考虑到安全性问题。如果不是必要的端口,最好不要随意开放。
Mac 报错:tar: Failed to set default locale
远程拷贝
scp /data/redis/sentinel.conf root@10.10.10.72:/data/redis/
linux如何系统挂载u盘拷贝文件
1、首先使用fdisk -l命令查看一下U盘是否有被识别到,及识别的U盘是在哪个位置
2、输入挂载U盘命令:mount /dev/sdb4 /mnt,回车后即挂载U盘成功,继续输入:cd 回车,可以查看U盘下的文件
3、拷贝完成后,需要退出U盘,输入命令:umount /mnt (别忘了~)
[root@localhost ~]# mkfs.ext4 /dev/sdf2
mke2fs 1.42.9 (28-Dec-2013)
无法对 /dev/sdf2 进行 stat 调用 --- 没有那个文件或目录
The device apparently does not exist; did you specify it correctly?
找不到分区设备的情况下,执行此命令(让内核同步分区信息):
Linux 格式化分区 无法对 /dev/sdf2 进行 stat 调用 --- 没有那个文件或目录
[root@localhost ~]# partprobe
原文链接:https://blog.csdn.net/baidu_41858278/article/details/88576495
ssh -p 2222 root@123.57.62.172
问题1.
du -h --max-depth=0 /data
缓存清=
yum clean all
#!/bin/sh
realdir="/opt"
bakdir="/opt/logs"
DATE=`date +%F`
days=10
echo "数据备份开始..."
sh $realdir/cpu-ram-hd.sh &>$bakdir/$DATE.txt
echo "数据备份结束..."
find $bakdir/ -type f -name "*.txt" -mtime +$days -exec rm -rf {} \; #删除10天前的备份(注意:{} \中间有空格)
echo "删除备份数据结束..."echo "备份执行完毕..."
## sed示例
sed -i "s/maxWait: 60000/maxWait: 30000/g"
sed -i "s/minEvictableIdleTimeMillis: 300000/minEvictableIdleTimeMillis: 1800000/g"
sed替换特殊字符_sed -i s/..../g 特殊字符-CSDN博客
使用rsync命令复制目录的权限:
rsync -a /新路径/目录名/ /新路径/目录名