linux常用命令(长期更新)

记录一下常用到的 linux 命令(包含相应 Windows 中的操作) ...

2018-02-07 20:42:57 · 1 分钟 · 33 字

VMware使用macOS如何全屏

如何解决 VMware 安装 VMware Tools 后仍不能全屏显示的问题 ...

2018-02-07 14:10:45 · 1 分钟 · 26 字

linux发行版理解

linux 作为开源系统,有着众多的发行版本(毕竟有着庞大的社区和狂热的爱好者),不同的发行版本(Linux Distribution)随着发展,在使用方式上也有一些不同,例如各自的包管理器、已经适用场景等等。借此整理一下 linux 的不同发行版本,以便在使用不同版 linux 时不至混乱。 大致分类 商业发行版 Ubuntu(Canonical 公司) Fedora(RedHat) openSUSE(Novell) Mandriva Linux 社区发行版 Debian Gentoo 既不是商业发行版也不是社区发行版 Linux Distrubutions Linux 桌面发行版组成 Linux 内核 GNU 工具&库 附加软件、文档 窗口系统 窗口管理器 桌面环境 开源软件包 二进制可执行文件 源代码发布方式(支持修改和重新编译) 定制发行版镜像 Gentoo Linux 内核 T2 Linux From Scratch 提供: 所有软件的源代码 基本内核 编译器 定制工具 安装工具 软件包管理系统 发行版通常被分区成软件包,每个软件包包含一个特定的软件或服务 软件包 软件包通常是已编译的机器码,由软件包管理器安装和卸载 软件包组成 元数据:软件描述、版本、依赖(提供给软件包管理器以使用元数据进行搜索、自动更新到最新版本、自动解决依赖) 常见软件包格式 deb——Debian rpm——Fedora(Red Hat) 流行的发行版 基于 Dpkg(Debian 系) 商业发行版 Ubuntu(流行的桌面发行版,由 Canonical 维护) 社区发行版 Debian(强烈信奉自由软件,由志愿者维护) Kubuntu(使用 KDE 桌面的 Ubuntu) Linux Mint(由 Ubuntu 派生,与 Ubuntu 兼容) OpenGEU(Ubuntu 派生) Elementary OS(基于 Ubuntu,形似 Mac OS X) gOS 及其他 基于 RPM(Red Hat 系) 商业发行版 Red Hat Enterprise Linux(Fedora 的商业版,由 Red Hat 维护) Mandriva(最初派生自 Red Hat,现由法国同名公司维护) openSUSE(最初由 Slackware 分离出,现由 Novell 维护) 社区发行版 Fedora(Red Hat 社区版,会引入新特性测试) PCLinuxOS(Mandriva 派生版) CentOS(Red Hat 发展而来,由志愿者维护,旨在提供开源,与 Red Hat 完全兼容) 基于其他包格式 ArchLinux(基于 KISS——Keep It Simple and Stupid 的滚动更新的操作系统) Chakra(由 ArchLinux 派生,只是用 KDE 桌面的半滚动更新发行版) Gentoo(面向高级用户,所有软件源代码需自行编译) Slackware(最早发行版之一,1993 年创建,由Patrick Volkerding维护) 参考链接...

2018-01-25 10:51:20 · 1 分钟 · 141 字

虚拟机vmware使用——安装vmware-tools

每次安装虚拟机都忘记怎么安装 vmware tools,而不安装这个东西,用起来总是各种蹩脚,故做此整理。 背景 虚拟机屏幕不能自适应大小,虽然 vmware 有相关设置,但貌似不能符合使用要求,因此仍需要安装 vmware tools(感觉甚至像一个补丁)来完善 vmware 的使用,比如与宿主机的文件传输等。 安装前提 VMware Tools 使用 Perl 编写,所以需要装有 Perl 操作步骤(以 Ubuntu 为例) 从 VMware 菜单栏中选择“安装 VMware Tools” 找到 VMware Tools 安装文件(后缀为 tar.gz 的压缩文件) 打开终端,切换至 root 用户 sudo su 检查是否自动装载 VMware Tools 虚拟 CD-ROM 映像 若已装载 CD-ROM 设备,则列出 CD-ROM 设备及其装载点 mount df 若未装载,则需安装 CD-ROM 驱动器 检查装载点目录 可能在/mnt/cdrom 或/media/VMware Tools(例如本例) 若不存在装载点目录则创建 mkdir /mnt/cdrom 装载 CD-ROM 驱动器 mount /dev/cdrom /mnt/cdrom 某些 Linux 发行版使用不同的设备名称,或以不同的方式组织/dev 目录,若 CD-ROM 驱动器不是/dev/cdrom 或 CD-ROM 装载点不是/mnt/cdrom,则需根据实际情况进行装载...

