Unix & Linux

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

5
cygwin中的find命令给出的参数格式不正确
我在Windows机器中使用cygwin。我正在尝试查找,并且给出的参数格式不正确。这是为什么? $ ls bootstrap.jar catalina-tasks.xml catalina.bat catalina.sh commons-daemon-native.tar.gz commons-daemon.jar cpappend.bat digest.bat digest.sh setclasspath.bat setclasspath.sh shutdown.bat shutdown.sh startup.bat startup.sh tomcat-juli.jar tomcat-native.tar.gz tool-wrapper.bat tool-wrapper.sh version.bat version.sh $ find . -name "version.sh" FIND: Parameter format not correct 在安装cygwin时是否应该安装任何东西,或者我做错了什么?
14 find  cygwin 

2
何时在环境变量和命令之间使用分号
谁能解释为什么必须用分号才能使LANGbash更新它? 不起作用: > LANG=Ja_JP bash -c "echo $LANG" en_US 作品: > LANG=Ja_JP ; bash -c "echo $LANG" Ja_JP 我正在使用Linux上的bash 4.1.10和cygwin下的相同版本

4
键盘快捷键将文本字符串发送给程序
如何配置快捷键以将文本字符串发送到当前程序? 目的是更快地键入常用条目(电子邮件地址,街道地址,电话号码,用户名,收藏夹引号等)。 除了输入文字外,我不需要任何进一步的自动化。 Gentoo Linux(3.2.12-gentoo)Xfce桌面环境(版本4.8)

2
如何在顶部查看完整的过程列表
当我执行“ top”时,我了解到有许多进程正在运行,其中许多处于睡眠状态。此时,我需要查看所有过程的完整快照。``顶部''能够在一个屏幕上显示流程列表,如何获得完整的列表? 除其他事项外,我对查看处于“睡眠”状态的所有进程的列表感兴趣。我不认为,我可以在“ ps”命令的输出中获取进程状态


1
lshw和lscpu在缓存上存在分歧-正确吗?
我试图找出有关缓存的详细信息(特别是哪些缓存在内核之间共享,哪些不在内核之间),并且陷入了不一致的境地。 sudo lshw 说 *-cache:0 description: L1 cache physical id: a slot: Internal Cache size: 64KiB capacity: 64KiB capabilities: synchronous internal write-back *-cache:1 description: L2 cache physical id: b slot: External Cache size: 8MiB capabilities: synchronous internal write-back 但lscpu声称 L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: …

2
“ tail -f | iconv -fsjis”不输出任何内容
我想要tail -f一个文件,但是它的内容是sjis编码的,所以我需要将其转换为终端的本机(utf-8)编码。 当我做 尾-fx | iconv -fsjis 没有输出。如 尾x | iconv -fsjis 确实起作用,起初我以为这是一个缓冲问题,但是尝试unbuffer并stdbuf按照关闭管道中的缓冲中的描述进行操作并没有帮助。 实际上,即使将超过10k的数据添加到x中,也不会有输出,所以我想这不是一个缓冲问题(如果我没记错的话,缓冲区是4k),但是iconv仅在以下情况下才开始输出它收到一个EOF。 那么,如何尾部跟踪我的sjis编码文件?
14 tail  buffer 

3
添加只能远程执行脚本的用户
我想创建一个只能做一件事的用户:通过ssh指定一个脚本(和脚本的命令行参数),该脚本驻留在一个特定的文件夹中(出于这个问题的目的,让我们称它为/local/remote_only_scripts/foo)并执行该脚本并返回它的输出。 为了清楚起见,我不希望用户能够执行以下操作: 在本地登录到该帐户。登录应用程序是/bin/login。它不是/local/remote_only_scripts/foo文件夹中的脚本,因此不应由用户调用。 远程登录帐户。再次登录(是ssh调用的内容?)不是相关文件夹中的脚本。 列出目录的内容。ls在/bin/ls。它不是相应目录中的脚本。 编辑该目录中的文件。emacs,vi,gedit大多数其他编辑器都不是该目录中的脚本。 查看该目录中文件的内容。 在该目录中执行他没有执行权限的文件。 请注意,这些是示例,还有许多其他我不希望用户执行的操作。在考虑一个动作时,问“这是由脚本来完成的/local/remote_only_scripts/foo吗?” 如果答案是否定的,则用户将无法执行此操作。如果答案是肯定的,那么用户应该能够做到。 PS:让我澄清一下“添加用户”的含义。我并不是说要向某个ssh子系统添加用户。我的意思是将用户添加到计算机系统。因此,例如,我有一个运行debian稳定版的系统,通过它的地址www.hg.bar.com对其进行调用。我想添加一个用户(通过kuser,users-admin或useradd或类似方式)给他打电话hg_guest。hg_guest无法本地登录或执行上面列表中的任何操作。hg_guest所能做的就是“远程”执行脚本。我说他应该可以通过ssh进行操作,但是现在考虑一下,也许允许他使用ssh可能允许他在本地登录,因此可能需要其他机制。

