Questions tagged «command-line»

命令行是您的Shell的交互式界面。

4
CentOS:安装文本文件中列出的软件包?
我有一个现有的CentOS安装,我想安装额外的软件包。清单中提供了要安装的软件包,每行一个软件包,如下所示: .... Cluster_Administration-en-US.noarch ElectricFence.x86_64 GConf2.i386 GConf2.x86_64 GConf2-devel.i386 GConf2-devel.x86_64 Global_File_System-en-US.noarch ImageMagick.i386 ... 使用此文本文件,有没有办法安装列出的每个软件包?我怀疑该列表实际上是在最初设置操作系统时可能已经安装的“所有”软件包的列表。


4
通过脚本查找已卸载分区的文件系统
我正在使用AIF(Arch安装框架)编写自定义自动安装,并且需要在给定分区的分区上找到文件系统。 到目前为止,我有这个: grok_partitions () { local partitions= for label in `ls /dev/disk/by-label | grep "Arch"` do if [ $label == "Arch" ] then mount_point="/" else IFS="-" read base mount <<< "${label}" mount_point="/${mount}" fi local partition=$(readlink -f /dev/disk/by-label/${label}) local part_no=$(echo ${partition} | grep -Po '\d+') local fs=$(parted -mls | grep "^${part_no}" …


6
使用先前命令输出中的文本
EDIT,2015年4月:如果您有相同的问题,建议您同时检查http://xiki.org/ 我知道这不是终端的工作方式,但是我发现自己经常希望有一种简便的方法来使用文本(复制,修改等),该文本已经在终端窗口历史记录中的某些先前命令输出中了。 我已经想象过像这样: 我正在bash shell中输入命令,我意识到我需要输入屏幕上方几行已经显示的内容。我可以拿起鼠标并选择它,但是我讨厌这样做。我现在真正希望的是我的整个终端都变成了一个巨大的Vim缓冲区,所有的一切:提示,我键入的命令以及这些命令的输出。一切。然后我可以跳几行,也许要编辑一些,然后拉一些文本。然后,返回bash shell模式,并将我拖拉的所有内容粘贴到当前命令行中。 我知道有一些选择: 自然地,将需要的文本直接从某个命令的输出管道传输到文件,或者直接传输到下一个命令。但是为此,您必须事先计划或从历史记录中重新执行命令(假设在两次调用之间输出不会更改)。 触摸鼠标并选择要复制的文本。me脚,烦人,我希望我没有这样做,(这不是GUI stackexchange网站,对吗?=) 要使用我的(Mac OS X)终端应用程序的“将文本导出为...”选项,并将终端文本保存到文件中。然后打开文件并使用它。差不多了,但是为什么要经过保存到磁盘上文件的步骤呢? 所以问题是:在这种情况下您会做什么?在这种情况下,是否有任何有用的技巧,工具,shell功能?您是否辞职以使用鼠标或重新键入需要输入的内容? 可能是问题出在,我不是按照“ unix方式”运行,但是请问,这是2010年,我不能轻易地将一些文本复制到距光标几行的地方吗?


2
使用更新替代方法添加替代方法的更好方法?
我已经看了update-alternatives几次手册,但是找不到如何显示指向特定替代方案的当前链接,并且在添加新替代方案时需要这些信息。 从update-alternatives手册中: --install <link> <name> <path> <priority> 假设我想添加一个新版本的Java Runtime Edition,但我不知道当前链接到Alternative(<link>参数)的符号链接。我目前正在做的是: sudo update-alternatives --install /tmp/randomStuff java /usr/local/java/jre1.7.0_25/bin/java 0 该命令将输出: update-alternatives: renaming java link from /usr/local/bin/java to /tmp/randomStuff. 阅读输出,我发现了指向替代项的旧链接,因此我终于可以使用正确的<link>参数再次运行命令,更改/tmp/randomStuff为/usr/local/bin/java: sudo update-alternatives --install /usr/local/bin/java java /usr/local/java/jre1.7.0_25/bin/java 0 效果很好,但是如您所见,以/tmp/randomStuffas为<link>参数运行命令非常尴尬。 因此,出现了以下问题:(1)是否有任何update-alternative参数可以输出指向特定替代方案的当前链接,或者(2)是否有一种无需提供新参数即可安装新替代方案的方法,只需保持最新<link>?

2
ls --hide =和ls --ignore =的语法
ls --hide并ls --ignore提供了省略通过--ignore=零件后设置的正则表达式定义的文件的可能性。后者确保不会通过禁用此选项-a, -A。该命令man和info页面提到了正则表达式。 问题:ls --hide=和中支持哪些通配符或正则表达式ls --ignore=。 我发现它* $ ?以及POSIX Bracket Expressions似乎都受支持。但这似乎并非一直都能正常工作,对我来说更像是反复试验的游戏。我在这里错过了重要的事情吗?

4
如何退出sh程序?
我弄乱了命令并写道 sh -man 现在,我进入了一个sh-3.2似乎无法退出的程序。 Ctrlc,Ctrlz或Ctrlx不起作用。 exit,quit,q,:q也不起作用。 所有的google答案都是用于以编程方式退出shell脚本。

8
如何查找内容中包含100%NUL字符的文件?
可以识别此类文件的Linux命令行命令是什么? AFAIK该find命令(或grep)只能匹配文本文件中的特定字符串。但是我想匹配所有内容,即我想查看哪些文件匹配正则表达式\0+,而忽略行尾字符。也许这个find . cat | grep成语可能有效,但是我不知道如何使grep忽略行(并将文件视为二进制文件)。 背景:每隔几天,当我的笔记本电脑死机时,我的btrfs分区就会丢失信息:为写入而打开的文件将其内容替换为零(文件大小或多或少保持不变)。我使用同步,并且我不想传播这些假文件:我需要一种识别它们的方法,以便可以从备份中获取它们。

9
使用ncal或cal以某种格式显示星期数
当两个命令各自执行您想要的一件事而两个都不都想要时,您是否就喜欢它? 这是做什么的cal。格式不错。虽然缺少周数: $ cal January 2012 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 这是做什么的ncal。格式很奇怪,但是有周数: $ ncal -w January 2012 …

2
来自moreutils的海绵-外壳重定向有什么区别?有用的例子?
> brew install moreutils ==> Downloading https://homebrew.bintray.com/bottles/moreutils-0.55.yosemite.bottle.tar.gz ######################################################################## 100.0% ==> Pouring moreutils0.55.yosemite.bottle.tar.gz 🍺 /usr/local/Cellar/moreutils/0.55: 67 files, 740K 海绵读取标准输入并将其写到指定文件中。与Shell重定向不同,海绵在写入输出文件之前先吸收所有输入。这允许构造读取和写入同一文件的管道。 我不明白 请给我一些有用的例子。 什么吸收了是什么意思?

1
典型的炮弹“叉子炸弹”到底如何称呼自己两次?
在询问了Askubuntu和许多其他Stack Exchange网站上著名的Fork Bomb问题之后,我不太明白每个人都在说什么,这很明显。 许多答案(最佳示例)都这样说: “ {:|: &}表示运行功能:并将其输出:再次发送到功能” 好吧,确切的输出是:什么?传递给对方的是:什么? 并且: 本质上,您正在创建一个函数,该函数每次调用都会调用两次,并且无法终止自身。 两次执行的精确度如何?在我看来,:直到第一个:完成执行之前,任何内容都不会传递给第二个,实际上这将永远不会结束。 在C例如, foo() { foo(); foo(); // never executed } 第二个foo()根本不执行,只是因为第一个foo()永远不会结束。 我在想,同样的逻辑也适用于:(){ :|: & };:和 :(){ : & };: 做与 :(){ :|: & };: 请帮助我理解逻辑。



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.