目录
- 文件
- 解压缩
- 服务器文件互传
- scp
- rsync
- 进程
- 资源
- 网络
- curl
- 发送简单get请求
- 发送 POST 请求
- 发送 JSON 数据
- 保存响应到文件
文件
-
ls,打印当前目录下所有文件和目录; ls -l,打印每个文件的基本信息
-
pwd,查看当前目录的路径
-
查看文件
- cat
- less:可以左右滚动阅读
- more :翻页阅读
- tail:
- tail -f:等同于–follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止。
- tail -F:等同于–follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪。
- tailf:等同于tail -f -n 10(tail -f或-F默认也是打印最后10行),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电。
-
文件权限 chmod:
- chmod +x 是一个Linux或Unix系统中的命令,用于修改文件或目录的权限,使其可执行。
- chmod +x script.sh:将脚本文件 script.sh 的执行权限打开,使其可被执行。
- chmod +x directory:将目录 directory 的执行权限打开,使用户可以进入该目录。
- chmod +x file.txt:将文件 file.txt 的执行权限打开,这通常用于特殊类型的可执行文件。
● 创建目录 mkdir
- mkdir example:在当前目录下创建单个目录
- mkdir /home/user/example:在指定目录下创建单个目录
- mkdir example1 example2 example3:同时创建多个目录
- mkdir -p /home/user1/example1/example2:创建目录及其所有父目录
- mkdir -m 755 example:改变目录权限
解压缩
tar包和gz包是两个不同的文件包,有三种不同后缀。.tar .gz .tar.gz
tar包:使用tar命令,打包文件或者文件夹,只打包,不压缩
gz包:使用gzip命令,只压缩文件,不打包,所以gz包操作不能对文件夹直接操作,如果要对文件夹下所有文件进行压缩,使用-r参数,gzip -r 文件夹路径
tar.gz:使用tar加-z参数,tar -zcvf filename.tar.gz dir/file 打包压缩文件或者文件夹
打包并压缩
- c: 创建压缩文件
- z: 使用 gzip 的方式进行文件压缩
- j: 使用 bzip2 的方式进行文件压缩
- v: 压缩过程中显示压缩信息,可以省略不写
- f: 指定压缩包的名字
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,再用gzip压缩,生成jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,再用bzip2压缩,生成jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,再用compress压缩,生成jpg.tar.Z
解包并解压
- x: 释放压缩文件内容
- z: 使用 gzip 的方式进行文件压缩,压缩包后缀为.tar.gz
- j: 使用 bzip2 的方式进行文件压缩,压缩包后缀为.tar.bz2
- v: 解压缩过程中显示解压缩信息
- f: 指定压缩包的名字
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
服务器文件互传
scp
#scp命令语法
scp -r $dir/$filename $user@$host:$dir/$filename
# -r 递归
# $dir 要拷贝的文件路径
# $filename 拷贝文件的名称
# $user 目的地用户
# $host 主机地址
# $dir 目的地路径
# $filename 目的地文件名称
# 把43.91.36.229这台服务器中的 root文件夹中的jstack.txt, 复制到当前环境下的root文件夹下<br />scp root@43.91.36.229:/root/jstack.txt /root/
scp -P 11220 develop@140.143.143.151:/repo2/bot/customize/v2.5.0nongfazhan20220803/bot-stat-service-v2.5.0-nongfazhan-rc11.tar.gz ./
rsync
#rsync 实现服务器之间文件共享
rsync -av $dir/$fname $user@$host:$dir/$fname
#rsync 命令
#-av 选项参数:归档拷贝,显示复制过程
#$dir 要拷贝的文件路径
#$fname 拷贝的文件名称
#$user 目的地用户
#$host 目的地主机
#$dir 目的地路径
#$fname 目的地文件名称rsync -avuP -e "ssh -p 11220" /data/pkg_ori/bot/v2.5.0-NYFZ-20220810 [develop@10.4.1.58](mailto:develop@10.4.1.58)_:/repo2/bot/customize
rsync 和 scp 区别:
用 rsync 做文件的复制要比 scp 的速度快,rsync 只对差异文件做更新。scp 是把所有文件都复制过去。
进程
- top/ps,查看当前进程
- ps -ef:查看所有进程
- pstree
- kill 终止进程
- SIGHUP(1):挂起,即停止进程并使其重新读取配置文件等资源。
- SIGINT(2):中断,即向进程发送中断信号,通常是通过CTRL+C快捷键实现。
- SIGKILL(9):强制退出,即立即终止进程而不允许其清理或保存任何数据。
- SIGTERM(15):终止,允许进程在自己的清理和正常终止后完成操作。
- SIGSTOP(17):暂停,即立即暂停进程并使其无法继续运行。
- 杀死进程
1.找到进程号: ps -ef|grep nmon
2.通过进程号杀死进程:kill -9 xxx
资源
- df或 df -h,打印设备上挂载了多少个磁盘设备,以及磁盘里还有多少可用空间
- 磁盘空间不足:列出当前系统中所有被删除但仍然处于占用状态的文件,并按照文件大小进行倒序排序: lsof -w | grep delete |sort -nrk 7|more
- lsof:列出当前系统打开文件的工具。
- sort -nrk 7:按第七个字段(即文件大小)以倒序方式进行排序。
- 磁盘空间不足:列出当前系统中所有被删除但仍然处于占用状态的文件,并按照文件大小进行倒序排序: lsof -w | grep delete |sort -nrk 7|more
- free -h 剩余内存
- 内存不足:sudo sh -c “echo 1 > /proc/sys/vm/drop_caches”
- ps :显示当前控制台下属于当前用户的进程
- ps -aux 查看一个运行中的程序, 占用了多少内存
- ps -ef | grep 相应的进程名称
- top:显示进程(动态)
网络
curl
curl
是一种常用的命令行工具,它允许您与各种网络协议(如HTTP、FTP、SMTP等)进行交互。
发送简单get请求
要使用 curl
发送一个简单的 HTTP GET 请求,只需在终端窗口中输入以下命令:
curl http://example.com
发送 POST 请求
要发送一个 HTTP POST 请求,需要使用 -X
选项并指定请求方法。
curl -X POST --data "name=John&age=30" http://example.com/post
其中,--data
选项指定了要发送的数据。本例中,我们将发送一个名为 name
的参数与其值 John
,还有一个名为 age
的参数与其值 30
。响应结果也会被输出到控制台。
发送 JSON 数据
使用 -H 参数可以设置 HTTP 请求头。通过设置Content-Type为application/json,可以向服务器发送JSON数据。例如:
bash复制代码curl -H "Content-Type: application/json" -d '{"name": "John", "age": 30}' http://example.com/user
其中 -d 参数用于设置请求数据,{“name”: “John”, “age”: 30}是一个简单的JSON格式的对象。
保存响应到文件
使用 -o
选项将响应保存到文件。例如,要将 http://example.com
的响应保存到 output.html
文件中,可以执行以下命令:
curl -o output.html http://example.com