2018-01-25 09:59:50 · 1 分钟 · 110 字

使用vmware安装macOS

虽然类似这样的文章网上一搜一大把,但应 youngwa 邀,还是决定重新整理一下个人安装的详细流程及相关资源链接,以备后用。 资源准备 macOS 系统镜像 8G 左右 cdr 后缀 点击下载 vmware 推荐版本 12(自行安装) vmware 补丁(用于添加 macOS 类镜像)点击下载 操作步骤 下载以上三个资源 安装 VMware 安装补丁,补充 VMware 关于镜像类型的选择(若不安装补丁,则没有 macOS 镜像的选项),安装 unlock,右击使用管理员权限打开 win-install.cmd 新建虚拟机,选择 macOS 类型镜像,并做相应配置 配置好后打开虚拟机的 vmx 文件,手动修改配置(搜索 smc)在 smc.present = “TRUE"后添加一行 smc.version = 0 启动虚拟机进行系统安装 完成即可(历时一个小时左右,视宿主机内存及硬盘配置而定) 注意事项 需要理解 linux 分区概念(不理解也可以将虚拟机分配的全部空间用作一个分区,在实用工具选项中选择磁盘工具,设置后关闭,进行系统安装) 注意点 安装 macOS 和安装其他系统镜像类型的虚拟机没什么大的区别,主要在于以下几点: 为 VMware 安装补丁,拓展镜像类型(实用 unlock) 修改 vmx,虚拟机配置文件,添加 smc.version = 0

2018-01-23 12:04:14 · 1 分钟 · 61 字

linux忘记密码

这算不上一篇博客,只是不想再重复在解决这个问题上花费时间。另外对于解决方案的原理有待深究。 核心操作 进入GRUB修改 kernel 镜像启动参数 具体步骤 启动系统时长按 shift,进入 GRUB 引导模式 进入高级模式 选择恢复模式(recovery mode)按 E 键(这里最容易错,是按 e 键编辑启动项,而不是按回车进入) 找到 recovery nomodeset 改为 quiet splash rw init=/bin/bash(挂载硬盘为可读写模式) 按 Ctrl+x 或 F10 进行引导 进入 root@(none):/# 输入 passwd 进行 root 的密码设置 重启 Tip:此方案用于解决 root 密码重置,但如果是 ubuntu,默认是以普通用户登录或游客访问,在登录界面是看不到 root 用户的入口,需要登录普通用户需要 sudo su 来切换 root,但如果普通用户忘记密码,就进不到这一步,这时解决方案则是在第 7 步为 passwd 加上参数,即要设置密码的用户名 参考 https://books.google.com/books?id=X3tZDgAAQBAJ&pg=PA191&lpg=PA191&dq=recovery+nomodeset&source=bl&ots=HOI9ga8YBl&sig=J8_HlXL2v9V9BnpNpvXKoPbW2MM&hl=zh-CN&sa=X&ved=0ahUKEwjh0MWQ--zYAhVBl5QKHSfvBd0Q6AEIVDAE#v=onepage&q=recovery%20nomodeset&f=false

2018-01-23 09:48:20 · 1 分钟 · 54 字

vultr账单解析及使用ssr在vultr搭建代理

