Unix & Linux

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


3
在Bash中的$(命令替换)中报价
在我的Bash环境中,我使用包含空格的变量,并且在命令替换中使用这些变量。不幸的是我找不到关于SE的答案。 引用变量的正确方法是什么?如果将它们嵌套,该怎么办? DIRNAME=$(dirname "$FILE") 还是我在替代词之外引用? DIRNAME="$(dirname $FILE)" 或两者? DIRNAME="$(dirname "$FILE")" 还是我会使用反引号? DIRNAME=`dirname "$FILE"` 什么是正确的方法?我如何轻松检查报价是否设置正确?

4
Shell逻辑运算符&&,||的优先级
我试图了解逻辑运算符优先级如何在bash中工作。例如,我曾期望,以下命令不会回显任何内容。 true || echo aaa && echo bbb 但是,与我的预期相反,bbb被印刷了。 可有人请解释一下,我怎样才能使复利感&&和||在bash运营商?
126 bash  shell 

9
如何删除文本文件中的重复行?
我的一个巨大的文本文件(最多2 GiB)包含其中每一行的大约100个精确重复项(对我而言,这是无用的,因为该文件是类似CSV的数据表)。 我需要的是在保持原始序列顺序的同时删除所有重复(最好是牺牲掉,但这可以显着提高性能)。结果,每一行都是唯一的。如果有100条相等的行(通常重复项分布在文件中并且不会成为邻居),则只剩下其中一种。 我已经用Scala编写了一个程序(如果您不了解Scala,请考虑使用Java)来实现此目的。但是,也许有更快的C编写的本机工具能够更快地做到这一点? 更新:awk '!seen[$0]++' filename只要文件接近2 GiB或更小,该解决方案对我来说似乎就很好,但是现在我要清理8 GiB文件就不再起作用了。在配备4 GiB RAM和配备4 GiB RAM和6 GiB交换功能的64位Windows 7 PC的Mac上,似乎占用了无限空间。鉴于这种经验,我并不热衷于在具有4 GiB RAM的Linux上进行尝试。

10
如何确定CentOS版本?
如何在不访问任何图形界面的情况下确定CentOS服务器的版本?我已经尝试了几个命令: # cat /proc/version Linux version 2.6.18-128.el5 (mockbuild@hs20-bc1-7.build.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) … # cat /etc/issue Red Hat Enterprise Linux Server release 5.3 (Tikanga) 但哪个是正确的:4.1.2-4 /proc/version或5.3 /etc/issue呢?
125 centos  version 

5
如何大写命令行参数?
我搜索了SO,发现将下面的字符串大写即可 str="Some string" echo ${str^^} 但是我试图在命令行参数上做类似的事情,这给了我以下错误 试过了 #!/bin/bash ## Output echo ${1^^} ## line 3: ${1^^}: bad substitution echo {$1^^} ## No error, but output was still smaller case i.e. no effect 我们该怎么做?





8
当RAM中有足够的可用空间时,为什么要使用swap?
使用交换空间代替RAM会大大降低 PC的速度。 那么,为什么当我有足够多的可用RAM时,我的Linux系统(Arch)是否使用交换? 在下面查看我的conky输出: 另外,这可能是我遇到的速度和系统响应性问题的原因吗? 输出free -m: $ free -m total used free shared buffers cached Mem: 1257 1004 252 0 51 778 -/+ buffers/cache: 174 1082 Swap: 502 144 357
124 performance  swap 

5
解压时如何选择目录名称
假设我有一个名为的文件ugly_name.tar,提取后该文件将成为ugly_name目录。我可以使用什么命令来pretty_name代替目录名称?
124 rename  tar 

3
在根文件系统中查找所有大文件
我有一台linux服务器,当前具有以下空间使用量: /dev/sda3 20G 15G 4.2G 78% / /dev/sda6 68G 42G 23G 65% /u01 /dev/sda2 30G 7.4G 21G 27% /opt /dev/sda1 99M 19M 76M 20% /boot tmpfs 48G 8.2G 39G 18% /dev/shm 如你看到的。/是78%。我想检查哪些文件或文件夹正在占用空间。 我尝试了这个: find . -type d -size +100M 结果显示如下: ./u01/app/june01.dbf ./u01/app/temp01.dbf ./u01/app/smprd501.dbf ./home/abhishek/centos.iso ./home/abhishek/filegroup128.jar 现在这是我的问题。我只想要位于/而不是/u01或的占用空间的文件夹中那些文件的名称/home。由于/这是一切的基础,因此它向我显示了服务器的每个文件。 是否有可能获得占78%的份额的大文件/?
124 find  disk-usage 

2
普通用户和系统用户有什么区别?
我正在阅读的一些文档对用户是“系统”用户还是“普通”用户(默认为“普通”)进行了布尔切换。 这两种使用方式的区别是什么?我不需要了解用户是什么或为什么需要他们(甚至是“假”用户),但是这种特殊的区别对我来说并不直观。
124 users 

9
更快地退出vim
我主要将Vim用于快速编辑,而不是长时间的工作。在这个意义上,我觉得戒烟特别费力的键盘序列Esc,Shift+ ;,w,q,Enter。 如何以最少的击键退出Vim(可能保存文档)?特别是在插入模式下。

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.