pr命令用来将文本文件转换成适合打印的格式,它可以把较大的文件分割成多个页面进行打印,并为每个页面添加标题。
语法
pr(选项)(参数)
选项
-h<标题>:为页指定标题; -l<行数>:指定每页的行数。
参数
文件:需要转换格式的文件。
pr命令用来将文本文件转换成适合打印的格式,它可以把较大的文件分割成多个页面进行打印,并为每个页面添加标题。
pr(选项)(参数)
-h<标题>:为页指定标题; -l<行数>:指定每页的行数。
文件:需要转换格式的文件。
scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。
scp(选项)(参数)
-1:使用ssh协议版本1;
-2:使用ssh协议版本2;
-4:使用ipv4;
-6:使用ipv6;
-B:以批处理模式运行;
-C:使用压缩;
-F:指定ssh配置文件;
-l:指定宽带限制;
-o:指定使用的ssh选项;
-P:指定远程主机的端口号;
-p:保留文件的最后修改时间,最后访问时间和权限模式;
-q:不显示复制进度;
-r:以递归方式复制。
user@host:filename
(文件名为目标文件的名称)。从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。
从远处复制文件到本地目录
scp [email protected]:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
从10.10.10.10机器上的/opt/soft/
的目录中下载nginx-0.5.38.tar.gz 文件到本地/opt/soft/
目录中。
从远处复制到本地
scp -r [email protected]:/opt/soft/mongodb /opt/soft/
从10.10.10.10机器上的/opt/soft/
中下载mongodb目录到本地的/opt/soft/
目录来。
上传本地文件到远程机器指定目录
scp /opt/soft/nginx-0.5.38.tar.gz [email protected]:/opt/soft/scptest
复制本地/opt/soft/
目录下的文件nginx-0.5.38.tar.gz到远程机器10.10.10.10的opt/soft/scptest
目录。
上传本地目录到远程机器指定目录
scp -r /opt/soft/mongodb [email protected]:/opt/soft/scptest
上传本地目录/opt/soft/mongodb
到远程机器10.10.10.10上/opt/soft/scptest
的目录中去。
spell命令对文件进行拼写检查,并把拼写错误的单词输出。
spell(参数)
文件:指定需要进行拼写检查的文件。
expand命令用于将文件的制表符(TAB)转换为空白字符(space),将结果显示到标准输出设备。
expand(选项)(参数)
-t<数字>:指定制表符所代表的空白字符的个数,而不使用默认的8。
文件:指定要转换制表符为空白的文件。
tftp命令用在本机和tftp服务器之间使用TFTP协议传输文件。
TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。
tftp(选项)(参数)
-c:指定与tftp服务器连接成功后,立即要执行的指令; -m:指定文件传输模式。可以是ASCII或者Binary; -v:显示指令详细执行过程; -V:显示指令版本信息。
主机:指定tftp要联机的tftp服务器的ip地址或主机名。
1、安装tftp服务器
需要安装xinetd、tftp和tftp-server 3个软件
如果能上网,通过yum安装:
yum install xinetd
yum install tftp
yum install tftp-server
如果不能上网,可以直接安装提供的rpm包:
rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm rpm -ivh tftp-0.48-3.fc9.i386.rpm rpm -ivh tftp-server-0.48-3.fc9.i386.rpm
2、配置tftp服务器
修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
service tftp { socket_type =dgram protocol =udp wait =yes user =root server =/usr/sbin/in.tftpd server_args =-s /home/mike/tftpboot -c disable =no per_source =11 cps =100 2 flags =IPv4 }
说明:修改项server_args= -s <path> -c
,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。
3、启动tftp服务器并关闭防火墙
/etc/init.d/iptables stop //关闭防火墙 sudo /sbin/service xinetd start 或 service xinetd restart /etc/init.d/xinetd start
看到启动[OK]就可以了
4、查看tftp服务是否开启
netstat -a | grep tftp
显示结果为udp 0 0 *:tftp *:*
表明服务已经开启,就表明tftp配置成功了。
5、tftp使用
复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。
tftp 192.168.1.2
tftp>get <download file>
tftp>put <upload file>
tftp>q
6、tftp命令用法如下
tftp your-ip-address
进入TFTP操作:
7、如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件,需要作如下修改
修改/etc/sysconfig/selinux
,将SELINUX设定为disable,使用命令setenforce 0
让selinux配置文件生效。
8、Busybox中tftp命令的用法
命令格式为:
tftp [option] ... host [port]
如果要下载或上传文件的话是一定要用这些option的。
-g 表示下载文件 (get) -p 表示上传文件 (put) -l 表示本地文件名 (local file) -r 表示远程主机的文件名 (remote file)
例如,要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令
tftp -g -r embedexpert 192.168.1.2
ftp命令用来设置文件系统相关功能。ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相信掌握了这些使用Linux进行ftp操作将会非常容易。
ftp(选项)(参数)
-d:详细显示指令执行过程,便于排错或分析程序执行的情况; -i:关闭互动模式,不询问任何问题; -g:关闭本地主机文件名称支持特殊字符的扩充特性; -n:不使用自动登录; -v:显示指令执行过程。
主机:指定要连接的FTP服务器的主机名或ip地址。
FTP>ascii: 设定以ASCII方式传送文件(缺省值) FTP>bell: 每完成一次文件传送,报警提示. FTP>binary: 设定以二进制方式传送文件. FTP>bye: 终止主机FTP进程,并退出FTP管理方式. FTP>case: 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母. FTP>cd: 同UNIX的CD命令. FTP>cdup: 返回上一级目录. FTP>chmod: 改变远端主机的文件权限. FTP>close: 终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除. FTP>delete: 删除远端主机中的文件. FTP>dir [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件. FTP>get [remote-file] [local-file] 从远端主机中传送至本地主机中. FTP>help [command] 输出命令的解释. FTP>lcd: 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录. FTP>ls [remote-directory] [local-file] 同DIR. FTP>macdef: 定义宏命令. FTP>mdelete [remote-files] 删除一批文件. FTP>mget [remote-files] 从远端主机接收一批文件至本地主机. FTP>mkdir directory-name 在远端主机中建立目录. FTP>mput local-files 将本地主机中一批文件传送至远端主机. FTP>open host [port] 重新建立一个新的连接. FTP>prompt: 交互提示模式. FTP>put local-file [remote-file] 将本地一个文件传送至远端主机中. FTP>pwd: 列出当前远端主机目录. FTP>quit: 同BYE. FTP>recv remote-file [local-file] 同GET. FTP>rename [from] [to] 改变远端主机中的文件名. FTP>rmdir directory-name 删除远端主机中的目录. FTP>send local-file [remote-file] 同PUT. FTP>status: 显示当前FTP的状态. FTP>system: 显示远端主机系统类型. FTP>user user-name [password] [account] 重新以别的用户名登录远端主机. FTP>? [command]: 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。 FTP>! 从 ftp 子系统退出到外壳。
uncompress命令用来解压缩由compress命令压缩后产生的“.Z”压缩包。
uncompress(选项)(参数)
-f:不提示用户,强制覆盖掉目标文件; -c:将结果送到标准输出,无文件被改变; -r:递归的操作方式。
文件:指定要压缩的“.Z”压缩包。
先创建一个.Z压缩文件
compress FileName
解压:
uncompress FileName.Z
printf命令格式化并输出结果到标准输出。
printf(选项)(参数)
--help:在线帮助;
--version:显示版本信息。
格式替代符
转义序列
printf "hello world"
#!/bin/bash printf "%-5s %-10s %-4s\n" NO Name Mark printf "%-5s %-10s %-4.2f\n" 01 Tom 90.3456 printf "%-5s %-10s %-4.2f\n" 02 Jack 89.2345 printf "%-5s %-10s %-4.2f\n" 03 Jeff 98.4323
gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
gzip(选项)(参数)
-a或——ascii:使用ASCII文字模式; -d或--decompress或----uncompress:解开压缩文件; -f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接; -h或——help:在线帮助; -l或——list:列出压缩文件的相关信息; -L或——license:显示版本与版权信息; -n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记; -N或——name:压缩文件时,保存原来的文件名称及时间戳记; -q或——quiet:不显示警告信息; -r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理; -S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串; -t或——test:测试压缩文件是否正确无误; -v或——verbose:显示指令执行过程; -V或——version:显示版本信息; -<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高; --best:此参数的效果和指定“-9”参数相同; --fast:此参数的效果和指定“-1”参数相同。
文件列表:指定要压缩的文件列表。
把test6目录下的每个文件压缩成.gz文件
gzip *
把上例中每个压缩的文件解压,并列出详细的信息
gzip -dv *
详细显示例1中每个压缩的文件的信息,并不解压
gzip -l *
压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz
gzip -r log.tar
递归的压缩目录
gzip -rv test6
这样,所有test下面的文件都变成了*.gz,目录依然存在只是目录里面的文件相应变成了*.gz.这就是压缩,和打包不同。因为是对目录操作,所以需要加上-r选项,这样也可以对子目录进行递归了。
递归地解压目录
gzip -dr test6
bzip2命令用于创建和管理(包括解压缩)“.bz2”格式的压缩包。我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linux bzip2命令的多种范例供大家查看,相信大家看完后会有很多收获。
bzip2(选项)(参数)
-c或——stdout:将压缩与解压缩的结果送到标准输出; -d或——decompress:执行解压缩; -f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数; -h或——help:在线帮助; -k或——keep:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数; -s或——small:降低程序执行时内存的使用量; -t或——test:测试.bz2压缩文件的完整性; -v或——verbose:压缩或解压缩文件时,显示详细的信息; -z或——compress:强制执行压缩; -V或——version:显示版本信息; --repetitive-best:若文件中有重复出现的资料时,可利用此参数提高压缩效果; --repetitive-fast:若文件中有重复出现的资料时,可利用此参数加快执行效果。
文件:指定要压缩的文件。
压缩指定文件filename:
bzip2 filename 或 bzip2 -z filename
这里,压缩的时候不会输出,会将原来的文件filename给删除,替换成filename.bz2.如果以前有filename.bz2则不会替换并提示错误(如果想要替换则指定-f选项,例如bzip2 -f filename
;如果filename是目录则也提醒错误不做任何操作;如果filename已经是压过的了有bz2后缀就提醒一下,不再压缩,没有bz2后缀会再次压缩。
解压指定的文件filename.bz2:
bzip2 -d filename.bz2
或
bunzip2 filename.bz2
这里,解压的时候没标准输出,会将原来的文件filename.bz2给替换成filename。如果以前有filename则不会替换并提示错误(如果想要替换则指定-f
选项,例如bzip2 -df filename.bz2
。
压缩解压的时候将结果也输出:
$bzip2 -v filename
输入之后,输出如下:
filename: 0.119:1, 67.200 bits/byte, -740.00% saved, 5 in, 42 out.
这里,加上-v
选项就会输出了,只用压缩举例了,解压的时候同理bzip2 -dv filename.bz2
不再举例了。
模拟解压实际并不解压:
bzip2 -tv filename.bz2
输入之后,输出如下:
filename.bz2: ok
这里,-t
指定要进行模拟解压,不实际生成结果,也就是说类似检查文件,当然就算目录下面有filename也不会有什么错误输出了,因为它根本不会真的解压文件。为了在屏幕上输出,这里加上-v
选项了,如果是真的解压bzip2 -dv filename.bz2
则输出的是把"ok"替换成了"done"。
压缩解压的时候,除了生成结果文件,将原来的文件也保存:
bzip2 -k filename
这里,加上-k
就保存原始的文件了,否则原始文件会被结果文件替代。只用压缩举例了,解压的时候同理$bzip2 -dk filename.bz2
不再举例了。
解压到标准输出:
bzip2 -dc filename.bz2
输入之后,输出如下:
hahahhaahahha
这里,使用-c
指定到标准输出,输出的是文件filename的内容,不会将filename.bz2删除。
压缩到标准输出:
bzip2 -c filename bzip2: I won't write compressed data to a terminal. bzip2: For help, type: `bzip2 --help'.
这里,使用-c
指定压缩到标准输出不删除原有文件,不同的是,压缩后的文件无法输出到标准输出。
使用bzip2的时候将所有后面的看作文件(即使文件名以'-'开头):
bzip2 -- -myfilename
这里主要是为了防止文件名中-
产生以为是选项的歧义。