Linux命令:cp、time、cut、awk 、获取文件大小命令
最近写了一个shell脚本,用到了cp、time、cut、awk命令,把他们的使用方法给写下来:
1.cp和mv
cp命令:用来完成文件的复制,从源文件夹复制到目标文件夹。执行后源文件夹和目标文件夹均有源文件。
mv 命令:用来移动文件。执行后,源文件夹中没有源文件。我经常用mv命令来重命名文件
注意:cp命令源文件夹与目标文件夹不能使同一个;而在mv中可以是同一个。
命令解析:
#cp [-R] 源文件 目标文件夹
cp -R 参数 ---当复制整个文件夹时使用。
#mv 源文件 目标文件夹
命令实例:
1.1复制单个文件。
#cp /etc/init.d/rcS /tmp --- 将init.d目录的rcS文件复制到tmp目录下,rcS为一个文件名1.2
1.2复制文件夹。
#cp -R /etc/init.d/ /tmp --- 将init.d目录下所有文件复制到tmp目录中,init.d为一个文件夹名
1.3复制多个文件。
#cp /tmp/a*.txt /tmp/tmp ---
1.4文件重命名
#mv /tmp/test1 /tmp/test2 --- 讲tmp文件夹下test1 重命名为 test2.
1.5移动文件
#mv /tmp/test1 /home/kuaixiaoqian/test2
--- 将/tmp文件夹下test1 文件 移动到
/kuaixiaoqian文件夹下,并重命名为test2
2.time 命令
功能:用来计算某条命令执行时间。
格式:time
shell下命令
返回形式:在shell下命令的执行结果后,增加如下语句:
2.1 使用示例:
(1) 简单使用
#time echo "hello"
返回结果:
(2)将time 值保存到 文件中
#(time echo "hello") 2>time.txt ---注意:2>time.txt 中 2 与 > 之间不能有空格
执行结果:
3. cut 与 awk 命令
cut 功能:剪切每一行数据,可以指定分隔符(单字符分隔符),和要获取的域。详情点击这里
awk功能:以空格(可以是连续多空格)为分隔符,分隔每一行数据,获取指定的值。命令详解点这里
3.1 使用示例:
(1) cut获得文件大小
#ls -l time.txt | cut -d‘ ‘ -f5 ---注意:仅在ls -l 为单空格分隔时好使,cut把连续多空格认为是多个分隔符
执行结果:
(2)awk 获取文件大小
#ls -l time.txt | awk ‘{print $5}‘ ---awk 默认以空格为分隔符,连续多空格认为是一个分隔符
执行结果:
ps:我在嵌入式ARM板上运行一脚本,用cut命令无法正确获得文件大小,仔细一看才发现是由于连续多空格分隔 ls -l 结果的原因