linux实现远程文件夹共享-samba

目录

  • 问题描述
  • Samba
  • 如何挂载
    • 常用参数
    • 临时挂载实例
    • 一种长期挂载方法(已失败,仅供参考)
    • 查看挂载
    • 取消挂载
      • umount失败

问题描述

我的代码需要访问存在于两个系统(win和linux)的文件夹,我不是文件夹的创建者,只需要对它们进行读取,不做写操作。

Samba

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。

所以要在win系统,装一个samba,linux已经有了(mount --version可查看版本)。

如何挂载

常用参数

-t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
-o rw:用可读写模式挂上
dir_mode和file_mode:指定文件夹和文件的权限,三位数字。如果修改了,会覆盖默认的755

mount参数参考:
https://blog.51cto.com/zkxfoo/1758529

临时挂载实例

mount -t cifs -o username=xxx,password=xxx,rw,dir_mode=0777,file_mode=0777  //ip/远程路径 /本地路径

这句命令表示将 ip/远程文件夹路径 挂载到 /本地路径,那么访问本地路径就可以看到远程文件夹下的内容。

这样只能临时挂载,每次开启xshell连接时都会找不到(目标文件夹,ls会卡死)

一种长期挂载方法(已失败,仅供参考)

  1. 修改 /etc/fstab
    格式:欲挂载位置\t本地位置\t文件系统种类(这里是cifs,是windows smb的)\t其他参数(如用户名、密码、挂载后的权限等)\t0(转储频率:0:从不备份 1:每日备份2:每隔一天备份)\t0(自检次序:0不自检,1首先自检,通常只能被/使用,2等数字为1的自检完成后,再进行自检)
    在这里插入图片描述
    最后三行是挂载命令,第一列是//ip/远程路径 ,第二列是/本地路径,第三列是cifs,第四列是defaults,username=用户名,password=密码,rw,dir_mode=0777,file_mode=0777,和前面一样;后两列可以留0

  2. 生效:重启服务器或者mount -a -t cifs
    -a 自动挂载所有(/etc/fstab文件中)支持自动挂载的设备。这里会挂载上之前没有挂载的东西。-t 指定类型

但是关闭xshell再次启动后,还是du会卡。很可能是因为某些原因挂载失败了。
可以用 strace 命令(如df\du\ls之类的)看是卡在哪一步了

这个方法不行,我这个服务器没有systemctl(替换为service XXX restart,提示找不到该服务)
service --status-all 可以查看本机所有服务,也确实没有proc*这个服务。

很可能是隔一段时间就失败了(没关xshell也卡了ls,cd,df等等),所以需要的时候,请临时挂载,不要改文件/etc/fstab!!!!

如果真的卡死了,先用root登录本机,然后kill掉卡住的进程,接着umount挂载位置(尤其是远程连接的,不确定的话先用trace诊断),可能需要-fl来强制去掉挂载,然后去改/etc/fstab(如果改动了,再用mount -a生效)。

查看进程号
ps -ef | grep 命令
第二列时pid,用kill -s 9 pid可以结束进程。需要root权限
在这里插入图片描述

最好临时挂载。

查看挂载

列出磁盘使用情况:df

取消挂载

umount 本地挂载路径

使用被挂载的路径也可以,但是如果用本地路径就必须是精确的,不能是父级文件夹

umount失败

那就等一下。
-f是强制卸载(在无响应的NFS系统的情况下),-l 隔离文件系统后,全部清除

umount -fl 本地挂载路径

在这里插入图片描述
上面这样提示的话,此时该文件夹可能会有问题,进文件夹后ls/ll等无反应,而且root也无法删除
fuser -k 是杀死访问指定文件的所有进程
在这里插入图片描述

此时需要等一会儿,再次umount这个文件夹。然后权限就正常了,可以删除了。

fuser用法
用于报告进程使用的文件和网络套接字。fuser命令列出了本地进程的进程号,那些本地进程使用file,参数指定的本地或远程文件。对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。
在这里插入图片描述

