Questions tagged «command-line»

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


2
Ctrl + D结束终端线输入
如果我做 $ cat > file.txt 文本Ctrl- DCtrl-D 问题1:如果我不按回车,为什么我必须按Ctrl- D两次? 如果我做 $ cat > file.txt 帕彭普什Ctrl-Z [2]+ Stopped cat > file.txt $ cat file.txt $ cat > file.txt 帕班普什 Ctrl--Z [2]+ Stopped cat > file.txt $ cat file.txt pa bam pshhh 为什么第二次使用1行文件?

6
除了`>>`以外,还有另一种简单的方法可以将行附加到文件末尾吗?
最近,我在tree_hole文件中回覆了简短的句子。 我曾经echo 'something' >> tree_hole用来做这项工作。 但是我总是担心如果我输入的>不是而不是怎么办>>,因为我经常这样做。 因此,我在bashrc中制作了自己的全局bash函数: function th { echo "$1" >> /Users/zen1/zen/pythonstudy/tree_hole; } export -f th 但是我想知道是否还有另一种简单的方法可以将行添加到文件末尾。因为我可能需要在其他场合经常使用它。 有没有?

1
ls在小目录中花费很长时间
运行Ubuntu,我打开一个终端并执行 sudo bash cd / ls | head -n 1000 并预计返回大约20个目录。 但是,如果我执行ls,并且不将其插入任何东西,ls会一直挂在那里,直到我从另一个终端杀死它为止。可能会发生什么? 编辑: > type ls ls is aliased to `ls --color=auto` 编辑: > /bin/ls / <normal response> > /bin/ls --color=auto <hangs indefinitely> 为什么为ls的输出着色会导致此命令挂起?
21 shell  command-line  files  ls 

6
命令行友好的电子表格
这样的事情存在吗?基于文本的电子表格可以在CLI环境中很好地显示。我知道我可以cat foobar.csv并且愿意做,但这并不是特别实用或有吸引力。我无法想象设置表格的格式会很困难,也许还要遵循某些规则(算术?)。 Emacs具有org-mode可以很好地处理基于文本的表的功能,并允许导出为多种格式。但是,必须使用Emacs!作为Vim用户,我宁愿避免使用。



4
如何杀死进程的特定线程?
$ ps -e -T | grep myp | grep -v grep 797 797 ? 00:00:00 myp 797 798 ? 00:00:00 myp 797 799 ? 00:00:00 myp 797 800 ? 00:00:00 myp 这显示了mypPID = 797 的过程以及四个具有不同SPID的线程。 我如何才能杀死进程的特定线程而又不杀死整个进程。我知道,在某些情况下,如果特定线程上存在致命依赖关系,则可能根本不可能。但是,在任何情况下都有可能吗?是的,如何? 我尝试过kill 799,该过程本身已终止。现在,我不确定这是由于myp没有该进程800而导致依赖项失败,还是因为kill很简单,无法杀死单个进程。

2
日期命令给12月31日提供了错误的星期数
当我尝试获取12月31日的星期数时,它返回1。当我获取12月30日的星期数时,我得到52 ---这是我期望的。星期一是正确的一天。这是在运行Ubuntu的RPI上。 $ date -d "2018-12-30T1:58:55" +"%V%a" 52Sun $ date -d "2018-12-31T1:58:55" +"%V%a" 01Mon 没有时间字符串的相同问题 $ date -d "2018-12-31" +"%V%a" 01Mon

2
ss-Linux套接字统计实用程序输出格式
使用sswith -p选项时,user/pid/fd列会跳到特定行的下面。例如,这就是我实际看到的: # ss -nulp4 State Recv-Q Send-Q Local Address:Port Peer Address:Port UNCONN 0 0 *:20000 *:* users:(("perl",pid=9316,fd=6)) UNCONN 0 0 *:10000 *:* users:(("perl",pid=9277,fd=6)) UNCONN 0 0 192.168.100.10:53 *:* users:(("named",pid=95,fd=517),("named",pid=95,fd=516)) UNCONN 0 0 127.0.0.1:53 *:* users:(("named",pid=95,fd=515),("named",pid=95,fd=514)) 首选输出格式: # ss -nulp4 State Recv-Q Send-Q Local Address:Port Peer Address:Port UNCONN 0 0 …

6
如何移动前x个文件
我有一个包含数千个无序文件的巨大文件夹。通过mv命令将前5000个移动到子文件夹是否可行?现在我用 mv *some_pattern* ./subfolder1/ 到目前为止,我非常随机地移动图像,如果每个子文件夹中没有完全5000个文件,这并不重要。有更好的方法吗?

5
输出两个文本文件的公共行(相似性)(与diff相反)?
Diff是显示两个文件之间的更改的好工具。但是如何显示两个文本文件的相似性(同时忽略差异)呢? 即样本输入: a: Foo Bar X Hello World 42 b: Foo Baz Hello World 23 伪输出(类似这样): @@ 2,3 =Hello World 仅对两个文件进行排序并使用comm是不够的,因为在这种情况下,行信息会丢失。

3
在bash中为> 1个程序传递密码的安全方法
我正在编写bash脚本,需要询问用户密码并将其传递给openssl。虽然openssl可以读取密码本身,但我需要运行两次程序,并且不想两次询问用户。这是脚本: cp file{,.old} read -sp 'Enter password. ' PASS; echo export PASS # decode | edit | encode openssl enc -d -aes-256-cbc -k "$PASS" -in file.old | \ sed ... | openssl enc -e -aes-256-cbc -k "$PASS" -out file unset PASS 这是不安全的,因为通过查看命令行很容易获得密码。ps例如,有人可以使用阅读它。 openssl可以从环境变量中读取密码,因此可以替换-k "$PASS"为-pass env:PASS,但这仍然不安全;任何进程的环境变量都可以自由读取(再次ps可以做到)。 那么,如何安全地将密码传递给两个openssl实例?

6
是否可以选择在Linux上替换GNU coreutils?
我一直在考虑停止在Linux系统上使用GNU Coreutils,但是老实说,与许多其他GNU组件不同,我想不出任何替代方法(在Linux上)。GNU coreutils有哪些替代方案?我需要多个包裹吗?链接项目是命名发行包的必不可少的奖励点。 另外,除非您知道它们可以在Linux上运行并且可以参考说明,否则请不要提出任何建议。我怀疑我是否会很快切换内核,而对于简单性之外的任何事情我都太懒了./configure; make; make install。我当然不会为此而破解C。 警告:如果您的发行版使用coreutils,则删除它们可能会破坏发行版功能。但是,不要让它们成为您的第一$PATH也不应该破坏事情,因为大多数脚本应该使用绝对路径。


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.