Unix & Linux

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

3
在系统内存上,尤其是tmpfs,shm和hugepages之间的区别。
最近,我对基于Linux内核内存的各种文件系统感到好奇。 Note:就我而言,与更好地理解标题中提出的问题相比,以下问题应被视为或多或少是可选的。我在下面问他们,因为我相信回答它们可以更好地帮助我理解这些差异,但是由于我的理解有限,因此其他人可能会更好。我准备接受任何可以丰富我对标题中提到的三个文件系统之间差异的理解的答案。 最终,我认为我想挂载一个可用的文件系统,hugepages,尽管一些轻松的研究(并且仍在进行更轻松的修改)使我相信a rewritable hugepage mount不是一个选择。我错了吗?这里有什么机制? 另外关于 hugepages: uname -a 3.13.3-1-MANJARO \ #1 SMP PREEMPT \ x86_64 GNU/Linux tail -n8 /proc/meminfo HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 8223772 kB DirectMap2M: 16924672 kB DirectMap1G: 2097152 kB (以下是/ proc / meminfo和/ proc / cpuinfo的全文版本) 以上是怎么回事?我是否已经分配hugepages?了DirectMap内存页和hugepages? 更新 …

5
如何获得忽略硬链接的文件夹大小?
我使用rsnapshot进行备份,该备份会生成一系列包含相同名称文件的文件夹。有些文件是硬链接的,而另一些是分开的。例如,hourly.1/file1和hourly.2/file1可能硬链接到同一文件,而hourly.1/file2和hourly.2/file2则是完全独立的文件。 我想查找该文件夹使用的空间量,hourly.2 而忽略与成为文件硬链接的任何文件hourly.1。因此,在上面的示例中,我想获取file2的大小,但忽略file1。 我在Linux上使用bash,我想从命令行尽可能简单地执行此操作,因此请不要使用大型图形解决方案或其他仅OS的解决方案。

4
剪贴板插件的xfreerdp使用示例
FreeRDP 1.0.2更新了其参数语法,以“ 与Windows更好地互操作 ”。我在使用旧语法时遇到了问题,其中剪贴板插件仅在我第一次粘贴时有效,随后停止了: xfreerdp --plugin cliprdr -g 1920x1060 -u Administrator -p xxx n.n.n.n 因此,我决定尝试新的语法,但似乎无法正确处理。下列: xfreerdp +clipboard /size:1920x1060 /u:Administrator /p:xxx /v:n.n.n.n 给出一个错误: Warning xf_GetWindowProperty (140): Property 385 does not exist transport_connect: getaddrinfo (Name or service not known) Error: protocol security negotiation failure 有什么建议吗?

4
如何在readline中切换到vi编辑模式?
我想在readline环境中切换到vi编辑模式。但是我不想使用'set -o vi'。我想使用键盘快捷键临时切换。手册页上说我可以用M-C-j。但这对我不起作用。 我正在使用Ubuntu和xterm。在gnome-terminal下也不起作用。
16 bash  readline 

3
tmux复制模式搜索突出显示
有什么方法可以在tmux复制模式下突出显示搜索到的术语? 以下是我的tmux配置: # remap prefix to Control + a set -g prefix C-a unbind C-b bind C-a send-prefix bind a send-prefix # force a reload of the config file unbind r bind r source-file ~/.tmux.conf # set window start from 1 set -g base-index 1 # scrollback buffer n lines …
16 tmux  colors 

5
如何将Chrome(不再要求是)设置为默认浏览器?
我正在运行Linux Mint Debian版(基本上是Debian测试)和Cinnamon桌面环境。每次启动时,google-chrome它都要求成为默认浏览器。我已经告诉它这样做,但我仍然会看到以下弹出窗口: 我尝试过的 在弹出窗口中单击“设置为默认值”。 将chrome设置为默认设置: 使用我的桌面环境的(肉桂色)设置应用将其设置为默认值: 通过定义此类内容的各种方式和文件将其与所有相关的mimetypes相关联: $ xdg-mime query default text/html chrome.desktop $ grep chrome .local/share/applications/mimeapps.list text/html=chrome.desktop x-scheme-handler/http=chrome.desktop x-scheme-handler/https=chrome.desktop x-scheme-handler/about=google-chrome.desktop x-scheme-handler/about=google-chrome.desktop; text/html=emacs.desktop;google-chrome.desktop;firefox.desktop; x-scheme-handler/http=chrome.desktop; $ grep chrome /usr/share/applications/defaults.list application/xhtml+xml=google-chrome.desktop text/html=google-chrome.desktop text/xml=gedit.desktop;pluma.desktop;google-chrome.desktop x-scheme-handler/http=google-chrome.desktop x-scheme-handler/https=google-chrome.desktop 在这些文件中,我用替换了所有的firefox(我以前的默认值)google-chrome。在文件的任何地方都没有定义其他浏览器: $ grep -E 'firefox|opera|chromium' /usr/share/applications/defaults.list \ .local/share/applications/mimeapps.list $ 以root身份启动chrome,以防万一,但不会让我: 使用Debian的替代系统将其设置为默认值: $ sudo update-alternatives --install /usr/bin/www-browser …

