Unix & Linux

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

4
将systemd服务设置为在fstab挂载后执行
我工作的一个systemd .service是应该启动脚本后 CIFS网络位置通过安装/etc/fstab于/mnt/在启动时。 该脚本等待OpenVPN依赖脚本首先启动,但我也希望它等待安装完成。 /etc/systemd/system/my-daemon.service: [Unit] Description=Launch My Daemon After=network.target vpn-launch.service Requires=vpn-launch.service 我试图添加systemd.mount到这一行:After=network.target vpn-launch.service systemd.mount,但是没有给出我想要的结果。
33 debian  systemd 

2
如果续订安全证书,是否需要重新启动Nginx?
所以我要设置一个启用SSL的Nginx服务器,并使用以下服务器定义: server { listen :80; listen [::]:80; server_name example.org; root /foo/bar; ssl on; ssl_certificate /path/to/public/certificate; ssl_certificate_key /path/to/private/key; ... } 您明白了(请原谅任何错别字)。 无论如何,我想知道的是;如果我续订证书,是否有办法安装它们而不必重新启动Nginx? 例如,如果我要使用来自/path/to/public/certificate和的符号链接,并/path/to/private/key指向我当前的证书,nginx如果我只是简单地将其更改为指向新的(更新的)证书,是否仍需要重新启动?有其他选择吗?

3
如何创建可在没有777权限的情况下从Windows写入的Samba共享?
我在Linux机器(Debian 8)上有一条路径,我想与Samba 4共享到Windows计算机(域中的Win7和8)。在我中,smb.conf我做了以下工作: [myshare] path = /path/to/share writeable = yes browseable = yes guest ok = yes public = yes 我可以从Windows获得完美的读取访问权限。但是为了具有写访问权,我需要做chmod -R 777 /path/to/share才能从Windows对其进行写操作。 我想要的是在提供的Linux所有者的Linux凭据后从Windows进行写访问/path/to/share。 我已经尝试过: [myshare] path = /path/to/share writeable = yes browseable = yes 然后Windows要求提供凭据,但是无论我输入什么,都始终被拒绝。 在不授予777的情况下从Windows域计算机获得对Samba共享的写访问权的正确方法是什么?

1
如何在Bash中使用空字节?
我读过,由于Bash中的文件路径可以包含除空字节(零值字节,$'\0')之外的任何字符,因此最好使用空字节作为分隔符。例如,如果的输出find将发送到另一个程序,则建议使用该-print0选项(对于find具有该选项的版本)。 但是,尽管类似的方法可以很好地工作(打印用换行符分隔的文件路径,请放心,这只是一个演示,我实际上并不是在真实的脚本中这样做): find -print0 \ | while IFS= read -r -d $'\0' ; do echo "$REPLY" ; done 这样的事情就不会工作: for file in * ; do echo -n "$file"$'\0' ; done \ | while IFS= read -r -d $'\0' ; do echo "$REPLY" ; done 当我只尝试for-loop部分时,我发现它只是将所有文件名打印在一起,而中间没有空字节。 为什么是这样?这是怎么回事?
33 bash  null 

2
每15分钟使用systemd计时器
我正在尝试使systemd计时器每15分钟运行一次。现在我有: timer-fifteen.timer: [Unit] Description=15min timer [Timer] OnBootSec=0min OnCalendar=*:*:0,15,30,45 Unit=timer-fifteen.target [Install] WantedBy=basic.target timer-fifteen.target: [Unit] Description=15min Timer Target StopWhenUnneeded=yes 这一次又一次地不停地运行。是否需要*:0,15,30,45:*代替?我该如何进行这项工作?
33 systemd 

10
SSH公钥不会发送到服务器
我已经为此苦苦挣扎了两个小时,因此我们将不胜感激。 我有2台服务器,我都ssh可以使用OSX的公钥,那里根本没有问题,所以我确定一切都很好sshd_config。 我正在尝试配置cron作业rsync以同步两个服务器,并且需要ssh使用公钥将服务器B(备份)复制到服务器A中。 我一生无法解决为什么找不到我的公钥-它们在~/.ssh/(即/root/.ssh)并且所有文件权限在A和B上都是正确的。 这是输出: debug2: we did not send a packet, disable method debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Trying private key: /root/.ssh/identity debug3: no such identity: /root/.ssh/identity debug1: Trying private key: /root/.ssh/id_rsa debug3: no such identity: /root/.ssh/id_rsa debug1: …


