皮皮网

【macd周日共振指标源码】【源码搭建链接】【ip隧道源码】smbclient 源码

2024-11-19 02:19:09 来源:物联卡系统源码

1.debian与linux关系debian与linux
2.如何在Windows系统和KaliLinux系统之间共享文件
3.Linux常用命令大全
4.详解Linux系统中安装配置Samba服务器的步骤
5.私有云存储(私有云存储器)

smbclient 源码

debian与linux关系debian与linux

       Linux发行版Ubuntu与Debian之间有哪些不同之处?

       ä¸‰å¤§å®¶æ—:

       Fedora

是基于RHEL,CentOS,ScientificLinux,和OracleLinux的社区版本。相比RHEL,Fedora打包了显著的更多的软件包。其中一个原因是,多样化的社区参与Fedora的建设;它不只是一家公司。在这个过程中,CentOS用于活动,演示和实验,因为它是对最终用户免费提供的,并具有比Fedora的一个更长的发布周期(通常每隔半年左右发布一个新版本)。

       SUSE

,SUSELinuxEnterpriseServer(SLES),和openSUSE之间的关系类似于Fedora,RedHatEnterpriseLinux,和CentOS的关系。

       Debian

是包括Ubuntu在内许多发行版的上游,而Ubuntu又是LinuxMint及其他发行版的上游。Debian在服务器和桌面电脑领域都有着广泛的应用。Debian是一个纯开源计划并着重在一个关键点上,稳定性。它同时也提供了最大的和完整的软件仓库给用户。全文见:

       Linux发行版是什么,它又与Linux内核有什么联系?

BTW:个人偏爱Fedora(软件前卫且不失稳定,有实力雄厚的Redhat为其提供技术支持,全球都有社区人员在为其贡献(中国有

       Fedora中文社区

)).对

       @廖雪峰

