小编Xav*_*uvw的帖子

从命令行每张打印两页

假设我从一个 PDF 文档开始,比如说 12 页,用evince查看。要生成另一个 6 页的 PDF,页面设置为每面两页,我通常使用 ^P 对话窗口中列出的“打印到文件”设备。这很巧妙。

我想为命令行翻译这个操作。

  • 据我了解,这不是pdftk可以做的操作。请交叉检查。
  • lp接受该选项的命令-o number-up=2无法识别任何称为“打印到文件”的设备,而该设备确实没有出现在lpstat -p -d.
  • 我知道什么是“打印到文件”的帖子,它可以从命令行使用吗?. 我已经安装了cups-pdf,其中确认了名为 PDF 的新打印机。但是,简单文本文件的打印质量太原始(例如,开始时没有打印边距)。此外,如果我在此设备上重新打印现有的 PDF 文件,例如lp -p PDF existing.pdf,evince 甚至无法打开复制的输出,而“打印到文件”方式则不是这种情况。
  • 我看了看man evince。在底部,它涉及一些打印预览选项并重定向到GNOME 开发人员项目页面。不可否认,我无法理解和使用它。

实际上有没有办法将命令行的灵活性与我从 GUI evince 中的“打印到文件”选项中获得的打印质量相结合?

同样,我的测试用例是从命令行从每张纸打印两页的源文档中创建一个 PDF。

谢谢你的思考。

cups pdf pdftk evince lp

15
推荐指数
2
解决办法
9766
查看次数

Bash 脚本应该只杀死它已经启动的另一个脚本的那些实例

在当前情况下,某个脚本'calling.sh'在后台启动另一个脚本'calling.sh',执行其他操作,休眠一段时间,然后以pkill called.sh.终止'calling.sh' 。这工作正常。

然后,我还想在任何其他时间从其他终端启动“被调用的.sh”作为独立脚本,无论是在启动 call.sh 之前还是之后。这些独立的实例应该被 'calling.sh' 杀死。

我怎样才能做到这一点?直觉说,调用脚本应该能够告诉它从同时运行的任何其他同名进程开始的进程。

作为变体,'calling.sh' 也可以启动'被调用',它是到'被调用的.sh'的符号链接。这会使管理上述情况变得复杂吗?使用符号链接需要哪些特定的注意事项和调整?

bash process

11
推荐指数
2
解决办法
1303
查看次数

`dd`、`cp` 和 `rsync` 之间有什么区别?

除了从解释man的网页和--help信息,以何种方式做的命令ddcp以及rsync不同的使用拷贝文件的时候?在哪种情况下,这些中的每一个都优于其他的,对于“优越”的某些定义,以便它应该优先使用?

cp rsync dd file-copy

9
推荐指数
1
解决办法
2万
查看次数

用户名、显示名和登录名有什么区别?

  1. 用户名、显示名和登录名有什么区别?
  2. 如果存在实质性差异,修改它们中的每一个会产生什么后果?
  3. 我如何修改这些?

我知道这usermod在这里是相关的,但是如果没有明确该术语,就无法立即解释其选项。并且可能还有其他用于相同或类似目的的命令。

经过。感谢您澄清这一点。

users

6
推荐指数
1
解决办法
1万
查看次数

gcc 编译终止并显示“致命错误:字符串:没有这样的文件或目录#include <string>”

我的情况。uname -a给出Linux computer2 4.4.0-62-generic #83~14.04.1-Ubuntu SMP Wed Jan 18 18:10:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

我正在尝试使用GNU make 3.81调用gcc 6.3.0安装HDF5 1.8.18。我已经成功安装了 gcc 6.3.0 以及 Ubuntu 发行版附带的版本 4.8.4。

我的 gcc 6.3.0 位于/opt/gcc/6_3_0/. 我使用以下脚本来配置和传递非标准目录中的命令、库和标头:

export FC='/opt/gcc/6_3_0/bin/gfortran-6.3.0'   # probably unnecessary
export CC='/opt/gcc/6_3_0/bin/gcc-6.3.0'  
export CXX='/opt/gcc/6_3_0/bin/g++-6.3.0' 
export CPP='/opt/gcc/6_3_0/bin/cpp-6.3.0'
export LDFLAGS='-L/opt/gcc/6_3_0/lib -L/opt/gcc/6_3_0/lib64' 
export CPPFLAGS='-I/opt/gcc/6_3_0/include -I/opt/gcc/6_3_0/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include'

./configure \
--prefix=${insdir} \
--with-zlib=${zlibdir}/include,${zlibdir}/lib \
--enable-fortran \
--enable-cxx
Run Code Online (Sandbox Code Playgroud)

其中${insdir}是安装目录,${zlibdir}是 zlib 所在的位置,其他开关是根据安装指南的标准

配置步骤进展顺利。make 步骤失败并出现错误:

make[2]: …
Run Code Online (Sandbox Code Playgroud)

compiling gcc configure

5
推荐指数
1
解决办法
5万
查看次数

fstab 不会自动挂载 NFS 远程文件夹

我无法在引导过程中自动安装远程目录。我在 Ubuntu 14.04 LTS 下使用 NFS 协议。服务器是192.168.1.1,客户端是192.168.1.2

/etc/exports服务器端的设置是

/home/export 192.168.1.2(ro,no_root_squash,sync)

虽然\home\user客户端的目录是,但请注意,本文中提到的所有目录都没有加密。服务器电脑一直开着,两台机器可以互相ping通。另请注意,在两台机器中,\home目录都安装在自己的分区上。

命令行运行良好,我可以在 sudo mount 192.168.1.1:/home/export /home/import/server1.


就像如何为网络驱动器正确编辑 /etc/fstab 一样? 我想通过编辑/etc/fstab. 但是,当我将这些行中的任何一行添加到/etc/fstab

[1] 192.168.1.1:/home/export /home/import/server1 nfs rsize=8192,wsize=8192,timeo=14 0 0

[2] 192.168.1.1:/home/export /home/import/server1 nfs auto 0 0

[3] 192.168.1.1:/home/export /home/import/server1 nfs auto, rsize=8192,wsize=8192,timeo=14 0 0

[4] 192.168.1.1:/home/export /home/import/server1 nfs defaults 0 0

我需要sudo mount -a手动启动以获取服务器端的视图。这违背了我的期望,也违背了U&L 帖子中的期望。

如何让自动安装功能独立运行?


启示/抄袭披露:

[1] https://help.ubuntu.com/14.04/serverguide/network-file-system.html

[2] https://help.ubuntu.com/community/SettingUpNFSHowTo#Mounting_NFS_shares_in_encrypted_home_won.27t_work_on_boot

[3] = [1] …

automounting nfs fstab

4
推荐指数
1
解决办法
2万
查看次数

`ls -l` 中的输出 `d?????????` 是什么意思?

什么情况下ls -l会返回如下形式的子目录列表?

 d????????? ? ? ? ?       ? Subdirectory
Run Code Online (Sandbox Code Playgroud)

例如,tree在该目录上启动的返回。0 directories, 0 files系统似乎知道子目录的名称,但找不到它。
哪个缺失环节令人困惑ls

迟到的笔记。对于目录,而不是文件,另请参阅:

ls permissions directory tree

0
推荐指数
1
解决办法
2650
查看次数

标签 统计

automounting ×1

bash ×1

compiling ×1

configure ×1

cp ×1

cups ×1

dd ×1

directory ×1

evince ×1

file-copy ×1

fstab ×1

gcc ×1

lp ×1

ls ×1

nfs ×1

pdf ×1

pdftk ×1

permissions ×1

process ×1

rsync ×1

tree ×1

users ×1