10
基于终端的电子表格和文字处理器?
是否有用于Unix / Linux的(好的)基于终端的(即在VT中运行,而不是在GUI / X中运行)电子表格或文字处理器?有人能记得以前曾经流行过的这类程序的名称吗(例如,在X如此流行之前)? 我知道在Unix中进行字处理的“正确”方法是使用诸如LaTeX或GROFF之类的标记语言以及诸如vi或emacs之类的简单编辑器……但是我想知道的是,是否存在-或曾经(有人记得做过这个旧程序吗?)-类似于Unix上的旧MS-DOS(Windows以前)的WordPerfect程序?您没有真正的所见即所得的地方,但是在文字中用颜色,反向视频等标记诸如略过和下划线的地方。 对于LaTeX或某些XML格式来创建文字处理文档的程序来说,它们更像是“前端”,只要它们使用终端并使用颜色等来标记诸如粗体文本(而不是您看到的乳胶格式,码)。例如。您按CTRL-I,您写的文本将变为反向视频,并被写入中间大小的格式代码之间的文件。

5
在终端输出中搜索文本
我正在运行带有命令的应用程序,该命令$ grails run-app可打印如下所示的登录终端。 我想要的是user authorities在此日志中搜索特定文本(例如),以便我进一步进行验证。一种使用Logging Apis写入文本文件的方法,但是我现在想在终端中搜索它。 我在如何直接在终端上搜索提示screen命令的文本时发现了类似的问题,但是我不知道screen在这种情况下如何工作。我尝试过, $ screen grails run-app 但无法前进。 我可以看到带有 prayag@prayag:~/zlab/nioc2egdelonk$ screen -list There is a screen on: 8076.pts-2.prayag (10/06/2013 12:13:25 PM) (Attached) 1 Socket in /var/run/screen/S-prayag.

4
解压缩一批文件
当我尝试 unzip filename.zip 有用。但是,我需要解压缩一系列zip文件。 为什么是: find . -name "*.zip" -print0 | xargs -0 unzip 要么 ls *.zip | xargs unzip 不工作吗? 在两种情况下,我都会收到“警告:文件名不匹配:”消息。
33 command-line  zip 

15
如何在多个选项卡/外壳中同时运行同一Linux命令?
Linux中是否有任何工具/命令可用于在多个选项卡中同时运行命令?我想运行相同的命令:./myprog argument1 argument2同时在多个shell中检查互斥对象在线程程序中是否工作正常。我希望能够增加该程序的实例数量,以便以后使我的代码承受压力。 我有点在寻找像墙一样的东西。我可以考虑使用tty,但是如果我不得不将其扩展到更多的shell的话,这似乎很痛苦。


5
删除GPT-默认返回MBR
我不断收到此错误: 警告!!检测到不支持的GPT(GUID分区表)。使用GNU Parted 我想回到正常的MBR。我在这里找到了一些建议并做到了: parted /dev/sda mklabel msdos quit 但是当我mklabel选择该选项时,它会发出警告,提示我将丢失所有数据/dev/sda。有没有办法在不格式化磁盘的情况下恢复正常的MBR?
33 linux  gpt  parted  mbr  gdisk 

3
最近修改的文件列表
我如何获得3个月前修改过的所有文件的列表。我检查了这个问题,但无法将其应用于我的方案。我现在正在尝试这样做,它似乎正在工作,但是我知道应该使用find更好的方法。 ls -ltR | grep -v '2011-05' | grep -v '2011-06' | grep -v '2011-07' | grep -v '2011-08
33 files  find  ls  date 

7
重新加载tmux配置而不解除绑定键(绑定键是累积的)
我一直在尝试不同的tmux键盘绑定设置,并且注意到以下几点: 如果我重新加载我的tmux配置(从tmux内部),我曾经加载的按键绑定将保持加载状态。(我知道)清除此错误的唯一方法是退出所有tmux会话并重新启动。因此,看起来tmux会记住所有先前加载的键绑定,并且只会在重新启动时或通过显式取消绑定键来删除它们。 要重新创建它: 打开终端(A) 启动tmux 检查键盘绑定是否显示时钟(按PREFIX C-t) 按下PREFIX ?以查看列表中的绑定 编辑 ~/.tmux.conf 添加键绑定(bind C-t display "Keybinding C-t") 重新加载tmux配置(PREFIX : source-file ~/.tmux.conf) 检查键盘绑定是否有效(按PREFIX C-t) 按下PREFIX ?以查看列表中的新键盘绑定 ~/.tmux.conf再次编辑 删除键绑定(因此删除bind C-t display "Keybinding C-t") 重新加载tmux配置(PREFIX : source-file ~/.tmux.conf) 检查PREFIX C-t键盘绑定是否有效(按),它仍显示“ Keybinding Ct” 按下PREFIX ?以查看新的绑定仍在列表中 退出tmux 输入tmux 检查原始的键盘绑定是否再次起作用(按PREFIX C-t),现在应该再次显示时钟 按下PREFIX ?以查看新的绑定已从列表中删除 我的问题:有没有一种方法可以指示tmux“忘记”所有已加载的配置,然后再加载.tmux.conf?

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.