123 Linux C++ 系统编程2 Linux 上安装卸载程序三种方法,linux 下解压缩命令 tar介绍。kill命令,top命令,umask 命令

一 通过命令和网络直接安装

sudo apt-get update

sudo apt-get update 的工作就是将自己本地 ubutun的软件列表和 aliyun 的软件列表对比,如不一样,则更新。

sudo apt-get install 软件名  

真正的安装

那么这里就有一个问题了, 怎么从aliyun拿,而不是163拿,甚至直接去国外的网站拿?这个要在ubutun 上设置一下,如下:

通过命令卸载

sudo apt-get remove 软件名

二 通过离线下载安装包后安装

三 源码安装

一般套路如下:

1.)解压缩 源代码包,源代码包的压缩名不一样,解压参数会有不同

tar -xvf test.tar

tar -zxvf test.tar.gz

tar -jxvf test.tar.bz2

2.)cd dir

3.) ./configure

检查文件是否缺失,创建makefile,检测编译环境

4)sudo make

编译源码,生成库和可执行程序

5)sudo make install

把库和可执行程序,安装到系统路径下

6)sudo make distclean

删除和卸载软件

四 tar 命令

tar 压缩

tar zcvf test.tar.gz file1 dir2     使用gizp 方式压缩

tar jcvf test.tar.bz2 file1 dir2     使用bzip2方式压缩

tar 解压

tar zxvf test.tar.gz    使用gizp 方式解压

tar jxvf test.tar.bz2   使用bzip2方式解压

一些说明

tar -zcvf 要生成的压缩包名 压缩材料在linux 中 tar 是打包命令,gzip是压缩命令。gzip是压缩用的,但是这个命令只能压缩一个文件。因此和要tar结合使用上述命令中的z 就是 gzip 的意思,c 是create, v是显示压缩过程   f 是file 的意思tar -zcvf test.tar.gz abc.c ab.txt将abc.c 和 ab.txt压缩成 test.tar.gz文件因此我们一般压缩的时候,tar -zcvf 一起用就可以了。linux 中还有一个是 bzip2压缩,和gzip一样,只能压缩一个文件,因此也要和 tar 结合使用

Linux运维常用命令:tar-xvf详解
更新:2023-05-13 05:19
一、tar命令简介
tar命令是Linux系统中一个非常常见并且强大的压缩和解压缩工具。它能够将多个文件或整个文件夹打成一个文件。在打包的同时还可以进行压缩操作,压缩格式有gzip,bzip2等。而-tar的-xvf选项更是常用的解压命令。下面介绍一下-tar的-xvf选项的详细内容。二、xvf选项详解
tar命令的选项存在很多,但是-tar的-xvf选项是最常用的解压命令,选项含义如下:-x:表示解压缩文件
-v:表示输出解压缩效果的详细信息
-f:表示文件操作,需要输入文件名
由于tar的xvf选项常用来解压文件,所以下面介绍一下如何使用-tar的-xvf选项进行文件的解压操作。三、xvf选项使用实例
1. 解压.tar文件
首先将要解压的文件cd到相应的目录下,然后使用-tar的-xvf选项进行解压。例如,有一个文件名为test.tar的文件,可以使用以下命令进行解压:$ tar -xvf test.tar
其中,test.tar为要解压的文件名。如果要将文件解压缩到指定的目录下,可以使用"-C"选项,如下所示:$ tar -xvf test.tar -C /home/test/
其中"/home/test/"为指定的目录。2. 解压.tar.gz文件
如果要解压.tar.gz文件,可以使用以下命令进行解压:$ tar -zxvf test.tar.gz
同样,如果要将文件解压缩到指定的目录下,可以使用"-C"选项,如下所示:$ tar -zxvf test.tar.gz -C /home/test/
3. 解压.tar.bz2文件
如果要解压.tar.bz2文件,可以使用以下命令进行解压:$ tar -jxvf test.tar.bz2
同样,如果要将文件解压缩到指定的目录下,可以使用"-C"选项,如下所示:$ tar -jxvf test.tar.bz2 -C /home/test/
四、总结
tar命令的-xvf选项是Linux系统中一个非常常见并且强大的解压工具,它可以解压纯tar文件、tar.gz文件和tar.bz2文件。只需要使用不同的解压选项即可。使用tar命令能够给我们的工作带去很多的方便,同时也能有效的节省文件的存储空间。

五:kill 命令,top命令 ,env命令

env 会将当前的环境变量 显示出来

top 文字版的任务管理器

kill -9 5523  将5523进程杀死

umask :指定用户创建文件时的掩码。

这个这样理解:我们touch 一个xxx.txt的文件,会发现,它的权限是 664,也就是rw-rw-r--

