精华内容
下载资源
问答
  • linux文件提取到windows
    2021-10-13 14:32:13

    使用Xshell工具
    安装yum install lrzsz
    运行rz,会将windows的文件传到linux服务器
    运行sz filename,会将文件下载到windows本地

    或者Xshell工具使用文件传输工具Xftp,可以直接可视化传输文件

    更多相关内容
  • 背景:Linux服务器文件上传下载。 XShell+Xftp安装包(解压即用)百度网盘链接: https://pan.baidu.com/s/1rT_oXxbIjWgiHy9JHiWakw 提取码: cqrt 方式一、通过Shell First. 开启本地虚拟机,在Shell中连接本地Linux...
  • 一个函数就可以在LinuxWindows中调用,获得文件名和文件后缀!

    假如给你一个文件路径,你可以将其中的文件名和文件后缀提取出来嘛?
    不会没有关系,此篇博客提供一个函数,即可在Windows环境下调用,也可以在Linux环境下调用,去获取一个文件路径的文件名和文件后缀!


    一、返回值 bool 版

    需要包含头文件:
    #include <stdio.h>
    #include <string.h>
    #include <string>

    代码如下:

    /******************************************************************************
     *
     * 功能:
     *		获得 (文件名.后缀) 和 (文件名) 和 (文件后缀),Windows和Linux通用!
     *
     * 参数:
     *		_filePaht:C语言字符指针,文件路径字符串
     *		_fileName:C++字符串引用,获得[(文件名.后缀)|(文件名)]返回
     *		_fileName:C++字符串引用,获得(文件名.后缀)返回
     *		_fileSuffix:C++字符串引用,获得(后缀)返回
     *		_dot:true,后缀带点(.txt);false,后缀不带点(txt);默认值为true
     *
     * 返回值:
     *		成功返回true,失败返回false
     *
     ******************************************************************************/
    bool get_fileName_fileSuffix(const char *_filePaht, std::string &_fileNames, std::string &_fileName, std::string &_fileSuffix, bool _dot = true) {
    
    	// 合法性检查
    	if (!_filePaht) return false;
    	std::string str = _filePaht;
    	if (str.empty()) return false;
    
    
    	// .txt    的情况
    	if (str.at(0) == '.') return false;
    	// file.   的情况
    	if (str.at(str.size() - 1) == '.') return false;
    	
    
    	char c = '\0';
    
    // 区分此函数是在Windows环境调用还是Linux环境调用
    #if defined (_WIN64) || defined (WIN32) || defined (_WIN32)
    	//printf("---Windows---\n");
    	c = '\\';
    #else
    	//printf("---Linux---\n");
    	c = '\/';
    #endif
    
    	// 去除字符串中的路径,剩下文件名
    	std::string filename = strrchr(_filePaht, c) == NULL ? "" : strrchr(_filePaht, c) + 1;
    	if (filename == "") {
    		/* 说明字符串是file.txt或者file形式 */
    		filename = _filePaht;
    	
    	} else {
    		/* 说名字符串是C:\\abc\\file.txt或者C:\\abc\\file形式 */
    	}
    
    	// 找到 . 的位置
    	size_t _size = filename.rfind(".");
    	// 获得文件名,不包含后缀
    	_fileName = filename.substr(0, _size);
    
    	// 获得文件后缀
    	std::string strsuffix = "";
    	if (_size != -1) {	// 不等于-1说明有后缀 file.txt形式
    
    		// true后缀带点,false后缀不带点
    		if (_dot == true) {
    			strsuffix = filename.substr(_size);     // 文件后缀 .txt
    
    		} else {
    			strsuffix = filename.substr(_size + 1);     // 文件后缀 txt
    		}
    	}
    	// 后缀
    	_fileSuffix = strsuffix;
    
    	// 获得文件名.后缀(file.txt | file)
    	_fileNames = filename;
    
    	return true;
    }
    

    具体过程就不解释了,都有详细注释,去看,去理解吧。

    1. 测试Windows路径:
      C:\abc\file.txt
      C:\abc\file
      file.txt
      file

      int main(void) {
      
      	// C:\\abc\\file.txt
      	// C:\\abc\\file
      	// file.txt
      	// file
      
      	std::string fileNames = "";
      	std::string fileName = "";
      	std::string fileSuffix = "";
      	bool suffix = true;
      	bool flag = false;
      
      	//printf("---Windows---\n");
      
      	flag = get_fileName_fileSuffix("C:\\abc\\file.txt", fileNames, fileName, fileSuffix, suffix);
      	printf("str = %s, fileNames = %s   fileName = %s   fileSuffix = %s   flag = %d\n\n", "C:\\abc\\file.txt", fileNames.c_str(), fileName.c_str(), fileSuffix.c_str(), flag);
      
      	flag = get_fileName_fileSuffix("C:\\abc\\file", fileNames, fileName, fileSuffix, suffix);
      	printf("str = %s, fileNames = %s   fileName = %s   fileSuffix = %s   flag = %d\n\n", "C:\\abc\\file", fileNames.c_str(), fileName.c_str(), fileSuffix.c_str(), flag);
      
      	flag = get_fileName_fileSuffix("file.txt", fileNames, fileName, fileSuffix, suffix);
      	printf("str = %s, fileNames = %s   fileName = %s   fileSuffix = %s   flag = %d\n\n", "file.txt", fileNames.c_str(), fileName.c_str(), fileSuffix.c_str(), flag);
      
      	flag = get_fileName_fileSuffix("file", fileNames, fileName, fileSuffix, suffix);
      	printf("str = %s, fileNames = %s   fileName = %s   fileSuffix = %s   flag = %d\n\n", "file", fileNames.c_str(), fileName.c_str(), fileSuffix.c_str(), flag);
      
      	fileNames = "";
      	fileName = "";
      	fileSuffix = "";
      	flag = get_fileName_fileSuffix("", fileNames, fileName, fileSuffix, suffix);
      	printf("str = %s, fileNames = %s   fileName = %s   fileSuffix = %s   flag = %d\n\n", "\"\"", fileNames.c_str(), fileName.c_str(), fileSuffix.c_str(), flag);
      
      	return 0;
      }
      

      运行截图:
      这个是后缀带点(.txt)的测试
      在这里插入图片描述

    2. 测试Linux路径:
      /abc/file.txt
      /abc/file
      file.txt
      file

      int main(void) {
      
      	std::string fileNames = "";
      	std::string fileName = "";
      	std::string fileSuffix = "";
      	bool suffix = false;
      	bool flag = false;
      
      	// /abc/file.txt
      	// /abc/file
      	// /file.txt
      	// file
      	//printf("---Linux---\n");
      
      	flag = get_fileName_fileSuffix("/abc/file.txt", fileNames, fileName, fileSuffix, suffix);
      	printf("str = %s, fileNames = %s   fileName = %s   fileSuffix = %s   flag = %d\n\n", "/abc/file.txt", fileNames.c_str(), fileName.c_str(), fileSuffix.c_str(), flag);
      
      	flag = get_fileName_fileSuffix("/abc/file", fileNames, fileName, fileSuffix, suffix);
      	printf("str = %s, fileNames = %s   fileName = %s   fileSuffix = %s   flag = %d\n\n", "/abc/file", fileNames.c_str(), fileName.c_str(), fileSuffix.c_str(), flag);
      
      	flag = get_fileName_fileSuffix("file.txt", fileNames, fileName, fileSuffix, suffix);
      	printf("str = %s, fileNames = %s   fileName = %s   fileSuffix = %s   flag = %d\n\n", "/file.txt", fileNames.c_str(), fileName.c_str(), fileSuffix.c_str(), flag);
      
      	flag = get_fileName_fileSuffix("file", fileNames, fileName, fileSuffix, suffix);
      	printf("str = %s, fileNames = %s   fileName = %s   fileSuffix = %s   flag = %d\n\n", "/file", fileNames.c_str(), fileName.c_str(), fileSuffix.c_str(), flag);
      
      	return 0;
      }
      

      运行截图:
      这个是后缀不带点(txt)的测试
      在这里插入图片描述


    二、返回值 后缀索引 版

    第一个版本是两个星期前写好的,后续回来看后,觉得返回值好像不是太友好,于是乎更改了以下版本代码。
    返回的是 后缀索引 。

    处理过程不变!

    需要包含头文件:
    #include <stdio.h>
    #include <string.h>
    #include <string>

    /******************************************************************************
     *
     * 功能:
     *		获得 (文件名.后缀) 和 (文件名) 和 (文件后缀),Windows和Linux通用!
     *
     * 参数:
     *		_filePaht:			C语言字符指针,文件路径字符串
     *		_fullFileName:		C++字符串引用,获得[(文件名.后缀) 或 (文件名)]返回
     *		_fileName:			C++字符串引用,获得(文件名.后缀)返回
     *		_fileSuffix:		C++字符串引用,获得(后缀)返回
     *		_dot:				true,后缀带点(.txt);false,后缀不带点(txt);默认值为true
     *
     * 返回值:
     *		有后缀返回"."的索引;没有后缀则返回-1
     *
     ******************************************************************************/
    int get_fileName_fileSuffix(const char *_filePaht, std::string &_fullFileName, std::string &_fileName, std::string &_fileSuffix, bool _dot = true) {
    
    	// 合法性检查
    	if (!_filePaht) return -1;
    	std::string str = _filePaht;
    	if (str.empty()) return -1;
    
    	// .txt    的情况
    	if (str.at(0) == '.') return -1;
    	// file.   的情况
    	if (str.at(str.size() - 1) == '.') return -1;
    
    
    
    	char c = '\0';
    
    	// 区分此函数是在Windows环境调用还是Linux环境调用
    #if defined (_WIN64) || defined (WIN32) || defined (_WIN32)
    	//printf("---Windows---\n");
    	c = '\\';
    #else
    	//printf("---Linux---\n");
    	c = '\/';
    #endif
    
    	// 去除字符串中的路径,剩下文件名
    	std::string filename = strrchr(_filePaht, c) == NULL ? "" : strrchr(_filePaht, c) + 1;
    	if (filename == "") {
    		/* 说明字符串是file.txt或者file形式 */
    		filename = _filePaht;
    
    	} else {
    		/* 说名字符串是C:\\abc\\file.txt或者C:\\abc\\file形式 */
    	}
    
    	// 找到 . 的位置
    	size_t _size = filename.rfind(".");
    	// 获得文件名,不包含后缀
    	_fileName = filename.substr(0, _size);
    
    	// 获得文件后缀
    	std::string strsuffix = "";
    	if (_size != -1) {	// 不等于-1说明有后缀 file.txt形式
    
    		// true后缀带点,false后缀不带点
    		if (_dot == true) {
    			strsuffix = filename.substr(_size);     // 文件后缀 .txt
    
    		} else {
    			strsuffix = filename.substr(_size + 1);     // 文件后缀 txt
    		}
    	}
    	// 后缀
    	_fileSuffix = strsuffix;
    
    	// 获得文件名.后缀(file.txt | file)
    	_fullFileName = filename;
    
    	return _size;
    }
    

    测试:

    int main(void) {
    
    	std::string str = "abc.jpg";
    	//std::string str = ".abcjpg";
    	//std::string str = "abcjpg.";
    	std::string fullFilename, filename, fileSuffix;
    	int r = get_fileName_fileSuffix(str.c_str(), fullFilename, filename, fileSuffix, true);
    	printf("r = %d\n", r);
    	printf("fullFilename = %s   filename = %s   fileSuffix = %s\n", fullFilename.c_str(), filename.c_str(), fileSuffix.c_str());
    
    
    	return 0;
    }
    

    运行截图:
    在这里插入图片描述


    总结

    本人在做项目时经常需要在一个路径中提取出文件名和文件路径,但是在项目中写的是零散的代码,所以在这里总结成一个函数,通过这个函数去获取就方便多了,而且windows和linux通用!(废了两个三个小时写代码、测试和写博客,值得!)

    展开全文
  • 有的时候需要在Windows里面提取Linux中的img里面的文件来使用,但是手头并没有Linux环境。 而且这个img并非是虚拟光驱所用的img,所以一般的软件都不支持打开。 找了好半天,有一款特别推荐的软件可以直接mount后...

    有的时候需要在Windows里面提取Linux中的img里面的文件来使用,但是手头并没有Linux环境。

    而且这个img并非是虚拟光驱所用的img,所以一般的软件都不支持打开。

    找了好半天,有一款特别推荐的软件可以直接mount后读取,还能提取其中的文件,非常好用,

    软件如下:

    还有免费版本的,特别好使。

    下载传送门:https://eu.diskinternals.com/download/Linux_Reader.exe

    好用记得点个赞。

    展开全文
  • 因此,当您在Windows提取符号链接时,它将成为常规文本文件[虽然它也可能出错,但它可能取决于您用来提取存档的工具].复制回* nix时,它将保留常规文本文件.唯一的解决方案是在某些外部元数据存储中保留“symlink”...

    在* nix中,符号链接通常只是具有“symlink”属性的纯文本文件.该文件包含链接目标的路径. Windows上不存在“symlink”属性.因此,当您在Windows上提取符号链接时,它将成为常规文本文件[虽然它也可能出错,但它可能取决于您用来提取存档的工具].复制回* nix时,它将保留常规文本文件.

    唯一的解决方案是在某些外部元数据存储中保留“symlink”属性,并在上载文件或创建存档时恢复该属性.

    虽然我不知道任何支持这个的工具.

    你绝对可以编码.

    >使用WinSCP:您生成一个生成WinSCP script的代码.代码将递归迭代本地目录结构.对于文件,它将生成put命令以上载它.对于符号链接,它将生成ln命令以创建符号链接.为了区分符号链接,您可以使用一个简单的启发式方法(符号链接=带有斜杠的简短单行文本文件).一种正确的方法是在提取存档时记住文件符号链接属性(但是你也必须自己编写提取代码,请参阅下面的提示).

    >使用存档:

    我最近为ZIP存档实现了这个. (即使在Windows上)您可以使用PHP方法ZipArchive::setExternalAttributes将存档文件标记为符号链接.请注意,该功能仅适用于PHP 5.6.

    示例代码:

    $symlink = true; // is symlink?

    $dir = false; // is folder?

    $mode = "755"; // permissions

    $local_path = "C:\\zip\\folder\\mylink";

    $zip_path = "folder/mylink";

    $attr =

    (1 << 14) | // this bit seems to be always set

    (1 << ($dir ? 30 : 31)) |

    ($symlink ? (1 << 29) : 0) |

    octdec($mode) << 16;

    $zip->addFile($local_path, $zip_path);

    $zip->setExternalAttributesName($zip_path, ZipArchive::OPSYS_UNIX, $attr);

    展开全文
  • WindowsLinux文件互传的几种方式

    千次阅读 2020-06-29 20:07:36
    在对Linux系统操作过程中,我们经常会需要从Windows上传文件或是将文件上传到Windows上,也就是实现WindowsLinux文件互传,以下是本人在学习和工作的过程中学的几种方式: 1. 使用xftp xftp的下载链接如下: ...
  • XPDF是一个免费开源的软件,用于显示PDF文件,并可将pdf转换成文字图片等,同样支持Windows版。在Debian Linux上安装非常简单: apt-get install xpdf 我们这里只使用pdftotext这个功能,直接输入可查看帮助: root...
  • 1、可以先在客户端安装一个xshell软件 ...2、将xshell连接到linux上(输入ip地址、密码什么的就行了) 3、安装可以直接上传文件的命令 yum install -y lrzsz 4、然后直接从本地拖拽上传就行了 ...
  • 问题: 您没有权限将归档文件提取到文件夹“VMware Tools” 中 4 解决方法: 将文件 复制cp VMwareTools-10.3.10-xxxxx.tar.gz /home/user 目录下 之后解压缩:tar -zxvf VMxxxxx.tar.gz 然后执行命令:./...
  • icoextract是使用Python编写的Windows PE文件(.exe / .dll)的图标提取器。 它还包括用于Linux桌面的缩略图脚本( exe-thumbnailer )。 这个项目的灵感来自 , 和其他。 icoextract的目标是: 轻的 便携式(跨...
  • linux 打开dmg文件Whether you are an avid Mac programmer using a Windows PC, or you just found a DMG file on your Windows machine,it can be useful to know what it is and how to open it. Luckily it’s ...
  • Xshell很好用,然后有时候想在windowslinux上传或下载某个文件,其实有个很简单的方法就是rz,sz。首先你的Linux上需要安装安装lrzsz工具包,(如果没有安装请执行以下命令,安装完的请跳过)yum install lrzsz安装完毕...
  • 将window的文件复制到Linux中的方法

    万次阅读 2020-10-16 09:53:13
    将window的文件复制到Linux中一、将VMware升级15以上复制方法三级目录 一、将VMware升级15以上 如果你已经是15版本以上,就可以跳过此步骤; 不是的话,也不要着急,小编准备了15以上版本,需要的话可以去网盘...
  • 本文本文介绍如何打开(或解压缩).gz文件的方法。Gzip是一种流行的压缩算法...解压缩gz文件Linux和macOS系统上,可以使用gzip实用程序解压缩.gz文件,语法如下:gzip -d file.gz该命令会将压缩文件恢复其原始状态...
  • 在实际开发与维护中,可能会遇到需要从好几个G大的文本文件中获取包含指定文本的内容, ...假设大文件文件名为:big.log,需要获取从2021-01-15 17:002021-01-15 17 18:00的日志存文件small.log 1、定位起
  • linux Windows的简单,轻量级批处理脚本,将Linux命令带到Windows命令提示符(就这么简单)。安装克隆或提取此仓库以管理员身份运行文件main.bat并选择安装选项支持的命令您可以在找到更新命令列表。 如果时间允许...
  • 如何用Linux命令提取表格文本中的某列文本文件x.txt内容如下:kaa a:\dkdkdk 123dfdfdf b:\xxxxxxxxx 3234j你好x c:\fdfdfv 打开我现在要提取第二列,即:a:\dkdkdkb:\xxxxxxxxxc:\fdfdfv解决方案:grep -a '.' x....
  • 将本地文件上传到Linux

    万次阅读 2021-12-23 13:06:02
    把本地文件上传到Linux
  • 提取码:2677 双击打开下载好的FTP软件filezilla 点击“I agree” 保持默认选择,点击“next” 保持默认选择,点击“next” 自定义安装路径,点击“next” 保持默认选择,点击“install” 点击“finish”就...
  • 【一】显示文件前几行ll -lrth:按照更改时间倒序排列,最新文件在下边ll -lrSh:按照文件大小倒序排列,最大文件在下边grep --color :高亮查询关键字grep -A 10 xxx : 显示关键字后10行,查异常栈时很有用grep -B 10 ...
  • Windows 使用如下的DOS命令来实现: dir /s /b > lists.txt 可以将当前路径下的所有文件的“文件路径+文件名”存储在lists.txt中。 其中,/s表示的是“列出完整路径”选项,如果命令行是如下形式: dir...
  • 1.从服务器复制文件到本地:scp root@×××.×××.×××.×××:/data/test.txt /home/myfile/root@×××.×××.×××.××× root是目标服务器(有你需要拷贝文件的服务器)的用户名,×××.×××.×××.×...
  • 从html文件提取可显示的文本内容。可用于windowslinux环境。
  • Linux 终端中命令输出保存到文件中的方法当你在 Linux 终端中运行命令或脚本时,它会在终端中打印输出方便你立即查看。有时你需要将输出保存到文件中以备将来参考。当然你可以在 Linux 终端中复制和粘贴,但是有更好...
  • Linux支持多种文件系统类型,包括ext3、vfat、jffs、romfs和nfs等,Ext4/Ext3为Linux系统的广泛格式;而Window系统的广泛格式是NTFS,FAT32等。 NAS服务器大都是Linux系统,自然在硬盘上保存的数据一般都是Ext4,...
  • Windows系统远程连接Linux系统操作

    千次阅读 2021-05-07 08:52:47
    二是Windows系统连接到Linux系统 第一种情况下:在Linux系统和Mac系统下可以相互用命令"ssh [-p] 22 连接主机名@主机IP地址"连接 第二种情况下:需要相应的软件转换 “PuTTY”...
  • 专家们的普遍共识是,Linux 是设计上最安全的操作系统之一,这一令人印象深刻可归因于多种因素,包括其透明的开源代码、严格的用户权限模型、多样性、内置的内核安全防御和在其上运行的应用程序的安全性。...
  • Windows重装为Linux

    千次阅读 2021-12-04 13:36:04
    因为第一次搞系统,过程踩了不少坑,最终是按照这位大佬的步骤成功的; 本文主要是转载文章,大体框架来自于原文,其中会穿插一些自己的理解,记录一下自己安装过程中踩的坑及解决办法; ...
  • 由于 Linux 用户数量较少,绝大多数打印机厂商不提供 Linux 驱动和软件,所以 Linux 下使用打印机有点麻烦;由于 Linux 下使用打印机(以及其他某些硬件)较麻烦,所以 Linux 用户数量难以增长,硬件厂商更加不愿意为 ...
  • 本软件服务器端基于linux平台,客户端支持linuxwindows,aix等平台,支持文件、mysql、mssql、oracle等数据的应用级备份及热备份。通过私有数据传输协议,将用户数据分块去重、压缩、加密后,传输云端存储系统...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,894
精华内容 29,557
热门标签
关键字:

linux文件提取到windows

友情链接: test1.zip