小编mkc*_*mkc的帖子

如何在没有 /usr/bin/chmod 的情况下进行 chmod?

今天,一位 Unix 培训师告诉我一个故事,其中 root 密码被泄露给了学生,其中一个家伙从/usr/bin/chmod自己身上删除了执行权限。chmod在这种情况下如何恢复并使其再次可执行?假设从外部来源获取它或重新编译它不是一个更好的选择,是否有一些可以chmod自行恢复的智能黑客?

请注意,这发生在很久以前,我不是在寻找当前问题的解决方案,只是好奇 Unix 为我们提供了哪些解决此类问题的方法。

permissions chmod executable system-recovery

164
推荐指数
9
解决办法
6万
查看次数

ls:如何列出按其包含的文件的时间戳排序的目录

在创建一些新文件/目录(例如,包含最近创建的文件的目录)的意义上,我如何按访问时间列出目录。

ls

19
推荐指数
1
解决办法
6万
查看次数

awk 高精度算术

我正在寻找一种方法来告诉 awk 在替换操作中进行高精度算术。这涉及从文件中读取一个字段,并用该值的 1% 增量替换它。但是,我在那里失去了精度。这是问题的简化再现:

 $ echo 0.4970436865354813 | awk '{gsub($1, $1*1.1)}; {print}'
   0.546748
Run Code Online (Sandbox Code Playgroud)

在这里,我有一个 16 位的小数精度,但 awk 只给出了 6 位。使用 printf,我得到了相同的结果:

$ echo 0.4970436865354813 | awk '{gsub($1, $1*1.1)}; {printf("%.16G\n", $1)}'
0.546748
Run Code Online (Sandbox Code Playgroud)

关于如何获得所需精度的任何建议?

awk arithmetic floating-point

19
推荐指数
2
解决办法
2万
查看次数

尝试使用 sudo 将文本附加到文件时获得“权限被拒绝”

我正在使用亚马逊 Linux。我正在尝试将一些文本附加到文件中。该文件归 root 所有。我想通过使用“sudo”,我可以附加所需的文本,但我得到“权限被拒绝”,见下文

[myuser@mymachine ~]$ ls -al /etc/yum.repos.d/google-chrome.repo
-rw-r--r-- 1 root root 186 Jul 31 15:50 /etc/yum.repos.d/google-chrome.repo
[myuser@mymachine ~]$ sudo echo -e "[google-chrome]\nname=google-chrome\nbaseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch\nenabled=1\ngpgcheck=1\ngpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub" >> /etc/yum.repos.d/google-chrome.repo
-bash: /etc/yum.repos.d/google-chrome.repo: Permission denied
Run Code Online (Sandbox Code Playgroud)

我如何调整我的陈述,以便我可以将必要的文本附加到文件中?

bash permissions sudo

18
推荐指数
1
解决办法
2万
查看次数

为什么 tr 命令不从文件中读取?

我查找了一本 Unix 书籍、man 和 wikipedia 页面,tr但找不到它的设计/实现方式的原因,即它不从文件中读取,而仅从标准输入中读取。例如,工具,例如wcgrepsed,和awk所有将愉快地从文件,如果提供读取输入或从标准输入。以tr这种方式设计是否/是否有令人信服的理由?

history tr

13
推荐指数
1
解决办法
3462
查看次数

如何将root无法访问的目录复制到只有root才能访问的目录?

我在 nfs 挂载上有一个目录,它在服务器上位于 /home/myname/.rubies

Root 无法访问此目录:

[mitchell.usher@server ~]$ stat /home/mitchell.usher/.rubies
  File: `/home/mitchell.usher/.rubies'
  Size: 4096            Blocks: 8          IO Block: 32768  directory
Device: 15h/21d Inode: 245910      Links: 3
Access: (0755/drwxr-xr-x)  Uid: (  970/mitchell.usher)   Gid: (  100/   users)
Access: 2016-08-22 15:06:15.000000000 +0000
Modify: 2016-08-22 14:55:00.000000000 +0000
Change: 2016-08-22 14:55:00.000000000 +0000

[mitchell.usher@server ~]$ sudo !!
sudo stat /home/mitchell.usher/.rubies
stat: cannot stat `/home/mitchell.usher/.rubies': Permission denied
Run Code Online (Sandbox Code Playgroud)

我试图从该目录中复制一些/opt只有 root 有权访问的内容:

[mitchell.usher@server ~]$ cp .rubies/ruby-2.1.3/ -r /opt
cp: cannot create directory `/opt/ruby-2.1.3': Permission denied

[mitchell.usher@server ~]$ …
Run Code Online (Sandbox Code Playgroud)

root permissions file-copy

11
推荐指数
2
解决办法
2096
查看次数

用一个空格替换句子结尾后所有出现的两个空格

我一直在用 sed 命令包含正则表达式。

问:我想用一个空格替换句子结尾后所有出现的两个空格。

这是我所做的:

sed 's/^ $/^$/' file  
Run Code Online (Sandbox Code Playgroud)

并且它没有在句子结束后用一个空格替换两个空格。

我得到的输出:

This is the output.  Hello Hello
Run Code Online (Sandbox Code Playgroud)

我想要的输出:

This is the output. Hello Hello
Run Code Online (Sandbox Code Playgroud)

sed text-processing

9
推荐指数
3
解决办法
1226
查看次数

关于 Linux 中“挂载”一词的混淆

我正在阅读mountclone的手册页。

我知道 mount 用于将目录层次结构添加到挂载点(目录)。

在 clone 的手册页中,在 CLONE_NEWNS 部分下,它们将挂载称为进程所看到的文件层次结构。

我的问题是,术语“挂载”是否用于指进程看到的目录层次结构中的各个目录,“挂载点”是否用于指代可以挂载文件系统的目录?

linux mount terminology

8
推荐指数
1
解决办法
615
查看次数

远程机器上的时钟偏差

我正在一个由大约 10 台地理位置分散的远程 Linux 计算机组成的网络上进行一些实验。

我怀疑它们中的一些有时钟偏差,但它们是短暂的(例如,一周一次或一个月两次)。

我想知道是否有一些工具可以检测和量化这种时钟偏差。还想知道时钟偏差是否是我所看到的正确术语,或者是否可以称为时钟同步。

linux networking clock

7
推荐指数
2
解决办法
6395
查看次数

cp vs. mv:哪个操作更有效率?

我发现自己将相当大量的数据(20+ GB)从一个目录树移动到另一个目录树。通常它们在同一个文件系统上,但有时它们在不同的文件系统上。我cp只是为了以防万一保留原始数据。复制完成后,我在验证数据已正确复制后删除原始数据。有时,mv如果我觉得之后懒得清理原始数据,我就会这样做。但是,我想知道,从纯技术角度来看,哪种操作更有效?为什么?

cp mv

7
推荐指数
1
解决办法
1万
查看次数