2
即使我的ssh连接断开,我的MySQL查询也可以继续运行吗?
我已经通过SSH连接到服务器并登录到mysql,并要求它运行一个查询(其结果被转储为CSV),这可能需要一个多小时。尽管我已经指示我的客户端每60秒发送一次空数据包以保持会话处于活动状态,但我仍然对mysql查询/进程可能终止感到疑惑,所以我的问题是: 取消的ssh会话(由于不活动)会杀死mysql查询过程吗? 如何确保不会发生这种情况-空数据包是否每60秒发送一次足够?
16 ssh  mysql 

5
使用生成的文件名列表作为参数列表-带空格
我正在尝试使用收集的文件名列表调用脚本find。没什么特别的,只是这样: $ myscript `find . -name something.txt` 问题在于某些路径名包含空格,因此在参数扩展时它们会分解为两个无效的名称。通常,我会在名称两边加上引号,但是在这里,它们会由反引号扩展插入。我试过find用引号过滤每个文件名的输出并用引号引起来,但是当bash看到它们时,剥离它们已经为时已晚,它们被视为文件名的一部分: $ myscript `find . -name something.txt | sed 's/.*/"&"/'` No such file or directory: '"./somedir/something.txt"' 是的,这是处理命令行的规则,但是如何解决呢? 这很尴尬,但我没有提出正确的方法。我终于想出了解决方法,但是xargs -0 -n 10000...我仍然想问这个丑陋的hack:我该如何引用反引号扩展的结果,或者以其他方式实现相同的效果? 编辑:我对xargs 确实将所有参数收集到一个参数列表中的事实感到困惑,除非被告知否则可能会超出系统限制。感谢大家使我挺直!其他人,在阅读已接受的答案时,请记住这一点,因为它不是很直接地指出。 我已经接受了答案,但我的问题仍然存在:是否存在某种方法来保护反引号(或$(...))扩展中的空间?(请注意,可接受的解决方案是非强制性的答案)。

2
如果我在大文件上使用vi会怎样?
尽管没有指示,但我的一位同事使用vi查看了一个大文本文件(server.log 3.5 GB)。这填满了/ var / tmp并在服务器上引起了一些问题。 是什么原因造成的?为什么我们不应该对大文件使用vi?
16 vim  vi 

2
未经适当许可无法扩展星号
有人可以向我解释以下内容吗? $ ls -ld /temp/sit/build/ dr-xr-s--- 3 asdf qwer 4096 Jan 31 2012 /temp/sit/build/ $ ls -ld /temp/sit/build/* ls: /temp/sit/build/*: Permission denied 因此,我不能在这里使用星号。我用sudo命令尝试过,但收到“没有这样的文件”错误,而不是“权限被拒绝” ... sudo ls -l /temp/sit/build/* ls: /temp/sit/build/batch*: No such file or directory 但是如果我不使用*,它最终会起作用 sudo ls -l /temp/sit/build/ total 4 dr-xr-s--- 11 asdf qwer 4096 Oct 3 23:31 …

2
>>重定向是什么 做?
什么时候应该>|用于将输出重定向到文件而不是>? 当我看到这时,给出的解释是它可以确保首先截断目标文件。但是我认为>已经暗示了这一点。 是否>|有用?

1
ping零如何工作?
任何人都可以解释它是如何ping 0工作的,并将其翻译为127.0.0.1。 [champu@testsrv ]$ ping 0 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.039 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.013 ms --- 0 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.013/0.026/0.039/0.013 ms
16 linux  networking 

2
在(包括)两个模式之间打印行
我想从行CK末的行开始grepping,而当行末的行停止grepping D。我尝试过grep "$CK" "$D" file..txt,但是没有用。 输入: kkkkkkkkkkk jjjjjjjjjjjjjjjjjj gggggggggggg/CK JHGHHHHHHHH HJKHKKLKLLL JNBHBHJKJJLKKL JLKKKLLKJLKJ/D GGGGGGGGGGGGGG GGGGGGGGGGGGGG 所需的输出: gggggggggggg/CK JHGHHHHHHHH HJKHKKLKLLL JNBHBHJKJJLKKL JLKKKLLKJLKJ/D

4
Bash:交互式远程提示
我有一个脚本可以连接到远程服务器,并检查是否安装了某些软件包: ssh root@server 'bash -s' < myscript.sh myscript.sh: OUT=`rpm -qa | grep ntpdate` if [ "$OUT" != "" ] ; then echo "ntpdate already installed" else yum install $1 fi 这个例子可以简化。这是myscript2.sh同样的问题: read -p "Package is not installed. Do you want to install it (y/n)?" choise 我的问题是bash无法以交互方式读取我的答案。 有没有一种方法可以远程执行本地脚本而不丢失提示用户的能力?
16 bash  shell-script  ssh  stdin  read 

5
是否有一种算法可以确定符号链接是否循环?
如果Unix系统遇到包含符号链接循环或符号链接太多的路径,通常会出错,因为它们对一次路径查找中要遍历的符号链接的数量有限制。但是,有没有一种方法可以真正确定给定的路径是否解析为某种路径或是否包含循环,即使该路径包含的链接数量超出了unix愿意遵循的范围?还是这是一个无法确定的正式问题?如果可以决定,是否可以在合理的时间/内存范围内决定(例如,无需访问文件系统上的所有文件)? 一些例子: a/b/c/d where a/b is a symlink to ../e and e is a symlink to f and f is a symlink to a/b a/b/c/d where a/b/c is a symlink to ../c a/b/c/d where a/b/c is a symlink to ../c/d a/b/c/d where a/b/c is a symlink to /a/b/e where a/b/e …

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.