linux系统

linux服务器搭建svn服务器

梦想与她 提交于 2020-04-05 15:02:19
简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。 SVN 的一些概念 repository(源代码库):源代码统一存放的地方 Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份 Commit(提交):当你已经修改了代码,你就需要Commit到repository Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository 上的源代码同步,你手上的代码就会有最新的变更 日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) —>作出自己的修改并调试成功 —> Commit(大家就可以看到你的修改了) 。 如果两个程序员同时修改了同一个文件呢, SVN可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。 如果是同一行,SVN会提示文件Confict, 冲突,需要手动确认 1. yum

linux 安装rabbitMQ详细教程

此生再无相见时 提交于 2020-04-04 22:49:16
经过第一次的安装失败, 第二次总算是成功了, 这里总结一下。 第一步:下载版本对应的rpm安装包 1. 下载Erlang安装包:RabbitMQ是Erlang语言编写,所以Erang环境必须要有,注:Erlang环境一定要与RabbitMQ版本匹配, 版本匹配对照地址: https://www.rabbitmq.com/which-erlang.html Erlang的下载地址:Erlang下载地址: https://www.rabbitmq.com/releases/erlang/ (根据自身需求及匹配关系,下载对应rpm包) 2. 下载RabbitMQ安装包, 这里使用的是rpm, 当然了也可以下载源码进行编译安装。   RabbitMQ下载地址: https://www.rabbitmq.com/releases/rabbitmq-server/ (根据自身需求及匹配关系,下载对应rpm包) 3. 下载Socat安装包   rabbitmq安装依赖于socat,所以需要下载socat。   socat下载地址: http://repo.iotti.biz/CentOS/6/x86_64/ socat-1.7.3.2-1.el6.lux.x86_64.rpm   根据自身需求下载对应系统socat依赖:( http://repo.iotti.biz/CentOS/ ) 第二步:

linux下修改rm命令防止误删除