格式:fuser 选项 参数
-a:显示命令行中指定的所有文件;
-k:杀死访问指定文件的所有进程;
-i:杀死进程前需要用户进行确认;
-l:列出所有已知信号名;
-m:指定一个被加载的文件系统或一个被加载的块设备;
-n:选择不同的名称空间;
-u:在每个进程后显示所属的用户名。
-x 与 -c 或 -f 连用,报告除标准 fuser 输出以外的可执行的和可载入的对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国电子学会(CEIT)2023年09月真题C语言软件编程等级考试二级(含解析答案)

中国电子学会(CEIT)考评中心历届真题(含解析答案) C语言软件编程等级考试二级 2023年09月 编程题五道 总分:100分一、数组指定部分逆序重放(20分) 将一个数组中的前k项按逆序重新存放。例如,将数组8、6、5、4、1,前3项逆序重放得到5、6、8、4、1。 时间限制: 1…

STM32基础--什么是寄存器

STM32 长啥样 我使用的芯片是 144pin 的 STM32F103ZET6,具体见图 STM32F103ZET6 实物图。这个就是我们接下来要学习的 STM32,它将带领我们进入嵌入式的殿堂。芯片正面是丝印,ARM 应该是表示该芯片使用的是 ARM 的内核,STM32F103Z…

【操作系统学习笔记】文件管理2.4

【操作系统学习笔记】文件管理2.4 参考书籍: 王道考研 视频地址: Bilibili 缓冲区管理 介绍 缓冲区是一个存储区域,可以由专门的硬件寄存器组成,也可利用内存作为缓冲区有。使用硬件作为缓冲区的成本较高,容量也较小,一般仅用…

three.js如何实现简易3D机房?(一)基础准备-上

目录 一、tips 二、功能说明 1.模型初始化 2.功能交互 三、初始化准备 1.目录结构 2.创建三要素 3.创建轨道控制器 4.初始化灯光 5.适配 6.循环渲染 一、tips 1.three.js入门的相关基础性知识就不在此过多赘述了,可以自行提前了解 three.js docs&…

Pytest框架中的测试用例执行方式!

前言 本文将针对pytest的核心特性之一——测试用例的执行方式展开深入探讨,并通过详尽的实战示例展示如何在不同环境下灵活操控测试运行,同时全面解析pytest中常见的且极具实用价值的命令行选项。 一、从基础到进阶:pytest在命令行下的测试用…

苹果电脑专业的Mac垃圾清理工具CleanMyMac X4.14.7

CleanMyMac X是一款专业的Mac清理工具,它具有强大的功能和易用的界面,可以帮助用户快速清理Mac上的无用文件和垃圾,优化系统性能,提升电脑运行速度。 该软件的核心功能包括智能扫描与清理、应用程序管理、隐私保护和系统维护等。…

LeetCode217. Contains Duplicate

