前言

Linux日常操作中经常会用到一些工具和命令,这里对一些进行总结。

文件和文件夹大小

/home/目录为例:

1
du -h /home/* --max-depth=0

—max-depth参数可以指定查看的深度,0为当前目录,1为当前目录及下一级目录,剩下依次类推。

统计目录下文件数目

利用 ls

1
ls | wc -l

在这个基础上, 可以衍生出:

统计文件或文件夹
文件: ls -l | grep "^-" | wc -l
文件夹: ls -l | grep "^d" | wc -l

递归统计文件或文件夹:
文件: ls -lR | grep "^-" | wc -l
文件夹: ls -lR | grep "^d" | wc -l

利用 find

1
find ./ -type f | wc -l

ls -l 可以列出详细信息, 列出后第一大列是文件权限和文件/文件夹. 第一列文件是-, 文件夹是d
grep "^-"用正则匹配开头
wc -l 统计行数

Screen

平时经常会遇到一些需要长时间执行的程序,但是如果关闭终端,则会导致程序运行终止。如果让程序在后台运行,又不方便查看程序运行状态和管理,这种情况可以采用Screen工具来解决。

Screen 是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen 中有会话的概念,用户可以在一个 Screen 会话中创建多个 Screen 窗口,在每一个 Screen 窗口中就像操作一个真实的telnet/SSH连接窗口那样。

简单来说,使用 Screen 可以创建多个伪终端(会话),即使我们关闭了自己本来的终端, 甚至不小心断开了远程连接,Screen 也可以保持这些伪终端处于打开状态,从而保证程序运行。

安装 screen

可以使用apt或者yum在对应的Linux发行版中安装screen。

查看运行中的会话

1
screen -ls

创建新的会话

1
screen -S newscreen

执行命令后即处于新会话的伪终端界面,直接执行命令即可。

退出当前会话而保持其运行

在对应会话中,同时按下control+a+d三个键。

重新连接到后台运行的会话

1
screen -r newscreen

关闭当前会话

同时按下control+d两个键。

文件同步与备份

文件同步和备份是经常用到的一个功能,尤其是本地和服务器数据的交互,以及本地文件的备份,简单的需求用scp命令也能实现,但是复杂的就需要rsync了。

同步两个文件夹的文件及子目录下的文件

1
rsync -zarvh source_dir/ object_dir/

此处,source_dir可以是本地文件夹也可以是远程文件夹,如 user@123.456.78.9:~/,所以利用该命令可以方便地实现文件同步和备份,并且每次只同步有改动的文件。

另外需要注意的是,如果文件夹末尾不加/,则会将当前文件夹整体同步,即会出现object_dir/source_dir/这样的结果。

具体的参数可以参考:https://linux.die.net/man/1/rsync

参考

  1. Linux下统计文件或文件夹数量: http://gohom.win/2016/01/11/countfilesBash/
  2. linux 技巧:使用 screen 管理你的远程会话: https://www.ibm.com/developerworks/cn/linux/l-cn-screen/index.html

最后更新: 2020年04月14日 16:04

原始链接: http://andersjing.com/2018/07/28/linux-common-commands-tools/

× 请打赏~
打赏二维码