【Linux】常用命令

news/2024/11/24 21:45:44/

目录

    • 文件
      • 解压缩
      • 服务器文件互传
      • 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:按第七个字段(即文件大小)以倒序方式进行排序。
  • 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

http://www.ppmy.cn/news/1155417.html

相关文章

ECharts的基本使用

目录 一、使用前提 1、安装 2、创建文件 二、LineView.vue文件【相当于一个组件】 1、导入 2、methods方法下写init(){}方法进行选择 3、methods方法下写setOptioin(option) 4、init()函数调用 5、整合完整代码 三、IndexView.vue文件【实现组件引入显示】 1、引入 …

【机器学习】集成学习(以随机森林为例)

文章目录 集成学习随机森林随机森林回归填补缺失值实例&#xff1a;随机森林在乳腺癌数据上的调参附录参数 集成学习 集成学习&#xff08;ensemble learning&#xff09;是时下非常流行的机器学习算法&#xff0c;它本身不是一个单独的机器学习算法&#xff0c;而是通过在数据…

PyQt界面里如何加载本地视频以及调用摄像头实时检测(小白入门必看)

目录 1.PyQt介绍 2.代码实现 2.1实时调用摄像头 2.2 使用YOLOv5推理 2.3 代码中用到的主要函数 1.PyQt介绍 PyQt是一个用于创建桌面应用程序的Python绑定库&#xff0c;它基于Qt框架。Qt是一个跨平台的C应用程序开发框架&#xff0c;提供了丰富的图形界面、网络通信、数据…

产品经理如何有效跟进开发进度?

作为产品经理&#xff0c;很难跟进开发过程。随着软件开发的复杂性和不断变化的产品环境&#xff0c;产品经理必须保持在开发过程的顶端&#xff0c;并确保目标得到满足。产品经理如何跟进开发进度&#xff1f; 第一步是对开发过程本身有一个扎实的理解。产品经理必须熟悉开发过…

使用Node编写简单的接口实现前后端交互

目录 前言 下载安装Node.js 创建最基本的web服务器 nodemon 模块化路由Router 回到开始创建的web服务器中注册路由模块 编写GET接口 编写POST请求 获取req.body中的数据 前端页面 axios 发起GET请求 发起POST请求 跨域问题 在Node中解决跨域 前言 本文介绍如何使…

什么是js?(初步了解)

Javascript简称js,js是一种脚本语言,是不需要进行编译的,也是浏览器中的一部分,经常用在web客户端脚本语言,主要是用来给html增加动态功能。 而现在&#xff0c;由于Node.js的出现&#xff0c;JavaScript以及不局限与浏览器&#xff0c;用户也可以在服务端进行代码的编写&#…

力扣-434.字符串中的单词数

Idea 利用C中的 stringstream 指定字符分割字符串 class Solution { public:int countSegments(string s) {int cnt 0;stringstream ss(s);string word;while(ss >> word){cnt;}return cnt;} };

C++面试题目汇总

面试题目汇总 C基础1. 面向对象是什么&#xff1f;[GPT]2. 面向对象的三大特征是什么&#xff1f;[GPT]3. 重载和重写的区别&#xff1f;[GPT]4. 构造函数的类别有哪些&#xff1f;[GPT]5. 定义一个空类时&#xff0c;默认生成哪些函数&#xff1f;[GPT]6. 向下转型和向上转型是…