Linux软件安转目录

转载自:https://blog.csdn.net/aqxin/article/details/48324377   Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。 /usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。 /opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。 源码放哪里? /usr/src:系统级的源码目录。 /usr/local/src:用户级的源码目录。 —————–翻译——————- /opt Here’s where optional stuff is put. Trying out the latest Firefox beta? Install it to /opt where you can delete it without affecting other settings. Programs in here usually live inside a single folder whick contains all of their data, libraries, etc. […]

Nat的四种模式

Nat的四种模式 Full cone NAT, 完全圆锥型NAT Address-Restricted cone NAT, 受限圆锥型NAT Port-Restricted cone NAT, 端口受限圆锥型NAT Symmetric NAT, 对称NAT Full cone NAT        一个内部地址(iAddr: port1)映射到外部地址(eddr: port2),所有发自iAddr: port1的包都经由eAddr: port2向外发送。任意外部主机也能通过eAddr: port2发包到iAddr: port1。 Address-Restricted cone NAT        一个内部地址(iAddr: port1)映射到外部地址(eddr: port2),所有发自iAddr: port1的包都经由eAddr: port2向外发送。而只有iAddr: port1之前发送过包的外部主机的任意端口能通过eAddr: port2发包到iAddr: port1。 Port-Restricted cone NAT        一个内部地址(iAddr: port1)映射到外部地址(eddr: port2),所有发自iAddr: port1的包都经由eAddr: port2向外发送。而只有iAddr: port1之前发送过包的外部主机的特定端口能通过eAddr: […]

高阶函数

今天学python的时候看到高阶函数我十分激动,因为上个学期学的Haskell也有高阶函数。虽然上个学期并不勤奋地学习Haskell,但是高阶函数仍然在我的脑海里留下深刻的印象,因为高阶函数实在是太太太牛逼了。 所以今天忍不住来复习一波高阶函数。 Haskell中的高阶函数 在Haskell中,有很多很好用的高阶函数,如下面几个: map, filter, foldl, foldr map map :: (a -> b) -> [a] -> [b] map接受一个函数f和一个数列A并返回一个数列。其作用是将函数作用到A中的每一个元素上面 filter filter :: (a -> Bool) -> [a] -> [a] filter是一个过滤器,它接受一个检验函数f和一个数列A并返回一个数列。其作用是用f来过滤A中的元素 foldr, foldl foldr :: (a -> b -> b) -> b -> [a] -> b foldl和foldr的作用是将双参数的函数将列表处理 foldr f z [x1, x2, …, xn] == x1 […]

[Python] 改变工作目录函数