今天就之前疑惑不解的 vultr 账单做了一波分析,终于算是破案了,借此也记录一下服务器搭建 ssr 的详细步骤。 一开始打开 vultr 账单,我是懵比的 这里面的加加减减使我很费解,不知道 vultr 的记账方式,也不知道它的扣款方式(原因是我从开通账户后就毫无规律的充值,但服务器的使用却一直未受影响而断过) 首先我第一反应是看我总共实际花了多少钱。 我的 vultr 是绑定 Paypal 作为付款方式,而 Paypal 中绑定了两张银行卡,一张储蓄卡,一张信用卡,在查阅了银行卡关于 paypal 的消费记录后统计如下 然后我试着从 vultr 账单中与之响应对账 的确找到四笔是通过 paypal 消费的 现在证实了一点,我一共在 vultr 花费了 17.65 美元,折合人民币 123.6 元 那么接下来再通过这四笔明确的消费来反推其他账单记录的含义,发现一笔比较特殊的 计算得到 由此可见 vultr 是按小时计费,一开始承诺的每月 5 美元,指的是如果你用满一个月(744 个小时,31 天)为 5 美元,而使用就是指你的服务器开启着(记录中一开始有十几天没计费应该是我虽然开通了 vultr 并且也充了值,但是没建立服务器实例,或者说建立的实例没开启) 归根结底,当服务器开启,每个月还是相当于 5 美元的,这样再看账单可以清晰一点 那么更进一步,我回想到之前按照首页提示的奖励金额去关注了 vultr 的 twitter 账号,所以有了 11 月这三笔记录 这三笔很明显是系统审核我的行为后为我以信用账户(accout credit)的方式分别充值了 3 美元 至此,整体应该算是破案了,我们可以用类比的思想(把陌生的事物类比成熟悉的事物,以便理解)可以理解为,vultr 在开通账户的时候是需要先付款后消费,不存在试用(先免费用,再补交费用)的情况。 但是当开通账户并充值以后,它的收费方式是每月 1 号,结算上个月的消费实际情况,会给你账单记录中发送一枚发票(invoice),你使用 paypal 进行的主动充值也会有所记录。但是可以先消费,后缴费。具体体现就是你这个月使用的费用是下个月 1 号结算,如果到时候你的 vultr 账户余额不足,它就会从你绑定的支付方式(比如 paypal 或信用卡)中自动扣款。...

2017-11-28 12:38:01 · 1 分钟 · 145 字

关于centos的iptables以及firewalld的总结

centos 内置一个非常强劲的防火墙,统称为 iptables,实际原理是 iptables 是用户空间的模块,在内核中存在一个 netfilter 核心模块用于实现 iptables 中设置的规则,进行底层的实际过滤。 iptables 关键字 IP 地址 协议(TCP、UDP、ICMP) 端口 原理 iptables 将规则放入缺省规则链(INPUT、FORWARD、OUTPUT),所有流量(IP 封包)会被相关的规则链检查,根据规则处理每个封包(ACCEPT/REJECT),这些动作称为目标(target) INPUT:以主机为目的地的封包 FORWARD:封包的目的地和来源地都不是主机,途经主机(由其选路),比如主机是路由器,这条规则链将被应用 OUTPUT:源自主机的封包 每个封包会逐一匹配每条规则,若符合某一条规则,响应动作将被执行(ACCEPT/REJECT),一旦吻合一条规则,则不再被其他规则检查。若所有规则都不匹配,将会执行这条规则链的缺省动作(即括号内的缺省策略) 使用方式 白名单方式:即规则链缺省规则设为 REJECT,仅对符合某些条件的封包进行放行,例如:bittorrent、FTP 服务器、网页服务器、Samba 文件服务器 黑名单方式:规则链缺省策略设置为 ACCEPT,对需要拦截的封包做拦截 REJECT 一般白名单用于 INPUT 规则链,用于控制目的地为主机的封包,黑名单用于 OUTPUT 规则链,用于控制由主机流出的封包 使用 iptables 需要 root 用户操作 iptables 是缺省安装在 centos5.x 及 6.x 上,而 centos7.x 使用 firewalld 取代之 先使用 rpm -q iptables 查看 iptables 是否安装在系统上 lsmod | grep ip_table 检查 iptables 模块是否被装入, 当 iptables 模块被装入后可通过 iptables -L 查看活动规则...

2017-11-16 15:57:50 · 2 分钟 · 225 字

关于负载均衡的理解小结

