道者编程

Linux的一些骚操作

这些其实都是司空见惯的命令,也是比较基本和常用的命令!

一:文本输出命令:cat

1:指定文件搜索某个内容,在index.html搜索body

cat index.html | grep 'body'

 2:cat的 -A,-B,-C,-v操作

cat index.html | grep 'body' -A 5 #输出body前5行
cat index.html | grep 'body' -B 5 #输出body前5行
cat index.html | grep 'body' -C 5 #输出body前后5行
cat index.html | grep -v 'body' #不输出body行

 3:还可以把指定的数据提出来输出到某个文件,比如日志文件很大,我要找用户ID为10086的数据,那么就可以先把该数据找出来,单独保存一个文件,这样,该文件就小的多,便于操作。我们搜索2020.txt,搜索10086的数据,然后保存在当前目录下为10086.txt

cat 2020.txt | grep '10086' > ./10086.txt

二:tail操作,和cat差不多,也是文本输出命令,一般用于输出文件尾部内容

tail -n -5 1.txt #输出文件后5行
tail -n +5 1.txt #从第5行开始输出,包括第5行


tail还有个功能很常用,加-f,实时显示数据

tail -fn -5 1.txt #实时输出文件后5行
tail -fn 1.txt #实时输出全部内容

我们验证一下:创建一个文件text.txt.

touch -f 1.txt #创建1.txt文件
tail -f 1.txt #实时输出全部内容
 现在窗口处于阻塞状态,当有文件追加的时候,就会实时输出,记住一定是追加,修改不算,所以用vi或者vim编辑无效


我们打开另外一个窗口:因为现在1.txt是空的,所以我们直接添加,其实这也是追加。在空的基础上添加就是追加。

echo "123" > 1.txt
 可以看到 我们添加的 123 实时输出来了

我们再添加一个:

echo "456" > 1.txt 
 发现tail这边并没有变,什么情况?因为这个算修改了,而不是追加,我们追加一下看看

echo "789" >> 1.txt 
 再看:又出来了,注意:echo 后面的符号:> 添加覆盖;>> 追加


三:find和grep搜索

1:find 搜索文件,这个命令很简单,在当前目录下搜索 index目录,. 为当前目录

root@ubuntu:~# find . -name index
./.sdrcoin/blocks/index
./.litecoin/blocks/index

 2:搜索内容,用cat命令,我们是指定文件中搜索,现在我不知道文件在哪里,但知道文件里面的一些内容,那么就可以这样粗暴的操作。

这里在www目录下搜索 内容为body的文件 -r :递归;-i:忽略大小写;-n:显示查找到的行数

root@ubuntu:/home# grep -rin 'body' www/
www/index.html:7:    body {
www/index.html:25:
www/index.html:51:

四:历史命令

history 查看系统中最近执行过了哪些命令,可以带一个条件,精确搜索,比如搜索下最近有没有使用nginx命令

history | grep nginx

五:后台运行

常用的有两种方式后台运行:两则都是后台运行,不同之处在于关闭终端

 1. command &  关掉终端停止运行
 2. nohup command &  关掉终端继续运行

比如:我们要后台执行test.php

nohup php test.php & #后台运行,关闭终端不停止
php test.php & #后台运行,退出终端停止

六:端口

运维工作查看端口比较频繁,程序起不来?查看性能,进程等等都需要用到端口。

netstat和ss两个命令,建议用ss,netstat已经在淘汰的路上了。低版本linux可能没有ss

netstat -a #查看所有端口
netstat -tnlp | grep :80 #查看80端口,也可以-tnap

用ss

ss -s #查看网络连接统计
ss -pl #查看所有的端口以及应用程序名称
ss -lntpd | grep :80 #查看80端口

七:查看磁盘空间

df -h #统计磁盘使用情况
 

du -lh --max-depth=1 #查看当前目录下一级子文件和子目录占用的磁盘容量
 这个命令其实更使用,可以精确知道哪个目录占用了多少空间

du -h --max-depth=1 |grep 'G' |sort -nr #只统计容量超过G的目录,且按照从大到小排序

八:统计文件和目录

# 查看当前目录下的文件数量(不包含子目录中的文件)
ls -l|grep "^-"| wc -l

# 查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录
ls -lR|grep "^-"| wc -l

# 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R
ls -l|grep "^d"| wc -l

# 查询当前路径下的指定前缀名的目录下的所有文件数量
# 例如:统计所有以“20161124”开头的目录下的全部文件数量
ls -lR 20161124*/|grep "^-"| wc -l
 


最新评论:
1楼 广东省深圳市 电信 发表于 2020-02-24 18:28:47
不错不错
2楼 Unknown 发表于 2020-02-24 18:30:26
66666
共有 2 条记录  首页 上一页 下一页 尾页 1
我要评论:

看不清楚