的(第4个分号之前的),严重反对+毫无帮助!

       å›¾ç‰‡æ¥æº:Tuxradar

       debianlinux怎么安装GCC?

       linux下C的编译器一般是gcc,所以一般安装的都是GCC。安装GCC有两种方法在线安装可以使用在线安装命令直接安装。suduapt-getinstallgcc离线安装下载gcc源码包解压gcc源码包进入gcc解压之后的路径执行make命令执行makeinstall

       linux怎么挂载windows共享文件夹?

       æ“ä½œæ­¥éª¤ï¼š

       1、在尝试访问Windows共享之前,需要首先确认samba-client已经安装了。最简单的方式是命令行查询“rpm-qa|grepsamba-client”,当然也可以使用“yum”工具查询,如“yuminfosamba-client”或“yumlistsamba-client”之类的命令。

       2、如果samba-client没有安装,就需要使用命令“yuminstallsamba-client”安装一下,yum会自动安装samba-client所需的相关依赖库,安装时选择Y就行了。

       é’ˆå¯¹å¸¸è§çš„DebianLinux发行版,如Ubuntu或CentOS,也可以使用“sudoapt-getinstallsmbclient”和“sudoapt-getinstallsmbfs”安装相应的共享访问工具。

       3、准备停当,就可以尝试访问Windows共享文件夹了。我们可以首先使用“smbclient-L//IP地址-U用户名”查看一下该用户共享权限下的共享情况。其中不带“$”的那个,就是我们可以访问的共享文件夹了,其中“-U”是用来指定查询共享权限的用户名的。

       4、Linux将共享文件夹也是当作磁盘资源对待的,因此需要使用mount工具将其挂载到本地文件空间才可以访问,这一点就像Windows常用的网络磁盘映射是一样的。

       å› æ­¤ï¼Œé¦–先我们需要创建一个挂载点,也就是在本地目录空间中创建一个挂载目录,如“mkdir-p/mnt/MYSHARE”。

       æŒ‚载点创建之后,就可以使用mount命令挂载共享文件夹了,“mount-tcifs-ouser=用户名称,password=共享密码,iocharset=utf8,codepage=cp//共享IP地址或NetBIOS名称/共享目录”,其中cifs使用Linux常用的网络文件类型,也可以使用smbfs,以系统可以识别为准,如Ubuntu常见命令就是“sudomount-tsmbfs-ouser=用户名称,password=共享密码,iocharset=utf8,codepage=cp//共享IP地址或NetBIOS名称/共享目录”。“-o”表示挂载参数,常见的是需要提供共享的用户名和密码,另外需要注意的是iocharset和codepage,这两个参数是用来解决系统之间的字符编码转换的,如果出现乱码的情况,是需要调整这两个参数的,针对简体中文,使用utf8和cp一般都可以解决问题,关于字符编码已经超出了本经验的范围。

       æŒ‚载完成之后,就可以像使用本地文件目录一样访问Windows共享文件夹和文件了。

       5、当然,Linux也有图形化的资源管理器,挂载之后,资源管理器也可以正常访问的。进入Linux桌面,打开“我的电脑”。

       6、然后就可以像浏览本地文件一样,浏览共享的Windows文件夹和文件了,与命令行并没有太多的差异。

       7、Windows共享资料使用完毕之后,也可以将其使用umount命令卸载,卸载就很简单了,直接使用“umount/mnt/MYSHARE”就可以了,其中MYSHARE是就是我们前面创建的挂载点了。

       å¦‚果以后不需要,也可以将挂载点删除的。

       8、挂载的Windows共享文件夹在Linux重启之后就会消失的,如果还要使用,是需要重新挂载的。

       å¦‚何用U盘安装debianlinux系统?

       å¦‚何在Windows下通过U盘安装Debian

       åˆ›å»ºå®‰è£…U盘首先通过/debian/wheezymainnon-freecontribdeb-src/debian/wheezymainnon-freecontrib

       debpatible”shouldbecommentedout.将背景设为黑色后,还需要将gnome-terminal的颜色方案也设为黑底才行。

       ibus开机自动启动sudoln-s/usr/share/applications/ibus.desktop/etc/xdg/autostart/

       è¯·é—®å¦‚何让debianlinux启动之后如何进入图形界面?

       è£…了X环境了没?如果装了,你还需要装一个图形界面的登录管理器,xdm是xorg自己的,gdm是gnome的,kdm是kde的,不过你要是装了图形界面和对应的图形桌面套件,这些东西都是自动装上的。

而且我记得也是默认启动的,重启计算机即可。不然请自己添加对应服务的启动项,服务的名字就是他们。debian根本就不按照/etc/inittab的设置来启动图形界面,哪位别无脑复制粘贴了。