均衡,存乎万物之间 负载均衡(Load Balance)是指将请求均匀分摊到多个操作单元上执行,关键在于均匀 本来在学习过反向代理这个概念以后以为负载均衡就是反向代理在服务端将来自客户端短时大量的访问请求做分发,将其分配到多台提供相同服务的服务器上。 看了负载均衡以后发现其实负载均衡是一个很宏观的概念,上述的理解存在一定偏差。 负载均衡旨在将特定的业务分担给多个服务器或网络设备,从而提高业务处理能力,保证业务的高可用性。 (负载均衡用于缓解极大量的访问请求,所以下面的场景都基于同时来自客户端大量的访问请求) 首先,我上面的理解在实际的负载均衡中其实表述的是【DNS 层】(客户端->反向代理层)的负载均衡,这一层的负载均衡由 DNS 服务器实现。 具体也就是当用户通过网站域名访问服务时,为了负载均衡,同一域名会配置多个解析 IP,每当 DNS 解析请求来访问 DNS 服务器时,它会轮询这些 IP,并保证每个 IP 的解析概率相同(均匀),这些 IP 就是 nginx 的外网 IP。 然后拿到某台 nginx 的 IP 也就结束了第一层的负载均衡 接下来,来到【反向代理层—>站点层】,这一层的负载均衡通过 nginx 的配置实现,策略有很多种:比如轮询、IP 哈希、URL 哈希、权重等 请求轮询:类似 DNS 轮询,请求依次被路由到每一个 web 服务器 最少连接路由:将请求路由到连接数最少的 web 服务器 IP 哈希:通过客户端 IP 的哈希值来路由到某一个 web 服务器(只要用户 IP 分布均匀,理论上路由的路径就是均匀的),这样同一个用户的请求会固定路由到固定的某一台 web 服务器上,该策略适合有状态服务,比如 session(但不建议这么做,因为站点层无状态是分布式架构设计的基本原则之一,session 最好放在数据层存储) 然后是【站点层->服务层】的负载均衡,该层通过服务连接池实现 上游连接池与下游服务建立多个连接,每次请求会“随机”选取连接访问下游服务 最后是【数据层】负载均衡 当数据量十分庞大的时候,数据层(db,cache)可能会进行数据的水平切分,于是该层的负载均衡包含“数据均衡”和“请求均衡”两部分 数据均衡指:水平切分后的每个服务(db,cache),彼此之间数据量均匀 请求均衡指:水平切分后的每个服务(db,cache),彼此之间请求量均匀 常见水平切分法如下: 按照数据范围切分:每个数据服务存储一定范围内的数据 DataServiceA:存储 uid 为[1-1kw)内的数据 DataServiceB:存储 uid 为[1kw-2kw)内的数据 优点:...

2017-11-09 17:37:16 · 1 分钟 · 112 字

在Vultr上搭建ss,包含最简版centos7安装过程中的各种坑解决

在 Vultr 上搭建 ss,包含最简版 centos7 安装过程中的各种坑解决 检查是否安装 python 安装 pip pip install shadowsocks pip install M2Crypto M2Crypto 安装前置条件:安装 pcre,然后安装 swig(直接安装 pcre,去安装 swig 会提示 pcre 未安装,即使 pcre 已安装->解决方案,安装 pcre-devel,在发现这个问题之前卡住很久) ...

2017-08-16 20:14:53 · 1 分钟 · 129 字

关于Linux启动文件rc.local的解惑

rc.local 是 Linux 启动程序在 login 程序前执行的最后一个脚本,有的服务器中在 rc.local 中可能会有一句 touch /var/lock/subsys/local,这是干什么的呢,在百度中没找到,最终在Linuxquestions.org 论坛成功找到满意的解答。 touch 首先要了解 touch 这个命令是做什么用的,在此用于创建一个不存在的文件,详细了解请见Linux touch 命令 解释 /var/lock/subsys/local 这个文件的存在证明 rc.local 这个脚本已经执行过了,目的在于避免这个脚本重复执行,除非这个文件不存在时,它才失效,也就是当系统关闭(shut down)时会发生,翻译的不是很好,原文是 What this does is create a lock file that tells the system that ’local’ is up and running already. It prevents the script from being run twice, as it will fail until the lockfile is removed, which will happen when you shut down. Typically this is used with bigger services such as database servers and so forth to make sure they are not started twice....

2017-08-05 01:23:14 · 1 分钟 · 185 字

windows删除“找不到该项目”的文件

windows 删除“找不到该项目”的文件该怎么办 编写一个自动删除脚本,内容如下: 右键,新建文本文件 重命名为 del.bat 编辑内容:del /F /A /Q \?%1(第一行) rd /S /Q \?%1(第二行) 把要删除的文件直接拖到该脚本上即可删除 原理 方法采纳自百度经验删除文件时提示“找不到该项目”,怎么解决? del 为 windows 删除文件的命令,rd 为 windows 删除目录的命令,/F 为强制删除参数,/A 为根据文件属性删除文件,/Q 为安静删除模式参数(删除全局通配符时不需要确认),后面的\?即为全局通配符(UNC),?表示一个字符,在此仅为".",即当前电脑

2017-02-06 11:47:56 · 1 分钟 · 28 字