按道理说:你新建一个文件不应该是777吗?

这是因为:首先linux不认为 自己创建的文件就有x权限,因此会把 rwxrwxrwx中的x全部删除,变成了666,也就是rw-rw-rw-

其次linux认为user 和 group 有w权限是合理的,但是other用户有w权限就不靠谱,因此变成

rw-rw-r-- 才合理。

那么 linux 怎么做到如上的两点呢?就是通过这个掩码来做到的。

linux规定:文件的权限为  666 & ~掩码

                   文件夹的权限为  777 & ~掩码

因此普通文件的 666 & ~002 = 666 & 775 = 664

计算公式如下:

        110 110 110

&      111 111 101

-------------------------------

        110 110 100

hunandede@hunandede-virtual-machine:~/aaa$ touch xxx.txt
hunandede@hunandede-virtual-machine:~/aaa$ ls
xxx.txt
hunandede@hunandede-virtual-machine:~/aaa$ ls -la
total 8
drwxrwxr-x  2 hunandede hunandede 4096 2月  20 16:49 .
drwxr-xr-x 22 hunandede hunandede 4096 2月  20 14:57 ..
-rw-rw-r--  1 hunandede hunandede    0 2月  20 16:49 xxx.txt
hunandede@hunandede-virtual-machine:~/aaa$ 

查看掩码

hunandede@hunandede-virtual-machine:~/aaa$ umask
0002
hunandede@hunandede-virtual-machine:~/aaa$ 

改变掩码,然后创建一个新的文件,分析

我随便改, umaks 511

如果新建的文件的权限应该就是:

666 & ~511

= 666 & 266

           110 110 110

&         010 110 110

-----------------------------

           010   110 110 

266

对照实践,发现确实是 --w-rw-rw-  1 hunandede hunandede    0 2月  20 17:01 file666

hunandede@hunandede-virtual-machine:~/aaa$ umask 511
hunandede@hunandede-virtual-machine:~/aaa$ touch file666
hunandede@hunandede-virtual-machine:~/aaa$ ls -la
total 8
drwxrwxr-x  2 hunandede hunandede 4096 2月  20 17:01 .
drwxr-xr-x 22 hunandede hunandede 4096 2月  20 14:57 ..
--w-rw-rw-  1 hunandede hunandede    0 2月  20 17:01 file666
-rw-rw-r--  1 hunandede hunandede    0 2月  20 16:49 xxx.txt
hunandede@hunandede-virtual-machine:~/aaa$ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/699400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【初始RabbitMQ】死信队列的实现

死信的概念 死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息 进行消费,但某些时候由于特定的原因导致…

认识HarmonyOS

1.认识HarmonyOS 1.1.HarmonyOS简介 在中美贸易战的刺激下,国产操作系统HarmonyOS(鸿蒙操作系统)开始进入到大众的视野。 鸿蒙寓意为“万物起源”,发展至今已经经过了好几个迭代版本。 1.1.1.早期鸿蒙雏形 LiteOS 2015 年 5 月 …

STM32F103x 的时钟源

AHB (Advanced High-performance Bus) 高速总线,用来接高速外设的。 APB (Advanced Peripheral Bus) 低速总线,用来接低速外设的,包含APB1 和 APB2。 APB1:上面连接的是低速外设,包括电源接口、备份接口、 CAN 、 US…

k8s中基于alpine的pod无法解析域名问题

现象 在pod内无法解析指定域名 # 执行ping bash-4.4# ping xx-xx-svc-0.xxx-fcp.svc.cluster.local ping: bad address xx-xx-svc-0.xxx-fcp.svc.cluster.local排查经过 # 执行nslookup bash-4.4# nslookup xx-xx-svc-0.xxx-fcp.svc.cluster.local Server: 172.43.0…

【Linux网络】网络编程套接字(TCP)

目录 地址转换函数 字符串IP转整数IP 整数IP转字符串IP 关于inet_ntoa 简单的单执行流TCP网络程序 TCP socket API 详解及封装TCP socket 服务端创建套接字 服务端绑定 服务端监听 服务端获取连接 服务端处理请求 客户端创建套接字 客户端连接服务器 客户端…

基于MPI的并行计算

代码实现的是基于MPI的并行计算&#xff0c;代码如下&#xff1a; #include <stdio.h> // needed for printing #include <math.h> // needed for tanh, used in init function #include "params.h" // m…

QT-串口工具

一、演示效果 二、关键程序 &#xff1a; #include "mainwindow.h" #include "ui_mainwindow.h"#include <QMessageBox>MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow),listPlugins(QList<TabPluginInt…

动态规划--持续更新篇

