Unix & Linux

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

1
为什么在Debian上用`sha256sum`验证SHA256校验和失败并在Ubuntu上起作用?
在Ubuntu 14.04,sha256sum从coreutils作品如我所料: echo 879dd0d7637876be4796f7e6f194a111d21088be85cfe717fc97e2e7f05e79d2 /tmp/myfile | sha256sum -c /tmp/myfile: OK 但是,在Debian Wheezy上使用完全相同的文件执行完全相同的命令将失败: sha256sum: standard input: no properly formatted SHA256 checksum lines found 我不明白 如何在Debian上的Shell脚本中可靠地验证校验和? 在Ubuntu 14.04上: ⟫ sha256sum --version sha256sum (GNU coreutils) 8.21 在Wheezy上: $ sha256sum --version sha256sum (GNU coreutils) 8.13 两种操作系统的联机帮助页上说: SYNOPSIS sha256sum [OPTION]... [FILE]... DESCRIPTION Print or check …
34 debian  checksum 

3
如何在Zsh Shell中查看历史记录命令的日期时间戳
在ubuntu服务器上运行history命令时,输出如下: history ... 25 cd ~ 26 ls -a 27 vim /etc/gitconfig 28 vim ~/.gitconfig 我想查看特定用户的日期时间。但是,当我假设它们: su otheruser export HISTTIMEFORMAT='%F %T ' history ... 25 cd ~ 26 ls -a 27 vim /etc/gitconfig 28 vim ~/.gitconfig 它仍然不显示日期时间。我正在使用zsh shell。

2
限制文件描述符的数量
我正在尝试安装389-ds,它给了我这个警告: WARNING: There are only 1024 file descriptors (hard limit) available, which limit the number of simultaneous connections. 我了解文件描述符,但不了解软限制和硬限制。 当我跑步时cat /proc/sys/fs/file-max,我回来了590432。这意味着我最多可以打开590432文件(即,最多可以打开590432文件描述符)。 但是当我跑步时ulimit,它给我不同的结果: $ ulimit unlimited $ ulimit -Hn # Hard limit 4096 $ ulimit -Sn # Soft limit 1024 但是,硬/软限制来自ulimit什么?它们与存储在其上的数字/proc/sys/fs/file-max有何关系?

4
为什么即使以root身份运行也找不到读取的/ run / user / 1000 / gvfs?
有人可以告诉我我在做什么错,这是什么,或如何解决?我正在运行Fedora 18并显示错误 [root@servername /]# find . -name ngirc find: `./run/user/1000/gvfs': Permission denied [root@servername /]# [root@thinktank /]# pwd / [root@thinktank /]# ls -ltr ./run/user/1000 ls: cannot access ./run/user/1000/gvfs: Permission denied total 0 d?????????? ? ? ? ? ? gvfs lrwxrwxrwx. 1 root root 17 May 28 12:30 X11-display -> /tmp/.X11-unix/X0 drwx------. …
34 permissions  root  gvfs 

3
$ {param:= value}是什么意思?
我在《 Z-Shell用户指南》中阅读了以下内容: 'true'的同义词是':';它通常以这种形式用于提供具有副作用但不应该使用的参数-类似于 : ${param:=value} 这是所有Bourne Shell衍生物中的常见习语。在参数扩展中,$param如果之前为空,则为其赋值,否则保留该值。由于那是参数扩展的唯一原因,因此您:可以忽略该参数。实际上,shell巧妙地构建了命令行-冒号,然后跟随$paramis 的值(无论赋值是否发生),然后执行命令;碰巧':'并没有注意到它给出的参数。 但我不明白。我的:意思是true,但是表达式中有两个冒号。作为一个小问题,为什么这个习语在所有的Bourne Shell衍生物中都使用了这么多?它有什么作用? 注意: 我对该成语在bash和zsh中的作用感兴趣。 谢谢
34 bash  shell  zsh 

