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…

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

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

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;风趣幽默&…

QEMU开发入门

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

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

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

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、概述…

红日靶场3

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

linux卸载mysql8重装5

目录 背景操作卸载重装配置启动 背景 在linux&#xff08;阿里云ECS&#xff09;安装部署Hive时初始化Hive元数据库&#xff0c;遇到报错前一天两三小时没解决&#xff0c;问题定位为mysql&#xff0c;次日打算重装 操作 卸载 停止 MySQL 服务 systemctl stop mysql yum卸载…

ES6内置对象 - Map

Map&#xff08;Map对象保存键值对&#xff0c;键值均不限制类型&#xff09; 特点&#xff1a; 有序&#xff08;Set集合是无序的&#xff09;&#xff1b;键值对&#xff08;键可以是任意类型&#xff09;&#xff1b;键名不能重复&#xff08;如果重复&#xff0c;则覆盖&…

c编译器学习07:minilisp编译器改造(debug模式支持调试)

问题 原版的minilisp编译器不支持argv输入测试&#xff0c;不方便单步调试。 代码改造目标是既不改变原有程序的各种功能&#xff0c; 又能支持个人习惯的vs单步debug模式。 CMakeLists.txt变更 定义DEBUG宏 解决单步调试源码定位偏差问题 cmake_minimum_required(VERSION …

高级语言期末2012级B卷

1.编写函数&#xff0c;输出任意正整数n的位数&#xff08;n默认为存储十进制的整形变量&#xff09; 例如&#xff1a;正整数13&#xff0c;则输出2,&#xff1b;正整数3088&#xff0c;则输出4 #include <stdio.h>int func(int n) {int count0;while(n>0) {n/10;co…

免费的WP模板网站推荐

免费wordpress模板下载 高端大气上档次的免费wordpress主题&#xff0c;首页大图全屏显示经典风格的wordpress主题。 https://www.wpniu.com/themes/289.html wordpress免费企业主题 深蓝色经典实用的wordpress网站模板&#xff0c;用wordpress免费企业主题搭建网站。 http…

基于springboot+vue的安康旅游网站(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…