如果我使用这样的find命令:
find /mydir/mysubdir -executable -type f
Run Code Online (Sandbox Code Playgroud)
列出所有可执行文件(不包括目录),包括可执行脚本文件(如 script.sh 等)。我想要做的是只列出二进制可执行文件。
如何从 bash 获取文件扩展名?这是我尝试过的:
filename=`basename $filepath`
fileext=${filename##*.}
Run Code Online (Sandbox Code Playgroud)
通过这样做,我可以bz2从路径中获得扩展名/dir/subdir/file.bz2,但是我的路径有问题/dir/subdir/file-1.0.tar.bz2。
如果可能的话,我更喜欢只使用 bash 而不使用外部程序的解决方案。
为了让我的问题更清楚,我正在创建一个 bash 脚本,只需通过extract path_to_file. 如何提取文件由脚本通过查看其压缩或存档类型来确定,可能是 .tar.gz、.gz、.bz2 等。我认为这应该涉及字符串操作,例如,如果我得到扩展名,.gz那么我应该检查它.tar之前是否有字符串.gz- 如果有,扩展名应该是.tar.gz.
在标准文件系统上,我们有:
/usr/games
/usr/lib/games
/usr/local/games
/usr/share/games
/var/games
/var/lib/games
Run Code Online (Sandbox Code Playgroud)
这是一个笑话,还是这背后有什么历史?它是做什么用的?为什么我们为游戏之类的东西提供单独的专门目录?
我们可以为每台 PC 生成一个唯一的 id,比如 uuuidgen,但除非硬件发生变化,否则它永远不会改变?我正在考虑合并 CPUID 和 MACADDR 并将它们散列以生成一致的 ID,但我不知道如何使用 bash 脚本解析它们,我知道如何从中获取 CPUID
dmidecode -t 4 | grep ID
Run Code Online (Sandbox Code Playgroud)
和
ifconfig | grep ether
Run Code Online (Sandbox Code Playgroud)
然后我需要组合这些十六进制字符串并使用 sha1 或 md5 对它们进行散列以创建固定长度的十六进制字符串。
我该如何解析该输出?
据说用-O3gcc 优化选项编译 GNU 工具和 Linux 内核会产生奇怪和时髦的错误。这是真的吗?有没有人尝试过,还是只是一个骗局?
我有一个不那么重要的常规进程,但会消耗这么多的 CPU 能力,我还有一个非常重要的进程,但它大部分时间都处于空闲状态,但是当它找到工作时,它确实需要很高的计算能力
我试图与运行nice -20 ./low_priority_process和nice --20 ./high_priority_process,但仍然较低优先级占用CPU的显著量时高优先级的进程是需要的人,我怎么可以运行一个过程,真的会产生或使用时CPU供电另一个进程甚至自动挂起
对于个人笔记本上的个人 linux,即使在 X 或更低的运行级别下,我通常也将我的环境设置为以 root身份自动登录。我发现我的工作流程非常愉快和快速,没有任何繁琐的输入su或sudo密钥环或身份验证等要求。
到目前为止,我从来没有遇到过任何问题,那么为什么大多数人对此感到害怕?这种担忧是否被高估了?当然,这是假设用户知道他们在做什么并且并不真正关心系统可靠性和安全问题。
有没有办法保持日志文件的文件大小固定,而无需通过新的空文件旋转它并删除(或归档)旧文件。例如,如果我将日志文件的最大大小设置为 1MB,则在文件大小增加超过该限制后,它将被自动夹紧,将文本添加到“尾部”并弹出文本的最旧部分以保持文件大小为 1MB .
linux ×4
files ×2
kernel ×2
bash ×1
binary ×1
command-line ×1
compiling ×1
cp ×1
cpu ×1
directory ×1
filenames ×1
filesystems ×1
find ×1
games ×1
gcc ×1
hardware ×1
hashsum ×1
htop ×1
login ×1
logrotate ×1
logs ×1
nice ×1
options ×1
priority ×1
process ×1
root ×1
security ×1
shell ×1
shell-script ×1
size ×1
users ×1
uuid ×1