9
在vim中打开命令结果给出的文件
我几乎每天都在做以下事情 运行查找(find -name somefile.txt) 在打开结果 vim 问题是我必须复制的结果并将其粘贴find到vim命令中。有什么办法可以避免这样做?我做了一些实验(find -name somefile.txt | vim),但没有发现任何有效的方法。 提前致谢
34 linux  bash  vim  find 

7
以另一个(非root)用户身份运行GUI应用程序
假设我有2个用户帐户user1和user2。当我以身份登录user1,然后切换为user2使用时su,我可以执行命令行程序,但是GUI程序失败。 例: user1@laptop:~$ su - user2 user2@laptop:~$ leafpad ~/somefile.txt No protocol specified leafpad: Cannot open display: 那么如何运行GUI应用程序?
34 shell  x11  xorg  su 

5
我们如何运行存储在变量中的命令?
$ ls -l /tmp/test/my\ dir/ total 0 我想知道为什么以下运行上述命令的方法失败还是成功? $ abc='ls -l "/tmp/test/my dir"' $ $abc ls: cannot access '"/tmp/test/my': No such file or directory ls: cannot access 'dir"': No such file or directory $ "$abc" bash: ls -l "/tmp/test/my dir": No such file or directory $ bash -c $abc 'my …
34 bash  shell  quoting  variable 

4
如何调用vim编辑器并将管道输出到bash
有时我需要编写文本,然后将其通过管道传递到另一个命令中。我通常的工作流程如下: vim # I edit and save my file as file.txt cat file.txt | pandoc -o file.pdf # pandoc is an example rm file.txt 我觉得这很麻烦,并试图学习bash脚本,我想通过编写一个命令来触发该操作,从而简化该过程,该命令将打开编辑器,当编辑器关闭时,将编辑器的输出发送到stdout。这样我就可以将命令运行为quickedit | pandoc -o file.pdf。 我不确定这将如何工作。我已经编写了一个函数,可以按照上面的确切工作流程以及一些附加操作来自动执行此操作。它生成一个随机字符串作为文件名,并在调用函数时将其传递给vim。当用户通过保存文件退出vim时,该函数将文件打印到控制台,然后删除该文件。 function quickedit { filename="$(cat /dev/urandom | env LC_CTYPE=C tr -cd 'a-f0-9' | head -c 32)" vim $filename cat $filename rm …
34 vim  pipe  stdout 


2
使用开始和停止时间修剪音频文件
我有一个FFmpeg命令来修剪音频: ffmpeg -ss 01:43:46 -t 00:00:44.30 -i input.mp3 output.mp3 我对此命令的问题是该选项-t需要从01:43:46开始的持续时间(以秒为单位)。我想使用开始/停止时间来修剪音频,例如在01:43:46和00:01:45.02之间。 这可能吗?
34 audio  ffmpeg  trim 

4
我可以对/ etc / group和/ etc / passwd文件进行排序吗?
我的/etc/group成长是通过添加新用户以及安装添加了自己的用户和/或组的程序来实现的。的情况也是如此/etc/passwd。由于缺乏结构,编辑现在变得有点麻烦。 我可以对这些文件进行排序(例如,按数字ID或按名称按字母顺序),而不会对系统和/或程序包管理器产生负面影响吗? 我想这并不重要,但只是为了确保我想得到第二意见。也许root需要在第一行或前一千行之内? 同样的道理/etc/*shadow。
33 group  passwd 

6
每秒精确运行一次循环
我正在运行此循环以每秒检查和打印一些内容。但是,由于计算可能要花费几百毫秒,因此打印时间有时会跳过一秒钟。 有什么办法可以写出这样一个循环,以确保我每秒都能得到一个打印输出?(当然,提供循环中的计算时间不到一秒钟:) while true; do TIME=$(date +%H:%M:%S) # some calculations which take a few hundred milliseconds FOO=... BAR=... printf '%s %s %s\n' $TIME $FOO $BAR sleep 1 done
33 bash  timestamps  sleep 



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.