sz命令

用途说明:sz命令是利用ZModem协议来从Linux服务器传送文件到本地,一次可以传送一个或多个文件。相对应的从本地上传文件到Linux服务器,可以使用rz命令。

常用参数

-a 以文本方式传输(ascii)。

-b 以二进制方式传输(binary)。

-e 对控制字符转义(escape),这可以保证文件传输正确。

如果能够确定所传输的文件是文本格式的,使用 sz -a files

如果是二进制文件,使用 sz -be files

rz命令

-b 以二进制方式,默认为文本方式。(Binary (tell it like it is) file transfer override.)

-e 对所有控制字符转义。(Force sender to escape all control characters; normally XON, XOFF, DLE, [email protected], and Ctrl-X are escaped.)

如果要保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志,如下所示方式使用:

rz -be

此命令执行时,会弹出文件选择对话框,选择好需要上传的文件之后,点确定,就可以开始上传的过程了。上传的速度取决于当时网络的状况。

如果执行完毕显示“0错误”,文件上传就成功了,其他显示则表示文件上传出现问题了。

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。

优点就是不用再开一个sftp工具登录上去上传下载文件。

sz:将选定的文件发送(send)到本地机器

rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器

安装命令:

yum install lrzsz

从服务端发送文件到客户端:

sz filename

从客户端上传文件到服务端:

rz

在弹出的框中选择文件,上传文件的用户和组是当前登录的用户

SecureCRT设置默认路径:

Options -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories

Xshell设置默认路径:

右键会话 -> 属性 -> ZMODEM -> 接收文件夹

测试:

开发板接收文件:

1. 进入开发板要接收文件的目录
2. 开发板执行命令# rz
3. 在minicom下,按住Ctrl+A键不放,按下Z键
4. 按下S键选择发送文件
5. 选择zmodem,用回车键确认
6. 用空格选择主机要发送的文件,用回车键确认
7. 传输完成后按任意键返回

开发板发送文件:

1. 进入开发板要发送文件的目录
2. 进入主机要接收文件的目录
2. 主机执行命令# rz
3. 开发板执行命令# sz filename

PS:同事和我说SecureCRT可以方便的上传下载文件,而Xshell没有。我上网一查原来用的是同一个sz/rz工具,Xshell下没有菜单选择要输命令。

先给大家看下问题描述,下图是我在运行时出现错误截图:

解决方法

分析原因,可能因为我平台迁移碰到权限问题我们来进行权限转换

1)在Windows下转换:

利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File–>Conversions–>DOS->UNIX即可。

2)方法

用vim打开该sh文件,输入:

[plain]
:set ff 

回车,显示fileformat=dos,重新设置下文件格式:

[plain]
:set ff=unix 

保存退出:

[plain]
:wq 

再执行,竟然可以了

3)在linux中的权限转换

也可在Linux中转换:

首先要确保文件有可执行权限

#chmod u+x filename

然后修改文件格式

#vi filename

以上三种方法都可以帮助大家解决有关linux执行.sh文件时出现no such file or directiory一问题,有需要的朋友可以参考下了,希望本文分享对大家有所帮助。

命令功能:切割文件,将文件以行为单位或以字节为单位进行切割

命令语法

split [Chelp][Cversion]

split [-<行数>][-l <行数>] [要切割的文件][输出文件名]
,以行数为单位

split [-b <字节>][-C <字节>] [要切割的文件][输出文件名],以字节为单位

输出文件名是指切割后的文件会以此为前缀。

1. 以行为单位切割文件

首先创建一个有5行的文件hello,

#cat hello
Hello, World1
Hello, World2
Hello, World3
Hello, World4
Hello, World5

使用命令:

#split -2 hello split1_

split命令会将文件以两行为单位进行切割,每两行组成一个新文件,5行就有三个文件,名称会分别为:

split1_aa , split1_ab , split_ac

2. 以字节为单位的切割

还是文件hello,使用命令ls -l hello 可以看到文件的大小为65字节,以10字节切割文件,会有7个文件

先使用-b命令,如下:

#split -b 10 hello split2_

文件切出来有7个,

split2_aa , split2_ab , split2_ac , split2_ad , split2_ae , split2_af , split2_ag

下面使用-C参数,如下:

#split -C 10 hello split3_

切出了10个文件,用ls -l 命令输出如下:

虽然同样是以字节为单位切割文件,但-C参数会尽量保持每行的完整性,也就是说,一行有13个字节,那么会切割成两个文件,一个10字节,一个3字节,而-b参数会将8字节累计到下一行凑足十字节再切,所以-b参数只有7个文件,而-C参数有10个文件。

下面介绍如何迫使用户在下一次登录时更改其密码。

Linux下的每个用户帐户都与和密码相关的各个配置和信息关联起来。比如说,它记得上一次密码更改的日期、密码更改间隔的最少/最多天数以及何时让当前密码到期失效,等等。

一种名为chage的命令行工具可以访问和调整与密码到期失效有关的配置。你可以使用该工具,迫使任何用户在下一次登录时更改密码。

想查看某一个用户(比如alice)的密码到期失效信息,运行下面这个命令。请注意:只有在你检查你自己之外的其他任何用户的密码有效期信息时,才需要根用户权限。

$ sudo chage -l alice

迫使用户更改密码

如果你想迫使用户更改其密码,请使用下面这个命令。

$ sudo chage -d0 <user-name>

最初,“-d <N>”选项应该被设成密码的“有效期”(自密码上一次更改时间1970年1月1日以来的天数)。所以,“-d0”表明该密码是在1970年1月1日更改的,这实际上让当前密码到期失效,从而让密码在下一次登录时被更改。

让当前密码到期失效的另一个办法是通过passwd命令。

$ sudo passwd -e <user-name>

上述命令具有与“chage -d0”同样的功效,让用户的当前密码立即到期失效。

现在,再次检查用户的密码信息,你会看到:

当你再次登录时,系统会要求你更改密码。你在更改密码之前需要多次确认当前密码。

想设置更全面的密码政策(比如密码复杂性和防止重复使用),你可以使用PAM(那PAM又是什么呐?在这里先留个大家思考,之后文章会有相关内容的更新)

如何强制Linux用户在第一次登录时更改初始密码相信大家通过这篇文章应该有了深入的了解,希望大家都有所收获吧。

本文给大家介绍的非常详细,具体详情请看下文吧。

开始安装首先修改/etc/inittab文件将:

id:5:initdefault:

改为:

id:3:initdefault:

#vi /etc/inittab

然后重启电脑

系统进入字符模式并用root登录,随后运行NVIDIA-linux-x86-1.0-5336-pkg1.run

# sh NVIDIA-linux-x86-1.0-5336-pkg1.run

然后根据提示作出选择,安装大概用时5分钟。

接着修改XF86Config文件把Driver “nv”手动改成Driver “nvidia”

#vi /etc/X11/XF86Config

最后再次修改inittab文件,将id:3:initdefault:改回id:5:initdefault:这样就安装完成,重启电脑

#reboot

好了,本文全部内容到此为止,希望大家喜欢。