Unix & Linux

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

2
主机名是否通过wifi远程更改?
我目前正在访问维也纳工业大学(TU Wien),今天,我使用wpa_supplicant自己的家庭研究所的证书将我的Debian Linux笔记本电脑连接到他们的eduroam wlan ,就像我在访问另一所科研机构时一样。 当我打开一个终端时,我注意到我的命令提示符显示了一个不同的主机名,实际上,执行hostname使我得到的e244-082.eduroam.tuwien.ac.at不是我的计算机的通常主机名x301。 我对此感到非常困惑。在没有我同意的情况下,连接到无线局域网怎么可能更改我的主机名?

5
获取字符串显示宽度
从外壳脚本获取一串字符的显示宽度(至少在一个终端上(至少一个以正确的宽度显示当前语言环境中的字符的显示终端))的最接近可移植的方式。 我主要对非控制字符的宽度感兴趣,但是也欢迎考虑诸如退格键,回车符,水平制表符之类的控制字符的解决方案。 换句话说,我正在寻找围绕POSIX函数的Shell API wcswidth()。 该命令应返回: $ that-command 'unix' # 4 fullwidth characters 8 $ that-command 'Stéphane' # 9 characters, one of which zero-width 8 $ that-command 'もで 諤奯ゞ' # 5 double-width Japanese characters and a space 11 人们可以使用ksh93的printf '%<n>Ls',考虑到用于填充字符宽度<n>列,或col命令(例如printf '++%s\b\b--\n' <character> | col -b),试图推导出,有一个文本:: CharWidth perl模块至少,但是否有更直接的或便携式的方法。 这或多或少是关于另一个问题的后续问题,该问题是关于在屏幕右侧显示文本,在显示文本之前您需要具有该信息。

1
使用变量设置WorkingDirectory
如何使用环境变量设置Service WorkingDirectory?这是一个示例服务配置: [Service] Environment=MYWORKINGDIR=/tmp WorkingDirectory=${MYWORKINGDIR} 这会沿产生错误not an absolute path。在开始处添加斜杠可“修复”该错误,但仍未找到路径: [Service] Environment=MYWORKINGDIR=/tmp WorkingDirectory=/${MYWORKINGDIR} 这有可能吗?关于哪些指令可以/不能使用env变量的文档尚不清楚。 http://www.freedesktop.org/software/systemd/man/systemd.exec.html
15 systemd 

3
使用gvfs-google在命令行上挂载Google驱动器
最近,Arch linux附带了gvfs-google软件包,以便使用Gnome在线帐户(gvfs-goa)挂载Google云端硬盘。但是,由于我使用的是Cinnamon台式机而不是Gnome,因此这种集成似乎无法正常工作。 到目前为止,我曾经使用drive手动同步Google Drive 。有没有办法在命令行上使用gvfs-google挂载Google云端硬盘?

1
Zathura的“双”页面模式可以使用页面偏移吗?
在查看设置用于打印的PDF时,我经常想查看面对面的页面跨页。通常,对PDF进行排版,以使文件/部件/章节的第一页始终在正确的页面上开始,因此面对的页面跨度始终是偶数对。不幸的是Zathura的“双”显示模式以1-2开始的奇偶对显示一切。 是否有某种方式可以像大多数PDF阅读器默认的2合一模式那样设置对面显示?
15 pdf  zathura 

1
set -e和grep惯用法防止未找到模式时从shell脚本过早退出
需要帮助-在GNU / LINUX bash上的shell脚本中: 我总是用set -e。通常,grep如果grep退出状态1表明未找到模式,我通常不希望脚本终止执行。 我尝试解决此问题的方法如下: (尝试I) 如果set +o pipefail使用类似的方法调用grep,grep 'p' | wc -l那么我将获得所需的行为,直到将来的维护者启用为止pipefail。另外,我喜欢启用,pipefail因此这对我不起作用。 (尝试II) 使用sed或awk仅打印匹配模式的行,然后使用wc匹配行测试匹配的模式。我不喜欢这样的选择,因为使用sed到grep似乎是我的真实问题的方法。 (尝试III) 这是我最不喜欢的-类似于:set +e; grep 'p'; set-e 任何见解/习惯用语将不胜感激-谢谢。
15 bash  grep  gnu  coreutils 

7
为什么systemd-udev固定我的CPU?
我注意到四核笔记本电脑的核心之一被钉住了,温度很高。我在top: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 359 root 20 0 188684 147228 1552 R 99.4 5.0 111:19.91 systemd-udevd 20011 root 20 0 188320 147604 2076 S 11.0 5.0 0:00.33 systemd-udevd 11053 dotanco+ 20 0 3030036 918672 49608 S 9.6 31.2 280:40.65 firefox 3468 …

