Unix & Linux

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

10
在目录列表中显示文件大小总和
Windows dir目录列表命令的末尾有一行,显示列出的文件占用的空间总量。例如,dir *.exe显示.exe当前目录中的所有文件,文件大小以及文件大小的总和。我希望dir在bash中使用别名具有类似的功能,但是我不确定该怎么做。 目前,我有alias dir='ls -FaGl'我的.bash_profile,显示 drwxr-x---+ 24 mattdmo 4096 Mar 14 16:35 ./ drwxr-x--x. 256 root 12288 Apr 8 21:29 ../ -rw------- 1 mattdmo 13795 Apr 4 17:52 .bash_history -rw-r--r-- 1 mattdmo 18 May 10 2012 .bash_logout -rw-r--r-- 1 mattdmo 395 Dec 9 17:33 .bash_profile -rw-r--r-- 1 mattdmo 176 …
71 bash  shell-script  awk  ls 


12
tar --exclude不排除。为什么?
我在bash脚本中有这条非常简单的行,该脚本可以成功执行(即生成_data.tar文件),除了它不排除通过--exclude选项告知其被排除的子目录外: /bin/tar -cf /home/_data.tar --exclude='/data/sub1/*' --exclude='/data/sub2/*' --exclude='/data/sub3/*' --exclude='/data/sub4/*' --exclude='/data/sub5/*' /data 相反,它将生成一个_data.tar文件,其中包含/ data下的所有内容,包括我要排除的子目录中的文件。 知道为什么吗?以及如何解决这个问题? 更新我根据下面第一个答案中提供的链接实现了我的观察(首先是顶层目录,最后一个排除后没有空格): /bin/tar -cf /home/_data.tar /data --exclude='/data/sub1/*' --exclude='/data/sub2/*' --exclude='/data/sub3/*' --exclude='/data/sub4/*' --exclude='/data/sub5/*' 但这没有帮助。所有“排除的”子目录都存在于结果_data.tar文件中。 这令人困惑。无论这是当前tar中的错误(CentOS 6.2,Linux 2.6.32上的GNU tar 1.23)还是tar对空白和其他易于忽略的错别字的“极端敏感性”,我都认为这是一个错误。目前。 这太可怕了:我尝试了以下建议的见解(无尾随/*),但在生产脚本中仍然无效: /bin/tar -cf /home/_data.tar /data --exclude='/data/sub1' --exclude='/data/sub2' --exclude='/data/sub3' --exclude='/data/sub4' 除了引号和2个空格(而不是1),我看不到尝试和@Richard Perrin尝试的内容之间的任何区别。我将尝试这种方式(必须等待每晚运行的脚本作为要备份的目录)数量庞大)并进行报告。 /bin/tar -cf /home/_data.tar /data --exclude=/data/sub1 --exclude=/data/sub2 --exclude=/data/sub3 --exclude=/data/sub4 我开始认为所有这些tar --exclude敏感性不是焦油的而是环境中的某种东西,但是那又会是什么呢? …
71 tar 


5
“ cat”和“ cat <”之间的区别
我正在研究一个教程,看到了cat myfile.txt和两者的用法cat &lt; myfile.txt。这两个命令序列之间有区别吗?似乎两个文件的内容都打印到外壳。
70 cat 


2
如何grep cURL的输出?
我需要检索SSL证书的到期日期。该curl应用程序确实提供了以下信息: $ curl -v https://google.com/ * Hostname was NOT found in DNS cache * Trying 212.179.180.121... * Connected to google.com (212.179.180.121) port 443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS handshake, Server hello (2): * …

4
ls命令不适用于包含大量文件的目录
我的目录有大约500万个文件。当我尝试ls从此目录中运行命令时,系统消耗了大量内存,并且一段时间后挂起。除了使用ls命令以外,是否有一种有效的方法来列出文件?
70 ls 

9
bash-用新行替换空间
如何在输入中用换行符替换空格: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 等等... 要获得以下内容: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 注意 我正在发布此问题以帮助其他用户,在我开始键入此问题之前,要在UNIX SE上找到有用的答案并不容易。之后,我发现了以下内容: 相关问题 如何查找并替换为新行?

6
什么不放在SSD上?
我购买了SSD,然后将使用全新的Linux安装程序来安装台式机系统。 SSD已知速度很快,但有一个缺点:写入次数(每块?)是有限的。 因此,我正在考虑哪些数据应位于SSD上,哪些数据应位于HDD驱动器上。通常,我认为应该将经常更改的数据放置在HDD上,将不经常更改的数据放置在SSD上。 现在,我以类似的情况阅读了这个问题。答案中写道:“ SSD驱动器非常适合交换空间...” 为什么SSD非常适合交换空间?好的,我认为提高系统性能的潜力很大,但是交换数据的次数并不频繁,因此SSD上的写入次数很多,从而导致SSD寿命较短? 那么/ var目录呢?它的内容也不经常更改吗?将其放在HDD上不是一个好主意吗? 是否还有其他不应位于SSD上的数据?

10
有没有将zcat和cat透明结合的工具?
处理日志文件时,某些文件最终要归为压缩文件,logrotate而其他文件则不然。因此,当您尝试这样的事情时: $ zcat * 您最终得到如下命令行zcat xyz.log xyz.log.1 xyz.log.2.gz xyz.log.3.gz: gzip: xyz.log: not in gzip format 是否有一个工具可以获取神奇的字节(类似于其file工作原理),并根据结果使用zcat或cat取决于结果,以便grep例如将输出通过管道传输到? 注意:我知道我可以编写脚本,但是我在问是否已经有工具。

7
在Linux上创建RAM磁盘
我有一台具有62GB RAM的机器,以及一个只有7GB的中继,所以我想我会创建一个RAM磁盘并在那里进行编译。我不是Linux专家。我在网上找到了创建RAM磁盘的说明: mkfs -q /dev/ram1 8192 但我将8192更改为16777216,以尝试分配16GB的ram磁盘。 我收到以下错误: mkfs.ext2: Filesystem larger than apparent device size. Proceed anyway? (y,n) 在这一点上,我被吓到了并被保释。 sudo dmidecode --type 17 | grep Size 表演 8x8192MB + 2048MB = 67584 MB 但du上/dev给人804K。 那是问题吗?我可以克服这个/dev大小吗?
70 linux  ramdisk 


2
什么是内核ip转发?
我在很多博客上都看到过,使用此命令启用IP转发,同时在Linux上使用许多网络安全/嗅探工具 echo 1 &gt; /proc/sys/net/ipv4/ip_forward 谁能用外行人的方式解释我,这个命令的本质是什么?它会将您的系统变成路由器吗?
70 linux  kernel  ip  routing 

5
删除包含某些字符串的行和以下行
我用这个 cat foo.txt | sed '/bar/d' 删除bar文件中包含字符串的行。 但是,我想删除这些行以及紧接其后的行。最好的sed,awk或者其他工具,在MINGW32的可用。 这是我可以grep使用的-A,-B打印匹配行以及匹配行之前/之后的行的一种反向方式。 有什么简单的方法可以实现吗?

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.