如何在Windows系统和KaliLinux系统之间共享文件

       如何在Windows系统和KaliLinux系统之间共享文件?

       如何在Windows系统和KaliLinux系统之间共享文件?

       Windows和KaliLinux都是常用的操作系统。然而,当你需要在这两个系统之间共享文件时,你可能会遇到一些麻烦。在这篇文章中,我们将介绍一些方法,macd周日共振指标源码帮助你在Windows和KaliLinux之间共享文件。

       Option1:在Windows系统上共享文件

       首先,我们需要在Windows系统上设置文件共享。

       1.打开“文件资源管理器”,右键单击要共享的文件夹,然后选择“属性”。

       2.转到“共享”选项卡,然后单击“高级共享”。

       3.选中“共享此文件夹”选项,然后点击“权限”按钮。

       4.添加要共享的用户,然后分配权限。你可以授予完全控制权限或只读权限。

       5.点击“确定”保存更改。

       现在,Windows系统上的文件夹已经设置为共享,我们可以访问它。

       Option2:在KaliLinux系统上安装Samba客户端

       Samba是一种开放源代码软件,可以实现在不同操作系统之间共享文件和打印机。因此,我们可以在KaliLinux系统上安装Samba客户端来访问Windows共享文件夹。

       1.打开终端,然后输入以下命令安装Samba客户端:

       sudoapt-getupdate

       sudoapt-getinstallsmbclient

       2.输入Windows计算机用户名和密码:

       smbclient//WINDOWS_HOST/SHARE_NAME-UWINDOWS_USERNAME

       3.然后你就可以访问共享的文件夹了。在命令提示符下使用以下命令:

       ls:列出共享文件夹中的所有文件和文件夹。

       cd:进入到共享文件夹中的特定路径。

       get:从共享文件夹中下载文件。

       put:将文件上传到共享文件夹中。

       Option3:在KaliLinux系统上使用Samba图形界面

       如果你不想使用命令行,你也可以在KaliLinux系统上使用Samba图形界面。以下是如何安装和使用Samba图形界面的方法。

       1.打开终端,然后输入以下命令安装Samba:

       sudoapt-getupdate

       sudoapt-getinstallsystem-config-samba

       2.安装后,源码搭建链接你可以在“应用程序”菜单中找到“Samba”。打开“Samba”后,你需要提供管理员密码。

       3.选择“+”按钮,创建一个共享文件夹。输入共享名称、路径和描述。

       4.单击“基本”选项卡,选择“共享此文件夹”。

       5.单击“权限”选项卡,添加访问共享文件夹的用户,然后分配权限。

       6.单击“确定”,保存更改。

       现在,你已经成功地在KaliLinux系统上安装了Samba图形界面,可以轻松地访问共享文件夹。

       结论

       在Windows和KaliLinux之间共享文件可能会有一些挑战,但使用上述方法之一,它应该变得容易。无论你是选择在Windows系统上设置共享文件夹,还是在KaliLinux系统上使用Samba客户端或Samba图形界面,都可以实现文件的无缝共享。

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 显示年的日历表

       date . 设置日期和时间 - 月日时分年.秒

       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 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 x "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 + 搜索在过去天内未被使用过的执行文件

       find /usr/bin -type f -mtime - 搜索在天内被创建或者修改过的文件

       find / -name *.rpm -exec chmod '{ }' ; 搜索以 '.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 FAT文件系统

       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 '%{ SIZE}t%{ NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)

       dpkg-query -W -f='${ Installed-Size;}t${ 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 -- 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 一旦应用程序对这个文件执行了写操作,ip隧道源码使系统立刻把修改的结果写到磁盘

       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 mand file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT

       cat file1 | command( sed, grep, awk, grep, etc...) result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中

       cat file1 | command( sed, grep, awk, grep, etc...) result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中

       grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"

       grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇

       grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行

       grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"

       sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"

       sed '/^$/d' example.txt 从example.txt文件中删除所有空白行

       sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行

       echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容

       sed -e '1d' result.txt 从文件example.txt 中排除第一行

       sed -n '/stringa1/p' 查看只包含词汇 "string1"的行

       sed -e 's/ *$//' example.txt 删除每一行最后的空白字符

       sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部

       sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容

       sed -n '5p;5q' example.txt 查看第5行

       sed -e 's/*/0/g' example.txt 用单个零替换多个零

       cat -n file1 标示文件的行数

       cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行

       echo a b c | awk '{ print $1}' 查看一行第一栏

       echo a b c | awk '{ print $1,$3}' 查看一行的第一和第三栏

       paste file1 file2 合并两个文件或两栏的内容

       paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分

       sort file1 file2 排序两个文件的内容

       sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)

       sort file1 file2 | uniq -u 删除交集,留下其他的行

       sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)

       comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容

       comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容

       comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

字符设置和文件格式转换

       dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX

       unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS

       recode ..HTML page.txt page.html 将一个文本文件转换成html

       recode -l | more 显示所有允许的转换格式

文件系统分析

       badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块

       fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性

       fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性

       e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性

       e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性

       fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性

       fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性

       fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

       dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

初始化一个文件系统

       mkfs /dev/hda1 在hda1分区创建一个文件系统

       mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统

       mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统

       mkfs -t vfat -F /dev/hda1 创建一个 FAT 文件系统

       fdformat -n /dev/fd0 格式化一个软盘

       mkswap /dev/hda3 创建一个swap文件系统

SWAP文件系统

       mkswap /dev/hda3 创建一个swap文件系统

       swapon /dev/hda3 启用一个新的swap文件系统

       swapon /dev/hda2 /dev/hdb3 启用两个swap分区

备份

       dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份

       dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份

       restore -if /tmp/home0.bak 还原一个交互式备份

       rsync -rogpav --delete /home /tmp 同步两边的目录

       rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync

       rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录

       rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录

       dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作

       dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件

       tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作

       ( cd /tmp/local/ tar c . ) | ssh -C user@ip_addr 'cd /home/share/ tar x -p' 通过ssh在远程目录中复制一个目录内容

       ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home tar x -p' 通过ssh在远程目录中复制一个本地目录

       tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接

       find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录

       find /var/log -name '*.log' | tar cv --files-from=- | bzip2 log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包

       dd if=/dev/hda of=/dev/fd0 bs= count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作

       dd if=/dev/fd0 of=/dev/hda bs= count=1 从已经保存到软盘的备份中恢复MBR内容

光盘

       cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容

       mkisofs /dev/cdrom cd.iso 在磁盘上创建一个光盘的iso镜像文件

       mkisofs /dev/cdrom | gzip cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件

       mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件

       cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件

       gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件

       mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件

       cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中

       cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3)

       cdrecord --scanbus 扫描总线以识别scsi通道

       dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD

网络 - (以太网和WIFI无线)

       ifconfig eth0 显示一个以太网卡的配置

       ifup eth0 启用一个 'eth0' 网络设备

       ifdown eth0 禁用一个 'eth0' 网络设备

       ifconfig eth0 ..1.1 netmask ...0 控制IP地址

       ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)

       dhclient eth0 以dhcp模式启用 'eth0'

       route -n show routing table

       route add -net 0/0 gw IP_Gateway configura default gateway

       route add -net ..0.0 netmask ..0.0 gw ..1.1 configure static route to reach network '..0.0/'

       route del 0/0 gw IP_gateway remove static route

       echo "1" /proc/sys/net/ipv4/ip_forward activate ip routing

       hostname show hostname of system

       host www.example.com lookup hostname to resolve name to ip address and viceversa(1)

       nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)

       ip link show show link status of all interfaces

       mii-tool eth0 show link status of 'eth0'

       ethtool eth0 show statistics of network card 'eth0'

       netstat -tup show all active network connections and their PID

       netstat -tupl show all network services listening on the system and their PID

       tcpdump tcp port show all HTTP traffic

       iwlist scan show wireless networks

       iwconfig eth1 show configuration of a wireless network card

       hostname show hostname

       host www.example.com lookup hostname to resolve name to ip address and viceversa

       nslookup www.example.com lookup hostname to resolve name to ip address and viceversa

       whois www.example.com lookup on Whois database

       GO TOP INDEX ^

       Microsoft Windows networks (SAMBA)

       nbtscan ip_addr netbios name resolution

       nmblookup -A ip_addr netbios name resolution

       smbclient -L ip_addr/hostname show remote shares of a windows host

       smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb

       mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share

详解Linux系统中安装配置Samba服务器的步骤

       一、获取源代码包并进行解压

       从samba的官方网站可以下载最新的samba源代码包。下面我们以samba-3.5.9.tar.gz的源代码包作为案例进行解析。本例中,我们将源代码包放在目录/home/samba下,然后执行下面的命令进行解压缩。

       代码如下:

       # tar –xzvf samba-3.5.9.tar.gz

       二、配置configure

       对源代码包进行解压缩后,进入目录

       代码如下:

       # cd /home/samba/samba-3.5.9/source3

       然后执行下面的命令进行配置。

       代码如下:

       # ./configure

       可能在刚开始时,该目录下没有configure文件,此时可先执行下面的命令

       代码如下:

       # ./autogen-sh

       此时要求系统安装了autoconf、automake等工具。

       在运行上面的配置命令之前,我们可以通过命令

       代码如下:

       # ./configure –-help

       来查看配置命令的一些选项。

       三、生成与安装make make install

       在环境配置命令./configure成功执行后,可以运行命令

       代码如下:

       # make

       来生成二进制可执行文件,这可能需要两到三分钟。成功生成可执行文件后,可以通过下面命令

       代码如下:

       #make install

       来进行安装。系统默认的安装路径是/usr/local/samba

       四、配置动态链接库路径

       安装完成后,我们需要配置动态链接库路径,因为运行samba的进行smbd和nmbd需要到目录/usr/local/samba/lib下的动态链接库文件。但是该目录不是系统默认的动态链接库文件搜索路径,于是我们需要将该目录添加到文件ld.so.conf中。执行下面的命令

       代码如下:

       # vi /etc/ld.so.conf

       打开ld.so.conf文件,并在该文件中加入下面这一行内容。

       代码如下:

       /usr/local/samba/lib

       然后执行命令

       代码如下:

       # ldconfig

       来更新动态链接库缓冲。espcopter源码ino

       五、samba配置文件smb.conf

       samba在运行过程中需要用到配置文件smb.conf。smb.conf配置文件是samba最重要的配置文件,该文件定义了samba的安全机制、文件共享和打印共享的目录和参数以及其他一些系统配置功能。

       配置文件smb.conf的默认路径是/usr/local/samba/lib/smb.conf,我们可以在运行smbd进程时,通过-s选项来执行特定的smb.conf文件(具体说明见下一节),一般不推荐使用-s选项,因为其配置工具,如smbclient、testparm等默认都是读取/usr/local/samba/lib/smb.conf文件。下面我们以一个简单的配置文件进行说明,其路径为/etc/samba/smb.conf。

       代码如下:

       [global]

       workgroup = MYGROUP

       server string = Samba Server %v

       security = user

       log file = /var/log/samba/%m.log

       passdb backend = smbpasswd

       smb passwd file = /etc/samba/smbpasswd

       [root]

       path = /

       valid users = root

       writeable = yes

       [public]

       path = /data

       guest ok = yes

       read only = yes

       上面配置文件定义了root和public两个文件共享服务。关于上面这个配置文件的具体细节,我们这里不做详细的论述。这里主要说明的一点:在samba 3.0.版本以前验证用户密码的默认backend是smbpasswd,而3.0.版本之后的默认backend是tdbsam。我们可以通过参数passdb backend来选择特定的backend。在使用smbpasswd时默认读取的密码文件时/usr/local/samba/private/smbpasswd,我们可以通过smb passwd file来指定特定的密码文件。

       在配置完smb.conf文件后,我们可以运行testparm(目录/usr/local/samba/lib下)命令来对smb.conf文件进行语法检查,其会检测出哪些参数名无法识别等问题。

       六、启动samba

       samba有两个主要的进程smbd和nmbd。smbd进程提供了文件和打印服务,而nmbd则提供了NetBIOS名称服务和浏览支持,帮助SMB客户定位服务器,处理所有基于UDP的协议。

       配置smb.conf文件后,在开始运行samba的服务进程之前。我们需要先做一些准备工作。运行smbpasswd命令(在目录/usr/local/samba/bin下)

       代码如下:

       # ./smbpasswd –a root

       向smb.conf文件中指定的/etc/samba/smbpasswd文件中添加root用户以及密码信息。关于smbpasswd文件的详细内容介绍见相关文档。

       然后运行命令

       代码如下:

       # service iptables stop

       关闭防火墙,ETFSHARE指标源码因为防火墙可能会阻止用户访问该机器。下面是运行samba的服务进程smbd和nmbd

       代码如下:

       # /usr/local/samba/sbin/smbd –D –s /etc/samba/smb.conf

       # /usr/local/samba/sbin/nmbd –D –s /etc/samba/smb.conf

       上面的-D选项指定smbd和nmbd以守护进程的方式启动,并且通过-s选项指定了特定的配置文件/etc/samba/smb.conf。以守护进程方式启动smbd和nmbd的优势是响应速度快,但是要关闭的话只能kill掉。当然我们可以通过脚本来执行这些操作,这里就不提供脚本了。

       七、smbclient进行测试检查

       在启动samba之后,我们可以在本机使用smbclient(目录/usr/local/samba/bin下)来进行测试。下面命令

       代码如下:

       # cd /usr/local/samba/bin

       # ./smbclient –L //.0.0.1

       可以列出本samba服务器所提供的服务列表,本例运行结果如下:

       代码如下:

       [root@localhost bin]# ./smbclient –L //.0.0.1

       Enter root’s password:

       Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.9]

        p Sharename Type Comment

       --------- ------- -------

       IPC$ IPC IPC Service (Samba Server 3.5.9)

       public Disk

       root Disk

        pDomain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.9]

        p Server Comment

       ----------- -------

       LOCALHOST Samba Server 3.5.9

       Workgroup Master

       ------------ -------

       MYGROUP LOCALHOST

       当然也可以通过smbclient来访问samba服务器提供的服务,其命令格式如下:

       代码如下:

       # ./smbclient “//serverAdderss/aservice” –U username

       其中serverAddress是要访问的samba服务器的IP地址,aservice指定samba服务器上提供的某个服务名称,选项-U username指定要以哪个用户名来访问samba服务器。例如

       代码如下:

       [root@localhost bin]# ./smbclient “//.0.0.1/root” –U root

       Enter root’s password: ; #这里输入samba用户root的密码

       Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.9]

       smb: ; #访问成功,输入相关命令进行操作

       上面个smb: 表明了访问成功,此时我们可以输入一些命令来在samba服务器上进行操作,比如ls、mkdir等。q或quit命令执行退出,并断开连接。

       八、在Windows客户端访问samba服务器

       在Windows客户端,可以在网上邻居中通过新建网上邻居来访问,或者在开始——运行中输入..1.root来访问samba服务器..1.上面提供的root服务。

       九、重要选项说明

       全局选项:

       全局选项用于[global]的

          选项定义中,其用于说明samba服务器的一些基本属性。其有些选项可以被其他

           

       中的选项定义覆盖。

       workgroup = MYGROUP

       定义samba服务器所在的工作组或者域(如果设置security = domain的话)。

       server string = Samba server

       设定samba服务器的描述,通过网络邻居访问时可在备注中查看到该描述信息。

       hosts allow = host (subnet)

       设定允许访问该samba服务器的主机IP或网络,该选项的值为列表类型,不同的项目之间使用空格或逗号隔开,例如hosts allow = ..3.0, ..1.1,该选项设置允许主机..1.1以及子网..3.0/内的所有主机访问该samba服务器。

       hosts deny = host (subnet)

       设定不允许访问该samba服务器的主机IP或网络,其格式与hosts allow一样。

       guest account = guest

       设定了游客的账号,在游客访问guest ok = yes的共享服务时,samba服务器将设置客户端以该游客账号来访问共享。

       log file = MYLOGFILE

       设定记录文件的位置。

       max log size = size

       设定记录文件的大小,单位为KB,如果设置为0则表示无大小限制。

       security =

       设定samba服务器的安全级,其有四种安全级别:share、user、server和domain,默认为user。关于这四种安全级别的详细信息,请查看相关文档。

       password server = ServerIP

       设定了用户账号认证服务器IP,其在设定security = server时有效。

       encrypt passwords = yes | no

       设定是否对密码进行加密。如果不对密码进行加密的话,在认证会话期间,客户端与服务器传递的是明文密码。但有些Windows系统默认情况下,不支持明文密码传输。

       passdb backend = smbpasswd | tdbsam | ldapsam

       设定samba服务器访问和存储samba用户账号的后端,在samba-3.0。之前的默认值为smbpasswd,而之后的默认值为tdbsam。

       smb passwd file =

       设定samba的用户账号文件。对于源代码安装的samba,在samba-3.0.之前,其默认值为/user/local/samba/private/smbpasswd;而samba-3.0.之后,其默认值为/usr/local/samba/private/passwd.tdb。

       include = smbconfFile

       通过include选项可以包含其他配置文件,通过该选项和一些samba定义的变量可以设定与不同机器相关的配置。

       local master = yes | no

       设定该samba服务器是否试图成为本地主浏览器,默认值为yes。若设置为no,则该samba服务器永远不可能成为本地主浏览器,而设置为yes不代表其一定能成为本地主浏览器,只是让其能参与本地主浏览器的选举。

       os level = N

       N是一个整数,设定了该samba服务器参加本地主浏览器选举时的权重,其值越大,权重越大。os level = 0时,该服务器将失去选举的机会。

       domain master = yes | no

       设定samba服务器成为域浏览器。域浏览器从各个本地主浏览器处获取浏览列表,并将整个域的浏览列表传递给各个本地主浏览器。

       preferred master = yes | no

       设定该samba服务器是否为工作组里的首要主浏览器,如果设置为yes,则在nmbd启动时,将强制一个浏览选择。

       局部选项:

       局部选项为除了global外的各个

          中的参数。其定义了共享服务的属性。

       comment =

       设定共享服务的描述信息。

       path =

       设定共享服务的路径,其中可以结合samba预定义的变量来设置。

       hosts allow = host(subnet)

       hosts deny = host(subnet)

       与全局的hosts allow和hosts deny含义相同,其会覆盖全局的设置。

       read only = yes | no

       设定该共享服务是否为只读,该选项有一个同义选项writeable。

       user = user(@group)

       设定所有可能使用该共享服务的用户,可以使用@group来设置群组group中的所有用户账号。该选项的值为列表,不同的项目之间使用空格或逗号隔开。在设置security = share时,客户端要访问某共享服务时提供的密码会与该选项指定的所有用户进行一一配对认证,若某用户认证通过,则以该用户权限进行共享服务访问,否则拒绝客户端的访问(设置security = share不是允许游客访问,只有guest ok = yes才是允许游客访问,切记!!!)。

       valid users = user(@group)

       设定能够使用该共享服务的用户和组,其值的格式与user选项一样。

       invalid users = user(@group)

       设定不能够使用该共享服务的用户和组,其值的格式与user选项一样。

       read list = user(@group)

       设定对该共享服务只有读取权限的用户和组,其值的格式与user选项一样。

       write list = user(@group)

       设定对该共享服务拥有读写权限的用户和组,其值的格式与user选项一样。

       admin list = user(@group)

       设定对该共享服务拥有管理权限的用户和组,其值的格式与user选项一样。

       public = yes | no

       设定该共享服务是否能够被游客访问,其同义选项有guest ok。

       create mode = mode

       mode为八进制值,如,其默认值为。该选项指定的值用于过滤新建文件的访问权限,新建文件的默认权限将与create mode指定的值进行按位与操作,将结果再与force create mode指定的值进行按位或操作,得到的结果即为新建文件的访问权限。

       force create mode = mode

       mode为八进制值,默认为。其作用参考选项create mode。

       directory mode = mode

       mode为八进制值,默认为。该选项指定的值用于过滤新建目录的访问权限,新建目录的默认权限将与directory mode指定的值进行按位与操作,将结果再与force directory mode指定的值进行按位或操作,得到的结果即为新建目录的访问权限。

       force directory mode = mode

       mode为八进制值,默认为。该选项的作用参考选项directory mode。

       force user = user

       强制设定新建文件的属性onwer。若存在一个目录,其允许guest可以写,则guest就可以删除。但设定force user为其他用户,并设置create mode = ,则gues用户不能够删除其新建文件。

       上面只是简单的介绍了一些重要的选项,并且没有讨论有关[printers]的选项说明,更多选项请man smb.conf进行查阅。

          

