京东商智_Linux命令大全

京东商智_Linux命令大全

1.网络传输类

1.1 nc

nc是一个功能强大的网络工具,可以用于实现对本服务器上任意TCP/UDP端口的监听,也可以用于连接其他服务器的TCP/UDP端口,从而实现服务器节点之间的文件传输和接口连通性扫描。

参考文献1

参考文献2

参考文献3

1.2 lftp

FTP服务是指在不同机器之间实现文件传输功能的服务,要实现该服务,首先需要安装vsftpd软件搭建一台ftp服务器,这样其他机器才可以从这台ftp服务器上上传或下载文件。

一般的使用场景就是在公司内部建设一个专门的文件服务器,将公司内的文档资料等都存放在该服务器上,所有的同事都可以去下载,起到集中存放文件的作用。

使用lftp命令即可远程登录到ftp服务器上,并进行文件操作。

一般我们不会单独使用使用lftp命令,而是与wget、wput等命令配合使用,实现快捷地文件上传、下载等操作。

使用案例:

先将原py脚本删除再上传新脚本。

lftp ads_zs:YTVhZmFlNGQ2MTZjMGI5NzU0ZWE4NWFh@ads-ftp.jd.com -e “rm BLTaskCur.py; put BLTaskCur.py;bye”

参考文献1

参考文献2

参考文献3

1.3 wget

wget是一个从网络上自动下载文件的工具,支持http、https、ftp等多种数据传输协议。不仅能支持上节所述的从ftp服务器下载数据,也支持http、https等超文本传输协议。

使用案例:

从ftp服务器上下载脚本并重命名

wget -T20 -t3 -w3 –random-wait ftp://mfs.jd.com:/mnt/mfs/ftp/ads_zs/GETaskCur.py -O GETask.py

参考文献1

参考文献2

1.4 curl

curl是一个强大的命令行工具,作用是发出网络请求,然后从响应中得到和提取数据,先是在“标准输出”(stdout)上面。它支持多种协议,可以请求任何web服务器,如果使用熟练,完全可以取代Postman这一类图形界面工具。

参考文献1

参考文献2

2.文件处理类

Linux下一切皆文件,对Linux的操作就是对文件的处理,那么有一系列的文件处理命令。

2.1 管道符“|”

Linux提供了管道符将两个命令隔开,管道符号左边命令的输出会作为右边命令的输入。

参考文献1

2.2 grep

grep命令用于对目标文件进行过滤,将被匹配到的行打印到控制台。

参考文献1

2.3 sed

sed命令是一种针对目标文件数据行的流编辑器,一次处理一行内容并打印到控制台,不断重复直到文件末尾。

参考文献1

2.4 awk

awk命令把目标文件逐行读入,以空格作为默认分隔符对每行进行切分,再对切分的部分进行后续处理。

使用案例:awk ‘{print $1}’ 用于将文件中每一行按空格分割并取第一个字段。

列出hdfs目录中每个文件大小的数值

hadoop fs -du -h hdfs://ns22017/user/ads_sz_load/hfile_convert/origin/archive/data/hb_ibd/HB_IBD_PRO_ANALYSIS_FLOW_RECENT_NEW |awk ‘{print $1}’

参考文献1

2.5 wc

wc命令用于统计目标文件中的字节数、字数、行数,其中字数是以空格作为默认分隔符进行切分统计的。

使用案例:wc -c统计字节数,wc -l统计行数,wc -w统计字数。

计算hdfs目录中文件个数:

hadoop fs -ls hdfs://ns22017/user/ads_sz_load/hfile_convert/origin/archive/data/hb_ibd/HB_IBD_PRO_ANALYSIS_FLOW_RECENT_NEW | wc -l

参考文献1

2.6 sort

sort命令用于对目标文件中的行以字典序进行排序,并打印到控制台。

使用案例:sort 用于将文件中每一行进行排序。

将hdfs目录中每个文件大小的数值进行排序

hadoop fs -du -h hdfs://ns22017/user/ads_sz_load/hfile_convert/origin/archive/data/hb_ibd/HB_IBD_PRO_ANALYSIS_FLOW_RECENT_NEW |awk ‘{print $1}’ |sort

3.状态查看类

3.1 top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的
任务管理器。第一行为负载均衡,第二行为进程统计,第三行为cpu占用情况,第四行为内存使用情况,第五行为交换分区使用情况,剩下的就是各个进程的详细监控数据。

第一行的load average负载均衡字段,后面三个数分别是1分钟、5分钟、15分钟的负载值,该值是每
隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数值除以逻辑CPU的数量,结果高
于5的时候就表明系统在超负荷运转了。

逻辑cpu=物理CPU个数×CPU核数,如果CPU支持超线程技术,则逻辑cpu=物理CPU个数×CPU核数x2。

3.2 netstat

netstat命令用于查看各种网络相关信息,如网络连接、路由表、接口状态、pid、程序名等。

使用案例:

查看8094端口对应程序的运行情况

netstat -tunlp | grep 8094

3.3 df/du

df用于查看整个磁盘情况,du用于查看指定文件夹占用磁盘情况。

3.4 free

free命令用于查看内存使用情况,比top命令多了一个buffers/cache标识内核使用的内存缓冲区情况。

3.5 ps

ps命令用于显示当前进程的状态,也有点类似于 windows 的任务管理器。

使用案例:

查看case-server相关程序的进程pid

ps -ef | prep case-server

参考文献1

3.6 lsof

lsof命令用于查找进程打开了哪些文件以及与打开文件相关联的内容。

使用案例:

查看8094端口对应程序的程序名和进程pid

lsof -i tcp:8094

参考文献1

4.文件查看类

4.1 cat

从第一行开始显示文件内容。

4.2 tac

从最后一行开始显示文件内容。

4.3 more

一页一页的显示文件内容。

Enter 向下1行;Ctrl+f 向下滚动一屏,空格键 向下滚动一屏;Ctrl+b 返回上一屏;= 输出当前行的行号;q退出more。

4.4 less

一页一页的显示文件内容,比more更强在于还可以往前翻页。

Enter 向下移动一行;y 向上移动一行;空格键 向下滚动一屏;b 向上滚动一屏;g 跳到第一行;G 跳到最后一行;/pattern 搜索pattern;q 退出less。

4.5 head

只看头几行。

4.6 tail

只看尾部几行,-f 还可以实时显示最新变化。

使用案例:

实时显示日志文件最新写入变化

tailf 20220518_01.log

4.7 nl

还可以显示行号。