我想知道理论上是否有可能构建一个既支持 rpm 又支持 debian 包的 Linux 发行版。
是否有任何发行版同时支持两者?
如果不是,它甚至可能吗?
我知道这rm -f file1会在file1不提示我的情况下强行删除。
我也知道rm -i file1在删除之前会先提示我file1
现在,如果您执行rm -if file1,这也将在file1不提示我的情况下强行删除。
但是,如果您执行rm -fi file1,它会在删除之前提示我file1。
那么,在组合命令选项时,最后一个优先是真的吗?like rm -if, then-f将优先,但 rm -fithen the-i将优先。
该ls例如命令,如果你说不要紧ls -latR或ls -Rtal。
所以我想只有当你有矛盾的命令选项时才重要,比如rm -if,对吗?
我只是在这里有点困惑。当您被要求授予用户对机器的 sudo 访问权限时。我应该将用户添加到轮组。
# usermod -aG wheel bob
Run Code Online (Sandbox Code Playgroud)
或者假设没有轮组或由于某种原因被删除。
那么我怎样才能授予 bob sudo 对机器的访问权限。当我这样做的时候
# which sudo
Run Code Online (Sandbox Code Playgroud)
我得到结果: /usr/bin/sudo
那么我可以做以下几行:
bob ALL=/usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)
但是后来我改为用户 bob 并尝试执行
# sudo iptables -L
Run Code Online (Sandbox Code Playgroud)
然后它给了我那个错误信息:
抱歉,不允许用户 bob 以 root 身份执行 '/sbin/iptables -L'
因此,如果不存在组轮,我不确定如何向用户授予对机器的 sudo 访问权限。而且据我所知
bob ALL=ALL ALL
Run Code Online (Sandbox Code Playgroud)
基本上是让bob和root有一样的能力,这不好对。
我的另一个问题是如何让系统上的所有用户都能够执行最后一条命令。我必须创建一个组然后将所有用户添加到该组还是有其他方法?
我知道 Linux 中的文件名没有任何限制,除了两个字符'/'和'\0'. 我知道这'/'是禁止的,因为它是目录分隔符,但还有其他原因吗?
同样在我的终端上,我可以创建一个名为\0. 所以我想知道如何正确编写空字符,因为显然它不应该允许我在文件名中包含空字符
mkdir '\0'
将创建一个名为的目录 \0
还有一个问题,如果我想包含$在我的文件名中,我可以使用反斜杠
mkdir \$myfile 将创建一个名为的目录 $myfile
但是,如果我用单引号和双引号将美元符号括起来,我也可以这样做
mkdir \$myfile相同mkdir '$'myfile相同mkdir "$"myfile相同mkdir '$myfile'相同 相同mkdir "$myfile"
所以我的问题是,单引号和双引号是否可以替代转义反斜杠字符?
除了$, (space) 和反斜杠之外,还有哪些其他字符需要在 bash 中转义?
我知道如何在基于 Red Hat 的系统上执行此操作。
yum –disablerepo=* --enablerepo=epel update
Run Code Online (Sandbox Code Playgroud)
上述命令将暂时禁用所有 repos 并启用 epel 并仅更新 epel 包。
yum update–disablerepo=remi-safe,updates
Run Code Online (Sandbox Code Playgroud)
这还将在更新所有其他启用存储库时禁用两个存储库。
例如,在 ubuntu 上相当于什么?
我知道我们可以在 /etc/apt/sources.list.d
但这将永久禁用回购,对吗?
例如,有没有一种方法可以apt-get update在暂时禁用一个 repo 的同时运行?
所以我正在阅读The Linux Command Line一书,它说命令有四种类型:
(1) 可执行程序
(2) shell 内置函数
(3)shell函数(shell脚本)
(4) 别名
然后它说为了识别命令的类型,您可以使用该type命令。
但是,我注意到该type命令无法区分 shell 函数(shell 脚本)和可执行命令。
例如:
type cp
(will output: cp is /bin/cp)
type bzexe
(will output: bzexe is /bin/bzexe)
Run Code Online (Sandbox Code Playgroud)
但是,我们都知道它cp是一个可执行程序,bzexe是一个shell脚本。
所以我现在的问题是:我们可以使用什么命令来区分这两者?
我知道这个file命令,它工作正常。这是唯一的解决方案吗?
我正在运行 CentOS 7 虚拟机,我相信它通过 DHCP 从我的 Fedora 27 系统获取 DNS 名称服务器。我正在尝试将 DNS 名称服务器更改/etc/resolv.conf为 google 名称服务器。在我的 Fedora 27 上情况有所不同,当我这样做时,systemctl restart network它会返回到 Fedora 27 上的相同名称服务器。
有没有办法覆盖它?
我相信我必须做点什么/etc/sysconfig/network-scripts/
我通过enp0s3虚拟机上的以太网连接,当然桥接virbr0
我不希望它对我的系统执行此操作,但我想知道是否可以删除.bash_history?
如果是,那你能不能再提一次,否则历史就再也没有了?
另外,该history命令是否使用该.bash_history文件?
所以我在/root 目录中有一个脚本infinite.sh。
我想授予用户 Bob 运行此脚本的权限。
所以我所做的是
setfacl -m u:Bob:rwx infinite.sh
Run Code Online (Sandbox Code Playgroud)
和
setfacl -m d:Bob:rwx /root
Run Code Online (Sandbox Code Playgroud)
但是,当我切换到用户 Bob 时,我什至无法 cd 进入运行无限脚本的 /root 目录——这对我来说没有意义。
所以我想 # visudo
但问题是我不想创建一个组,然后将所有用户添加到该组中,如下所示。
%users ALL=(ALL) NOPASSWD: /usr/sbin/passwd
Run Code Online (Sandbox Code Playgroud)
但是有没有办法只引用所有用户而不必先创建组?
所以我试图理解-p该cp命令的选项的意义是什么。
我打开了该命令的手册cp,它的内容-p与 --preserve=mode,ownership,time stamps 相同。
但这是什么意思>
就像我知道什么是所有权(谁创建了文件),我知道时间戳(文件最后一次修改或触摸是什么时候),我也知道模式(像 777 这样的权限)。
但例如:
cp 文件1 文件2
和
cp -p 文件1 文件2
我应该创建一个 ac 程序来实现cp -i -p file1 file2
我知道-i基本上会提示用户是否file2已经创建并且即将被覆盖,但-p我不知道。
command-line ×3
permissions ×3
bash ×2
files ×2
group ×2
linux ×2
options ×2
rpm ×2
shell ×2
sudo ×2
acl ×1
c ×1
command ×1
cp ×1
deb ×1
dns ×1
dpkg ×1
executable ×1
filenames ×1
null ×1
packaging ×1
repository ×1
rm ×1
shell-script ×1
users ×1