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的区别

  1. 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 都指向同一个文件在硬盘中的区块
  • 软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径
原文地址:https://www.cnblogs.com/turningli/p/12493018.html