Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

1
如何(安全地)将/ tmp移到另一个卷?
今天,该/tmp目录已填满正在工作的计算机。问题是,它不是很大的根分区上。为了解决这个问题,同事在/new/tmp其他地方创建了一个目录,将所有内容复制到新目录,删除了原始目录/tmp并建立了符号链接/tmp -> /new/tmp。 当他复制文件时(真的,这是别人,不是我!),他没有使用,-a因此下面每个文件的所有者/new/tmp都是root。此外,他没有设置/new/tmp目录的权限,因此它是默认的0755。这不会造成麻烦,甚至没有进行调整,所有权位也无法将计算机恢复到可接受的工作状态。我最终不得不删除所有内容/tmp并重新启动。 该/tmp目录包含各种套接字和管道等,因为一堆人通过VNC运行Gnome,而我使用的screen是它自己的管道。 有没有安全的方法将/tmp目录移动到正在运行的系统上的其他卷?我不确定要使一切正常运行我会做些什么。我对管道和插座会发生什么特别好奇。

1
外接显示器上的TTY
在家里使用笔记本电脑时,通常将笔记本电脑的屏幕与外接显示器,键盘和鼠标一起用作第二台显示器。所有这些都可以使用一个不错的GNOME实用程序轻松配置,我假设该实用程序在后端使用xrandr。 有时我喜欢通过TTY使用计算机。我希望能够切换到TTY1(使用ctrl + alt + f1),并以外接显示器的分辨率将tty出现在外接显示器上。而是,它通常只出现在我的笔记本电脑屏幕上,或同时出现在两个显示器上,但以笔记本电脑屏幕的分辨率显示。 无论如何,在Ubuntu 10.10上可以无缝地做到这一点吗? (我猜这没关系,但是我将其设置为使屏幕从自动启动~/.profile)。

4
某些子目录的find-command
比方说,我有一个目录dir有三个子目录dir1.. dir3。在内部,我有许多文件和其他子目录。 我想搜索一个带有*.c结尾的文件,但我只想搜索子目录“ dir / dir2”及其所有子目录。我该如何制定呢? 假设我在dir/: find . -name "*.c" 搜索所有目录。 如何限制为dir2?
17 linux  bash  shell  find 

2
hostnamectl命令的意义是什么?
与编辑/ etc / hostname或与之相关的地方相反? 一定有一个很好的理由(我希望)-总的来说,我更喜欢“旧”方式,因为所有方式都是文本文件。我并不是想引起争议-我真的很想知道,并自己决定这是否是一个很好的理由。谢谢。


