小编Yar*_*ron的帖子

根据大小递归排序文件

我需要在文件夹中找到最大的文件。
如何递归扫描文件夹并按大小对内容进行排序?

我试过使用ls -R -S,但这也列出了目录。
我也尝试使用find.

command-line ls find

104
推荐指数
6
解决办法
16万
查看次数

执行权限的目的是什么?

假设setuid/setgid位无关紧要。为什么有单独的执行权限?

从哲学上讲,我觉得写权限包含读权限,读权限包含执行权限。当然,在 Linux 中情况并非如此,这有时可能很有用,但我认为这种情况很少见。例如,如果一个进程可以读取一个不可执行的文件,那么只要该进程可以写入某个目录,它就可以简单地将文件复制到那里,设置执行位,然后运行该程序。所以说真的,read subsumes 在简单的情况下执行。显然,如果源文件有 setuid 位,或者进程只能写入 noexec 挂载点,这将无法正常工作。

我问的原因是我正在实现一个 Linux 系统调用,它允许进程访问exec其内存的任意块。(具体用例是我的主程序中捆绑了一个完整的程序,我不想将其写入磁盘以调用execve.)这样的系统调用是否存在任何我应该注意的严重问题? ?

permissions system-calls executable linux-kernel exec

9
推荐指数
2
解决办法
2934
查看次数

Bourne Shell 中的 TAB 自动完成

我不知道如何使用 TAB 键来自动完成文件名、命令或任何东西。

我在类 Unix 系统 (OS/390) 上并依赖于在 sh(Bourne shell,而不是 BASH)中工作的几个脚本,但不在其他 shell(例如 tcsh)中,所以我无法切换 shell . 我通常通过 ssh 或 telnet 从本地运行 bash 的 Ubuntu GNOME 终端连接到这个系统。其他人从 Windows XP 命令提示符通过 telnet 连接到 OS/390 系统,并且他们能够在发出“set -o emacs”后使用 TAB 键自动完成。当我发出“set -o emacs”时,我得到了一些适当的功能(例如,ctrl-p 可以倒退历史记录),但不会自动完成。

我知道“set -o vi”选项,但使用“ESC-*”等并不吸引我,因为我知道简单的 TAB 键对其他人有效。

是否有关于 Ubuntu、GNOME 终端、bash 或 ssh 发送与运行 telnet 的 Windows XP 命令提示符不同的制表符的东西?

有没有人知道为什么我可能无法让选项卡自动完成,而在同一台远程机器上运行相同 shell 的人可以?

应该怎么做才能启用选项卡自动完成

shell ssh autocomplete os390

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

gcc /usr/bin/ld: 找不到 -lglut32, -lopengl32, -lglu32, -lfreegut, 但这些已安装

我正在尝试编译一个演示项目,什么是使用OpenGL.
我收到此错误消息: 一切都不见了,至少 gcc 是这么说的

但我拥有一切:

但我拥有一切

怎么了?
如果我有所有的依赖项,为什么不编译?

我使用 Solus 3。

linux c opengl gcc solus

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

为 su 设置根路径

当我(在我的 debian 机器上)使用 更改为 root 用户时su,显然 PATH 设置不正确。一些重要的目录如usr/local/sbin丢失。

/etc/profile我有以下几行(显然不是我写的标准默认内容):

if [ "`id -u`" -eq 0]; then
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin/:/usr/bin:/sbin:/bin"
else
    PATH="/usr/local/bin:/usr/bin:/bin"
fi
export PATH
Run Code Online (Sandbox Code Playgroud)

/etc/login.defs我有(也是默认的东西):

ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Run Code Online (Sandbox Code Playgroud)

为什么我的 PATH 设置不正确su

root su path environment-variables

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

如何通过 SSH 执行远程别名?

如何通过 SSH 执行远程别名?


例如,有一个相当复杂的别名rkhunter,我想在一个命令中执行它,ssh如下所示:

ssh user@server_ip -p port_number -t alias_name_defined_on_server
Run Code Online (Sandbox Code Playgroud)

确切地说,别名是.bash_aliases.bashrc该特定的来源定义的user

command-line bash ssh alias

5
推荐指数
1
解决办法
5021
查看次数

nmap 到 awk 到 sed。有没有更好的办法?

我有一个项目,我知道一台计算机和一台打印机将是网络上唯一的东西。我想要做的是检测打印机何时连接到网络。我也知道电脑是192.168.3.1. 但是,使用 DHCP 我不会知道打印机地址(是的,可以将其设为静态以使其更容易,但是,“他们”不喜欢那样。“他们”希望它是动态的)

我拥有的是一个执行以下操作的脚本,并且可以正常工作。

nmap -sP 192.168.3.0/24 \
  | awk '/192.168.3/ && !/192.168.3.1$/' \
  | sed 's/Nmap scan report for //'
Run Code Online (Sandbox Code Playgroud)

Nmap 输出

 Nmap scan report for 192.168.3.1
 Host is up (0.014s latency).
 Nmap scan report for 192.168.3.100
 Host is up (0.012s latency).
 Nmap done: 256 IP addresses (2 hosts up) scanned in 2.54 seconds
Run Code Online (Sandbox Code Playgroud)

脚本输出

 192.168.3.100
Run Code Online (Sandbox Code Playgroud)

工作只需要几秒钟,但有更好/更清洁/更快的方法吗?

dhcp awk nmap

4
推荐指数
2
解决办法
1488
查看次数

wget 和 curl 将网页保存为乱码(加密?)

当我https://www.wired.com/category/security/使用wget或下载时curl,结果是乱码/加密。

是否有可能(如果有的话,正确的方法是什么)从命令行保存该网页(未加密/纯 HTML)?

wget curl

3
推荐指数
1
解决办法
1984
查看次数

Linux 不错的命令

例如,当我尝试将 nice 值分配给程序时:

nice -n -7 waffles 
Run Code Online (Sandbox Code Playgroud)

它不允许我使用 bg 命令在后台运行程序。

有没有办法将输出通过管道传输到 bg 命令?如:

nice -n -7 waffles | bg
Run Code Online (Sandbox Code Playgroud)

我试过了

bg | nice -n -7 waffles
Run Code Online (Sandbox Code Playgroud)

我在脚本中运行它,我还尝试了以下示例:

nice -n 7 waffles & 
waffles & nice -n 7 
Run Code Online (Sandbox Code Playgroud)

在后台启动程序。任何帮助都将不胜感激。

linux nice command

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

bash 脚本中的返回值错误

我有这样的 bash 脚本:

rm ~/sqoop/"$TABLE"/*
rmdir ~/sqoop/"$TABLE"
return $?
Run Code Online (Sandbox Code Playgroud)

执行此脚本后,它会向下一个进程返回一个值,但即使脚本成功运行并成功执行脚本中的所有阶段,它也会返回 1。

因为这 - 下一个过程没有发生。

如果我删除 return 语句,下一个过程会顺利进行。这个问题是在具有 Ubuntu 14 和新集群具有 Ubuntu 16 的 Hadoop 集群升级之后出现的。

如果删除这里的 return 命令,您能否帮助我们了解问题所在以及下一个进程如何成功运行,以及如果删除 Return 语句对生产有什么影响?

bash ubuntu shell-script exit-status

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