Unix & Linux

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

11
生成特定范围内的随机数
谷歌搜索了一下之后,我找不到一种简单的方法来使用shell命令来生成一个包含在特定范围内的随机十进制整数,该范围介于最小值和最大值之间。 我了解/dev/random,/dev/urandom和$RANDOM,但这些都不可以做什么,我需要。 还有其他有用的命令,还是使用先前数据的方法?


9
Vi vs Vim,或者,为什么我会想要使用Vi?
我对* NIX文本编辑器(目前是从迁移nano到vim)有所了解,并且在Unix&Linux SE上浏览了一下之后,在vi很多问题中都注意到它被用来代替'vim'。我知道'vim'代表'Vi IMproved',考虑到这一点,我想知道为什么有人宁愿使用vi代替vim。vi相对于vim有什么明显的优势吗? 编辑:我认为我的问题被误解了。我知道,在大多数情况下,vim比vi更加强大和功能完善。我想知道的是,在任何可能的情况下,vi都比vim更具优势,例如更少的内存使用,在* nix系统上的流行等。
84 vim  vi 

6
Bash历史记录:“ ignoredups”和“ erasedups”设置与跨会话的通用历史记录冲突
首先,这不是SE上任何现有线程的重复。我已经阅读了有关更好的bash历史的这两个线程(1st,2nd),但是没有一个答案有效--顺便说一下,我在Fedora 15上。 我将以下内容添加到.bashrc用户目录(/ home / aahan /)中的文件中,但它不起作用。有人知道吗? HISTCONTROL=ignoredups:erasedups # no duplicate entries HISTSIZE=1000 # custom history size HISTFILESIZE=100000 # custom history file size shopt -s histappend # append to history, don't overwrite it PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND" # Save and reload the history after each command finishes …


10
如何将文本从vim复制到外部程序?
我正在尝试从vim复制粘贴一些文本。我正在做v进入可视模式,然后在选择块后进行y。 似乎会将文本复制到vim的剪贴板中,因为p会将其粘贴。但是在另一个程序(例如Chrome)中,右键单击->粘贴不会粘贴正确的文本。如何将文本复制到正确的剪贴板?

7
使用sed查找并替换复杂的字符串(最好使用正则表达式)
我有一个包含以下内容的文件: <username><![CDATA[name]]></username> <password><![CDATA[password]]></password> <dbname><![CDATA[name]]></dbname> 并且我需要制作一个脚本,将第一行中的“名称”更改为“ something”,第二行中的“密码”更改为“ somethingelse”,第三行中的“ name”更改为“ somethingdifferent”。我不能依靠它们在文件中出现的顺序,因此我不能简单地将“名称”的第一次出现替换为“某物”,并将第二次出现的“名称”替换为“某物”。我实际上需要搜索周围的字符串,以确保找到并替换了正确的东西。 到目前为止,我已经尝试过以下命令来查找和替换第一个“名称”出现的位置: sed -i "s/<username><![CDATA[name]]><\/username>/something/g" file.xml 但是它不起作用,所以我认为其中某些字符可能需要转义,等等。 理想情况下,我希望能够使用正则表达式来匹配两个“用户名”的出现并仅替换“名称”。像这样的东西,但是sed: <username>.+?(name).+?</username> 并用“ something”代替括号中的内容。 这可能吗?

1
如何使tmux计数窗口从1开始而不是0?
我可以使用.screenrc中的此代码使GNU Screen开始用数字1而不是默认0来计数窗口: # Get rid of screen 0 bind c screen 1 bind ^c screen 1 bind 0 select 10 当我在.screenrc中创建窗口时,我使用screen 1了它,以便它首先尝试1,然后再计算该窗口号是否被占用。
84 tmux 

2
Cron vs Systemd计时器
最近向我指出,存在cron的替代方法,即systemd计时器。 但是,我对systemd或systemd计时器一无所知。我只用过cron。 Arch Wiki中有一些讨论。但是,我正在寻找cron和systemd计时器之间的详细比较,重点是优点和缺点。我使用Debian,但是我想对所有这两种可用的系统进行一般比较。该集合可能仅包括Linux发行版。 这就是我所知道的。 Cron很老,可以追溯到1970年代后期。cron的原始作者是Unix的创建者Ken Thompson。Vixie cron的历史可以追溯到1987年,其中Vixie cron是现代Linux发行版中的重头戏。 Systemd较新,并且颇有争议。维基百科告诉我它的最初版本是2010年3月30日。 因此,我当前的cron与systemd计时器相比的优点列表是: 从可安装的受支持软件的意义上讲,Cron被保证可以在任何类Unix系统中使用。那不会改变。相比之下,systemd将来可能会或可能不会保留在Linux发行版中。它主要是一个初始化系统,并且可以由其他初始化系统代替。 Cron易于使用。绝对比systemd计时器简单。 与cron相比,systemd计时器的优点列表如下: 系统计时器可能更灵活,功能更强大。但我想举个例子。 因此,总而言之,下面是一些可以在答案中看到的东西: cron计时器与systemd计时器的详细比较,包括使用每个计时器的利弊。 一个人可以做的事而另一个不能做的事的例子。 cron脚本与systemd timers脚本的至少一个并排比较。

3
在Linux上,密码哈希的第6个字符是什么,为什么经常用斜杠表示?
在Linux上,存储在其中的密码哈希的第六个字符是/etc/shadow什么? 在我的小狗式linux机器上,如果我尝试使用shuf和生成100个随机密码/dev/urandom,那么第六个字符/大约是一半的时间。 我的问题不是出于生产目的,因为每次从CD重新启动时都会启动它。这是否意味着我的系统在某种程度上配置错误或不安全? 我shuf继续查看文件是否是busybox链接。 file /usr/bin/shuf shuf: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped 我认为这不是这里shuf的busybox链接。 ls -l /usr/bin/shuf -rwxr-xr-x 1 root root 41568 Mar 7 2015 /usr/bin/shuf 而 ls -l /bin/wget lrwxrwxrwx 1 root root 14 Apr 29 03:49 wget …
83 password  shadow 

5
可用服务清单
是否有任何命令可以显示基于我的狂热的Debian操作系统中的所有可用服务? 我知道,为了查看可以使用的所有正在运行的服务service --status-all。
83 debian  services 

4
创建一个tar归档文件,分成最大大小的块
我需要备份一个很大的目录,但是我受到单个文件大小的限制。我实际上想创建一个tar.(gz|bz2)存档,该存档最多可拆分为200MB。Clonezilla通过拆分名称如下的映像备份来执行类似的操作: sda1.backup.tar.gz.aa sda1.backup.tar.gz.ab sda1.backup.tar.gz.ac 有一种方法可以在一个命令中执行此操作吗?我知道如何使用该split命令,但是我不想创建一个大型存档,然后将其拆分为较小的存档,因为这会使我最初创建存档所需的磁盘空间增加一倍。
83 backup  tar 

15
`touch`命令的合法用途是什么?
该touch命令的目的是什么?我知道我可以使用它创建空文件,但是使用也是这样echo -n。 否则,为什么有人需要更改文件的时间戳?除非造成对文件使用年限的错误印象,否则我看不到任何其他用途,并且这不是合法用途(从我的角度来看)。

7
从终端设置音量
是否可以使用终端而不是单击顶部栏中的扬声器图标来设置音量? 我要这样做的原因是我的键盘上没有音量增大/减小按钮,而鼠标却触手可及。


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.