1
在Arch Linux上通过HDMI发出声音
我已将东芝笔记本电脑(Satellite A300)通过HDMI连接到电视。使用VLC 2.2.6,视频效果很好。 目前,我正在尝试向电视扬声器输出声音。 aplay -l 将HDMI播放设备显示为第三个设备: **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC268 Analog [ALC268 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: ALC268 Digital [ALC268 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: …
17 arch-linux  audio  vlc  hdmi 

1
dmesg:读取内核缓冲区失败:权限被拒绝
从最近开始,Debian更改了默认行为dmesg,所以我不能仅从本地用户使用它。 % dmesg dmesg: read kernel buffer failed: Operation not permitted 同样适用于: % cat /dev/kmsg cat: /dev/kmsg: Operation not permitted 在错误跟踪器中担任主角可导致: dmesg:读取内核缓冲区失败:不允许操作 我如何将此行为改回到上一个行为,在此之前,本地用户被允许使用dmesg。我找不到适合的特定群组(例如sudoers或类似的东西)。
17 linux  debian  dmesg  sysctl 


5
BASH关联数组打印
有没有办法在不循环所有元素的情况下打印整个数组([key] = value)? 假设我创建了一个包含一些元素的数组: declare -A array array=([a1]=1 [a2]=2 ... [b1]=bbb ... [f500]=abcdef) 我可以打印出整个阵列 for i in "${!array[@]}" do echo "${i}=${array[$i]}" done 但是,bash似乎已经知道如何一次“获取”所有数组元素-键${!array[@]}和值${array[@]}。 有没有一种方法可以使bash在不循环的情况下打印此信息? 编辑: typeset -p array做到了! 但是我不能一次删除前缀和后缀: a="$(typeset -p array)" b="${a##*(}" c="${b%% )*}" 有没有更干净的方法来获取/打印输出的键=值部分?

2
别名和功能
从bash手册 有关别名的定义和使用的规则有些混乱。在执行该行中的任何命令之前,Bash总是读取至少一行完整的输入。读取命令时将扩展别名,而不是在执行时将别名扩展。因此,与另一条命令在同一行上出现的别名定义在读取下一行输入之前不会生效。该行中别名定义之后的命令不受新别名的影响。执行功能时,此行为也是一个问题。 读取函数定义时会扩展别名,而不是在执行函数时会扩展别名,因为函数定义本身就是复合命令。作为结果, 在函数中定义的别名只有在执行该函数之后才可用。为安全起见,请始终将别名定义放在单独的行上,并且不要在复合命令中使用别名。 似乎两个句子“在读取函数定义时展开别名,而不是在执行函数时展开”和“在函数执行之后才可用的函数中定义的别名”似乎是相反的。 您能分别解释它们的意思吗?
17 bash  alias  function 

1
不要设法在笔记本电脑(具有擎天柱/大黄蜂)上激活HDMI
我正在尝试在具有Debian(拉伸)功能的PC(HP ZBook)上使用HDMI输出。我已经配置了Bumblebee,它运行良好(glxinfo和optirun glxinfo报告了预期的信息,并且我测试了也可以按预期工作的复杂GLSL着色器)。 现在,我希望能够将视频投影仪插入HDMI。我在这里已经读过[1],当将HDMI连接到NVidia板上时,可以使用intel-virtual-output对其进行配置(使用可以由xrandr操纵的VIRTUAL输出)。但是,intel-virtual-output表示: no VIRTUAL outputs on ":0" 当我这样做时xrandr -q,没有列出虚拟输出,我只有: Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192 eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 345mm x 194mm 1920x1080 60.02*+ 59.93 1680x1050 59.95 59.88 1600x1024 60.17 ... other …

2
来源与 为什么会有不同的行为?
我最近了解到 . ./.a.a并且./.a.a是相同的。 但是尝试source source .a.a给出一个错误。IMO,.作为Bash的别名source不应有其他行为,那么我想念的是什么? 奖金,为什么. .可以而source source不能呢?
17 bash 

2
暂停端子输出
我有一个输出大量数据的命令(例如,带有大量syscall的strace,运行了几分钟)。 是否有任何选项(例如命令包装器或类似的东西)可以让我暂停命令的输出(只是屏幕上的输出,我不在乎该命令在后台运行),然后在我执行后将其取消暂停看其输出?

2
如何使用加密的文件名压缩目录?
使用命令行,我知道可以使用以下命令加密目录: zip -er Directory.zip /path/to/directory 但是,这不会对文件名本身进行加密。如果有人跑步: unzip Directory.zip 并反复输入错误的密码,unzip命令将遍历所有包含的文件名,直到输入正确的密码为止。样本输出: unzip Directory.zip Archive: Directory.zip creating: Directory/ [Directory.zip] Directory/sensitive-file-name-1 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-1 incorrect password [Directory.zip] Directory/sensitive-file-name-2 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-2 incorrect password [Directory.zip] Directory/sensitive-file-name-3 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-3 incorrect password 等等。 使用命令行,是否可以使用加密方式压缩目录,同时也可以加密或隐藏文件名? …

3
如何在bash中使用正好2个有效数字格式化浮点数?
我想在bash中用正好两个有效数字打印浮点数(也许使用awk,bc,dc,perl等通用工具)。 例子: 76543应打印为76000 0.0076543应打印为0.0076 在这两种情况下,有效数字分别为7和6。对于类似的问题,我已经阅读了一些答案,例如: 如何在shell中四舍五入浮点数? 浮点变量的Bash限制精度 但是答案集中在限制小数位数(例如bc带scale=2或的printf命令%.2f)上,而不是有效位数上。 有没有一种简单的方法可以用2个有效数字来格式化数字,或者我必须编写自己的函数?
17 bash  awk  bc  floating-point  dc 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.