两盒软妹~` 提交于 2020-04-04 21:59:22
前言: 相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾。那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用。 第一步: 先在home目录下创建一个叫username名字的目录(当然名字可以自定义),具体命令为: sudo mkdir username(自定义的名字) 这时候记得要用命令: sudo chmod 777 username (自定义的名字) 来改变一下你的目录权限,因为在home目录下刚创建的目录是没有执行权限的。 第二步: 进到username目录下,命令为: cd username ,接着在username 目录下创建两个目录分别为 trash和tools 这两个名字都可以自定义的,当然也要改一下权限,方法和上面的一样。 第三步: 进到tools目录下,方法在第二步已经讲过了,在里面创建一个shell文件叫 r emove.sh (名字也可自定义,但是后缀必须是.sh),具体命令为: t ouch remove.sh ,这时shell文件一般都是有执行权了的,没有的话再用命令: sudo chmod 777 remove.sh 改一下权限。 第四步: 接着在刚才创建好的shell文件remove.sh中写上代码: PARA_CNT=$# TRASH_DIR="/home

Linux 常见缩写命令英文全称

久未见 提交于 2020-04-04 21:18:34
linux 命令参考Linux 命令大全: https://man.linuxde.net/ awk = "Aho Weiberger and Kernighan" 三个作者的姓的第一个字母, awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。 bash = GNU Bourne-Again Shell 大多Linux的默认shell bc = Basic Calculator 基础计算器,是一种支持任意精度的交互执行的计算器语言。 bg = BackGround 用于将作业放到后台运行,使前台可以执行其他任务。 fg = ForeGround 用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。 cal = calendar 日历,后跟月份数、年份数可显示指定月日历 rpm = RedHat Package Manager RedHat软件包管理工具 tar = tape archive 可以把一大堆的文件和目录全部打包成一个文件 chgrp = Change group 改变文件归属用户组 chmod = Change mode 用来变更文件或目录的权限。 chown = Change owner 改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。 logname =

Linux下Setuid命令!

江枫思渺然 提交于 2020-04-04 18:43:20
在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置。 问题是:用户的信息保存在文件/etc/passwd中,用户的密码保存在文件/etc/shadow中,也就是说用户更改自己密码时是修改了/etc/shadow文件中的加密密码,但是, -rw-r--r-- 1 root root 1787 Oct 27 2009 /etc/passwd -r-------- 1 root root 1187 Oct 27 2009 /etc/shadow /etc/passwd文件每个用户都有读权限但是只有root有写权限,/etc/shadow文件只有超级用户root有读写权限,也就是说普通用户对这两个文件都没有写权限无法写入新密码,为什么普通用户可以更改密码呢? PS: 在Linux中设置或更改用户密码,是先写入到/etc/passwd文件然后通过pwconv命令转换到/etc/shadow文件,执行pwunconv命令可观察到转换前效果,会观察到/etc/shadow文件神奇的消失掉了,而/etc/passwd文件中原来打x的地方变成了真正的加密密码。 其实,用户能更改密码真正的秘密不在于文件的权限,而在于更改密码的命令passwd 。 -rwsr-xr-x 1 root root 22960 Jul 17 2006 /usr/bin/passwd

linux命令使用

浪尽此生 提交于 2020-04-04 17:40:25
*1,使用xshell远程连接虚拟机* *2创建用户并设置密码* *3* *在该(姓名-学号)普通用户下熟悉ls,touch,mkdir,pwd,find,man,chmod等* 使用mkdir创建一个test目录,ls查看当前目录 cd 命令进入test目录,使用touch命令创建te.txt目录 使用pwd命令查看当前的绝对路径 打开vim在te.txt文件中加入一行数据 保存并退出 使用cat命令查看刚刚输入的值 使用 cp 命令复制文件 使用 man 命令 使用chomd命令加权限 *4,* *深刻立即目录和文件的权限含义:* a,在超级用户下,于/tmp/下创建一个新目录,目录名称为test,修改目录权限为777,在test下新增一个文件testfile,修改文件权限为744,用 *姓名-学号* 普通用户登录,尝试是否能够删除testfile文件? 能 b. 切换用户到root,修改test目录权限为755;再切换到 *姓名-学号* 用户下,在test目录下创建新的文件testfile,查看系统提示?如何解决? 没有删除权限 解决方案: 加入w权限,可以切换到root用户,设置test文件夹夹的权限为722/733或者777则,即加入w权限就可以 c. 在root用户下,修改/tmp/test目录权限为 1777,命令为chmod 1777 /tmp/test, 在

Linux 策略路由配置

喜你入骨 提交于 2020-04-04 17:26:12
策略路由配置 #编辑rt_tables echo "192 net_192 " >> /etc/iproute2/rt_tables echo "196 net_196 " >> /etc/iproute2/rt_tables #清空net_192路由表 ip route flush table net_192 # 添加一个路由规则到 net_192 表,这条规则是 net_192 这个路由表中数据包默认使用源 IP 172.31.192.201 通过 ens4f0 走网关 172.31.192.254 ip route add default via 172.31.192.254 dev ens4f0 src 172.31.192.201 table net_192 #来自 172.31.192.201 的数据包,使用 net_192 路由表的路由规则 ip rule add from 172.31.192.201 table net_192 #清空net_196路由表 ip route flush table net_196 #添加一个路由规则到 net_196 表,这条规则是 net_196 这个路由表中数据包默认使用源 IP 172.31.196.1 通过 ens9f0 走网关 172.31.196.254 ip route add default via 172.31

linux下bin文件安装

心已入冬 提交于 2020-04-04 17:12:24
At first you have to open a terminal/bash and then enter: file /path/file.bin for example file /home/user/file.bin (file is the command) Now you should see a sentence including the word “executable” and not “non-executable, not executable,… or something completely different) If you do not see “executable,…)” the file is probably an cd-image(BIN/CUE) and not an executable .bin-file Now enter: chmod +x file.bin No path! Just the name of the file!!! Now the file is executable… Last step: Type in /path/file.bin , for example /home/user/file.bin and the file will be executed… 来源: https://www

【Linux】Linux C socket 编程之UDP

孤人 提交于 2020-04-04 16:32:59
发送方: /* * File: main.c * Author: tianshuai * * Created on 2011年11月29日, 下午10:34 * * 主要实现:发送20个文本消息,然后再发送一个终止消息 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> int port=6789; int main(int argc, char** argv) { int socket_descriptor; //套接口描述字 int iter=0; char buf[80]; struct sockaddr_in address;//处理网络通信的地址 bzero(&address,sizeof(address)); address.sin_family=AF_INET; address.sin_addr.s_addr=inet_addr("127.0.0.1");//这里不一样 address.sin_port=htons(port); //创建一个 UDP socket socket_descriptor=socket(AF

Linux 网络编程(UDP)

☆樱花仙子☆ 提交于 2020-04-04 16:28:42
客户端代码 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/socket.h> #include<sys/types.h> #include<unistd.h> #include<netinet/in.h> #include <errno.h> int main(int argc, char** argv) { int socketfd = 0; struct sockaddr_in server_addr; char recvbuf[1024]; int port = 8001; int nbyte; if((socketfd = socket(AF_INET, SOCK_DGRAM, 0)) == 0){ fprintf(stderr, "socket Error:%s\n\a", strerror(errno)); exit(1); } bzero(&server_addr, sizeof(struct sockaddr_in)); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(port); server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); int