工作中常用的Linux命令(持续完善中)

ssh登录

ssh 用户名@服务器ip/服务器绑定的域名

查看Linux系统网卡和网络相关参数(可用于查看本机ip)

last 列出当前和曾经登入服务器的用户信息

默认读取的是/var/log/wtmp文件的信息。输出的内容包括:用户名、终端位置、登录源信息、开始时间、结束时间、持续时间。注意最后一行输出的是wtmp文件起始记录的时间。

last

lastb 列出失败尝试的登录信息

和last命令功能完全相同,只不过它默认读取的是/var/log/btmp文件的信息。

lastb

不在vim/vi编辑模式下批量替换字符串

sed -i 's/old_str/new_str/g'  filename
如:sed -i 's/browser_sug_request_traffic/browser_sug/g' browser_sug_slave11.py

抽取xaa.csv文件第51行~100行的内容输出重定向到一个新文件xb.csv中

sed -n '51,100p' xaa.csv > xb.csv

统计一个文件中某个字符串的个数

grep -o 'keyword' my_file.txt | wc -l

后台执行文件split分割任务

nohup split -l 228000 browser_sug_request_traffic b &

统计文本内指定字符串的个数

grep 'test' /query_data/browser_sug | wc -l

实时查看CPU avg_load

sar -q 1 #1表示1s

使用&将任务提交到后台执行

/home/work/.pyenv/shims/python3 spark_pressure_test01.py 1000 3600 &

过滤grep且统计python3的进程个数

ps -elf | grep 'python3' | grep -v grep | wc -l

vim编辑模式下批量替换字符串

:%s/old_str/new_str/g

查看端口号被占用情况

1.ss -nltp | grep 端口号/服务关键字
2. netstat -tunlp | grep 端口号
(若提示:command not found: netstat 则需要先安装`net-tools`,`Ubuntu`下通过`sudo apt-get install net-tools`来安装)
3. lsof -i:端口号

linux查看公网ip

curl cip.cc

查看Linux的CPU相关信息

  • 查看 CPU 的型号

    	# Ubuntu下
    	➜  ~ cat /proc/cpuinfo | grep 'model name' | sort | uniq
    	model name	: Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
    	# CentOS服务器下
    	[root@aliyun ~]# cat /proc/cpuinfo | grep 'model name' | sort | uniq
    	model name	: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
    
  • 查看CPU颗数:实际Server中插槽上的CPU个数, 物理cpu数量,可以数不重复的 physical id个数。查看 CPU 颗数

    	[root@aliyun ~]# cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l
    	1
    
  • 查看 CPU 核数:一颗CPU上面能处理数据的芯片组的数量。

    	➜  ~ cat /proc/cpuinfo |grep "cores"|uniq|awk '{print $4}'
    	4
    
  • 逻辑CPU颗数:一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上把一个物理线程模拟出两个线程来使用,使得单个核心用起来像两个核一样,以充分发挥CPU的性能,逻辑 CPU 核数

    逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启超线程)。

    top命令查询出来的就是逻辑CPU的数量。

    	➜  ~ cat /proc/cpuinfo |grep "processor"|wc -l
    	8