sudo执行带重定向命令时仍提示无权限:Permission denied问题详解以及linux里的更高效下载命令mwget安装和使用效率对比

news2024/11/16 16:46:30

一、sudo执行带重定向命令时仍提示无权限:Permission denied问题详解

    小问题,在此记录一下,有时在shell下执行命令重定向到文件时提示无权限-bash: temp_20181015.log: Permission denied,而且加sudo执行依提示无权限,示例如下:

[online@USER ngx]$ sudo head -n 100000 access_20181015.log >> temp_20181015.log
-bash: temp_20181015.log: Permission denied
[online@USER ngx]$ touch temp_20181015.log
[online@USER ngx]$ sudo head -n 100000 access_20181015.log >> temp_20181015.log
-bash: temp_20181015.log: Permission denied
[online@USER ngx]$ ll temp_20181015.log 
-rw-r--r-- 1 root root 42971112 Oct 16 15:57 temp_20181015.log

    整个过程的问题很好理解,sudo得到的权限并不无法随重定向符号输出,即在写temp_20181015.log时没有权限创建这个文件,于是去touch下创建了这个文件,但此时再执行仍然会报错,因为touch的文件虽然存在,但是它并不是当前执行的用户(因sudo权限不会随重定向过来,所以是用online用户去写temp_20181015.log文件,当然会失败)。所以解决办法如下:

1:文件权限问题

        就是文件权限的问题,如上导致 Permission denied 的原因是使用online用户去写root用户文件,sudo不能传递,所以报错。可以将temp_20181015.log的权限改一下,或者改一下所属于用户、组之类的即可。

2:Root权限问题

        我们可以先将当前shell弄得有root的权限,然后再进行相关操作,方式可以使用如下三种:

[online@USER ngx]$ echo "head -n 100000 access_20181015.log >> temp_20181015.log" | sudo sh
[online@USER ngx]$ sudo sh -c "head -n 100000 access_kapian_20181015.log >> temp_20181015.log"
#tee不大好,因为如果显示的内容太多,就不友好了。建议使用以上两种方式
[online@USER ngx]$ head -n 100000 access_20181015.log | sudo tee temp_20181015.log 

 二、linux里的更高效下载命令mwget安装和使用效率对比

        wget用习惯了,但是如果文件太大时会发现wget有点慢啊,来试试mwget吧。mwget和curl,multicurl一样,m就是multi多线程的意思。

wget项目地址:https://sourceforge.net/projects/kmphpfm/

#linux下载安装
sudo wget https://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.tar.bz2
sudo tar xjvf mwget_0.1.0.orig.tar.bz2
cd mwget_0.1.0.orig
sudo ./configure

         在执行中遇到了错误提示:Your intltool is too old.  You need intltool 0.35.0 or later.

sudo wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.gz
sudo tar zxvf intltool-0.40.6.tar.gz
cd intltool-0.40.6
sudo ./configure
sudo make && sudo make install

不过我用上面的方法并未解决,再执行mwget的configure时还是报错,于是我执行了sudo yum install intltool,然后再重新来mwget的configure成功了。wget安装成功之后加一步,以方便直接 使用mwget命令

sudo ln -s /usr/local/bin/mwget /usr/bin/mwget

顺便记一下,今天又遇到了No module named yum错误:

    There was a problem importing one of the Python modules required to run yum. The error leading to this problem was:No module named yum,在我的网站里一搜没有这个记录,在这里做个笔记吧:No module named yum错误是yum和Python是依赖关系问题,基本都是yum的版本与当前python的版本不一致造成的(一般当前python都更新为2.7的了,但是yum里使用的还是2.6的)所以修改yum的配置文件:sudo  vim /usr/bin/yum. 修改头#!/usr/bin/python  => #!/usr/bin/python2.6

wget和mwget的速度对比如下:

    最后可以去进行一下mwget下载测试,mwget各选项及意义如下:

