最近在使用linux的时候用上了很多命令,从开始的抗拒各种陌生的命令,到后面渐渐熟悉感觉linux使用还是挺方便的…
ipcs、ipcrm:查看进程间通讯状态。
diff:比较文本文件。它能比较单个文件或者目录内容。
mount、umount:将分区挂接到Linux的一个文件夹下。
bash/sh、source、./的区别:
在使用bash/sh、source去执行脚本或者程序的时候,不需要执行权限,而./需要执行权限。
source执行就相当于在当前shell进程下执行,而bash命令就相当于fork,创建了一个subshell去执行,./也是在subshell中执行。
NFS(网络文件系统)
今天在使用虚拟机和一个树莓派的时候,因为需要把文件传输到树莓派里面去,所以使用ssh登陆到树莓派上,而如何让树莓派和虚拟机之间进行文件传输,这时候就用到NFS了。
我个人的使用感受就是,NFS提供了服务器端软件与客户端软件通过TCP/UDP进行传输,我们仅仅需要分别在两台机器上安装配置即可,我使用的是ubuntu,通过sudo apt install nfs-kernel-server
安装了服务器端程序。
这里注意的是要选择哪个做为服务器端,今天我在使用的过程中发现树莓派的ping不到我虚拟机的ip地址,而虚拟机能够ping通树莓派,所以我选择了树莓派作为服务端,而虚拟机作为客户端,在使用上来说也没多大区别,就像QQ聊天一样,我还是可以把我虚拟机的信息发送给树莓派,在使用NFS时,mount出错的话最好去查系统日志,如:cat /var/log/syslog | grep mount
,会有详细的报告。
服务端:
在服务端需要安装nfs-kernel-server
,安装完后,通过编辑/etc/exports:
配置规则:
/home/yanghao/Desktop/armlib
为共享的目录,使用绝对路径。
*(insecure,rw,sync,no_root_squash)
,*
号为客户端的地址,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,地址与权限中间没有空格,权限说明:
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。
insecure :允许从这台机器过来的非授权访问。
配置完成即可使用了,启动服务的方式为,/etc/init.d/nfs-kernel-server start
或者/etc/init.d/nfs-kernel-server restart
客户端
客户端安装sudo apt install nfs-common
即可,通过命令 sudo mount 服务端ip地址:共享文件夹地址 挂载文件夹地址
使用。