mac 工作中命令总结

时间:2022-06-26
本文章向大家介绍mac 工作中命令总结,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

删除端口占用

lsof -i:8080  查找某个应用的pid

kill  pid就可以了

netstat -apn | grep 4040 


ps -ef | grep dispather   //根据进程名查找pid

创建新用户并且用新用户运行程序

sudo useradd -d /home/acs -m acs   //创建acs用户

sudo -u acs ./cmd   //以acs用户运行cmd程序

sudo命令

scp 上传和下载

scp 上传项目和配置文件

scp /xxx/xxx ssh root@192.168.69.7:/root/eagleEye/bin 

将xxx上传到目标目录bin.

scp 下载项目

scp -r root@192.168.0.1:~/src/xx  ~/workspace

将远程root这个用户下的 src/xx 文件夹下载到当前目录用户workspace目录

go 编译成linux 版本。

GOOS=linux go build -ldflags "-w" -o build/EagleEyeCpanel/bin/cpanel    bin/cpanel.go


GOOS=linux CGO_ENABLED=0 go build -a  -ldflags "-w" -o dispatcher main.go

判断连接是否联通

ping ip/域名


nc -vnz ip port  //nc -vnz 10.17.46.43 53

后台运行程序

前面可以加nohup 后面加 &,(只加& 有时候不行,可以先用只加&的测试一下可以不)

sudo nohup ./nsqd --lookupd-tcp-address=127.0.0.1:4160 & 

网络

netstat -antp | grep LISTEN 


curl -v http://127.0.0.1:4041  //查看ip:port是否通。

日志跟踪

//在另外的地方跑测试程序,可以使用 tail -f 在日志末尾同时进行查看

tail -f xxx.log 



netstat -apn | grep -c  comet //连接到comet 服务的数量

netstat -apn | grep comet | grep -c  ESTABLISHED //建立连接数
  1. LISTENING状态 FTP服务启动后首先处于侦听(LISTENING)状态。
  2. ESTABLISHED状态 ESTABLISHED的意思是建立连接。表示两台机器正在通信。
  3. CLOSE_WAIT 对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭
  4. TIME_WAIT 我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分 段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情 况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。 目前有一种避免TIME_WAIT资源浪费的方法,就是关闭socket的LINGER选项。但这种做法是TCP协议不推荐使用的,在某些情况下这个操作可能会带来错误。
  5. SYN_SENT状态    SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为 ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波 之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多 SYN_SENT的原因。

mysql

mysql导出数据库一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p test_db users> test_users.sql (结尾没有分号)


//错误解决
mysql_upgrade -u root -p --force
mysql.restart

执行sql脚本文件

方法一 使用cmd命令执行(windows下,unix或Linux在的其控制台下)
【MySQL的bin目录】mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】,示例:
D:mysqlbinmysql –uroot –p123456 -Dtest<d:testss.sql
注意:
A、如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略
B、如果【Mysql的bin目录】中包含空格,则需要使用“”包含,如:“C:Program Filesmysqlbinmysql” –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】

方法二 进入mysql的控制台后,使用source命令执行
Mysql>source 【sql脚本文件的路径全名】 或 Mysql>. 【sql脚本文件的路径全名】,示例:
source d:testss.sql 或者 . d:testss.sql

查看某个项目引入的包

go list -f '{{join .Imports "n"}}' ./...