5
删除流浪者文件,我看到.nfs0000000000b869e300000001
我删除了一个文件,现在我看到: $ ls total 64 -rw-rw-r-- 1 502 17229 Sep 17 16:42 page_object_methods.rb drwxrwxr-x 7 502 238 Sep 18 18:41 ../ -rw-rw-r-- 1 502 18437 Sep 18 18:41 new_page_object_methods.rb -rw-r--r-- 1 502 16384 Sep 18 18:42 .nfs0000000000b869e300000001 drwxrwxr-x 5 502 170 Sep 21 13:48 ./ 13:48:11 *vagrant* ubuntu-14 selenium_rspec_conversion 如果我尝试将其删除: …
15 files  nfs  rm  vagrant 

1
如何避免在系统日志中将/ usr / bin / env标记为可执行文件
我已经根据本文中的信息创建了一个systemd服务来运行tomcat应用程序。本文的简短版本建议避免使用Shell脚本包装程序,并使用适当的环境和命令行直接执行Java。 这是整个systemd服务(已替换应用名称): [Unit] Description=MyApp Tomcat Container [Service] EnvironmentFile=/opt/myapp/environment ExecStart=/usr/bin/env ${JAVA_HOME}/bin/java $JAVA_OPTS $CATALINA_OPTS \ -classpath ${CLASSPATH} \ -Dcatalina.base=${CATALINA_BASE} \ -Dcatalina.home=${CATALINA_HOME} \ -Djava.endorsed.dirs=${JAVA_ENDORSED_DIRS} \ -Djava.io.tmpdir=${CATALINA_TMPDIR} \ -Djava.util.logging.config.file=${CATALINA_BASE}/conf/logging.properties \ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ org.apache.catalina.startup.Bootstrap start ExecStop=/usr/bin/env $JAVA_HOME/bin/java $JAVA_OPTS \ -classpath $CLASSPATH \ -Dcatalina.base=$CATALINA_BASE \ -Dcatalina.home=$CATALINA_HOME \ -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \ -Djava.io.tmpdir=$CATALINA_TMPDIR \ -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ org.apache.catalina.startup.Bootstrap …

3
sshfs-传输端点未连接
重新安装服务器后,我无法安装它 sshfs root@domain.com:/var /remote_mount fuse: bad mount point `/remote_mount': Transport endpoint is not connected 更新 # ssh root@domain.com The authenticity of host 'domain.com (xxx.xxx.xxx.xxx)' can't be established. ECDSA key fingerprint is 57:b6:bd:76:17:80:73:85:4a:14:8a:6f:dc:fa:fe:7c. Are you sure you want to continue connecting (yes/no)?
15 ssh  sshfs 

2
Linux是否会自动清理抽象域套接字?
在StackOverflow上有一个很好的答案,那就是为守护程序(由Eduardo Fleury合成)提供更好的锁定,而该锁定不依赖于守护程序的通用PID文件锁定机制。关于为什么PID锁定文件有时会引起问题,有很多很好的评论,因此在这里我不会对其进行哈希处理。 简而言之,该解决方案依赖于Linux抽象名称空间域套接字,该套接字为您按名称跟踪套接字,而不是依赖文件,该文件在守护进程被SIGKILL处理后仍会存在。该示例表明,一旦进程终止,Linux似乎可以释放套接字。 但是我找不到在Linux中的权威文档,该文档没有说明当绑定进程进行SIGKILL操作时Linux对抽象套接字的确切作用。有人知道吗? 换句话说,确切地说什么时候抽象套接字可以释放以供再次使用? 我不想用抽象套接字替换PID文件机制,除非它能最终解决问题。

1
为什么在bash快捷方式中不使用Ctrl + m和Ctrl + q?
最近,我一直在查看bash快捷键,并尝试为我的tmux激活键找到合适的键。 根据https://en.wikipedia.org/wiki/Bash_(Unix_shell),我发现它很有趣,ctrl + m并且ctrl + q没有在bash快捷方式中使用。 为什么不使用它们?我觉得ctrl + m很方便。 这两种组合是否是设计要DIY (define it yourself)使用的?还是还有另一个故事?


1
退出一个终端时更新其他终端上的bash历史记录
我知道这个问题并不是很模糊,因为这里的问题一直在更新(这里重复)。 我想要达到的目标有些不同。我不喜欢每次ls输入(history -a; history -c; history -r)时都会立即重写文件的想法。 我想在退出时更新文件。这很简单(实际上是默认设置),但是您需要添加而不是重写: shopt -s histappend 现在,当终端关闭时,我想让所有其他保持打开状态以了解更新。 我更喜欢这样做,而不必检查我键入的$PS1每个内容command。我认为捕获某种信号会更好。你会怎么做?如果不可能,也许简单cronjob吗? 我们如何解决这个难题?


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.