我需要在文件夹中找到最大的文件。
如何递归扫描文件夹并按大小对内容进行排序?
我试过使用ls -R -S,但这也列出了目录。
我也尝试使用find.
假设setuid/setgid位无关紧要。为什么有单独的执行权限?
从哲学上讲,我觉得写权限包含读权限,读权限包含执行权限。当然,在 Linux 中情况并非如此,这有时可能很有用,但我认为这种情况很少见。例如,如果一个进程可以读取一个不可执行的文件,那么只要该进程可以写入某个目录,它就可以简单地将文件复制到那里,设置执行位,然后运行该程序。所以说真的,read subsumes 在简单的情况下执行。显然,如果源文件有 setuid 位,或者进程只能写入 noexec 挂载点,这将无法正常工作。
我问的原因是我正在实现一个 Linux 系统调用,它允许进程访问exec其内存的任意块。(具体用例是我的主程序中捆绑了一个完整的程序,我不想将其写入磁盘以调用execve.)这样的系统调用是否存在任何我应该注意的严重问题? ?
我不知道如何使用 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 的人可以?
应该怎么做才能启用选项卡自动完成?
当我(在我的 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?
如何通过 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。
我有一个项目,我知道一台计算机和一台打印机将是网络上唯一的东西。我想要做的是检测打印机何时连接到网络。我也知道电脑是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 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)
工作只需要几秒钟,但有更好/更清洁/更快的方法吗?
当我https://www.wired.com/category/security/使用wget或下载时curl,结果是乱码/加密。
是否有可能(如果有的话,正确的方法是什么)从命令行保存该网页(未加密/纯 HTML)?
例如,当我尝试将 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)
在后台启动程序。任何帮助都将不胜感激。
我有这样的 bash 脚本:
rm ~/sqoop/"$TABLE"/*
rmdir ~/sqoop/"$TABLE"
return $?
Run Code Online (Sandbox Code Playgroud)
执行此脚本后,它会向下一个进程返回一个值,但即使脚本成功运行并成功执行脚本中的所有阶段,它也会返回 1。
因为这 - 下一个过程没有发生。
如果我删除 return 语句,下一个过程会顺利进行。这个问题是在具有 Ubuntu 14 和新集群具有 Ubuntu 16 的 Hadoop 集群升级之后出现的。
如果删除这里的 return 命令,您能否帮助我们了解问题所在以及下一个进程如何成功运行,以及如果删除 Return 语句对生产有什么影响?
bash ×2
command-line ×2
linux ×2
ssh ×2
alias ×1
autocomplete ×1
awk ×1
c ×1
command ×1
curl ×1
dhcp ×1
exec ×1
executable ×1
exit-status ×1
find ×1
gcc ×1
linux-kernel ×1
ls ×1
nice ×1
nmap ×1
opengl ×1
os390 ×1
path ×1
permissions ×1
root ×1
shell ×1
shell-script ×1
solus ×1
su ×1
system-calls ×1
ubuntu ×1
wget ×1