Linux下文件拆分,多个文件打包后拆分

处理和传输大文件,以及处理和传输大量小文件一直很有挑战。特别是在多个存储介质,以及网络之间传输的时候。大文件无法放入一张4.7G的光盘当中;大量小文件传输需要系统打开非常多文件描述符,会造成资源浪费的情况。 本文介绍如何应对这两种情况,使用文件分割、文件压缩以及压缩时分割的方法处理文件,然后如何还原分割后的文件。 分割文件 在Linux下分割文件最常用的方法之一是使用split命令。split命令可以按固定大小分割,还可以按分割后的数量进行分割 假如我们有一个50M的文件,我们需要把它分成5个10M的部分: # 使用dd命令创建一个50M的test.txt文件 dd if=/dev/zero of=test.txt bs=50M count=1 # 可以看到文件创建成功了 # $ls -alth test.txt # -rw-r--r-- 1 Kevin None 50M Sep 14 10:34 test.txt split -b 10M test.txt test_ 上面的split命令把50M的test.txt文件拆成了5个以 test_ 开头的10M大小的文件,查看分割后的文件列表: $ ls -alth test_* -rw-r--r-- 1 Kevin None 10M Sep 14 10:36 test_ae -rw-r--r-- 1 Kevin None 10M Sep 14 10:36 test_ab -rw-r--r-- 1 Kevin None 10M Sep 14 10:36 test_ac -rw-r--r-- 1 Kevin None 10M Sep 14 10:36 test_ad -rw-r--r-- 1 Kevin None 10M Sep 14 10:36 test_aa 解释一下split命令 ...

September 16, 2023

如何终止无响应的 Linux 会话

使用 Linux 终端时,有时会卡住,失去响应,这时应该如何终止会话? 对于Linux用户来说,遇到卡住或不想要的用户会话可能是一种令人沮丧的体验。同时,这些会话可能会使您的系统面临潜在风险,使其容易受到未经授权的访问或数据泄露的影响。 无论是由行为不端的应用程序、系统故障还是用户错误引起的,这些延迟的会话都会阻碍生产力,并危及系统的安全性和性能。 但不要害怕;本文旨在为您提供重新获得控制权和维护平稳运行的Linux系统的知识和工具。通过学习处理这些情况的正确方法,您可以确保一个更安全的计算环境,并保护您的宝贵数据。 然而,在我们继续之前,我们需要澄清两个术语 TTY 和 PTS 的含义,它们在 Linux 中直接涉及到终止用户会话。 在Linux中什么是 TTY 和 PTS? 在Linux中,“PTS”和“TTY”都指用于在用户和操作系统之间进行通信的不同终端设备。它们充当输入命令和接收系统输出的接口。 TTY (Teletype) “TTY”最初代表电传打字机(Teletype),这是一种类似打字机的设备,在计算机早期用于输入和输出。 在现代 Linux 系统中,TTY 代表一个物理或虚拟控制台,用户可以在此处直接与系统互动。 PTS (Pseudo-Terminal Slave) PTS代表伪终端从设备。它是一个虚拟终端,模拟硬件终端,但不直接连接到任何物理设备。 相反,系统创建并管理它,以支持终端多路复用、远程登录和各种交互式应用程序。 例如,当您使用终端模拟器应用程序(如GNOME的终端或KDE的Konsole)来访问Linux系统时,通常会使用伪终端。 这些仿真器充当伪终端的“主”端,而shell或在终端中运行的进程充当“从”端。 当您打开多个终端窗口或选项卡时,每个窗口或选项卡对应一个单独的PTS。例如,如果打开三个终端窗口,它们可能被标识为/dev/pts/0、/dev/pts/1和/dev/pts/2。 总之,TTY和PTS都是Linux中的终端设备,允许用户与操作系统交互。TTY表示物理或虚拟控制台,而PTS用于终端模拟器,并提供多路复用和远程登录的附加功能。 有了这样的澄清,我们现在可以继续讨论主要议题。 如何在Linux中终止阻塞/不需要的用户会话 阻塞我们一般俗称“卡住” 😆 你可以通过两种方式来实现这一点,因此我们将在下面分别进行研究。 通过 TTY 终止用户会话 我们将使用 w 命令来获取有关我们 Linux 系统上已登录用户的信息。它显示了当前登录用户的信息和他们的活动。 当你运行 w 命令时,它会为每个用户提供以下细节的摘要: USER: 当前登录用户的用户名 TTY: 与用户会话相关联的终端名称或设备(例如/dev/tty1,pts/0) FROM: 用户登录的远程主机或IP地址。如果用户在本地登录,它将显示 TTY’s name 或者 - 符号 LOGIN@: 用户登录的日期和时间 IDLE: 用户会话处于非活动状态的持续时间。如果用户主动使用终端,它将显示 old JCPU: 与用户会话相关联的所有进程使用的CPU总时间 PCPU: 用户当前进程使用的CPU时间. WHAT: 用户执行的命令或与终端相关联的进程 以下是 w 命令的输出示例: ...

