精华内容
下载资源
问答
  • linux服务器挂载windows共享文件夹

    千次阅读 2019-08-23 15:54:06
    1. windows上设置共享文件夹 创建一用于远程登录的账户,这样的好处是登录时需要账号密码,比较安全。 具体的,在控制面版->用户账户->管理账户中添加新用户。 之前我就有账号,就不截图了。 选择你要共享...

    前言

      linux服务器挂载本地的磁盘有很多好处,比如把代码放到这里,方便编辑修改,方便管理同步,尤其是在linux服务器无法连接外网的时候。
      当然也可以windows上挂载linux服务器的文件夹,但是通常来说,修改编辑需要经常读写,而跑代码只需要读取一次,所以体验上不如linux服务器挂载windows文件夹好。

    步骤

    1. windows上设置共享文件夹

    1. 创建一个用于远程登录的账户,这样的好处是登录时需要账号密码,比较安全。
      具体的,在控制面版->用户账户->管理账户中添加新用户。
      之前我就有账号,就不截图了。
    2. 选择你要共享的文件夹,右键->属性->共享->高级共享,选择共享此文件夹,点击确定;然后点击共享,确保你添加的账户在共享的用户里面, 权限读写 然后点击共享。
      完成后,你就能在属性->共享里看到文件夹的网络路径。

      在这里插入图片描述
      在这里插入图片描述

    P.S : 如果你在后面遇到连接问题,可以检查下这些地方:

    1. 关闭防火墙,如果同在一个局域网下关闭专用网络防火墙即可。
    2. mount error 112 : host is down 如果后面出现这个错误,打开控制面板->程序和功能->启用或关闭windows功能,确保下图选项是选中的:
      在这里插入图片描述

    2. 在linux上挂载共享文件夹

    创建要映射的目录,就你想在哪里打开windows共享文件夹,在这个地方创建个空文件夹
    输入以下命令:

    sudo mount -t cifs -o username=xxx,password=***,rw,file_mode=0777,dir_mode=0777,uid=1003,gid=1003 //192.168.xxx.xxx/linux_workplace /home/temp
    
    1. username,password 就输入windows账户的账号密码;
    2. rw,file_mode,dir_mode 控制linux上文件夹与文件的读写权限;
    3. uid,gid 是你linux账户的用户id和组id,可以在shell输入‘id’命令查看;
    4. //192.168.xxx.xxx/linux_workplace 就是windows共享文件夹的网络路径;
    5. /home/temp 为映射到linux上的哪个文件夹

    完成这一步,没报错应该就成功了。

    P.S:

    1. 查看挂载命令
    mount
    
    1. 卸载挂载命令
    sudo umount /home/temp
    
    展开全文
  • 本文描述的是在linux上通过搭建nfs服务器来实现服务器之间文件共享的目的 2.环境准备 Linux系统: 服务器1: 充当文件服务器 (192.168.10.90) 服务器2: 充当客户端(192.168.10.98) 3.搭建步骤 3.1.文件服务器 ...

    1.安装说明
    本文描述的是在linux上通过搭建nfs服务器来实现多台服务器之间文件共享的目的

    2.环境准备
    Linux系统:
    服务器1: 充当文件服务器 (192.168.10.90)
    服务器2: 充当客户端(192.168.10.98)

    3.搭建步骤
    3.1.文件服务器
    3.1.1.检查是否安装相关的软件包
    命令: rpm -qa | grep nfs

    说明:如果还未安装nfs服务器,请执行下面步骤: (已安装过就跳过执行步骤3.1.2)
    服务端安装nfs:
    命令: yum install nfs-utils

    3.1.2.创建一个准备用于共享访问的目录/data(这个目录可以自定义)
    命令: mkdir -p /data

    3.1.3.将共享目录信息以及共享开放的权限写入配置exports(vim /etc/exports)文件中
    命令:
    echo “/data 192.168.10.*(rw,no_root_squash)”>/etc/exports

    查看配置文件: cat /etc/exports
    内容如下:
    /data 192.168.10.*(rw,no_root_squash)

    上述配置表示:共享目录为/data,可以被192.168.10网段的主机访问,权限是读写(rw),对应root用户权限设置(no_root_squash),具体的参数说明可以参考NFS手册,这里配置的是最常用的参数,也足够用了.

    3.1.4.重启文件服务器的NFS相关服务
    命令: service rpcbind restart

    命令: service nfs restart

    3.1.5.设定相关服务在开机启动的时候自动启动
    命令: chkconfig rpcbind on
    命令: chkconfig nfs on

    3.2.配置客户端访问
    3.2.1.客户端安装nfs
    命令: yum install nfs-utils

    3.2.2.客户端访问也需要启动相关的访问服务
    命令: service rpcbind restart

    3.2.3.设置访问服务进程开机自动启动
    命令: chkconfig rpcbind on

    3.2.4.创建一个拥有把文件服务器共享目录挂载到本地的目录/data,你也可以不使用这个目录,这个目录路径没有必要和文件服务器的一致
    命令: mkdir -p /data

    3.2.5.通过mount命令指定挂载nfs文件服务器的目录/data到本地的/data目录
    命令: mount -t nfs 192.168.10.90:/data /data

    3.2.6.通过df -h命令查看挂载点

    展开全文
  • 入门学习Linux常用必会60命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    如果选择用命令行模式登录Linux的话,那么看到的第一个Linux命令就是login:。 一般界面是这样的: Manddrake Linux release 9.1(Bamboo) for i586 renrel 2.4.21-0.13mdk on i686 / tty1 localhost login:root ...
  • Linux 命令面试题

    万次阅读 多人点赞 2019-07-24 09:40:04
    Linux面试题: 1.Linux常用系统安全命令 sudo // 超级用户 su // 用于切换当前用户身份到其他身份,变更时需输入所要变更的用户账号与密码。 chmod // 用来变更文件或目录的权限 setfacl // 设置文件访问控制列表 2....

    Linux面试题:
    1.Linux常用系统安全命令
    sudo // 超级用户
    su // 用于切换当前用户身份到其他身份,变更时需输入所要变更的用户账号与密码。
    chmod // 用来变更文件或目录的权限
    setfacl // 设置文件访问控制列表
    2.Linux常用进程管理命令
    w // 用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。
    top // 可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。
    ps // 用于报告当前系统的进程状态。
    kill // 用来删除执行中的程序或工作。
    pkill // 可以按照进程名杀死进程。
    pstree // 以树状图的方式展现进程之间的派生关系,显示效果比较直观。
    killall // 使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。
    3.Linux常用用户管理命令
    id // 可以显示真实有效的用户ID(UID)和组ID(GID)。
    usermod // 用于修改用户的基本信息。
    useradd // 用于 Linux中创建的新的系统用户。
    groupadd // 用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。
    userdel // 用户删除给定的用户,以及与用户相关的文件。若不加选型,则进删除用户账号,而不删除相关文件。
    4.Linux系统关机和重启
    shutdown reboot
    5.Linux系统定时任务
    contab -e //创建定时任务
    6.Linux文件内容查看
    head // 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
    tail // 用于输入文件中的尾部内容。tail命名默认在屏幕上显示指定文件的末尾10行。
    more // 用来浏览文件档案的内容(只能向前浏览)。
    less // 用来浏览文字档案的内容,允许用户向前或向后浏览文件。使用该命令时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
    7.计划每星期天早8点服务器定时重启,如何实现?
    Crontab-e
    0008 * * 7 /sbin/init 6
    8.linux下如何改IP,主机名,DNS
    使用setup 命令可以修改IP 和DNS ,修改完后重启网络:service network restart

    临时修改即时生效,重启后失效
    hostname主机名: 修改主机名
    ifconfigeth0 IP netmask 掩码 :修改IP

    永久修改主机名: 修改:/etc/sysconfig/network 文件 HOSTNAME=主机名
    永久修改IP地址:修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件
    修改完后重启网络:service network restart
    9.如何用mysql 命令进行备份和恢复? 以test 库为例,创建一个备份,并再用此备份进行恢复。
    答案:mysqldump -u root -p test > test.bak
    mysql -u root -p < test.bak
    10.linux系统中如何获取pid为100的进程所监听的tcp端口,请给出详细命令?
    netstat -nlpt |grep 100
    4.Linux常用命令
    arch 显示机器的处理器架构(1) 
    uname -m 显示机器的处理器架构(2) 
    uname -r 显示正在使用的内核版本 
    dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) 
    hdparm -i /dev/hda 罗列一个磁盘的架构特性 
    hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 
    cat /proc/cpuinfo 显示CPU info的信息 
    cat /proc/interrupts 显示中断 
    cat /proc/meminfo 校验内存使用 
    cat /proc/swaps 显示哪些swap被使用 
    cat /proc/version 显示内核的版本 
    cat /proc/net/dev 显示网络适配器及统计 
    cat /proc/mounts 显示已加载的文件系统 
    lspci -tv 罗列 PCI 设备 
    lsusb -tv 显示 USB 设备 
    date 显示系统日期 
    cal 2007 显示2007年的日历表 
    date 041217002007.00 设置日期和时间 - 月日时分年.秒 
    clock -w 将时间修改保存到 BIOS

    关机 (系统的关机、重启以及登出 ) 
    shutdown -h now 关闭系统(1) 
    init 0 关闭系统(2) 
    telinit 0 关闭系统(3) 
    shutdown -h hours:minutes & 按预定时间关闭系统 
    shutdown -c 取消按预定时间关闭系统 
    shutdown -r now 重启(1) 
    reboot 重启(2) 
    logout 注销

    文件和目录 
    cd /home 进入 ‘/ home’ 目录’ 
    cd … 返回上一级目录 
    cd …/… 返回上两级目录 
    cd 进入个人的主目录 
    cd ~user1 进入个人的主目录 
    cd - 返回上次所在的目录 
    pwd 显示工作路径 
    ls 查看目录中的文件 
    ls -F 查看目录中的文件 
    ls -l 显示文件和目录的详细资料 
    ls -a 显示隐藏文件 
    ls [0-9] 显示包含数字的文件名和目录名 
    tree 显示文件和目录由根目录开始的树形结构(1) 
    lstree 显示文件和目录由根目录开始的树形结构(2) 
    mkdir dir1 创建一个叫做 ‘dir1’ 的目录’ 
    mkdir dir1 dir2 同时创建两个目录 
    mkdir -p /tmp/dir1/dir2 创建一个目录树 
    rm -f file1 删除一个叫做 ‘file1’ 的文件’ 
    rmdir dir1 删除一个叫做 ‘dir1’ 的目录’ 
    rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容 
    rm -rf dir1 dir2 同时删除两个目录及它们的内容 
    mv dir1 new_dir 重命名/移动 一个目录 
    cp file1 file2 复制一个文件 
    cp dir/* . 复制一个目录下的所有文件到当前工作目录 
    cp -a /tmp/dir1 . 复制一个目录到当前工作目录 
    cp -a dir1 dir2 复制一个目录 
    ln -s file1 lnk1 创建一个指向文件或目录的软链接 
    ln file1 lnk1 创建一个指向文件或目录的物理链接 
    touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm) 
    file file1 outputs the mime type of the file as text 
    iconv -l 列出已知的编码 
    iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding. 
    find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80x60 “thumbs/{}” ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)

    文件搜索 
    find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录 
    find / -user user1 搜索属于用户 ‘user1’ 的文件和目录 
    find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件 
    find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 
    find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 
    find / -name *.rpm -exec chmod 755 ‘{}’ ; 搜索以 ‘.rpm’ 结尾的文件并定义其权限 
    find / -xdev -name *.rpm 搜索以 ‘.rpm’ 结尾的文件,忽略光驱、捷盘等可移动设备 
    locate *.ps 寻找以 ‘.ps’ 结尾的文件 - 先运行 ‘updatedb’ 命令 
    whereis halt 显示一个二进制文件、源码或man的位置 
    which halt 显示一个二进制文件或可执行文件的完整路径

    挂载一个文件系统 
    mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在 
    umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2’ 退出 
    fuser -km /mnt/hda2 当设备繁忙时强制卸载 
    umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用 
    mount /dev/fd0 /mnt/floppy 挂载一个软盘 
    mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom 
    mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom 
    mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom 
    mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件 
    mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统 
    mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备 
    mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享

    磁盘空间 
    df -h 显示已经挂载的分区列表 
    ls -lSr |more 以尺寸大小排列文件和目录 
    du -sh dir1 估算目录 ‘dir1’ 已经使用的磁盘空间’ 
    du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小 
    rpm -q -a --qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统) 
    dpkg-query -W -f=’ I n s t a l l e d − S i z e ; 10 t {Installed-Size;10}t InstalledSize;10t{Package}n’ | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

    用户和群组 
    groupadd group_name 创建一个新用户组 
    groupdel group_name 删除一个用户组 
    groupmod -n new_group_name old_group_name 重命名一个用户组 
    useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 “admin” 用户组的用户 
    useradd user1 创建一个新用户 
    userdel -r user1 删除一个用户 ( ‘-r’ 排除主目录) 
    usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性 
    passwd 修改口令 
    passwd user1 修改一个用户的口令 (只允许root执行) 
    chage -E 2005-12-31 user1 设置用户口令的失效期限 
    pwck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的用户 
    grpck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的群组 
    newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组

    文件的权限 - 使用 “+” 设置权限,使用 “-” 用于取消 
    ls -lh 显示权限 
    ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示 
    chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 
    chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限 
    chown user1 file1 改变一个文件的所有人属性 
    chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 
    chgrp group1 file1 改变文件的群组 
    chown user1:group1 file1 改变一个文件的所有人和群组属性 
    find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件 
    chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 
    chmod u-s /bin/file1 禁用一个二进制文件的 SUID位 
    chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的 
    chmod g-s /home/public 禁用一个目录的 SGID 位 
    chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件 
    chmod o-t /home/public 禁用一个目录的 STIKY 位

    文件的特殊属性 - 使用 “+” 设置权限,使用 “-” 用于取消 
    chattr +a file1 只允许以追加方式读写文件 
    chattr +c file1 允许这个文件能被内核自动压缩/解压 
    chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件 
    chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接 
    chattr +s file1 允许一个文件被安全地删除 
    chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘 
    chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件 
    lsattr 显示特殊的属性

    打包和压缩文件 
    bunzip2 file1.bz2 解压一个叫做 'file1.bz2’的文件 
    bzip2 file1 压缩一个叫做 ‘file1’ 的文件 
    gunzip file1.gz 解压一个叫做 'file1.gz’的文件 
    gzip file1 压缩一个叫做 'file1’的文件 
    gzip -9 file1 最大程度压缩 
    rar a file1.rar test_file 创建一个叫做 ‘file1.rar’ 的包 
    rar a file1.rar file1 file2 dir1 同时压缩 ‘file1’, ‘file2’ 以及目录 ‘dir1’ 
    rar x file1.rar 解压rar包 
    unrar x file1.rar 解压rar包 
    tar -cvf archive.tar file1 创建一个非压缩的 tarball 
    tar -cvf archive.tar file1 file2 dir1 创建一个包含了 ‘file1’, ‘file2’ 以及 'dir1’的档案文件 
    tar -tf archive.tar 显示一个包中的内容 
    tar -xvf archive.tar 释放一个包 
    tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下 
    tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包 
    tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包 
    tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包 
    tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包 
    zip file1.zip file1 创建一个zip格式的压缩包 
    zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包 
    unzip file1.zip 解压一个zip格式压缩包

    RPM 包 - (Fedora, Redhat及类似系统) 
    rpm -ivh package.rpm 安装一个rpm包 
    rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告 
    rpm -U package.rpm 更新一个rpm包但不改变其配置文件 
    rpm -F package.rpm 更新一个确定已经安装的rpm包 
    rpm -e package_name.rpm 删除一个rpm包 
    rpm -qa 显示系统中所有已经安装的rpm包 
    rpm -qa | grep httpd 显示所有名称中包含 “httpd” 字样的rpm包 
    rpm -qi package_name 获取一个已安装包的特殊信息 
    rpm -qg “System Environment/Daemons” 显示一个组件的rpm包 
    rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表 
    rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表 
    rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表 
    rpm -q package_name --whatprovides 显示一个rpm包所占的体积 
    rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l 
    rpm -q package_name --changelog 显示一个rpm包的修改历史 
    rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供 
    rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表 
    rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书 
    rpm --checksig package.rpm 确认一个rpm包的完整性 
    rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性 
    rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间 
    rpm -Va 检查系统中所有已安装的rpm包- 小心使用 
    rpm -Vp package.rpm 确认一个rpm包还未安装 
    rpm2cpio package.rpm | cpio --extract --make-directories bin 从一个rpm包运行可执行文件 
    rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm 从一个rpm源码安装一个构建好的包 
    rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

    YUM 软件包升级器 - (Fedora, RedHat及类似系统) 
    yum install package_name 下载并安装一个rpm包 
    yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系 
    yum update package_name.rpm 更新当前系统中所有安装的rpm包 
    yum update package_name 更新一个rpm包 
    yum remove package_name 删除一个rpm包 
    yum list 列出当前系统中安装的所有包 
    yum search package_name 在rpm仓库中搜寻软件包 
    yum clean packages 清理rpm缓存删除下载的包 
    yum clean headers 删除所有头文件 
    yum clean all 删除所有缓存的包和头文件

    DEB 包 (Debian, Ubuntu 以及类似系统) 
    dpkg -i package.deb 安装/更新一个 deb 包 
    dpkg -r package_name 从系统删除一个 deb 包 
    dpkg -l 显示系统中所有已经安装的 deb 包 
    dpkg -l | grep httpd 显示所有名称中包含 “httpd” 字样的deb包 
    dpkg -s package_name 获得已经安装在系统中一个特殊包的信息 
    dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表 
    dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表 
    dpkg -S /bin/ping 确认所给的文件由哪个deb包提供

    APT 软件工具 (Debian, Ubuntu 以及类似系统) 
    apt-get install package_name 安装/更新一个 deb 包 
    apt-cdrom install package_name 从光盘安装/更新一个 deb 包 
    apt-get update 升级列表中的软件包 
    apt-get upgrade 升级所有已安装的软件 
    apt-get remove package_name 从系统删除一个deb包 
    apt-get check 确认依赖的软件仓库正确 
    apt-get clean 从下载的软件包中清理缓存 
    apt-cache search searched-package 返回包含所要搜索字符串的软件包名称

    查看文件内容 
    cat file1 从第一个字节开始正向查看文件的内容 
    tac file1 从最后一行开始反向查看一个文件的内容 
    more file1 查看一个长文件的内容 
    less file1 类似于 ‘more’ 命令,但是它允许在文件中和正向操作一样的反向操作 
    head -2 file1 查看一个文件的前两行 
    tail -2 file1 查看一个文件的最后两行 
    tail -f /var/log/messages 实时查看被添加到一个文件中的内容

    什么是MongoDB?
    答:mongodb是基于分布式文件存储的nosql数据库,是一种文档型数据库,适合存储

    海量数据并提高性能存取。2.mongodb三元素:
    答:数据库、集合(表)、文档(行)

    名字空间(namespace)是什么?
    答:MongoDB存储BSON对象在丛集(collection)中。数据库名字和丛集名字以句点连结起来叫做名字空间(namespace)。

    MongoDB的特点是什么?
      答:(1)面向文档(2)高性能(3)高可用(4)易扩展(5)丰富的查询语言

    MySQL与MongoDB本质之间最基本的差别是什么?
    答:mongodb的本质还是一个数据库产品,3.0以上版本其稳定性和健壮性有很大提升。它与mysql的区别在于它不会遵循一些约束,比如:sql标准、ACID属性,表结构等。其主要特性如下:
     面向集合文档的存储:适合存储Bson(json的扩展)形式的数据;
     格式自由,数据格式不固定,生产环境下修改结构都可以不影响程序运行;
     强大的查询语句,面向对象的查询语言,基本覆盖sql语言所有能力;
     完整的索引支持,支持查询计划;
     支持复制和自动故障转移;
     支持二进制数据及大型对象(文件)的高效存储;
     使用分片集群提升系统扩展性;
     使用内存映射存储引擎,把磁盘的IO操作转换成为内存的操作;。

    各个数据库存储引擎区别?
    答:mysql的存储引擎是针对表进行设置的,一个库的不同表可以设置不同的存储引擎,mysql默认支持多种存储引擎,以适用不同领域的数据库应用需要,主要的几个数据库引擎如下:
     MyISAM存储引擎
    5.5之前默认的存储引擎,不支持事务、不支持外键,表级锁,内存和硬盘空间占用率低,其优势是访问速度快,对事务完整性没有要求,以select、insert为主的应用基本上都可以使用这个引擎;
     InnoDB存储引擎
    5.5之后默认的存储引擎,提供了具有提交、回滚和奔溃恢复能力的事务安全,支持外键并提供了行级锁,其劣势在于写的处理效率相对较低,并且会占用更多的磁盘空间以保留数据和索引;
     MEMORY存储引擎
    使用存于内存中的内容来创建表,MEMORY类型的表数据存于内存访问非常的快,默认使用HASH索引,一旦数据库服务重启或关闭,表中的数据就会丢失;
     MERGE存储引擎
    MERGE存储引擎是一组MyISAM表组合,这些MyISAM表结构完全相同。MERGE表本身没有数据,对MERGE表的CRUD操作都是通过内部的MyISAM表进行的;

    mongoDB 主要使用在什么应用场景?
     答:MongoDB 的应用已经渗透到各个领域,比如游戏、物流、电商、内容管理、社交、物联网、视频直播等,以下是几个实际的应用案例:
     游戏场景,使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新
     物流场景,使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以MongoDB 内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。
     社交场景,使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能
     物联网场景,使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析
     视频直播,使用 MongoDB 存储用户信息、礼物信息等

    6、数据库范式?
    范式 内容
    1NF 每一列都是不可分割的基本数据项,同一列无二值;无重复的域;
    2NF 实例依赖于主键部分;
    3NF 属性不依赖于其他非主属性;
    8、什么情况下设置了索引但无法使用?
    ① 以“%”开头的LIKE语句,模糊匹配
    ② OR语句前后没有同时使用索引
    ③ 数据类型出现隐式转化(如varchar不加单引号的话可能会自动转换为int型
    9、数据库中的事务是什么?
    事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。ACID 四大特性,原子性、隔离性、一致性、持久性。

    了解XSS攻击吗?如何防止SQL注入?
    XSS是跨站脚本攻击,首先是利用跨站脚本漏洞以一个特权模式去执行攻击者构造的脚本,然后利用不安全的Activex控件执行恶意的行为。
    使用htmlspecialchars()函数对提交的内容进行过滤,使字符串里面的特殊符号实体化。
    防止SQL注入的方式:
    开启配置文件中的magic_quotes_gpc 和 magic_quotes_runtime设置
    执行sql语句时使用addslashes进行sql语句转换
    Sql语句书写尽量不要省略双引号和单引号。
    过滤掉sql语句中的一些关键词:update、insert、delete、select、 * 。
    提高数据库表和字段的命名技巧,对一些重要的字段根据程序的特点命名,取不易被猜到的。
    Php配置文件中设置register_globals为off,关闭全局变量注册
    控制错误信息,不要在浏览器上输出错误信息,将错误信息写到日志文件中。

    5、Ndinx与apache的区别?
    Nginx
    轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源
    抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apache 高很多,而 apache 则是阻塞型的。在高并发下 nginx 能保持低资源低消耗高性能 ,而 apache 在 PHP 处理慢或者前端压力很大的情况下,很容易出现进程数飙升,从而拒绝服务的现象。
    nginx 处理静态文件好,静态处理性能比 apache 高三倍以上
    nginx 的设计高度模块化,编写模块相对简单
    nginx 配置简洁,正则配置让很多事情变得简单,而且改完配置能使用 -t 测试配置有没有问题,apache 配置复杂 ,重启的时候发现配置出错了,会很崩溃
    nginx 作为负载均衡服务器,支持 7 层负载均衡
    nginx 本身就是一个反向代理服务器,而且可以作为非常优秀的邮件代理服务器
    启动特别容易, 并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级
    社区活跃,各种高性能模块出品迅速
    Apache
    apache 的 rewrite 比 nginx 强大,在 rewrite 频繁的情况下,用 apache
    apache 发展到现在,模块超多,基本想到的都可以找到
    apache 更为成熟,少 bug ,nginx 的 bug 相对较多
    apache 超稳定
    apache 对 PHP 支持比较简单,nginx 需要配合其他后端用
    apache 在处理动态请求有优势,nginx 在这方面是鸡肋,一般动态请求要 apache 去做,nginx 适合静态和反向。
    apache 仍然是目前的主流,拥有丰富的特性,成熟的技术和开发社区

    展开全文
  • Linux:Samba文件共享服务器搭建与访问

    本文链接: https://blog.csdn.net/xietansheng/article/details/83932033

    Samba 是 Linux 和 Unix 系统上实现 SMB协议 的一款免费软件,能在 Windows、Linux、Mac 系统上访问 Linux 系统上的的共享文件。

    相关网站:

    1. Samba 服务端(Ubuntu)

    1.1 使用 apt-get 命令安装 Samba:

    sudo apt-get update
    sudo apt-get install samba
    

    安装过程中如果某项依赖无法安装或需要指定的版本,可以先逐个安装依赖后再安装 samba。

    1.2 创建 Samba 访问账户

    先创建 Samba用户,后面配置共享文件夹时需要使用。

    /*
     * 创建一个Linux系统用户,不需要指定密码,该用户用于添加到 Samba 中
     * 也可以不创建,直接使用已存在的Linux系统用户。
     */
    sudo useradd user01
    
    /*
     * 添加一个名称为 user01 的 Samba用户,回车后设置该Samba用户的密码,
     * 该密码是Samba用户的独立密码,与对应的Linux系统用户密码不同。
     * 
     * 注意:
     * 这里添加的 Samba用户名 “user01” 必须是已存在的当前Linux系统用户名,即 /etc/passwd 文件中存在的用户名,
     * 也可以通过 sudo useradd user01 新建一个用户,不需要指定密码,则该用户将只能从远程访问,不能从本机登录。 
     */
    sudo smbpasswd -a user01
    

    smbpasswd 用户操作常用命令:

    smbpasswd -a username           // 增加用户
    smbpasswd -d username           // 冻结用户,冻结后不能在登录了
    smbpasswd -e username           // 恢复用户,解冻后解冻
    smbpasswd -n username           // 把用户的密码设置成空
    smbpasswd -x username           // 删除用户
    

    1.3 创建 共享文件夹

    共享文件夹必须保证访问的用户(Samba用户名对应的Linux系统用户)拥有读写权限。

    sudo mkdir /home/用户名/ShareDemo          // 创建一个用于共享的文件夹
    sudo chomd 777 /home/用户名/ShareDemo      // 设置该文件夹的权限使其让所有用户可读可写可运行
    

    1.4 配置 共享文件夹

    Samba的基础配置文件: /etc/samba/smb.conf

    // 先备份默认配置,防止误删或误改
    // 如果没有备份,又被误删,也可以尝试执行 “sudo cp /usr/share/samba/smb.conf /etc/samba/” 恢复
    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
    
    // 打开 Samba 的 smb 配置文件
    sudo gedit /etc/samba/smb.conf
    

    把以下内容添加到smb.conf配置文件的尾部(需要共享多个文件夹,可配置多个)

    [ShareDemo]
        comment = Linux Shared Folder
        path = /home/用户名/ShareDemo
        valid users = user01
        public = no
        read only = no
        create mask = 0700
        directory mask = 0700
        available = yes
        browseable = yes
        display charset = UTF-8
        unix charset = UTF-8
        dos charset = cp936
    

    部分字段说明:

    • [ShareDemo]: 共享名称(共享文件夹的名称)
    • comment: 描述
    • path: 共享文件夹的路径
    • valid users: 可访问的用户,多个用户用,隔开(使用上面步骤创建的 Samba用户名)
    • public: 访问是否不需要密码
    • read only: 是否只读
    • create mask: 文件权限设置
    • directory mask: 文件权限设置
    • available: 是否有效
    • browseable: 是否可浏览,no表示隐藏,需要通过 IP+共享名称 进行访问
    • display charset、unix charset、dos charset: 这三个是为了防止出现中文目录乱码的情况

    其他配置参考:samba.orgubuntu/samba

    1.5 Samba 服务的启动和停止

    配置完 smb.conf 后,重启 Samba 服务:

    // 重启服务
    sudo service smbd restart
    
    // Samba 服务重启后,可以使用下面命令检查 smb.conf 配置文件是否有语法错误
    testparm
    

    其他服务管理命令:

    sudo service smbd start             // 启动
    sudo service smbd stop              // 关闭 Samba 服务器:
    sudo service smbd restart           // 重新启动 Samba 服务器:
    sudo service smbd status            // 查看 Samba 服务状态
    ps -aux | grep smbd                 // 查看 samba 是否正在运行
    

    2. 访问 SMB 共享文件夹

    假设 Samba 服务器的 IP 地址为192.168.0.100,共享文件夹的名称为ShareDemo

    2.1 Windows 连接 SMB 共享文件夹

    • Windows键 + R,在打开的运行输入框中输入: \\192.168.0.100\\192.168.0.100\ShareDemo,确定;
    • 输入 samba 配置的 用户名 和 密码,确定;
    • 在列出的共享文件夹列表中选择要访问的文件夹。

    2.2 Linux 挂载 SMB 共享文件夹

    (1) 使用 mount 命令把指定的 SMB共享文件夹 挂载到本地文件系统的一个文件夹

    // 先创建一个用于挂载的空文件夹
    sudo mkdir /mnt/ShareDemo
    
    // 挂载操作
    sudo mount -t smbfs -o username=用户名,password=密码 //192.168.0.100/ShareDemo /mnt/ShareDemo
    
    // 有的系统已经不能识别 smbfs 文件系统,用 cifs 代替 smbfs(个人感觉此方法成功概率较高)
    sudo mount -t cifs -o username=用户名,password=密码 //192.168.0.100/ShareDemo /mnt/ShareDemo
    
    // 挂载之后,使用 umount 命令可以卸载
    sudo umount /mnt/ShareDemo
    

    (2) 使用 smbclient 命令访问指定的 SMB共享文件夹

    // 如果没有安装 smbclient 客户端,需要先安装
    sudo apt-get install smbclient
    
    // 列出所有共享文件夹
    smbclient -L //192.168.0.100/ShareDemo -U 用户名
    
    // 登录 SMB服务端,回车后输入密码,登录成功,然后用相关命令操作(get下载文件,用put上传文件, help查看支持的命令)
    smbclient //192.168.0.100/ShareDemo -U 用户名
    
    // 也可以用户名和密码一起输入(用%分隔),直接登录成功,然后进行相关命令操作
    smbclient //192.168.0.100/ShareDemo -U 用户名%密码
    
    // 也可以一句话登录成功后,直接执行命令,然后自动退出
    smbclient //192.168.0.100/ShareDemo -U 用户名%密码 -c "put <filename>"               // 上传文件
    smbclient //192.168.0.100/ShareDemo -U 用户名%密码 -c "get <filename> [localname]"   // 下载文件
    

    2.3 MAC 连接 SMB 共享文件夹

    • Finder右键 -> 连接服务器…;
    • 服务器地址输入: smb://192.168.0.100smb://192.168.0.100/ShareDemo
    • 选择“注册用户”,输入 samba 配置的 用户名 和 密码,点击“连接”;
    • 在列出的共享文件夹列表中选择要访问的文件夹。

    展开全文
  • 在开发过程中项目测试基本在本地测试完就要上传到服务器做测试了,因为本地环境和服务器环境多少是有点区别,可能本地跑起来正常,但是服务器那边就会出现样式、排版等问题,特别是一些由于系统不同而造成的程序解析...
  • Linux初学者面试问题 Linux基本面试问题 1.什么是Linux? 回答:Linux是基于Linux内核的操作系统。它是一开源操作系统,可以在不同的硬件平台上运行。它为用户提供了免费的低成本操作系统。这是一用户友好的...
  • bash Anaconda3-2020.07-Linux-x86_64.sh 按照提示回车或者输入yes,提示安装路径时 输入yes,完成安装。 2.创建新用户 adduser newname 删除用户 userdel newname 3.用户共用虚拟环境 1.在root下用conda指令创建...
  • 由于实验室需要,准备配置新的服务器,之前一直使用windows比较linux比较少,于是开始重新学习linux各种环境的搭建. 1. 系统选择 在选择使用centos和ubuntu上,参考了一下网上的建议,大多认为服务器上...
  • 有时候主要在windows下面工作,远程连接centos服务器,这时候在服务器端设置共享路径就非常重要。本文主要介绍如何在centos通过搭建samba服务来共享文件夹,以便让win系统直接访问文件目录。 1. 安装samba软件 yum -...
  • 但是所有的Web项目想要共用同一host和port(即同一域名),而现网络上提供的云服务器大多数都是限制对外端口的,可用的端口一般只有80(http)、443(https)、22(SSH)、3389(Windows远程桌面),部分比较良心的...
  • linux共享文件夹

    万次阅读 2018-05-10 17:33:22
    VMware下ubuntu与Windows实现文件共享的方法最近安装caffe需要将Windows下文件拷贝到ubuntu16.04下,就进行了共享文件夹的设置,期间遇到一些困难,记录下来,方便以后遇到此类问题不再困惑。(记录只为更好的分享)...
  • linux mount 远程服务器共享目录

    千次阅读 2018-09-21 14:45:42
    检查linux系统中是否安装了nfs-utils和portmap两软件包(RHEL4系统默认已经安装了这两软件包) 命令#rpm –q nfs-utils portmap 二、查看NFS服务器是否启动 命令#service nfs starus #service portmap status 三...
  • Linux实用教程(第三版)

    万次阅读 多人点赞 2019-08-27 22:55:59
    第一章 Linux系统初步了解 本章内容 1.1 Linux系统简介 1.2 Linux系统的特点和组成 1.3 Linux版本介绍 1.4 Red Hat Linux系统概述 1.1 Linux系统简介 1.1.1 什么是Linux 1.1.2 Linux系统的产生 1.1.3 Linux...
  • 有两台Linux系统的主机,想将一台主机上的磁盘或者某个目录共享给另一台主机,说白了就是:Linux主机使用同一磁盘或目录。 0.2 解决方案: 使用nfs(network file system)网络文件系统工具,它是通过网络使不同...
  • CuteHttpFileServer/chfs是一免费的、HTTP协议的文件共享服务器,使用浏览器可以快速访问。它具有以下特点: 单个文件,核心功能无需其他文件 跨平台运行,支持主流平台:Windows,Linux和Mac 界面简洁,简单...
  • 比如 登陆本地服务器192.168.0.96 然后 打开shell 执行如下命令 /bin/mount -t nfs 192.168.0.95:/opt/usr/huangye/tomcat/webapps/preview/upload ...后面的的路径是我的96服务器上的文件路径 要挂载到95下, 执行之后
  • 一、什么是多路径 普通的电脑主机都是一硬盘挂接到一总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者块网卡及IP来连接,这样的话...
  • Linux:局域网文件共享

    千次阅读 2019-11-20 10:31:46
    Linux:局域网文件共享 通过该方法可以在windows系统共享树莓派或者其他linux系统上的文件 1、安装Samba sudo apt-get install samba samba-common-bin 2、配偶Samba Samba配置文件为/etc/samba/smb.conf,通过以下...
  • Docker 是一开源项目,诞生于 2013 年初, 初是 dotCloud 公司内部的一业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护...
  • NFS共享多个网站根目录

    千次阅读 2020-09-22 20:16:52
    目录 环境 配置共享储存 ...centos 7.5 192.168.253.110 192.168.253.120 192.168.253.180(共享服务器) 配置共享储存 1)下载安装NFS共享储存包 [root@home ~]# yum -y install nfs-utils rpcbin...
  • Linux运维面试题

    千次阅读 2019-08-02 12:57:30
    下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家年后跳槽找高薪好工作。 1、什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与...
  • Linux--samba服务器组用户共享同一文件夹权限配置

    千次阅读 热门讨论 2018-12-21 20:29:03
    Linux里的samba搭建好了之后,还是会有需求出现,当然也就会有问题,如果不会搭建samba的话可以看 这里 需求: 需要三账户,权限都是访问同一文件夹,要求有读写权限 步骤: 1.增加三用户,并将他们添加进组 ...
  • Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)一、简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上...
  • Linux 服务器搭建饥荒服务端

    万次阅读 热门讨论 2018-04-18 20:12:10
    ServerModSetup("385006082") -- DST Path Lights 路径灯在黄昏时开启,在黎明时关闭 ServerModSetup("396822875") -- Spike Trap 增加两陷阱 ServerModSetup("444235588") -- Deluxe Campfires 豪华营火 增加...
  • Linux文件共享服务之Samba

    千次阅读 2018-09-17 17:57:44
    Samba是一能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了...
  • 如果存储服务器到主机或是交换机只有一条线路的时候,当这条线路出现故障时,整个系统就无法使用,所以使用多路径可以解决这问题,避免点单故障。 多路径软件主要是配合存储一起使用,实现故障切换和恢复、IO流量...
  • 两台linux 机器实现目录共享

    千次阅读 2019-08-13 14:04:58
    目前的项目开发过程中都是采用分布式,在上传文件的时候,文件不一定会在同一台机器中,因此就需要跨机器共享文件,在这里就简单的采用nfs实现跨机器的文件共享。 1、安装nfs和rpcbind(在centOS6之前是portmap) ...
  • linux网络服务器学习总结

    千次阅读 2018-04-16 10:48:33
    一为什么学linux商业服务器j基本都是linux时下最热门的大数据机器学期首选linux整个互联网地基是linux撑起来开源软件首先支持linux嵌入式开发二学习目的 掌握linux服务器运维能力可独立部署linux服务器系统梳理相关...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,627
精华内容 37,050
关键字:

共享多个linux服务器的路径

linux 订阅