在学习python时写到一个十分简单的备份程序,其中涉及到工作目录的问题。 在使用Linux的zip命令时,例程给出的有效控制台命令是 zip -qr ‘/Users/smith/Desktop/test.zip’ /Users/smith/Desktop/python 但是得到的压缩文件包含python文件所有父目录(直到根目录)。即得到的压缩文件为/Users/smith/Desktop/python及python文件夹内的所有文件,也就是说压缩时连路径也压缩进去了。 然而我想在压缩时把路径省略,其中找到的一个解决法案是让脚本中的工作目录移到python的父目录在执行使用相对路径的zip命令。即在/Users/smith/Desktop目录下,执行 zip -qr ‘/Users/smith/Desktop/test.zip’ python 这就涉及到脚本下工作目录转移的命令,我尝试用os库中的os.system(‘cd XXX’)命令,但是发现执行后,工作目录并没有改变。[这篇文章](http://blog.csdn.net/qq_25467523/article/details/77859429)里面谈到里关于进程调用的过程,也谈到了两种解决方案: (1)使用os.chdir(‘new_path’) (2)使用复合命令如os.system(‘cd new_path && other_command’)

soj1135 飞越原野

/** * 原题:http://222.200.185.45/1135 * 看了题解:http://www.cnblogs.com/ciel/archive/2013/01/25/2876806.html * 代码写得风格比较容易接受,说回题目。。。 * 我看这道题时还蛮蛋疼的,没有想到如何将状态空间增加一个维度, * 看完代码后觉得是一件比较容易理解的事情, * 以后在思考搜索问题时要注意搜索状态的设计! */ #include <iostream> #include <queue> using namespace std; const int MAX = 105; struct state { int x, y, dis, remain; state(int x, int y, int d, int r): x(x), y(y), dis(d), remain(r) { } }; int mx[4] = {-1, 0, 1, […]

CentOS 6.4 下安装vsftpd(转)

原文链接:http://www.cnblogs.com/xiongpq/p/3384759.html(侵删) 概述: vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个。 本文介绍了在CentOS 6.4下安装vsftpd、配置虚拟用户登录FTP的过程。 正文: 一:安装vsftpd 查看是否已经安装vsftpd rpm -qa | grep vsftpd 如果没有,就安装,并设置开机启动 yum -y install vsftpd chkconfig vsftpd on 二:基于虚拟用户的配置 所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。 修改配置文件 打开/etc/vsftpd/vsftpd.conf,做如下配置 anonymous_enable=NO //设定不允许匿名访问 local_enable=YES //设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问 chroot_list_enable=YES //使用户不能离开主目录 chroot_list_file=/etc/vsftpd/vuser_passwd.txt //这句原文没有,在评论中可以找到 ascii_upload_enable=YES ascii_download_enable=YES //设定支持ASCII模式的上传和下载功能 pam_service_name=vsftpd //PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证 以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加 guest_enable=YES //设定启用虚拟用户功能 guest_username=ftp //指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了 user_config_dir=/etc/vsftpd/vuser_conf //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名 进行认证 首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。 yum install db4 db4-utils 然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt […]

VPS+WordPress的个人博客搭建之路(转)

原文链接:http://hellojane.me(侵删)   第一篇博客文章,就来记录这个博客的搭建过程吧。 搭建这个博客的起因是买了一台搬瓦工的VPS用于几个小伙伴的科学上网,于是也想用VPS做点别的事情,因此开始搭建个人博客。选择WordPress的原因是功能齐全,容易上手,没写过前端的鄙人也就图个方便了╮(-_-)╭ 【第一部分:域名与空间】 域名的话就随便上个买域名的网站买一买就好了。我是在万网买的,顺便也提供域名解析。域名解析万网有教程,如果不用万网也可以用DNSPod之类解析域名。 VPS主机可选择的有很多,个人用的是搬瓦工的VPS,买之前搜一下优惠码,有小折扣。搬瓦工的机器默认是安装了CentOS,能够直接在KiwiVM控制面板安装shadowsocks。因此我后来搭建网站时也是基于CentOS 6进行的,当然你也可以安装自己喜欢的Linux操作系统。 如果你跟我一样使用的搬瓦工VPS,以及CentOS 6,那么可以参照以下过程建立到服务器的SSH连接: 1. 在KiwiVM控制面板选中Root password modification这一栏,生成一个新的root密码,记下来。(我不知道默认的是啥,就新生成了一个) 2. 依稀记得CentOS已经有安装ssh,如果没有的话,进入KiwiVM面板,打开Root Shell,这便进入了CentOS命令行。 安装ssh : yum install ssh 启动ssh:service sshd start 设置开机运行:chkconfig sshd on 其他的Linux系统也类似,只不过不是用yum安装而已。 3. 在mac上用指令: ssh -p ssh的端口号 root@服务器ip地址 然后输入root密码即可。端口号在KiwiVM面板的Main controls可以查看。 Windows下也类似,虽然不能直接使用命令行,但使用PuTTY等软件即可。 4. 为避免每次输入root密码的繁琐,可以配置rsa密钥免密码登陆: 1)在mac终端运行指令:ssh-keygen(如果你用过git应该已经生成过) 2)在mac终端运行指令:scp -P 28273 .ssh/id_rsa.pub root@vps的ip:/root/.ssh/authorized_keys 这里可能出现VPS里面没有/root/.ssh/这个文件夹,需要先用密码登陆新建一个 现在可以我们就可以免密码登陆啦。 【第二部分:安装LNMP】 LNMP(linux+Nginx+MySQL+PHP)的安装指南可访问官方的LNMP一键安装。 如果懒得看指南,那么安装LNMP可以先执行: wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && […]