今天在输入下面一条命令时产生的这个问题:
sudo cat hosts.patch >> /etc/hosts
系统提示Permission Denied:
-bash: /etc/hosts: Permission denied
产生这个问题的过程是这样的:
这个命令被分解为两步先后执行,首先会执行
sudo cat hosts.patch
# 这一条命令是具有sudo权限的,也就是以root身份执行的
根据后面的 >> /etc/hosts,得到输出后shell需要把它重定向到hosts文件里,
但是这个过程并没有sudo的支撑,当让就不能打开hosts文件,把内容添加进去。(hosts文件需要root来操作)
所以就会出现Permission Denied错误。
要解决这个问题,是需要把整个“cat hosts.patch >> /etc/hosts”都用sudo来执行就行,
比如说:sudo sh -c "cat hosts.patch >> /etc/hosts"
或者:echo "cat hosts.patch >> /etc/hosts" | sudo sh
这里有涉及到了有关shell的执行过程的知识,我需要去恶补一下了…………
分享到:
相关推荐
此外,在Ubuntu的终端使用过程中,可能会遇到使用cat命令查看文件时出现乱码的情况。要解决这个问题,需要修改终端的默认编码格式: 1. 在终端面板上选择菜单栏中的“Terminal -> Set Character Encoding -> Add or...
在脚本中,我们通过`crontab -l`列出当前的定时任务,然后追加新的任务(每天0点执行`logrotate`),最后用`crontab`命令更新定时任务列表。 ### 五、其他注意事项 - **测试配置**:在启用定时任务前,建议先手动...
1. **建立文件**: 使用 `cat` 命令创建新文件或追加内容至现有文件。`touch` 命令用于创建空文件或修改现有文件的时间戳。 2. **查看文件属性**: 使用 `ll` 命令查看文件的详细信息,包括权限、所有者、大小等。 3. ...
如果想要将文件重定向输出到另一个文件或追加内容,可以使用`>`或`>>`操作符。例如,`echo "some text" > file`会将文本写入文件,如果文件不存在则创建它,`echo "some text" >> file`则会在文件末尾追加文本。 ...
8. 重定向:`>`和`>>`分别用于覆盖和追加输出到文件。 9. 同时执行命令:使用`&`让命令在后台执行,或用`;`连接多个命令依次执行。 10. 错误处理:`2>`将错误输出重定向,`2>&1`将错误输出与标准输出合并。 以上...
接下来,关于文件的查看与编辑,我们常用`cat`、`more`或`less`来查看文件内容,`vi`或`vim`作为强大的文本编辑器,用于创建和修改文件。初学者可能会在使用`vi`时遇到一些困扰,如进入编辑模式、保存退出等操作,...
**3.12 使用文件增加交换空间** 通过`dd`和`mkswap`命令可以创建交换文件,并使用`swapon`命令将其激活作为交换空间。 #### 进程管理 **4.1 查看当前的内存使用情况** `free -m`命令可以查看内存的使用情况,包括...
- `>>`:追加到已有文件末尾。 - `2>`:重定向错误输出。 - `&>`:同时重定向标准输出和错误输出。 6. **用户目录**: - `~`:代表当前用户的家目录。 - `/home`:通常存放所有用户的家目录。 - `.bashrc` 和...
- `>>`:追加输出到文件 - `2>`:重定向错误输出 - `&>`:同时重定向标准输出和错误输出 掌握这些基本命令是使用Linux的基础,通过熟练运用它们,你可以有效地管理和操作Linux系统。随着经验的增长,还可以学习...
- `>>` 追加:将命令的输出追加到文件,不会覆盖原有内容。 - `输入重定向:从指定文件读取数据作为命令的输入。 5. **环境变量与路径**: - `$PATH`:定义了系统在何处寻找可执行文件。 - `export`:设置或...
- `>>`:追加输出到文件,避免覆盖原有内容。 - `&>`:同时重定向标准输出和错误输出。 以上只是Linux命令海洋中的一部分,实际上还有许多其他命令,如日志管理、进程管理、软件安装与管理等。通过熟练掌握这些...
- **重定向**:`command > output.txt`将命令输出重定向到文件,`2>`重定向错误输出,`>>`追加。 - **别名**:可以设置命令别名,如`alias ll='ls -l'`,方便快捷执行常用命令。 - **历史命令**:`history`显示...
10. **cat**:查看文件内容,常用于查看文本文件。 11. **more**和**less**:分页查看文件内容,可上下翻页。 12. **head**和**tail**:查看文件开头或结尾几行。 13. **vi/vim**:文本编辑器,用于创建和编辑...
- **追加重定向** (`>>`): 追加到文件末尾。 - **输入重定向** (`): 从文件读取输入。 #### 四、别名与通配符 - **查看别名** (`alias`): 查看已定义的别名。 - **设置别名** (`vim ~/.bashrc`): 编辑用户配置...
- `cat`、`more`和`less`:查看文件内容。 - `chmod`和`chown`:改变文件权限和所有者。 - `grep`:在文件中搜索匹配模式。 - `find`:根据各种条件查找文件。 - `ps`和`top`:查看系统进程状态。 - `sudo`:...
在需要处理大量输入参数的情况下,如批量安装软件包,可以使用`配合命令,如`sudo dnf install $()`,将package.list文件中的包名列表传递给dnf install命令。 **Here-document(Here-doc)** Here-doc是一种重定向...
3. 进入`~/.ssh/`目录,将公钥追加到`authorized_keys`文件中:`cat id_rsa.pub >> authorized_keys`。 4. 测试无密码登录:`ssh localhost`。 5. 最后,使用`exit`命令退出`hadoop`用户。 ### 下载并安装Hadoop ...
### A-UNIX常用操作命令说明 ... - `>> filename`: 将输出追加到文件。 - **示例**: - `command 从 `input.txt` 读取数据。 - `command > output.txt`: 将 `command` 的输出保存到 `output.txt`。 #### 33. 改变用户...