如果你有文件太大,导致一些携带式设备无法复制的问题,split可以将一个大文件,依据文件大小或行数来分区,可以将大文件分区成为小文件,快速有效。
将文件分区的话,使用-b size来将一个分区的文件限制其大小,如果是行数的话,那么就使用-l line来分区。
10.6.6 参数代换: xargs
x 是加减乘除的乘号,args 则是arguments (参数) 的意思,所以说,这个玩意儿就是在产生某个指令的参数的意思。xargs 可以读入 stdin 的数据,并且以空白字符或断行字符作为分辨,将 stdin 的数据分隔成为 arguments 。 因为是以空白字符作为分隔,所以,如果有一些文件名或者是其他意义的名词内含有空白字符的时候, xargs 可能就会误判了。
10.7 重点回顾
由于核心在内存中是受保护的区块,因此我们必须要通过“ Shell ”将我们输入的指令与Kernel 沟通,好让 Kernel 可以控制硬件来正确无误的工作
学习 shell 的原因主要有:命令行的 shell 在各大 distribution 都一样;远端管理时命令行速度较快; shell 是管理 Linux 系统非常重要的一环,因为 Linux 内很多控制都是以 shell撰写的。
系统合法的 shell 均写在 /etc/shells 文件中;
使用者默认登陆取得的 shell 记录于 /etc/passwd 的最后一个字段;
bash 的功能主要有:命令编修能力;命令与文件补全功能;命令别名设置功能;工作控制、前景背景控制;程序化脚本;万用字符
type 可以用来找到执行指令为何种类型,亦可用于与 which 相同的功能;
变量就是以一组文字或符号等,来取代一些设置或者是一串保留的数据
变量主要有环境变量与自订变量,或称为全域变量与区域变量
使用 env 与 export 可观察环境变量,其中 export 可以将自订变量转成环境变量;
set 可以观察目前 bash 环境下的所有变量;
$? 亦为变量,是前一个指令执行完毕后的回传值。在 Linux 回传值为 0 代表执行成功;
locale 可用于观察语系数据;
可用 read 让使用者由键盘输入变量的值
ulimit 可用以限制使用者使用系统的资源情况
bash 的配置文件主要分为 login shell 与 non-login shell。login shell 主要读取 /etc/profile与 ~/.bash_profile, non-login shell 则仅读取 ~/.bashrc
在使用 vim 时,若不小心按了 [crtl]+s 则画面会被冻结。你可以使用 [ctrl]+q 来解除冻结
万用字符主要有: *, ?, [] 等等
数据流重导向通过 >, 2>, < 之类的符号将输出的信息转到其他文件或设备去;
连续命令的下达可通过 ; && || 等符号来处理
管线命令的重点是:“管线命令仅会处理 standard output,对于 standard error output 会予以忽略” “管线命令必须要能够接受来自前一个指令的数据成为 standard input 继续处理才行。”
本章介绍的管线命令主要有:cut, grep, sort, wc, uniq, tee, tr, col, join, paste, expand,split, xargs 等。