Unix & Linux

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

3
跨壳反斜杠的处理
如何echo和printf在治疗反斜杠zsh,bash和其他贝壳? 在zsh下,我得到以下行为: $ echo "foo\bar\baz" foaaz $ echo "foo\\bar\\baz" foaaz $ echo 'foo\bar\baz' foaaz $ echo 'foo\\bar\\baz' foo\bar\baz 在bash下,情况似乎更加一致: bash$ echo "foo\bar\baz" foo\bar\baz bash$ echo 'foo\bar\baz' foo\bar\baz bash$ 但更具体而言:如何传递包含反斜杠的字符串,例如\\foo\bar\something: echo printf print 并获得完全相同的字符串?(在zsh和中bash)? 这是另一个在zsh中使用函数的实验: function foo { echo -E '$1' } $ foo \\here\is\some\path $1 我怎样才能只打印它\\here\is\some\path? 更新(注意:这已在Stephane的评论中得到回答) 我在zsh 5.0.2中尝试了以下方法: function …
9 bash  shell  zsh  quoting 


4
Virtualbox:从主机Ubuntu在Guest FreeBSD中挂载共享文件夹
我在Virtualbox 4.1.18中将Ubuntu 12.10作为主机操作系统,将FreeBSD 9作为来宾操作系统。我在Ubuntu和FreeBSD中都安装了Samba,并从virtualbox共享了一些文件夹,也勾选了该automount选项。 我也在right click and shareUbuntu中做过。但是当我尝试使用以下方法在FreeBSD中挂载时 mount -t vboxfs sharedfolder /home/user/shared` 它说sharedfolder不允许操作。我也用过 mount_smbfs //10.0.0.2/sharedfolder /home/user/shared 但我明白了 can't get server address 如何通过virtualbox在Host Ubuntu和Guest FreeBSD之间共享文件夹/文件?

3
将HTTP Server挂载为文件系统
我有一台机器,希望在该机器上安装多个远程服务器以集中访问它们。对于基于远程Linux的系统,我使用的是SSHFS,效果很好。但是对于Windows系统或没有SSH的系统,它们都安装了某种形式的HTTP服务器来共享文件(因此它们都启用了目录浏览)。 是否可以将HTTP服务器作为SSHFS之类的本地文件系统挂载,以便可以将所有这些远程服务器本地挂载并以统一的方式显示?

2
同一文件,由于编码问题,文件名不同?
我正准备从源中比较备份,以手动验证数据是否正确。某些字符(例如åäö)未正确显示在原始数据上,但是由于客户端(通过samba)正确解释了这些字符,因此无需担心。从备份还原的数据正确显示了字符,导致差异不认为它们是相同的文件(具有差异,而是完全不同的文件)。 md5总和,相同文件但名称不同。 # md5sum /original/iStock_000003637083Large-barn* e37c34968dd145a0e25692e1cb7fbdb1 /original/iStock_000003637083Large-barn p? strand.jpg # md5sum /frombackup/iStock_000003637083Large-barn* e37c34968dd145a0e25692e1cb7fbdb1 /frombackup/iStock_000003637083Large-barn på strand.jpg 挂载选项和文件系统 /dev/sdb1 on /original type ext4 (rw,noatime,errors=remount-ro) /dev/sdc1 on /frombackup type ext4 (rw) 语言环境 LANG=sv_SE.UTF-8 LANGUAGE= LC_CTYPE="sv_SE.UTF-8" LC_NUMERIC="sv_SE.UTF-8" LC_TIME="sv_SE.UTF-8" LC_COLLATE="sv_SE.UTF-8" LC_MONETARY="sv_SE.UTF-8" LC_MESSAGES="sv_SE.UTF-8" LC_PAPER="sv_SE.UTF-8" LC_NAME="sv_SE.UTF-8" LC_ADDRESS="sv_SE.UTF-8" LC_TELEPHONE="sv_SE.UTF-8" LC_MEASUREMENT="sv_SE.UTF-8" LC_IDENTIFICATION="sv_SE.UTF-8" LC_ALL= od -c # ls "/original/iStock_000003637083Large-barn …


2
cp -a的更快替代品
对于将/ home轻松转移到另一个磁盘,我cp -a认为这是一种极其缓慢的方法。应该知道一种更有效的方法来完成任务。我已将/ home挂载为逻辑卷,但是目标磁盘不是LVM系统
9 cp  file-copy 

3
使用损坏的日志恢复ext4文件系统
我的硬盘驱动器似乎在日记中出现了某种硬件问题。这样可以防止驱动器被加载。运行mount -r -t ext4 /dev/sda5 /mnt/root结果如下所示: [ 1420.671055] ata1.00: exception Emask 0x0 SAct 0x1000000 SErr 0x0 action 0x0 [ 1420.673862] ata1.00: irq_stat 0x40000008 [ 1420.676600] ata1.00: failed command: READ FPDMA QUEUED [ 1420.679326] ata1.00: cmd 60/40:c0:a8:9d:0a/00:00:08:00:00/40 tag 24 ncq 32768 in [ 1420.679326] res 41/40:40:e1:9d:0a/00:00:08:00:00/00 Emask 0x409 (media error) <F> …

2
如何用find排除NFS目录?
我需要搜索没有用户或没有组的文件。 find / -nouser -o -nogroup 我认为可以。但是,我不想搜索NFS共享。如何在find命令中排除NFS共享?
9 find  nfs 

2
如何在Mutt中绑定<Control> <Arrowkey>?
我被困在这里: 是否可以将其中之一&lt;enter&gt;, &lt;backspace&gt;, &lt;up&gt;, &lt;down&gt;, &lt;left&gt;, &lt;right&gt;与控件绑定在一起? \C&lt;foo&gt;显示为|foo&gt;帮助中的内容,并且^&lt;up&gt;不受限制。 '\C&lt;foo&gt;,'\C &lt;foo&gt;'也不要工作(与之相同")。 &lt;control&gt; 不存在。 实际上,你可以得到^&lt;foo&gt;的帮助下展现出来,但是只有当你映射^&lt;foo&gt;,这不正是我想要的。;)
9 mutt 

2
grep仅子目录匹配模式
我有一个包含数千个子目录的目录树,但是我经常只需要grep这些目录的一小部分。如何grep仅将那些与模式匹配的子目录? 例如,假设我有一些要在其中进行grep的子目录: ... ... ... /foo /fooLib /fooHandler /fooGizmo ... ... ... 在...上述条目代表的成千上万的其他目录,我的不希望到grep英寸 假设我正在寻找的所有实例bar,如果这样做的话: grep -n --recursive bar * 我会在所有目录中找到所需的内容。如何仅在与模式匹配的子目录中搜索foo*?
9 grep 

4
测试音频设备/声卡当前是否正在播放?
是否有一个默认程序,我可以在其中检查音频设备是否处于静音状态? 编辑:通过沉默,我的意思是如果那上面正在播放某些东西(不仅仅是激活或打开) 像这样: if [[ device0 is silent ]] ; then radio $RANDOM fi 编辑2:我要实现的是一个脚本,该脚本可以播放广播,并且可以在播放器出现故障时继续播放,例如,如果互联网连接断开并且播放器没有恢复,我将杀死播放器并重新开始

3
如何取消在另一个外壳(终端窗口或选项卡)中启动的作业?
如果我开始一个过程并在终端窗口中将其作为背景(例如ping google.com &amp;),则可以使用kill %1(假设它是工作1)将其杀死。 但是,如果我打开另一个终端窗口(或选项卡),则后台进程未在下面列出,jobs并且无法使用直接杀死kill。 是否可以从另一个终端窗口或选项卡中终止此过程? 注意:我使用的是Xfce Terminal Emulator 0.4.3和bash(尽管如果解决方案存在于另一个通用shell中,但bash不存在,我也可以使用它)

2
如何在Bash中利用XDG目录和路径?
我不知道如何访问不仅在定义的变量~/.config/user-dirs.dirs有xdg-user-dir,例如"$(xdg-user-dir VIDEOS)",而且下面的标准变量: XDG_CACHE_HOME:-$HOME/.cache XDG_CONFIG_HOME:-$HOME/.config XDG_DATA_HOME:-$HOME/.local/share XDG_RUNTIME_DIR:-"/run/user/$USER" XDG_CONFIG_DIRS:-/etc/xdg XDG_DATA_DIRS:-/usr/local/share:/usr/share 为此,我在~/.bash_login文件中执行以下操作: # Define standard directories. declare -gx XDG_CACHE_HOME=~/.cache declare -gx XDG_CONFIG_HOME=~/.config declare -gx XDG_DATA_HOME=~/.local/share declare -gx XDG_RUNTIME_DIR="/run/user/$USER" declare -gx XDG_CONFIG_DIRS="$(IFS=: path /etc/xdg)" declare -gx XDG_DATA_DIRS="$(IFS=: path /usr/local/share:/usr/share)" # Source supplementary directories to export or overwrite existing standard ones. declare a="$XDG_CONFIG_HOME/user-dirs.dirs" if [[ …

2
对于多个Linux发行版,我仅需要一个交换分区吗?(和其他问题)
我安装了Linux Mint 14作为唯一的操作系统。我有一个扩展的分区,其中包含/ swap,/和/ home,并且驱动器上还有一些未分配的空间。 我猜想Mint决定将所有内容放到扩展分区而不是三个主分区上。 因此,我想使用一些未分配的空间来从头开始构建Linux。 我的第一个问题是,每个发行版都需要有一个交换分区吗?LFS可以使用我已有的交换分区吗?如果是这样,交换分区必须是主分区,还是没关系? 主分区和逻辑分区之间有什么实际区别吗? 关于定义的问题: 扩展分区仅仅是包含逻辑分区的主分区吗? 最后,由于删除了Windows 7(sda 1-3),我的Linux分区仍然编号为5-7。如果我创建一个新分区,它将被称为sda1吗?

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.