>mwget --help
GNU MWget 0.1.0 ,一个非交互式多线程可移植的网络文件下载工具。
用法: mwget [选项]....[URL]
选项:
  -b,  --debug          调试模式,显示调试信息
  -c,  --count=num      设置重试次数为[num],不限制次数设置为“0“,默认设置为“99”。
  -d,  --directory=dir  设置本地目录为[dir],默认值为当前目录。
  -f,  --file=file      重命名下载后文件为[file]
  -h,  --help          显示帮助信息。
  -i,  --interval=num    设置FTP重试期限为[num]秒,默认为“5“。
  -n,  --number=num     设置下载的线程数,默认开4个线程。
  -r,  --referer=URL    使用“Referer: [URL]”在HTTP头中欺骗服务器。
  -t,  --timeout=num    设置超时时间为[num]秒,默认设置是“30”。
  -v,  --version        显示mwget的版本,然后退出。
  -x,  --proxy=URL      设置代理 [URL]

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

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

相关文章

CDD数据库文件制作(四)——Data Type(0x22/0x2E)

文章目录 1、新建Data Type步骤2、Data Types类型2.1 raw value2.1.1 ASCII读取和写入:零件号…2.1.2 “多字节的十六进制” 读取和写入:密钥,种子…2.1.3 “多字节的十进制” 读取和写入:参数标定和显示2.2 text table2.3 Linear2.3.1 分辨率和偏移量非1和0的读取和写入2.…

linux:进程优先级、环境变量、地址空间

进程优先级 什么叫进程优先级? 进程优先级是指进程获取某些资源的先后顺序 上文中的task_struct,也叫进程控制块(PCB),本质上是结构体,我们的优先级就被写在结构体里面(内部字段)…

Python | Leetcode Python题解之第345题反转字符串中的元音字母

题目&#xff1a; 题解&#xff1a; class Solution:def reverseVowels(self, s: str) -> str:def isVowel(ch: str) -> bool:return ch in "aeiouAEIOU"n len(s)s list(s)i, j 0, n - 1while i < j:while i < n and not isVowel(s[i]):i 1while j …

模型 神经网络(通俗解读)

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。仿脑智能&#xff0c;深度学习&#xff0c;精准识别。 1 神经网络的应用 1.1 鸢尾花分类经典问题 神经网络的一个经典且详细的经典应用是鸢尾花分类问题 。主要是通过构建一个神经网络模型来自动区分…

【数学建模备赛】Ep04:假设性检验

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、假设性检验&#xff1a;☀️☀️☀️1. 整体步骤2. 例子① 确定原假设和备择假设② 根据要检测的量构造一个分布③ 画出分布的概率密度图④ 给出一个置信水平β⑤ 最常见的置信水平&#xff08;95 %&#xff09;⑥…

Java流程控制07:嵌套for循环

本节教学视频链接&#xff1a;https://www.bilibili.com/video/BV12J41137hu?p41&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5https://www.bilibili.com/video/BV12J41137hu?p41&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 在Java中&#xff0c;‌嵌套for循环是指将…

Linux之HTTP服务器的构建

欢迎诸位来阅读在下的博文~ 在这里&#xff0c;在下会不定期发表一些浅薄的知识和经验&#xff0c;望诸位能与在下多多交流&#xff0c;共同努力! 江山如画&#xff0c;客心如若&#xff0c;欢迎到访&#xff0c;一展风采 文章目录 参考环境参考书籍一、HTTP的工作原理1. 建立连…

k8s查看容器的日志

查询运行容器命令&#xff1a;kubectl get po -n pro 如果想查看cams系统&#xff0c;那么执行命令&#xff1a; kubectl logs pro -f -n pro &#xff08;容器名称&#xff09;|more

【HarmonyOS】端云一体化初始化项目

简介 端云一体化开发是HarmonyOS对云端开发的支持、实现端云联动。云开发服务提供了云函数、云数据库、云存储等服务&#xff0c;可以使开发者专注于应用的业务逻辑开发&#xff0c;无需关注基础设施&#xff0c;例如&#xff1a;服务器、操作系统等问题。 因此&#xff0c;…

