linux 常用命令
- 查看进程号,ps -ef | grep nginx
- 杀死进程
kill -QUIT 2202 从容停止nginx
kill -TERM 2202 快速停止nginx
kill -9 nginx 强制停止nginx
- 查询字符串重复次数:grep -o objstr filename | wc -l
- 查看文件包含某一字符串多少行:
grep -rn "hello,world!" file_name
grep -c hello test.txt
- 文件一共多少行: cat test1.sh |wc -l
- 查看磁盘空间 df -lh
- 查看内存占用情况 top free
- 查看RAM使用情况 cat /proc/meminfo
-
先查看进程 pid ps -ef | grep 进程名
-
通过pid查看占用端口 netstat -nap | grep 进程pid
-
通过端口查看进程:netstat -nap | grep 端口号
-
一条命令杀死8080端口进程
sudo kill -9 $(lsof -i:端口号 -t) #-t 只输出 PID #或者 sudo fuser -k -n tcp 80 #-k:杀死访问指定文件的所有进程;-n:选择不同的名称空间;
- 查出文件大于100M的:find . -type f -size +100M // +表示大于 -表示小于f表示普通文件
- 查看服务器负载: w或者uptime都可以直接展示负载
-
查看文件前十行
tail -n 5 f.txt //显示f.txt最后5行
tail -n +5 f.txt //从第5行开始,显示f.txt
head -n 5 f.txt //显示f.txt最前面5行
tail -n -5 f.txt //从倒数第5行开始,显示前面的所有内容
sed -n '4p' f.txt //输出一个文件的第4行
sed
-n
'3,9p'
/var/log/yum
.log //只查看文件的第3行到第9行
awk -F: 'NR==5{print}' /etc/passwd //显示第5行
awk 'NF{a++;print a,$0;next}1' test.txt //利用NF来计算文本显示的行数
-
从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
-
将内容输出到/home/test文件中 head -n 10 f.txt >>/home/test
- 删除重复行 :uniq testfile
- 统计各重复行在文件中出现的次数
$ sort testfile1 | uniq -c 3 Hello 95 3 Linux 85 3 test 30
- 在文件中找出重复的行
$ sort testfile1 | uniq -d Hello 95 Linux 85 test 30
- 打印当前行号和当前文本内容
[root@localhost awk]# cat test.txt | awk '{print NR")", $0}' 1) aa ss 2) dd ff 3) gg hh
-
source和sh的区别
- source FileName 作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限"
注:该命令通常用命令“.”来替代。通常用于重新执行刚修改的初始化文档。
2、sh FileName / bash FileName 作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限"
注:两者在执行文件时的不同,是分别用自己的shell来跑文件。
主要区别,source是在当前的shell下运行文件内容,而sh或bash或其他shell+脚本文件,是在新的shell中执行。
source一般用于执行一些配置文件,比如.bashrc等
-
逐行读取文件
while read line do echo $line done < filename
- 查看某个服务是否启动的三种方法
1、查看redis服务进程情况,这里拿redis服务举例,其他服务查询更改名字即可
ps -ef|grep redis
2、查看6379(为redis的端口号)端口号是否被占用
lsof -i :6379
3、显示tcp的端口和进程等相关情况
netstat -tnlp
- linux 查看已开启服务 service --status-all
- ping 执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
- 调用post :可以用 -X POST 来申明我们的请求方法,用 -d 参数,来传送我们的参数。
curl -X POST --header "Content-Type:application/json" --data '{}' 127.0.0.1:8088/user/getAllUserInfo
- 调用get : curl http://www.linuxidc.com/login.cgi?user=test001&password=123456
- 软连接和硬连接区别
创建硬连接:ln myfile hard 创建软连接:ln -s myfile soft ls -li total 16 57728440 -rw-r--r-- 2 user staff 37 4 15 11:28 hard 57728440 -rw-r--r-- 2 user staff 37 4 15 11:28 myfile 57728629 lrwxr-xr-x 1 user staff 6 4 15 11:28 soft -> myfile
- 硬链接: 与普通文件没什么不同,
inode
都指向同一个文件在硬盘中的区块 - 软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径