文章目录 一、题目二、题解 一、题目 Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct. Example 1: Input: nums [1,2,3,1] Output: true Example 2: Input: nums [1,2,3,4…

简单介绍SpeechPrompt、SpeechPrompt V2、SpeechGen

主要介绍SpeechPrompt、SpeechPrompt V2、SpeechGen SpeechPrompt 模型结构和原理(语音到符号) 整体思路:音频特征提取(HuBert/CPC),离散–》deep prompt speechLM(GSLM)—》概率映射–>目标Verbaliz…

代码随想录刷题笔记-Day28

1. 重新安排行程 332. 重新安排行程https://leetcode.cn/problems/reconstruct-itinerary/给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯…

计算题--时标网络图

时标网络图相当于是双代号网络图和横道图的结合体,特点是多了虚线和波浪线〰️,虚线代表虚工作(只能竖着画),波浪线代表自由时差(横着画)。 在时标网络图中 找关键路径,没有波浪线的…

07_mdioLinux内核模块

01_basicLinux内核模块-CSDN博客文章浏览阅读316次&#xff0c;点赞3次&#xff0c;收藏3次。环境IDubuntuMakefilemodules:clean:basic.creturn 0;运行效果。https://blog.csdn.net/m0_37132481/article/details/136157384my_mdio.c #include <linux/kernel.h> #includ…

【数据结构与算法】深入浅出:单链表的实现和应用

&#x1f331;博客主页&#xff1a;青竹雾色间. &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ✨人生如寄&#xff0c;多忧何为 ✨ 目录 前言 单链表的基本概念 节点 头节点 尾节点 单链表的基本操作 创建单链表 头插法&#xff1a; 尾插法&#…

【数据结构】 简单认识包装类与泛型

文章目录 包装类基本数据类型和对应的包装类拆箱和装箱自动装箱和自动拆箱包装类面试题 什么是泛型为什么要使用泛型泛型类的创建语法泛型类的使用语法示例类型推导(Type Inference) 裸类型(Raw Type)泛型如何编译的擦除机制为什么不能实例化泛型类型数组 泛型的上界语法示例复…

第五讲:使用blockscout对链上数据可视化

blockscout 拉代码&#xff1a; git clone gitgithub.com:blockscout/blockscout.git 启动docker&#xff1a; cd ./docker make start 进入blockscout网址&#xff1a; http://localhost 注意&#xff1a;blockscout默认会去 http://127.0.0.1:8545/ 查询以太坊信息&am…

论交谈中的不自觉要求及其影响

在人际交往的过程中&#xff0c;交谈作为一种基本而又复杂的沟通方式&#xff0c;往往伴随着各种未明示的要求与期待。实际上&#xff0c;人们在谈话中经常不自觉地对他人的行为或思想提出要求&#xff0c;这种现象虽常见却容易被忽视&#xff0c;它不仅影响了交流的有效性&…

【C语言】Leetcode 876. 链表的中间节点

主页&#xff1a;17_Kevin-CSDN博客 专栏&#xff1a;《Leetcode》 题目 通过题目的要求可以判断出有两种示例要解决&#xff0c;一种是偶数节点的链表&#xff0c;一种是奇数节点的链表&#xff0c;应对这两种情况我们需要使程序对二者都可以兼容。 解决思路 struct ListNode…

03. Nginx入门-Nginx虚拟主机

Nginx虚拟主机简介 yum安装与源码安装一样&#xff0c;只是Nginx配置文件路径不一致&#xff0c;这里用的yum安装的配置文件路径。 利用虚拟主机的功能&#xff0c;可以在一台Nginx服务器上部署一个或多个虚拟主机。 虚拟主机主配置文件 注意&#xff1a;配置完成Nginx主配置…

时间序列数据平稳性检验与随机性分析

1、实验内容: 分析1964年到1999年中国纱产量的时间序列&#xff0c;主要内容包括: (1)、通过图分析时间序列的平稳性&#xff0c;这个方法很直观&#xff0c;但比较粗糙; (2)、通过计算序列的自相关和偏自相关系数&#xff0c;绘出自相关图&#xff0c;根据平稳时间序列的性质分…

splay学习笔记重制版

以前写的学习笔记&#xff1a;传送门 但是之前写的比较杂乱&#xff0c;这里重制一下 问题背景 假设我们要维护一个数据结构&#xff0c;支持插入、删除、查询某个值的排名&#xff0c;查询第 k k k大的值等操作。 最直接的想法是用二叉搜索树&#xff0c;也就是左子树权值&l…

Java实现手机库存管理

一、实验任务 编写一个程序&#xff0c;模拟库存管理系统。该系统主要包括系统首页、商品入库、商品显示和删除商品功能。每个功能的具体要求如下&#xff1a; 1.系统的首页&#xff1a;用于显示系统所有的操作&#xff0c;并且可以选择使用某一个功能。 2.商品入库功能&…