- 博客(39)
- 资源 (1)
- 收藏
- 关注
原创 Python实现:汉诺塔问题
汉诺塔问题不管在任何编程语言里都是经典问题,是采用递归算法的经典案例,该问题可以抽象如下:一 3根圆柱A,B,C,其中A上面串了n个圆盘二 这些圆盘从上到下是按从小到大顺序排列的,大的圆盘任何时刻不得位于小的圆盘上面三 每次移动一个圆盘,最终实现将所有圆盘移动到C上 利用Python语言接近自然语言的特性,开发者可以更容易的将递归算法翻译成程序语句,需要的代码量很小...
2018-06-11 15:43:33
53224
4
原创 Linux内建命令列表
source 也就是. 命令,使shell读取指定shell程序文件并执行alias 设置命令别名bg 命令后台执行bind 显示和设置命令行中的键盘组合按键breakbuiltincallercd 切换工作目录command compgencompletecompoptcontinuedeclare 变量声明di
2017-12-04 17:43:29
1003
原创 Linux命令分析:yum
用途:Linux软件升级模块用法:yum 选项 命令 RPM包yum是一个交互式的,基于RPM的软件包管理器,能够自动执行系统更新,包括通过yum源里的元数据自动处理依赖关系,同时也可以执行新软件安装,旧软件删除,安装过程中的询问等命令包括:installupdateupdate-tocheck-updateupgradeupgrade-to
2017-11-30 17:44:10
876
原创 Linux命令:ps
用途:回报当前运行进程的快照用法:ps 选项用于列出当前系统中运行的进程(有PID)的信息,列出的是这些进程的快照,也就是执行ps命令这个时刻的状态,如果要动态显示进程信息,用top命令Linux中进程有5种状态选项:-A 列出所有进程,等同-e-N --deselect 排除符合指定条件的程序T 列出和当前登录终端有关的所有进程,等同于ps
2017-11-14 19:39:20
411
原创 Linux命令分析:lsof
用途:列出已打开的文件说明:lsof是一个列出系统当前已打开的文件的工具,在Linux环境中,一切皆文件,包括普通文件,目录,NFS文件,块文件,字符文件,共享库,管道,符号链接,socket等等,这样通过列举程序所操作的文件,可以清楚了解程序的运行情况在缺省任何选项的情况下,lsof会列出所有活动进程打开的文件用法:lsof 选项 [绝对路径的进程文件]
2017-11-07 19:26:12
540
原创 Linux命令分析:netstat
用途:显示网络连接,路由表,接口状态,无效连接和组播成员组用法:netstat 对象 选项对象包括:地址成员选项,路由,接口,用户组,无效连接netstat命令显示Linux网络子系统的信息,输出的信息类型是由第一个对象参数控制的,包括:(none) 为空时,显示已打开的socket的列表,如不指定任何地址族,则显示所有活动的已配置地址族的socket--rou
2017-10-30 17:09:42
457
原创 Linux命令分析:dd
用途:转换和拷贝文件用法:dd 操作数... dd 选项dd用指定大小的块来复制和转换文件,是直接针对文件所在的块进行操作选项:bs=BYTES 输入和输出时按指定字节数块来,比如bs=512cbs=BYTES 转换时每次只转换指定的字节数conv=CONVS 按CONVS指定的方式转换文件,多种方式用逗号隔开,转换方式包括:asci
2017-10-19 17:52:18
503
原创 Linux命令分析:tar
用途:将文件或目录打包成一个.tar存档文件,并调用相关命令压缩或解压用法:tar 选项... 文件...tar命令后面至少要接一个参数,参数后指定要处理的文件或目录,如果指定一个目录则该目录下所有子目录及文件都将被打包选项:-A --catenate,--concatenate 将新生成的存档添加到现有存档文件-c --create 建立新的存
2017-10-12 09:58:36
583
原创 Linux命令分析:fdisk
用途:Linux下的分区表操作软件用法:fdisk -uc [-b sectorsize] [-C cyls] [-H heads] [-S sects] 设备名fdisk -l [-u] 设备名fdisk -s 分区fdisk -vfdisk -h硬盘可被分为一个或多个逻辑磁盘,称作分区,这些
2017-10-11 09:58:41
999
原创 Linux命令分析:du
用途:查看文件占用的磁盘空间大小用法:du [选项]... [文件]...du [选项]... --files0-from=F用于统计文件的磁盘空间占用,也可统计整个目录选项:-a --all 显示当前目录中所有文件大小,目录除外-B --block-size=SIZE 使用指定大小的块为单位-b --bytes 以字
2017-10-10 19:00:00
503
原创 Linux命令分析:df
用途:显示文件系统占用磁盘空间的情况用法:df [option]... [file]...df显示文件所在的文件系统占用的磁盘空间大小,包括已用的和可用的,如果后面不给定文件名,则显示当前已挂载的所有文件系统的磁盘占用情况,默认采用1K大小的block的个数表示,如果环境变量POSIXLY_CORRECT已设置,则为512B大小的block个数表示选项:-a -
2017-09-27 21:24:32
398
原创 Linux命令分析: mount
用途:挂载设备到指定的挂载点用法:mount [-lhV]mount -a [-fFnrsvw] [-t vfstype] [-O optlist]mount [-fnrsvw] [-o option [,option]...] device|dirmount [-fnrsvw] [-t vfstype
2017-09-25 10:23:07
894
原创 Linux命令分析:find
用途:在指定目录结构下查找特定文件用法:find [-H] [-L] [-P] [-Olever] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]默认path为当前目录,默认expression为 -print选项-H,-L和-P控制对符号链接的处理方式,必须位于path参数之
2017-09-11 19:28:06
667
原创 Linux命令分析: locate
用途:查找文件用法:locate [选项]... PATTERN...locate通过查找mlocate等一个或多个数据库匹配文件名,并将匹配到的结果进行标准输出,每行一个结果在未指定--regex参数时,PATTERN中可包含通配符由于locate只查表不检查文件是否实际存在,故locate可能无法查到近期更改的文件参数:-b --basename
2017-09-07 20:34:31
614
原创 Linux命令分析: whereis
用途:用于定位命令的二进制文件,源码文件和man说明文件的路径用法:whereis [-bmsu] [-BMS 目录... -f ] 文件...whereis命令通过查找mlocate数据库来定位文件,故执行速度较快,该数据库在CentOS下的路径是/var/lib/mlocate/mlocate.db,该数据库用来记录文件系统中所有文件的信息,每天由cron守护进程定
2017-09-07 16:46:40
328
原创 Linux命令分析:which
用途:查找命令的可执行文件的绝对路径用法:which [选项] [--] 命令...which命令会遍历系统环境变量PATH中给出的目录,寻找命令对应的可执行文件或脚本,并返回第一个结果参数:-a --all 显示所有匹配的可执行文件,不仅是第一个-i --read-alias 对which本身使用命令别名(默认设置)--skip-al
2017-09-07 12:12:56
606
原创 Linux命令分析: chattr和lsattr
用途:更改Linux系统上的文件归属权限用法:chattr [-RVf] [-v 版本] 模式 文件...chattr和lsattr分别是用来更改和查看文件或目录的属性的,与chmod相比,chmod仅仅更改文件的读写和执行权限,而chattr可以更改更多底层的权限,lsattr相对简单,仅显示这些属性通常用chattr更改文件属性以提高安全性,甚至可以设置连root用
2017-09-04 17:21:21
696
原创 Linux命令分析: touch
用途:更改文件的时间戳,常用来创建新的空文件用法:touch 选项... 文件...touch命令可用来更改文件的atime和mtime到当前时间,如果touch命令后接的文件不存在,则会建立一个该文件名的空文件(除非有-c或-h参数)参数:-a 只更改atime-c --no-create 不创建任何文件-d --date=STRING
2017-08-31 11:32:11
339
原创 Linux命令分析: nl
用途:将指定文件添加行号并进行标准输出,如果后面不接文件或文件为,则读取标准输入用法:nl 选项... 文件...参数:-b --body-numbering=STYLE 使用指定样式编号正文行目-d --selection-delimiter=CC 使用指定CC分割逻辑页-f --footer-numbering=STYLE 使用指定样
2017-08-30 10:31:52
402
原创 Linux命令分析: cat
用途:用于连接文件并打印到标准输出上格式:cat 选项 文件...通常对cat有三种用法:1.显示整个文件的内容(可同时显示多个文件的内容)cat 文件名...2.创建一个新文件(文件不能已存在)cat > 文件名3.将多个文件的内容拼合成一个文件cat file1 file2... > file另外,通过配合输出重定向,管道
2017-08-29 11:52:07
321
原创 Linux命令分析: ls
用途:列出目录的内容用法:ls 【选项】... 文件...参数:-a --all 显示所有文件及目录,包括以.开头的文件及目录(Linux默认视为隐藏文件)-A --almost-all 基本同-a,除了不显示.和..这两个分别表示本级目录和上级目录的文件-b --escape 将文件名中的无法输出的字符以反斜杠加字符编号的形式输出-B
2017-08-24 17:31:34
274
原创 Linux命令分析: chmod
用途:更改文件的权限用法:chmod [选项]... mode1,mode2,... 文件... 或chmod [选项]... 八进制模式 文件... 或chmod [选项]... --reference=参考文件 文件...mode是关于文件权限的设定字符串,格式形如 [ugoa][+-=][rwxXst] ,下面为详细解释Linux中用户对文件具有三种身份
2017-08-04 18:38:07
864
原创 Linux命令分析: chgrp
用途:更改文件或文件夹的所属用户组,所要更改成为的用户组名必须在/etc/groups里存在才行用法:chgrp [选项]... 目的组名 要更改的文件 或 chgrp [选项]... --reference=所要参考的文件 要更改的文件...参数:-c --changes 类似--verbose,但只在更改时才显示结果
2017-08-02 12:11:51
265
原创 Linux命令分析: cp
用途:复制文件或目录用法:cp [选项]... [-T] 源文件 目标文件 cp [选项]... 源文件... 目标目录 cp [选项]... -t 目标目录 源文件...将源文件(目录)复制为目标文件(到目标目录),也可将多个源文件复制到目标目录,上面第二行和第三行的区别仅是源和目标目录顺序的不同,不论目标目录写在前面还是后面,都必须是已存在的
2017-07-17 18:49:54
561
原创 Linux命令分析: echo
NAME echo - display a line of text #显示一行文本SYNOPSIS #语法 echo [SHORT-OPTION]... [STRING]... #echo 【短选项】 【字符串】 echo LONG-OPTION #echo 长选项DESCRIPTION #描述
2017-07-07 15:36:49
682
原创 VMware Vsphere 6.0安装部署 (四) vCenter Server的配置与管理
vsphere client和vsphere web client的区别vsphere client是一个运行在windows桌面上的客户端,在linux环境下无法运行,在vsphere5.0以后,VMware在逐渐弱化vsphere client的作用,现在很多高级功能(如增强型vMotion)只能在web client里实现。VMware的设计趋势是用web client取代vsphe
2016-09-02 16:39:03
40138
原创 VMware Vsphere 6.0安装部署 (三) vCenter Server安装
几个不同的组件vCenter Server:对ESXi主机进行集中管理的服务器端软件,安装在windows server 2008R2或以上的操作系统里,通过SQL 2008R2 或以上版本的数据库(其他数据库也有版本要求)维护数据中心里各功能组件的信息。其实体形态是.iso文件,可在物理或虚拟Windows桌面上安装。链接:链接:https://pan.baidu.com/s/1zB...
2016-08-29 14:59:14
146176
6
原创 VMware Vsphere 6.0安装部署 (二) Vsphere ESXi安装
(二) Vsphere ESXi安装ESXi作为虚拟化环境的Hypervisor层,负责将服务器虚拟成资源池,提供接口供管理组件调用,将下面的iso刻录成光盘或可启动U盘,安装在服务器裸机上:下载地址请见上节安装过程开机做好阵列,选择从安装介质启动按F11继续输入密码:rootroot,密码最少要8位数字或字母,用vsphere client登录ES
2016-08-26 19:09:51
46350
2
原创 VMware Vsphere 6.0安装部署 (一) 总体部署架构
(一)总体部署架构本教程用于学习目的,力求详尽的介绍安装部署过程和各组件之间的关系,部署过程从最简单的模型开始,系列文章按时间顺序依次展开,每篇介绍一个组件。开始阶段,按照一台物理服务器,部署所有VMware组件的模型进行,这也是为了贴近大部分初学者在没有就职于商业机构,缺乏实际测试,生产环境的情形下,利用手头有限的硬件资源进行学习的场景。初始部署模型如下:其中,服务器为一台思...
2016-08-26 16:48:58
31921
3
原创 QEMU和QEMU-KVM的关系
不同的基于KVM的虚拟化平台,可能会采用不同的虚拟化组件,目前主流的采用QEMU-KVM组件,但在不同的产品里版本有所不同,功能也有差异,下面就几个概念进行梳理下KVM:Kernel-Based Virtual Machine 基于内核的虚拟机,是Linux内核的一个可加载模块,通过调用Linux本身内核功能,实现对CPU的底层虚拟化和内存的虚拟化,使Linux内核成为虚拟化层,需要x
2016-08-18 19:28:20
12114
2
原创 KVM中的网络IO设备虚拟化方式
在KVM虚拟化的架构里,对CPU的虚拟化采用的是硬件辅助的方式(Intel VT-x,AMD-V),效率比较高,内存的虚拟化有Intel EPT技术的支持,效率也没有问题;那么对于像磁盘驱动器,网卡等io设备来说,KVM提供两种虚拟化方式:采用全虚拟化纯软件实现的QEMU/KVM方式,采用半虚拟化的virtio方式。如上图,在一些桌面虚拟化产品里,默认采用的是QEMU/KVM方
2016-08-15 15:28:23
3887
原创 2016.8.14
也许,只有在这个夜深人静的时刻,独自一人的办公室,黑暗里,带上耳机,让音乐响起,才能让我抽离出庸常的生活,发现那个许久未曾触及,拥有许许多多敏锐感受的,有灵性的我。 8月初的上海,梅雨,高温似乎已经过去,水晶天已持续两个星期,窗外是高悬的半月,明亮皎洁,夜色很好,晚上的天气并不热,海边的风迎面吹来,风里传来的讯息,似曾相识的某个时候,深夜的街道上,抬头看看深邃如洗的夜空,和慵懒飘荡
2016-08-15 00:03:59
453
转载 VLAN原理详解
1.为什么需要VLAN1.1 什么是VLAN?VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地
2016-08-04 09:46:50
911
原创 Linux看当前硬盘剩余空间
众所周知,Linux安装系统的时候要分区,主分区最多4个,如果有逻辑分区的话就最多3个主分区一个扩展分区,再在扩展分区上建逻辑分区分区的时候,如果没有采用逻辑卷管理(LVM),创建的是普通分区的话,默认就是从 /dev/sda1 开始向下分block,同一个分区里数据块都是连续的,一个分区分完了,下一个分区紧接着下一个block开始,也就是说,不同分区在物理硬盘上所占用的数据块是连续的。正是
2016-08-02 16:06:44
56239
原创 也谈USB重定向的方式
在桌面虚拟化的项目中,常常会遇到用户提出的各自外设需求,这时产品对外设的兼容性就成为了项目成败的拦路虎本文试图用通俗易懂的语言讲讲USB外设重定向的工作流程,先看看普通PC上USB设备的工作流程usb硬件只将数据交给usb总线驱动,而应用程序只会把请求提交给本usb设备驱动处理,在usb设备驱动提交usb总线驱动处理从上图可以看出,能够被虚拟化的只有USB设备驱动和
2016-08-01 19:10:47
12516
原创 关于loop设备挂载
为区别网络里的loop端口(回环端口),这里把linux里的hoop设备叫做循环设备在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备。它能使我们像块设备一样访问一个文件很多资料里以镜像文件不需刻录就挂载使用的功能来讲解loop设备的,那为什么可以这样呢?这要先从mount的流程来理解,挂载操作,实际上就是把设备
2016-07-31 22:16:16
14210
1
原创 mount --bind和硬连接的区别
大家知道,hard link无法连接目录,而symbolic link虽然可以连接目录,但在有些程序里对符号连接的支持并不好,这个时候我们可以通过mount --bind命令来将两个目录连接起来如上图,新建两个目录 /test1 /test2 ,可以发现两个目录的inode号不同将两个目录bind起来 ,会发现inode号全部变成 之前 /test1 的inod
2016-07-29 01:11:08
35144
原创 关于硬连接和符号连接的理解
Linux下面有两种连接文件的方式hard link (硬连接或者实际连接)由于Linux里面每个文件都对应一个inode,而文件名是记录在目录的block里的,也就是说文件名和inode没有关系,这样就可以把多个文件名对应同一个inode,这就是hard link,简单的说:hard link只是在某个目录下新建一条文件名连接到某inode号码的关联记录而已。hard link具有以下特
2016-07-26 00:45:29
2673
原创 对Linux目录和文件系统的理解
Linux里最重要的理念是“一切对象都是文件”所有的目录,文件,命令(也是一种可执行文件),设备等,归根结底都是一种文件,被分成若干个基本的存储单元,存放在磁盘的不同物理地址上,并具有特定的读,写,执行权限。Linux中文件类型只有以下这几种: 1.-,普通文件。 2.d,目录文件,d是directory的简写。 3.l,软连接文件,亦称符号链接文件,s是soft或者symbo
2016-07-22 22:25:28
4945
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人