September 9, 2023

rsync的强大之处-不全面指南

介绍 rsync是一个强大的工具,已经存在了相当长的时间。它代表远程同步,用于在两个不同的系统之间同步文件和目录。它是一个流行的命令行实用程序,广泛用于备份和镜像目的。它也用于以安全和高效的方式在系统之间传输文件。rsync适用于大多数基于Unix的系统,包括Linux、macOS和BSD。 在这篇博客文章中,我们将探讨rsync的各种功能,以及如何使用它简化数据传输过程。我们还将看一些rsync的常见用例,以及它与其他用于数据传输的工具相比如何。 举个栗子最简单的rsync例子: 将本地文件夹/path/to/local/folder同步到远程服务器的/path/to/remote/folder: rsync -avz /path/to/local/folder user@remote:/path/to/remote/folder 该命令将本地文件夹的内容同步到远程服务器上的指定位置。这对于在本地进行更改并将更改传输到远程服务器上的情况非常有用。 rsync的使用场景 使用Rsync传输数据 rsync 是一个非常好用的工具,能够在两个系统之间传输数据。该工具使用增量传输算法,只传输两个文件之间的差异部分。这意味着只有文件中发生变化的部分会被传输,从而减少了需要传输的数据量。rsync 还可以用于通过 SSH 传输数据,这意味着在传输过程中数据是加密的,是一种安全的传输敏感数据的方式。 rsync有很多选项可以用来自定义传输过程。例如,您可以使用-v选项显示详细输出,以显示传输的进度。您还可以使用-P选项显示传输的进度,并在传输中断时恢复传输。rsync还可以传输具有不同权限和文件所有权的文件。 使用rsync备份数据 备份数据是确保重要文件不会因系统崩溃或其他问题而丢失的关键。rsync可用于将数据从一个系统备份到另一个系统。该工具可用于在远程系统上创建目录或文件的备份。rsync也可用于本地备份数据,这意味着将数据备份到外部硬盘或其他存储设备。 使用rsync进行备份的优点之一是可以用它来创建增量备份。这意味着只有自上次备份以来所做的更改才会被复制到备份位置。因此,备份更快,需要更少的存储空间。rsync还可以用于将数据备份到远程服务器,这意味着数据被备份到离线地点,并受到火灾、洪水和地震等灾难的保护。 我就是使用rsync命令来同步电脑与硬盘的备份,写一个bash脚本把想要同步的文件夹都写进去,一个命令就搞定了,以后妈妈再也不用担心我的数据丢失和不同步了。 如果你是Windows系统,请安装msys2工具,它提供了一个类似于Unix的环境,可以在其中使用rsync。msys2包含了一个包管理器,可以用于安装各种Unix工具和应用程序,如Git和Vim。因此,您可以在Windows系统上使用rsync和其他常用的Unix工具,而无需安装Linux或macOS等操作系统。 安装msys2非常简单,只需从其官方网站下载安装程序即可。安装完成后,您可以在msys2 shell中使用rsync和其他命令,如ls和cd。您可以使用pacman命令安装其他Unix工具和应用程序,如Git和Vim。msys2是在Windows系统上使用rsync的最佳选择之一,因为它提供了完整的Unix环境,可以满足大多数用户的需求。 使用 rsync 镜像数据 rsync也可以用于在两个系统之间镜像数据。镜像是将数据从一个系统复制到另一个系统的过程。rsync可以用于实时在两个系统之间镜像数据。这意味着在一个系统上对数据所做的任何更改都会自动镜像到另一个系统上。rsync是在系统之间镜像数据的高效方式,因为它只传输文件的更改部分。 使用Rsync进行镜像的一个优点是可以在不同的网络之间镜像数据。这意味着可以在不同地理位置的系统之间镜像数据。rsync还可以用于在拥有不同操作系统的系统之间镜像数据。例如,您可以使用rsync在Linux服务器和Windows工作站之间镜像数据。 rsync与其他工具比较 有许多其他工具可用于数据传输、备份和镜像。一些流行的工具包括SCP、FTP和SFTP。然而,rsync比这些工具有一些优势。例如,rsync比SCP和FTP更快,因为它只传输文件的更改部分。Rsync比FTP更安全,因为它可以用于通过SSH传输数据。最后,rsync比SFTP更灵活,因为它可以用于在具有不同操作系统的系统之间传输数据。 rsync使用举例 使用 rsync 的例子有很多,以下是一些示例: 将本地文件夹同步到远程服务器:rsync -avz /path/to/local/folder user@remote:/path/to/remote/folder。该命令将本地文件夹的内容同步到远程服务器上的指定位置。这对于在本地进行更改并将更改传输到远程服务器上的情况非常有用。 将远程服务器上的文件夹同步到本地:rsync -avz user@remote:/path/to/remote/folder /path/to/local/folder。该命令将远程服务器上的文件夹同步到本地指定位置。这对于从远程服务器获取最新数据并在本地进行操作的情况非常有用。 将本地文件夹备份到外部硬盘:rsync -avz /path/to/local/folder /path/to/external/drive。该命令将本地文件夹的内容备份到外部硬盘上的指定位置。这对于保护本地数据并避免因硬盘故障而造成数据丢失的情况非常有用。 将远程服务器上的文件夹备份到本地:rsync -avz user@remote:/path/to/remote/folder /path/to/local/folder。该命令将远程服务器上的文件夹备份到本地指定位置。这对于保护远程数据并避免因服务器故障而造成数据丢失的情况非常有用。 在两个系统之间同步文件夹:rsync -avz user@remote:/path/to/remote/folder user@local:/path/to/local/folder。该命令将远程服务器上的文件夹同步到本地指定位置。这对于在多个系统之间同步数据非常有用。 除了以上示例以外,rsync 还有很多选项可以用于自定义传输过程。例如,您可以使用--delete选项从目标中删除源中不存在的文件。您还可以使用--exclude选项从传输过程中排除某些文件或目录。使用这些选项可以帮助您更好地控制 rsync 的行为。 exclude参数 --exclude参数可用于从rsync传输过程中排除某些文件或目录。它的语法如下: rsync --exclude=PATTERN 其中,PATTERN是要从传输过程中排除的文件或目录的模式。模式可以是简单的字符串,也可以是正则表达式。例如,要从传输过程中排除所有以.log结尾的文件,可以使用以下命令: rsync --exclude='*.log' 要排除多个模式,请再次使用--exclude参数。例如,要排除所有以.log和.tmp结尾的文件,请使用以下命令: rsync --exclude='*.log' --exclude='*.tmp' ...