4
从ncurses应用程序调用的脚本输出中的转义序列
我目前正在我的家庭服务器上的tmux会话中将mcabber作为我的Jabber客户端(使用ncurses)运行。我在本地将iTerm2作为终端仿真器运行,它支持通过字符转义序列触发咆哮通知。 注意:echo此问题中的所有内容都类似printf %b,或echo -e在bash和GNU中工作echo。 例如,echo "\e]9;foobar\007"使iTerm2发送带有文本“ foobar”的Growl消息。 但是,在tmux会话中,转义序列会被吃掉。因此,\Ptmux可以像这样使用专有字符转义序列: echo "\ePtmux;\e\e]9;foobar\007\e\\" 这会在tmux会话中触发咆哮消息。 但是,当我在收到新消息时触发的mcabber事件脚本中使用此命令时,不会触发任何通知,就像将回声发送到错误的终端一样。 我想这与触发脚本的mcabber有关,它是一个ncurses应用程序,因此我普通bash脚本的输出丢失了,而iTerm 2却看不到它。 在回应发现的一些想法之前,我还尝试打电话给打sm而未成功 tput smcup echo "\ePtmux;\e\e]9;$FROM: $MSG\007\e\\" tput rmcup 我想这不起作用,因为问题不是切换回“真实终端窗口”,而是将输出直接定向到ncurses窗口。 关于这个有什么想法吗?

3
〜是$ HOME,但是有时吗?
光盘〜 做与 cd $HOME 这也和 cd /home/tandu 然而, cd ~not-tandu 更改为 /home/not-tandu 这纯粹是句法选择吗?如果忽略了其他所有内容,内核(或cd可执行文件)如何处理呢?是否有特殊情况~来添加斜杠?也就是说,~/并~切换到同一目录,但是~a是一个目录。对于您要更改到的任何其他目录,不能说相同的意思。
14 cd-command  home 

4
在文本中突出显示正则表达式的命令?
是否有命令突出显示文本中的某个表达式? 我正在寻找类似“搜索”功能的东西,但是要在stdout而不是less查看器上输出普通文本。 例: $ cat test.txt | highlight "an" 对于前景的距离Afgh有序撤出北约的 IST 的遭遇了两次挫折总统卡尔扎伊德国马克的关于美国军队DED限制的 d的塔里布的暂停和谈。 它可以使用颜色或任何其他方式突出显示指定的正则表达式。

3
“ ls -lh”报告的总大小小于单个大小的总和
在什么情况下ls -lh显示的总数小于单个文件的总数?例如: $ ls -lh /var/lib/nova/instances/_base total 100G -rw-rw-r-- 1 nova nova 4.3M 2012-02-14 14:07 00000001 -rw-rw-r-- 1 nova nova 5.7M 2012-02-14 14:07 00000002 -rw-rw-r-- 1 nova nova 42G 2012-03-08 15:24 1574bddb75c78a6fd2251d61e2993b5146201319.part -rw-rw-r-- 1 libvirt-qemu kvm 24M 2012-02-14 14:07 77de68daecd823babbb58edb1c8e14d7106e83bb_sm -rw-r--r-- 1 libvirt-qemu kvm 65G 2012-03-02 12:43 bd307a3ec329e10a2cff8fb87480823da114f8f4 -rw-rw-r-- 1 …
14 files  ls  disk-usage 


10
在哪里掌握对程序员最有用的linux命令?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 结合的力量xargs, cut, tail, grep, seq,令我惊讶。我应该从什么资源中获得有关对程序员最有用的linux命令的教程? 我对程序员最常使用的那些感兴趣,这将使我的生活更轻松。

4
在bash脚本中使用可变扩展查找-exec
我正在尝试在bash脚本中运行类似于以下命令的命令。它应搜索的所有子文件夹,$sourcedir并将特定类型的所有文件复制到的根级别$targetdir。 #!/bin/bash # These are set as arguments to the script, not hard-coded sourcedir="/path/to/sourcedir" targetdir="/path/to/targetdir" find "$sourcedir" -type f -name "*.type" -exec sh -c 'cp "$1" "$2/`basename "$1"`"' "{}" "$targetdir" \; 这似乎很接近,除了{}没有传递$2给-exec sh -c ... 我希望这样做尽可能接近“正确的方式”,并允许对文件名中的特殊字符(特别是单引号字符)进行容忍。 编辑:我看到有人建议使用xargs或参数链。我的印象是,这仅适用于有限数量的参数。例如,如果我有成千上万个.jpg文件,我正试图将它们从许多画廊目录中复制到一个巨大的幻灯片目录中,则解决方案链接参数仍然有效吗? 编辑2:我的问题是我_在-exec命令中的第一个选项sh之前缺少。对于任何对如何使find命令起作用感到好奇的人,添加_,一切都会好起来的: find "$sourcedir" -type f -name "*.type" -exec sh -c 'cp "$1" "$2"' …

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.