【Linux】常用命令

目录

    • 文件
      • 解压缩
      • 服务器文件互传
      • 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文件夹下
scp [email protected]:/root/jstack.txt /root/
scp -P 11220 [email protected]:/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 [[email protected]](mailto:[email protected])_:/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:按第七个字段(即文件大小)以倒序方式进行排序。
  • 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

你可能感兴趣的:(linux,linux)