Questions tagged «shell»

Shell是最常用于类Unix操作系统的命令行解释器的术语,但也用于以更细化的方式与基于GUI的操作系统进行交互。它不仅允许用户从文本界面运行程序,而且经常提供基本的编程功能,例如变量,替换,输出重定向和通配符。


5
如何删除许多(200 000)文件?
我必须从文件夹中删除20万个文件(全部),并且我不想删除文件夹本身。 使用rm时,出现“参数列表过长”错误。我尝试使用xargs进行操作,但是我不是Shell Guy,所以它不起作用: find -name * | xargs rm -f


4
计算从一个进程流到另一个进程的字节数
我正在运行一个Shell脚本,该脚本将数据从一个进程传输到另一个进程 process_a | process_b 有谁知道一种方法来找出两个程序之间传递了多少字节?我目前唯一能想到的解决方案是编写一个小的c程序,该程序从stdin读取,写入stdout并对所有传输的数据进行计数,并将计数存储在环境变量中,例如: process_a | count_bytes | process_b 有人有更整洁的解决方案吗?
17 bash  shell  pipe 

1
强制“网络用户”命令设置密码超过14个字符
我正在发布一些“网络用户”命令,以出于某些测试目的在桌面上设置本地用户,并且需要设置长度超过14个字符的密码。这样,Windows会吠出一个提示来确认长密码,而我想知道是否有人知道如何抑制该提示并强制设置长密码。通过发出以下命令,您可以看到我正在说的提示... net user MyUser MyPasswordIsReallyLong /ADD 触发以下提示 输入的密码超过14个字符。使用Windows 2000之前的Windows的计算机将无法使用此帐户。您要继续执行此操作吗?(是/否)[是]: 另外,一位资深会员可以帮助创建以下标签:net-user

10
如何确定我是否通过SSH登录?
我当前正在设置一个相当复杂的bash配置,该配置将在多台机器上使用。我尝试找出是否可以确定我是通过SSH还是在本地计算机上登录。这样,例如,我可以根据该事实设置一些别名。就像别名一样halt,restart因为停止远程服务器可能不是最好的选择。 到目前为止,我所知道的是,SSH_CLIENT当我通过ssh登录时设置了环境变量。不幸的是,当我使用启动超级用户外壳程序时,此变量被丢弃sudo -s。我也知道我可以将参数传递给sudo,指示sudo将所有环境变量复制到新的shell环境中,但是如果我不想这样做,还有其他方法吗?
17 linux  ssh  shell 

4
Shell =检查变量是否以#开头
如果您能帮助我如何弄清楚,如何确定变量的内容是否以井号开头,我将不胜感激: #!bin/sh myvar="#comment asfasfasdf" if [ myvar = #* ] 这行不通。 谢谢! 扬斯
16 linux  shell 

3
我的制表符完成和向上箭头行为在哪里?(Ubuntu 10.04)
我是Linux的新手,正在尝试由主机预先配置的Ubuntu 10.04。 当我使用预配置的帐户登录(SSH)时,shell提示符为:user @ hostname:〜$ 向上箭头在最近的Shell命令列表中滚动,按Tab键完成功能可以正常工作。 但是,当我创建一个帐户并使用该帐户登录(SSH)时,shell提示符只是“ $”,而向上箭头仅显示控制字符(^ [[A)。 谁能告诉我如何设置提示,制表符完成和向上箭头行为?上箭头时我得到控制字符的事实使我觉得我的帐户(或会话)处于某种我不熟悉的模式。 我知道在bashrc中存储了我无法注释的制表符完成代码,但是即使注销并重新登录后,它似乎也没有任何作用。 当我使用新帐户SSH进行登录时,我是否处于某种奇怪的模式,还是仅需要设置一些会话/帐户设置,并且只要知道要查找的内容就可以在Internet上的任何地方找到信息?
16 linux  ssh  shell  accounts 

7
如何在crontab中使用别名?
我有一些.profile要从我的命令中调用的命令crontab。 例如,如果我有, alias notify-me="~/bin/notify.pl -u user1" alias notify-team="~/bin/notify.pl -u user1 user2 user3 user4 ...." 我只想调用别名 0 11 * * * notify-team 因此,如果我的列表.profile已更新,则也不必更新crontab。但是,我似乎无法在中使用别名crontab。有没有解决的办法? 我尝试了这里的建议来设置环境(例如/ bin / bash -lc和script-wrapper脚本)。似乎适用于脚本,但不适用于别名。 有任何想法吗?
16 shell  cron  alias 

5
nc(netcat)在UDP模式下挂起,等待更多数据。
我正在尝试在读取块内通过nc向statsd发送一个小字符串: while read line; do printf "folder.counter:value|1c" | nc -q 0 -u $host $port done 不幸的是,在UDP模式下,即使我已指定nc,nc似乎也希望无限期等待-q 0,该手册页上的内容将使程序在EOF之后立即退出。 我尝试过传递-w 1,但是如果我发送的数据每秒以多于一行的速度输入,则数据会缓冲起来,并且我会丢失实时统计信息(更不用说冒着某种类型的缓冲区溢出的风险了)。 是否可以使用netcat进行我想做的事情,还是我需要用具有statsd库的语言编写某些内容?
16 shell  netcat  statsd 


2
Bash提示低于输出-背景日志尾
我曾经在一家拥有定制外壳程序的公司工作,该外壳程序用于管理在Linux上运行的其中一种产品,并且我希望复制该外壳程序的关键功能。 所有工作都是通过后台进程完成的,日志的输出显示给所有连接的用户。 日志将在外壳的背景中尾部出现,并且提示行将始终完美地位于底部。 例如 Log line 1 Log line 2 Log line 3 ![ROOT@PRODUCT51-LIVE]:~/ # 我尝试使用bash进行此操作的方法是在用户.bashrc文件中启动一个分离的尾巴,但是当命令的输出发送到stdout时-它出现在bash提示符下,例如 ![ROOT@PRODUCT51-LIVE]:~/ #Log line 1 Log line 2 Log line 3 用户必须按Enter或输入CtrlC干净提示行。 我没有关于如何使提示始终跳到输出底部的想法,并且我认为我使用了错误的术语来在Google上找到任何内容,因为我没有运气-有人知道如何做到这一点用bash?
15 linux  bash  shell  tail 


8
使ls全部打印在一行上(就像在终端上一样)
ls 根据输出是终端输出还是其他输出,打印结果会有所不同。 例如: $ ls . file1 file2 $ ls . | head file1 file2 有什么方法可以使ls打印在一行上,就像没有打印到终端上一样。有一种-C说法是sorta可以做到这一点,但是它将把它分成几行。 $ ls file1 file10 file11 file12 file13 file14 file15 file16 file17 file18 file19 file2 file3 file4 file5 file6 file7 file8 file9 $ ls -C . | head file1 file11 file13 file15 file17 file19 file3 …

4
在单用户模式下如何启动第二个Shell?
这听起来似乎有点矛盾,但是最近我需要在一段时间(几天!)内使用单用户模式(又称维护模式)来尝试重建损坏的RAID阵列。 在执行此操作时,我发现自己想使用第二个Shell进行诸如检查/编辑各种配置文件中的设置或查看系统日志(而主控制台(也是唯一的控制台)捆绑执行某些恢复过程)的事情。 在另一个tty上启动第二个shell的推荐命令是什么? 显然,一种方法可能是screen在tty1中使用,但是要切换与Alt-F1,Alt-F2等的会话并不容易。
14 linux  shell 

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.