March 13, 2023

nfs安装配置

记录一下nfs的安装配置以备忘 环境 server CentOS Linux release 7.3.1611 client CentOS Linux release 7.2.1511 Server 安装 yum install -y nfs-utils rpcbind 修改配置文件/etc/expots /opt/tmp *(rw,sync) 启动nfs server端 sudo systemctl start rpcbind sudo systemctl start nfs Client mkdir tmp sudo mount -t nfs 10.123.4.215:/opt/tmp tmp

June 30, 2017

linux下使用极点五笔

QQ: 380800878, 微信: kittenll 像我我种原始人还在用着五笔,没办法,已经习惯了,如果没有五笔我的世界将全是英文,但我英文又不好,没办法装五笔。以前是用ibus自带的五笔,在ubuntu下面有的时候系统启动的时候切换到五笔,五笔的图标就是一个stop图标—-shit,装上Linux Mint 12改用scim下面的极点五笔,以前在windows下就用过。 安装方法: 首先安装scim $ sudo apt-get install scim 装中文支持包 $ sudo apt-get install scim-tables-zh 下载极点五笔,把*.bin 复件到 /usr/share/scim/tables/下面 sudo cp ***.bin /usr/share/scim/tables/ 重启scim(如果已经启动),设置… sudo pkill scim scim-setup

November 26, 2011