将数字变成0的操作次数 1.题目 2.思路 在numberOfSteps函数中&#xff0c;首先设置f[0]为0&#xff0c;因为0已经是0了&#xff0c;不需要任何步骤。然后&#xff0c;使用一个for循环从1迭代到输入的整数num。对于每个整数i&#xff0c;如果i是奇数&#xff0c;则将f[i]设置为…

静态时序分析:SDC约束命令set_driving_cell详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 在上文中&#xff0c;我们不建议使用set_drive命令而是使用set_driving_cell命令&#xff0c;这是一个描述输入端口驱动能力更精确的方法。因为大多数情况下&…

SpringBoot实现缓存预热的几种常用方案

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&…

如何使用1688.item_search_shop API获取阿里巴巴店铺商品信息

要使用1688的item_search_shop API获取阿里巴巴店铺的商品信息&#xff0c;你通常需要遵循以下步骤&#xff1a; 1. 注册并获取API密钥 首先&#xff0c;你需要在阿里巴巴开放平台&#xff08;如1688开放平台&#xff09;上注册一个开发者账号&#xff0c;并创建一个应用。创…

QEMU开发入门

1. 简介 QEMU&#xff08;Quick EMUlator&#xff09;是一个开源的虚拟化软件&#xff0c;它能够模拟多种硬件平台&#xff0c;并在这些平台上运行各种操作系统。QEMU可以在不同的主机架构之间进行虚拟化&#xff0c;例如x86、ARM、PowerPC、Risc-V等。QEMU是一个功能强大且灵…

大数据面试总结三

1、hdfs作为分布式存储系统&#xff0c;底层的实现的方式&#xff08;可能不正确&#xff09; 1、底层是一个分布式存储的&#xff0c;底层会将数据进行切分多个block块&#xff08;128M&#xff09;&#xff0c;并存储在不同的节点上面&#xff0c;这种分布式方式有助于提高数…

LabVIEW开发FPGA的高速并行视觉检测系统

LabVIEW开发FPGA的高速并行视觉检测系统 随着智能制造的发展&#xff0c;视觉检测在生产线中扮演着越来越重要的角色&#xff0c;尤其是在质量控制方面。传统的基于PLC的视觉检测系统受限于处理速度和准确性&#xff0c;难以满足当前生产需求的高速和高精度要求。为此&#xf…

前端页面生成条形码,借助layui打印标签

借助JsBarcode生成条形码 官网&#xff1a;https://lindell.me/JsBarcode/ github: https://github.com/lindell/JsBarcode <div class"table-div" style"display: block;width: 300px; height: 241px; margin: auto;"><table border"1&quo…

ACL权限、特殊位与隐藏属性的奥秘

1.2 操作步骤 # 1. 添加测试目录&#xff0c;用户&#xff0c;组&#xff0c;并将用户添加到组 ------------------- [rootlocalhost ~]# mkdir /project[rootlocalhost ~]# useradd zs[rootlocalhost ~]# useradd ls[rootlocalhost ~]# groupadd tgroup[rootlocalhost ~]# g…

软件提示找不到MSVCP140.dll是什么意思,修复MSVCP140.dll丢失的多个方法

msvcp140.dll 文件是 Microsoft Visual C 运行时库的一部分&#xff0c;具体来说它是 Visual Studio 2015 版本编译的C应用程序所依赖的一个动态链接库&#xff08;DLL&#xff09;文件。这个 DLL 文件包含了大量由Microsoft开发的标准C库函数&#xff0c;这些函数对于许多在Wi…

大模型综述总结--第一部分

1 目录 本文是学习https://github.com/le-wei/LLMSurvey/blob/main/assets/LLM_Survey_Chinese.pdf的总结&#xff0c;仅供学习&#xff0c;侵权联系就删 目录如下图 本次只总结一部分&#xff0c;刚学习有错请指出&#xff0c;VX关注晓理紫&#xff0c;关注后续。 2、概述…

Linux-进程相关函数接口-008

1【fork】 1.1函数原型 1.2函数功能 创建一个子进程&#xff0c;新创建的进程成为原来进程的子进程&#xff0c;原来的进程称为新进程的父进程。 1.3函数参数 1.3.1【】 1.4返回值 【成功】&#xff1a; 【失败】&#xff1a; 2【fork】 2.1函数原型 2.2函数功能 创…

红日靶场3

靶场链接&#xff1a;漏洞详情 在虚拟机的网络编辑器中添加两个仅主机网卡 信息搜集 端口扫描 外网机处于网端192.168.1.0/24中&#xff0c;扫描外网IP端口&#xff0c;开放了80 22 3306端口 80端口http服务&#xff0c;可以尝试登录网页 3306端口mysql服务&#xff0c;可…