CentOS下分布式消息系统kafka的安装和使用

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前沿一、Windows主机&#xff08;G:\share&#xff09;和Linux虚拟机&#xff08;/mnt/hgfs/share&#xff09;之间文件共享1.添加Windows主机的路径2.linux安装VMw…

比特位的计算

给你一个整数 n &#xff0c;对于 0 < i < n 中的每个 i &#xff0c;计算其二进制表示中 1 的个数 &#xff0c;返回一个长度为 n 1 的数组 ans 作为答案。 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;[0,1,1] 解释&#xff1a; 0 --> 0 1 --> …

我的创作纪念日【2048】

机缘 2048&#xff0c;是计算机二进制世界里很奇妙的数字&#xff0c;在CSDN上创作的第六年&#xff0c;记录从事本行业的知识学习与总结&#xff0c;好记性不如烂笔头&#xff0c;或许写的东西不如大佬的文章&#xff0c;那么有深度&#xff0c;但自己也是在坚持&#xff0c;…

计算机毕业设计选什么题目好?Java财会信息管理系统

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

Ciallo~(∠・ω・ )⌒☆第二十篇 入门mysql 数据库

要入门MySQL数据库&#xff0c;首先需要了解数据库的基本概念和原理。MySQL是一种广泛使用的开源关系型数据库管理系统&#xff0c;它能够处理大量的数据&#xff0c;并提供了多种功能。 一、创建数据库 连接到MySQL后&#xff0c;你可以使用SQL语句来创建数据库。例如&#x…

leetcode第141题:环形链表(C语言+引申问题全解)

解题思路&#xff1a; 定义一对快慢指针&#xff0c;slow指针每次走一步&#xff0c;fast指针每次走两步。当快指针入环时&#xff0c;慢指针只走了一半。 当slow指针入环时&#xff0c;fast指针已经在环内走了许多步。让他们两个继续走&#xff0c;直到相遇&#xff0c;可以证…

矩阵中的最大得分(Lc3148)——动态规划

给你一个由 正整数 组成、大小为 m x n 的矩阵 grid。你可以从矩阵中的任一单元格移动到另一个位于正下方或正右侧的任意单元格&#xff08;不必相邻&#xff09;。从值为 c1 的单元格移动到值为 c2 的单元格的得分为 c2 - c1 。 你可以从 任一 单元格开始&#xff0c;并且必须…

STM32G0系列配置Freertos所管理的最高中断优先级

最近在G070上部署Freertos&#xff0c;用cubemx生成的时候发现无法选择freertos所能管理的最高优先级和最低优先级&#xff0c;即configMAX_SYSCALL_INTERRUPT_PRIORITY和LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY。我们可以发现在F103RCT6上是可以选择这两个优先级限制的&#…

树莓派开发笔记01-树莓派的系统烧录以及初次开机配置

github主页&#xff1a;https://github.com/snqx-lqh gitee主页&#xff1a;https://gitee.com/snqx-lqh 本项目github地址&#xff1a;https://github.com/snqx-lqh/RaspberryPiLearningNotes 本项目gitee地址&#xff1a;https://gitee.com/snqx-lqh/RaspberryPiLearningNote…

详解golang内存管理

介绍 要搞明白 Go 语言的内存管理,就必须先理解操作系统以及机器硬件是如何管理内存的。因为 Go 语言的内部机制是建立在这个基础之上的,它的设计,本质上就是尽可能的会发挥操作系统层面的优势,而避开导致低效情况。 操作系统内存管理 其实现在计算机内存管理的方式都是…

Python---容器

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.容器概念 在Python中&#xff0c;容器是指可以存放多个元素的对象。常见的容器类型有列表&#xff08;List&#xff09;、元组&#xff08;Tuple&#xff09;、集合&#xff08;Set&#xf…