日常开发中比较实用的命令行
1.nc命令行
应用场景:一般大型的互联网或IT公司内部使用跳板机登录服务器,禁止开发者使用Xshell等免费第三方软件,禁止开发者使用ssh方式登录服务器,禁止开发者使用基于ssh的文件传输方式。比如我日常开发使用的MacBook,也经常通过通道机登录服务器上传jar包和下载文件,使用nc相关命令行完成相关操作,快速高效,支持各种文件操作,且文件大小几乎不受限制,也是比较推荐的。
1.1.下载命令
服务器端:
tar -cvf - lbs_weibo_mobile_20160724.log | nc -l 9998
或ipv6服务器端:
tar -cvf - category.txt | nc -4 -l 9998
对应的本机:
nc 172.13.42.155 9998 | tar -xvf -
1.2.上传命令
服务器端:
nc -l 9998 | tar -xvf -
ipv6服务器端:
nc -4 -l 9998 | tar -xvf -
对应的本机:
tar -cvf - lbs_weibo_mobile_20160724.log | nc 172.13.42.155 9998
2.rsync命令行
应用场景:跨部门甚至和第三方合作时,涉及数据安全传输:从第三方提供的指定接口、指定地址获取数据;将本部门的数据推送到指定地址供第三方使用。
2.1.下载数据命令行
从指定地址下载数据:
rsync --port=8875 "11.159.88.887::wap_root/var/logs/wapcommon/place/tencent/succ*" Desktop/data
2.2.推送数据命令行
将数据推送到指定地址:
rsync -avr SiWeiCategoryPoi2022Q2.txt 11.159.88.887::sendmsg/SiWeiCategoryPoi2022Q2.txt --port=8875 > result.txt
3.sudo命令行
应用场景:sudo命令相信大家都很熟悉,这里我只记录了日常中使用最频繁的命令行。
3.1.切换到超级用户
服务器端和MacBook本机:
sudo -s
4.cat命令行
应用场景:当需要查看内容或显示文件内容的时候,一般会用到cat命令。不过,实践中发现,只有当文件不大且内容不太多的情况下比较适合使用cat。另外,cat命令也具有将文件内容定向输出到指定文件中的功能。
4.1.查看文件内容命令行
cat systemOut.txt
4.2.加行号显示文件内容
cat -n systemOut.txt
4.3.给有文本的行加行号显示
cat -b systemOut.txt
4.4.将文件内容定向输出到指定文件
cat systemOut.txt > test.txt
5.head命令行
应用场景:用于查看文件头部部分内容。参数-n后面可以加上行数,但是实际上不加参数,默认显示文件前10行,添加参数意义不大。
5.1.显示文件开头那些行的内容
head lbs_poi.txt
或
head -n 5 lbs_poi.txt
6.tail命令行
应用场景:用于查看文件尾部部分内容。参数-n后面可以加上行数,但是实际上不加参数,默认显示文件前10行,添加参数意义不大。
6.1.显示文件结尾那些行的内容
tail lbs_poi.txt
或
tail -n 5 lbs_poi.txt
7.wc命令行
应用场景:用于统计文件内容或者词条数量。我开发日常中最常用的就是加参数-l,用于统计文件有多少行。
7.1.统计数据总量
wc -l lbs_poi.txt
8.shuf命令行
应用场景:当原文件数据量很大,而我们需要获取一部分数据用于本地跑测试程序的数据源时,可用该命令行获取一部分数据,下载到本地用于测试。
注意📢:shuf也可以用于查看显示文件内容,它与cat命令行的区别是:shuf无序显示文件内容,cat有序显示文件内容。
8.1.获取1000行数据,输入到指定文件
shuf -n 1000 lbs_poi.txt > test.txt
9.ps与grep组合命令行
应用场景:查看jar包或任务进程运行状态
9.1.查看jar包执行状态
ps -ef | grep pointinpolygon-1.0-SNAPSHOT.jar
10.grep命令行
应用场景:grep命令很强大,可以和多个命令组合使用,也可以单独使用。我在日常开发中常用来搜索文件中的内容,查看指定词或数据是否存在于某个文件,或者文件中是否有重复数据等等。
10.1.查看文件是否包含指定文本
grep 98180293 四维全量数据.txt
11.pwd命令行
应用场景:显示当前工作目录。
相对文件路径:相对文件路径不以代表根目录的正斜线(/)开头,而是以目录名(如果用户准备切换到当前工作目录下的一个目录)或是一个特殊字符开始。有两个特殊字符可用于相对文件路径中:单点符(.),表示当前目录;双点符(..),表示当前目录的父目录。
11.1.显示当前工作目录
pwd .
12.mv命令行
应用场景:日常开发中,mv命令可以用于将文件移动,也可以用于给文件改名。
12.1.给文件改名
mv test.txt new.txt
13.df和du命令行
应用场景:df命令可以让你很方便地查看所有已挂载磁盘的使用情况;du命令可以显示某个特定目录(默认情况下是单签目录)的磁盘使用情况。这一方法可用来快速判断系统上某个目录下是不是有超大文件。
13.1.把输出中的磁盘空间按照用户易读的形式显示
df -h
13.2.显示所有已列出文件的总大小
du -c
13.3.按用户易读的格式输出大小
du -h
13.4.显示每个输出参数的总计
du -s
13.5.查看指定文件或指定目录下各文件的大小
du -sh systemOut.txt
或
du -sh resource/lbs_poi/