linux命令记录(长期更新)
1.查询某个端口占用的情况
lsof -i:端口号
2.让程序挂载到服务器后台跑
nohup ./程序 >output 2>&1 &
(1) 带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);
(2)2>&1的意思
这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。 至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我们想要的。
0:标准输入流 stdin
1:标准输出流 stdout
2:标准错误流 stderr
1:标准输出流 stdout
2:标准错误流 stderr
一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。
3.强制杀死某个进程
kill -9 pid
4.查看进程用ps命令
ps -aux | grep "test.sh" #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分
5.重启mysql服务
sudo /etc/init.d/mysql start
6.防火墙服务
sudo ufw disable. //关闭防火墙
sudo ufw status //查看防火墙状态
sudo ufw start //启动防火墙
7.压缩文件
# 仅打包,并非压缩 tar -xvf FileName.tar # 解包 tar -cvf FileName.tar DirName # 将DirName和其下所有文件(夹)打包
# .tar.gz 和 .tgz
tar -zxvf FileName.tar.gz # 解压
tar -zcvf FileName.tar.gz DirName # 将DirName和其下所有文件(夹)压缩
tar -C DesDirName -zxvf FileName.tar.gz # 解压到目标路径
8.查找命令
find ./ -name '?.txt' find后第一个选项为查找范围,-name代表根据文件名查找 第三个是文件名,可以使用通配符
9.查看所有已开启的端口
netstat -aptn
10.scp
$ scp [option] /path/to/source/file user@server-ip:/path/to/destination/directory
/path/to/source/file
– 这是打算复制到远程主机的源文件。
user@server-IP:
– 这是远程系统的用户名和 IP 地址。请注意 IP 地址后面加冒号。
/path/to/destination/directory
– 这是文件将复制到的远程系统上的目标目录。
以下是scp命令常用的几个选项:
-C
- 这会在复制过程中压缩文件或目录。-P
- 如果默认 SSH 端口不是 22,则使用此选项指定 SSH 端口。-r
- 此选项递归复制目录及其内容。-p
- 保留文件的访问和修改时间。
11. 获得文件大小
du -h --max-depth=1 | sort -nr