私有云存储(私有云存储器)

       现在云计算已经算不上一个新鲜词了,各大IT公司的产品都会套上一个“云”字来忽悠用户。相信大家都用过网盘,现在更流行的词应该叫“云存储”,像用的比较多国外的有Dropbox、SkyDrive,国内也有百度云网盘、sina微盘、腾讯微云网盘等等,我们可以用这些网盘在不同的设备上来存储/获取数据,如PC、智能手机、平板电脑等等,同时我们希望不同设备间的数据是同步的。

       我们将要搭建自己的云系统平台,更精确的说是一个云存储系统,正如上面的产品所提供的功能。我们将使用开源软件ownCloud来搭建自己的私有云。ownCloud起源于一个叫TheKDE云计算项目,现在已经适用于大多主流平台,它最早是KED的开发者FrankKarlitschek创建的,现在由一个ownCloudteam共同开发。

       下面教大家如何一步一步地搭建属于自己的云存储平台:

       第一步:预装软件。

       ownCloud内核是用PHP5写的,支持SQLite、MySQL、Oracle以及PostgreSQL等数据库。为了简单,我们将用MySQL数据库。在你的Linux系统下你需要安装以下软件:

       PHP安装包:php5,php5-gd,php-xml-parser,php5-intl数据库驱动:php5-mysqlCurl安装包:curl,libcurl3,php5-curlSMB客户端:smbclientWeb服务器:apache2如果你的Linux是基于Debian的,你可以运行下面的命令一键安装所有的软件:

       $sudoapt-getinstallapache2php5php5-gdphp-xml-parserphp5-intlphp5-sqlitephp5-mysqlsmbclientcurllibcurl3php5-curlmysql-server

       第二步:安装ownCloud——设置web根目录。

       从第三步:安装ownCloud——配置web服务器。

       这一步我们要为ownCloud配置Apache服务器,OwnCloud需要启用Apache上.htaccess文件,.htaccess文件提供了针对目录改变配置的方法。为了启用web服务器上的.htaccess,可以通过Apache配置文件的AllowOverride指令来设置。

       Directory/var/www/

       OptionsIndexesFollowSymLinksMultiViewsAllowOverrideAllOrderallow,denyallowfromall/Directory下一步我们需要启动Apache的mod_rewrite模块,mod_rewrite模块提供了实时地将访问者请求的静态URL地址映射为动态查询字符串的一种规则。运行下面的命令来启动这个模块:

       $sudoa2enmodrewrite$sudoa2enmodheaders一旦你使能了这个必要的模块,你可以重启apache服务来使之生效:$sudoserviceapache2restart

       第四步:安装OwnCloud——安装运行。

       在浏览器中打开第五步:使用桌面同步客户端同步文件。

       你可以使用桌面同步客户端同步不同电脑、设备上的文件,适用于Linux、OSX和Windows系统。跟ownCloud一样,桌面同步客户端也是开源的。

       例如Ubuntu下,你可以通过apt-get安装:

       $sudoapt-getinstallowncloud-client对于其他的发行版,你可以通过这个URL下载ownCloud的桌面同步客户端:第六步:使用移动同步客户端同步文件。

       ownCloud文件同步不仅仅局限于桌面端,你也可以使用ownCloud的移动同步客户端同步你的文件,ownCloud移动应用适用于Andorid、iOS平台。Andorid版的应用允许你从任何Android应用上传文件,以及提供自动同步文件功能。

       你可以从GooglePlay商店或者Amazon应用商店付费下载。如果你不愿意付费,也可以自己编译源代码或者下载预制的APK文件。

       对于iOS版应用不是开源的,只能成Apple应用商店获得us/app/owncloud/id?mt=8。

       我从githubclone一个最新的源代码,经过编译之后安装在我的Android上,下图为软件运行时截图。

       主要内容编译自:tutorials/build-your-own-cloud更多关于ownCloud开发和使用的信息,可以访问其官网: