Unix & Linux

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

6
在Linux上,git是否有可用的gui前端?
我以前是Windows用户,刚开始使用ubuntu。在Windows上,我们有两个很棒的软件:TortoiseSVN和TortoiseGit。两者都是非常好的程序,它们使我们能够执行所有操作,例如提交,回滚,合并,查看历史记录,浏览存储库等,而无需知道单个cli命令。 现在在Linux上,我发现很难记住所有命令的git命令。git push和git remote add罚款。但是合并特别乏味,尤其是解决冲突。在TortoiseGit中,只需单击几下鼠标即可! 我已经找到了git-gui等废话,但是这些功能与TortoiseGit没什么可比的。为什么在Linux系统上没有完整的TortoiseGit端口?
25 software-rec  git  gui 

5
如何在终端上没有换行的情况下读取4k输入?
因此我在剪贴板上有很多数据而没有新行(一行上是一个很大的SVG文件)。我去了 $ cat >file.svg 然后尝试粘贴(在Gnome终端中),但只接受前4kB个字符。 我认为这是一个readline功能/局限性。 有没有一种可以从STDIN读取的方法来避免此问题? 编辑 测试用例:创建一个演示文件。这个将带有〜4k“ =”符号,后跟“ foo bar”。 { printf '=%.0s' {1..4095} ; echo "foo bar" ; } > test.in 将其复制到剪贴板 xclip test.in (如果要单击鼠标中键以插入)或 xclip -selection clipboard test.in (如果您想使用Ctrl-Shift-Insert粘贴它) 然后cat >test.out,粘贴(以任何一种方式)。按Ctrl-D结束流。cat test.out-您看到“ foo bar”了吗? 在我的设置(Ubuntu 12.04,Gnome Terminal,zsh)上,粘贴时,我只会看到,=而看不到foo bar。我检查的时候也一样test.out。

1
如何重定向命令完成输出?
在命令行上,我可以使用命令后的>or |运算符将命令的输出重定向或通过管道传递到文件或其他命令。我遇到了一种不太标准的情况,我想将输出重定向到文件,但是似乎没有重定向的机会: 在新航站楼, [chiliNUT ~]$ 如果我Tab没有先输入就按,我会被问到 display all 1725 possibilities? (y or n) 如果输入y,我会得到一长串不同的命令。如何将输出重定向或通过管道传输到文件?我似乎没有机会在> myfile.txt任何地方打字。 使用CentOS版本6.4(最终版)。

3
在bash中测试tar文件的完整性
我有一个创建'.tar'文件的bash脚本。创建文件后,如果完整性不好,我想测试其完整性并向root用户发送电子邮件。 我知道我需要使用命令tar -tf /root/archive.tar来检查文件的完整性,但是我将如何在bash if语句中实现此功能并检查错误?
25 bash  tar 

4
安装vim时出现事务检查错误?
我最近将fedora更新为20,并想安装vim。,但运行sudo yum install vim返回此错误: Transaction check error: file /usr/share/man/man1/vim.1.gz from install of vim-common-2:7.4.179-1.fc20.x86_64 conflicts with file from package vim-minimal-2:7.4.027-2.fc20.x86_64 Error Summary ------------- 如何解决这个问题?
25 fedora  vim  yum 

4
如何在两个时间戳之间提取日志
我想提取两个时间戳之间的所有日志。有些行可能没有时间戳,但我也想要这些行。简而言之,我希望每一行都落在两个时间戳下。我的日志结构如下: [2014-04-07 23:59:58] CheckForCallAction [ERROR] Exception caught in +CheckForCallAction :: null --Checking user-- Post [2014-04-08 00:00:03] MobileAppRequestFilter [DEBUG] Action requested checkforcall 假设我要提取2014-04-07 23:00和之间的所有内容2014-04-08 02:00。 请注意,日志中可能没有开始时间戳或结束时间戳,但是我希望这两个时间戳之间的每一行。


2
为什么默认情况下,Linux与Windows相比电池寿命较差?
Linux操作系统固有的某些功能使它们在默认情况下不适合作为电池电量管理器吗?我本来以为像Lubuntu这样的轻型发行版比Windows拥有明显的电池寿命优势,但事实并非如此。这是硬件供应商的问题吗?笔记本电脑的设计是否旨在与Windows操作系统一起更高效地工作? 例如,根据我在同一台笔记本电脑上的经验,与Windows相比,给定的linux发行版似乎总是电池寿命较差。我的旧笔记本电脑(Thinkpad X61)在启动进入Lubuntu时的使用寿命是使用Windows XP时的一半。在较新的型号上,使用Fedora 20与Windows 8.1时,我得到的性能类似。

2
连接文件的最快方法
我有10k +个文件,总计超过20GB,我需要将它们串联成一个文件。 有没有比这更快的方法 cat input_file* >> out ? 首选方式是bash命令,即使不是相当慢,Python也是可以接受的。
25 bash  shell-script  files  cat 

3
为什么不能使用renice来增加流程的价值?
来自man renice: 超级用户以外的用户只能更改其拥有的进程的优先级,并且只能在0到PRIO_MAX(20)的范围内单调增加其“ nice值”(出于安全原因)[...] 因此,我可以将renice自己的进程向上(给它们较低的优先级),但从不向下: $ renice 10 22316 22316 (process ID) old priority 0, new priority 10 $ renice 9 22316 renice: failed to set priority for 22316 (process ID): Permission denied 为什么是这样?我能理解为什么普通用户不能将漂亮的值设置为小于0的原因,但是为什么可以将优先级降低到10却又不能将其提高到9?这有什么“安全原因”?我有权启动一个值为9的进程,那么为什么我不能将其降为9? 编辑:我应该学会向下滚动。事实证明,这已列为bug man renice: BUGS Non super-users can not increase scheduling priorities of their own processes, even …
25 nice  priority 

3
将文件转换为/ dev / null会破坏dev / null
如果我这样做:touch file; mv file /dev/null作为根,/dev/null消失。 ls -lad /dev/null导致没有这样的文件或目录。这样会破坏/dev/null像SSH 这样依赖的应用程序,并且可以通过这样做来解决mknod /dev/null c 1 3; chmod 666 /dev/null。为什么将常规文件移动到该特殊文件会导致消失/dev/null? 澄清一下,这是出于测试目的,我了解该mv命令的工作原理。我很好奇的是为什么ls -la /dev/null在用常规文件替换之前会显示预期的输出,但是之后却显示/dev/null不存在,即使据称是通过原始mv命令创建的,并且file命令显示了ASCII文本。我认为这必须是ls命令行为与devfs非特殊文件替换字符/特殊文件时的组合。这是在Mac OS X上,其行为可能在其他OS上有所不同。
25 osx  devices  null 


8
箭头键自发停止在Vim中工作
我最近从OS X 10.6(我认为)升级到10.9。从那时起,似乎在进行编辑时vim,箭头键将“自发地”停止工作。 一次,我无奈地“捣碎”了其中一个箭头键,并最终看到“ E388无法找到定义”错误。我经历过的所有其他时间,已经使用了一段时间的箭头突然开始对我叮叮当当! 退出并重新打开可以暂时解决问题。但是,我想阻止它! 有人知道这可能是什么吗?以及如何解决? 好像我的默认值vimrc在更新过程中被修改了。如果我的记忆正确,那以前是一个很大的文件。现在,它只包含以下内容: " Configuration file for vim set modelines=0 " CVE-2007-2438 " Normally we use vim-extensions. If you want true vi-compatibility " remove change the following statements set nocompatible " Use Vim defaults instead of 100% vi compatibility set backspace=2 " more powerful backspacing …
25 vim 

3
l,ls和la —有什么区别?这些命令中还有更多吗?
因此,通过键入几个命令,我发现不仅有ls,而且l还有la。man在Ubuntu 12.14上似乎没有任何条目。他们似乎都在做类似的事情,但有细微的差别: $ ls app config CONTRIBUTING.md doc Gemfile Guardfile LICENSE MAINTENANCE.md Procfile Rakefile script tmp VERSION CHANGELOG config.ru db features Gemfile.lock lib log PROCESS.md public README.md spec vendor $ la app CHANGELOG config.ru db features Gemfile .git Guardfile LICENSE MAINTENANCE.md Procfile Rakefile .rspec .secret spec .travis.yml VERSION .bundle config …
25 ubuntu  alias  bashrc 

3
shellcheck建议不要使用basename:为什么?
我正在尝试shellcheck。 我有这样的东西 basename "${OPENSSL}" 我得到以下建议 Use parameter expansion instead, such as ${var##*/}. 从实际的角度来看,我认为没有区别 $ export OPENSSL=/opt/local/bin/openssl $ basename ${OPENSSL} openssl $ echo ${OPENSSL##*/} openssl 由于basename是POSIX规范中的内容,因此我不认为这是最佳实践。有什么提示吗?

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.