背景:
root@119.10.*.23:/dev/shm# df -hT    
文件系统    类型      容量  已用  可用 已用%% 挂载点
/dev/sda3     ext4     14G  5.4G  7.3G  43% /
tmpfs        tmpfs    2.9G     0  2.9G   0% /dev/shm
/dev/sda1     ext4    504M   43M  436M   9% /boot
/dev/sdb      ext4     94G  284M   89G   1% /data

vi /etc/fstab
tmpfs                   /dev/shm                tmpfs   defaults        0 0
——————————————文章学习——————————————
修改/etc/fstab的这行: 默认的:
none /dev/shm tmpfs defaults 0 0
改成:
none /dev/shm tmpfs defaults,size=1024M 0 0
size参数也可以用G作单位:size=1G。
重新mount /dev/shm使之生效:
# mount -o remount /dev/shm
马上可以用"df -h"命令检查变化。

阅读全文
背景:我最近买了一vps 5G内存,发现其内存刚开始还我很多剩余,逐渐发现内存越来越少,最近备案就开lnmp套件也没开几个进程呀。

[root@ZWCLC6X-7198 ~]# uptime
11:20:48 up 6 days, 37 min,  1 user,  load average: 0.00, 0.00, 0.00

阅读全文
页面构建时有中文名:
你里面是不是有中文文件名,出现:svn: Can't convert string from native encoding to 'UTF-8':
svn: ?\229?\143?\130?\228?\184?\142?\230?\180?\187?\229?\138?\168?\231?\172?\172?\228?\184?\137?\230?\173?\165-?\229?\143?\130?\228?\184?\142?\230?\136?\144?\229?\138?\159.html  
实践OK如下:
于是在shell刚开始加入三行,如下:
#! #/bin/sh
export LC_CTYPE="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
[root@test ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=为空,我在上面给全设置了:-)

这样设置后,如下:
export LC_CTYPE="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"


好了:
跳过“set-depth=exclude”
跳过“data”
于修订版 1444。
跳过“set-depth=exclude”
跳过“data”
————————————————————————————————————————————————————————————————
svn 版本库中有文件是以中文字符命名的,在 Linux 下 checkout 会报错:
svn: Can't convert string from 'UTF-8' to native encoding
然后 checkout 程序就退出了!
解决办法很简单,正确设置当前系统的 locale:
export LC_CTYPE="zh_CN.UTF-8"
然后重新 checkout 即可。
注意,根据你的系统字符集设置变量,如果 zh_CN.UTF-8 不行,有可能要改成 GB2312:
export LC_CTYPE="zh_CN.GB2312"
另外,看别人的帖子,有的变量名不同,用的是:
export LANG="zh_CN.UTF-8"

来自:
http://www.toplee.com/blog/566.html
http://svnbook.red-bean.com/en/1.2/svn.advanced.l10n.html

——————————————————————————————————————
方法一:只需要修改bash_profile文件就可以,添加下面几行:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
然后source一下:
. ~/.bashrc
这时候,再重新进行SVN操作就会再报svn: Can't convert string from 'UTF-8' to native encoding:的错误了。

方法二:另一种解决办法
解决办法很简单,正确设置当前系统的 locale:
export LC_CTYPE=“zh_CN.UTF-8″
然后重新 checkout 即可。

摘自:http://www.111cn.net/sys/linux/60107.htm
[创建本地yum源]
挂载iso文件
mount -o loop -t iso9660 CentOS-6.3-x86_64-bin-DVD1.iso /mnt
设置本地yum源
在/etc/yum.repos.d/创建   “任意文件名.repo"    文件  
vi 刚才新建的文件名编辑
【localyum】任意名称 ,不能有空格。
name= local yum  任意名称
baseurl=file:////mnt/Packages      这个路径是自定的。Server为光盘中的Server目录 ,Packages与Server放在同一目录下。即/software目录下
enabled=1   代表   生效     0为不生效
gpgcheck=1   检查gpgkey  1 生效   0不生效
gpgkey=file:///software    安装光盘里有这个文件        不指定  安装时,可能提示没有注册
保存退出
执行命令 yum clean all

摘自:http://www.server110.com/kvm/201310/2721.html
背景:经常用Windows的小乌龟提交东西习惯了后,发现Linux下修改一个文件后,再sz下来,再用那个小乌龟太麻烦,直接svn ci得了,但发出冲突,如何解决冲突是一个关键,于是此篇博文产生了,来自网上。
[版本控制]Linux下的svn命令行和Windows下中解决冲突有关问题步骤。
一、Linux下:svn命令行中解决冲突问题
如果不小心提交了一些动态改变根本不需要的文件到svn服务器上,出现冲突如何解决,基本思路是首先使用svn resolved filename 放弃对文件的修改,然后就可以提交上去了。然后svn rm test.log删除掉这个文件。然后再次提交,如果其他人更新的也同样处理。
1.svn ci -m "update"
svn: Commit failed (details follow):
svn: Aborting commit: 'test.log' remains in conflict
2.使用svn resolved test.log
3.svn ci -m "update"
这个时候应该可以提交了
4.svn rm test.log
删除掉这个文件
5.svn ci -m "update"
再次提交
这个时候服务器上就没有这个文件了。
在其他的服务器终端上如果遇到这个问题的时候重复这个操作。

http://www.myexception.cn/cvs-svn/486458.html

二、Windows下:svn更新报错 remains in tree-conflict
今天做项目,svn报错
xx remains in tree-conflict
更新可以,commit 不行.网上找到解决方法
右击冲突的文件或文件夹(一般上面有个感叹号)选择Edit TreeConflicts
有2个按钮(全英文的)
keep the directory from the reostitroy和Mark the conflict as resovled(我是点选这个就好了).
希望对大家有帮助,谢谢.

http://jfbcb.com/article/detail/54
背景:你买个所谓的云vps吧,系统是装上了,可磁盘没有给挂上,一挂说是要分区,要格式化,麻烦了吧?下面这些知识就很有用了喔。
最新操作实践,AddTime:2017-09-25


二)阿里云主机CentOS 添加硬盘实践成功,链接:http://www.linuxidc.com/Linux/2012-01/50916.htm
!!!!!!!一定要记得先格式化再挂载磁盘否则会报错,直接格式化为ext4,直接挂载即可:mount -t ext4 /dev/sdb /data
零、你得看磁盘有哪些(有不等于你能用,因为你没有分区或格式化):
fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          66      524288   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              66         196     1048576   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3             196        1959    14154752   83  Linux
Disk /dev/sdb: 102.0 GB, 102005473280 bytes  //这个就是大的分区。
一、操作过程之分区:
[root@ZWCLC6X-7198 ~]# fdisk /dev/sdb
......

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-12401, default 1): 12401

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
二、对分区后进行验证是否分对了,显示现有分区类型:
Command (m for help): p

Disk /dev/sdb: 102.0 GB, 102005473280 bytes
255 heads, 63 sectors/track, 12401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb8a20de3

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1           12401       12401        8032+  83  Linux

三、如何查看linux分区是ext3还是ext4系统? df -hT
[root@ZWCLC6X-7198 ~]# df -hT
文件系统    类型      容量  已用  可用 已用%% 挂载点
/dev/sda3     ext4     14G  2.8G  9.9G  23% /
tmpfs        tmpfs    2.9G     0  2.9G   0% /dev/shm
/dev/sda1     ext4    504M   43M  436M   9% /boot

http://jackxiang.com/post/6248/


四、根据三对新加的磁盘进行格式化操作:
mkfs.ext4 /dev/sdb          ---格式化分区类型为ext4
[root@ZWCLC6X-7198 ~]# mkfs.ext4 /dev/sdb
mke2fs 1.41.12 (17-May-2010)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6225920 inodes, 24903680 blocks
1245184 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
760 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

五、挂载磁盘(如不格式化会报错的):
mount -t vfat -o iocharset=cp936 /dev/sdb  /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/sdb,

实践OK如下:
[root@ZWCLC6X-7198 /]# mount -t ext4 /dev/sdb /data
[root@ZWCLC6X-7198 /]#

通过blkid命令获取即将挂载硬盘的UUID值:
[root@ZWCLC6X-7198 ~]# blkid  /dev/sdb
/dev/sdb: UUID="f241ba4f-08b2-4b8f-b864-e69ee205601d" TYPE="ext4"

自动挂载分区:
vi /etc/fstab
UUID=94dcb85c-81c7-45ec-a005-6b895f12961b /                       ext4    defaults        1 1
UUID=65b9af07-4d9a-40a5-a58d-457ba9e18655 /boot                   ext4    defaults        1 2
#add /dev/sdb's uuid into auto mount when linux boot up: mount -t ext4 /dev/sdb /data.
UUID=f241ba4f-08b2-4b8f-b864-e69ee205601d /data                   ext4    defaults        1 3

reboot后自动挂载上了,如下所示:
mount
/dev/sda3 on / type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sdb   on /data type ext4 (rw)

六:查看挂载后102G变小了好像只有89G了,如下:
[root@ZWCLC6X-7198 /]# df -hT
文件系统    类型      容量  已用  可用 已用%% 挂载点
/dev/sda3     ext4     14G  2.8G  9.9G  23% /
tmpfs        tmpfs    2.9G     0  2.9G   0% /dev/shm
/dev/sda1     ext4    504M   43M  436M   9% /boot
/dev/sdb      ext4     94G  188M   89G   1% /data
阅读全文
错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现,???  
mallocPointerTest.c:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
mallocPointerTest.c:5: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码
c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
__________________________________________________________
c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
追问
所有你应该这样改
int i;
for(i=0;;);
为什么,                                            
如何让c编译器是c99标准:
   gcc mallocPointerTest.c --std=c99
来自:http://bbs.chinaunix.net/thread-803643-1-1.html
http://blog.163.com/zhaoxiaosen_2008@126/blog/static/105797239201344517767/
VPS服务器使用必须注意的七大事项
<1>.强烈的建议您在使用VPS的时候也和使用自己的系统一样,养成文件分类管理的习惯.
<2>.勤备份数据,强烈建议您每周进行至少两次的备份.
<3>.如果在不知道具体作用的情况下,请不要任意卸载天下数据预安装的程序,否则可能造成您的VPS服务器不能正常使用和管理.
<4>.客户自己的数据,请全部放置在D磁盘内,不要放置在C盘根目录或者直接放置在桌面上.尤其是站点程序文件和数据库文件等比较重要的数据.
<5>.请不要在VPS服务器上面放置具有攻击性和黑客性质的程序,以免造后面程序的漏洞或者不可预知的故障给你带来不可修复的后果.
<6>.天下数据强烈建议不要在VPS服务器内浏览WEB页面.
<7>天下数据强烈建议管理VPS的人员进行专人管理,并且做好文件操作日志记录,系统设置记录等,方便可以及时的为客户解决问题.
来自:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73c6f968d4c68d4e419cf791d1b0731b0ed30226604d7c77e6304b8492ae9e73604341420c0c18ed714c9fecf6879876376310b873105a31cb8bf3132b057872eeab81897ad813684dad7c4de2444bb20120a8be7fd5b1765cb78f1642695a38e3b154866bafa4765e858073eee5057c747ee91467970f6e1dd2d18837d873150c1&p=8b2a9715d9c340a90cabd027174f90&newp=882a9544d09502e40be296224f4d9e231610db2151d6d2132997d8&user=baidu&fm=sc&query=vps%B7%FE%CE%F1%C6%F7%CA%B9%D3%C3%D7%A2%D2%E2%CA%C2%CF%EE+FreeBSD&qid=&p1=11
——————————VPS服务器使用注意事项(windows版)———————————
1.打开远程桌面登陆器:
  开始-----运行-----mstsc 
  或者 开始——所以程序——附近——远程桌面连接
2. 造成帐户卡死的情况分为多种.
  第一种.客户端同时登陆,造成帐户卡死.
  第二种,某一帐户在运行某些程序的中途退出远程
  第三种.某些单用户限制程序被同一系统管理员同时运行.
3. 不要安装第三方防火墙
  如果您需要防火墙,请使用windows自带的防火墙功能,在VPS里安装第三方防火墙会 造成VPS系统崩溃和数据丢失系统会自动获取最新windows补丁并自动进行安装,无需人工干预,在VPS里安装系统补丁,严重时会导致VPS系统崩溃和数据丢失
 不要修改远程桌面连接端口
   由于VPS系统的特殊性,默认远程桌面端口为3389,不可随意更改,否则会无法进行远程连接
4.除了某些程序必须在用户登陆的情况下运行的情况外, 建议退出远程连接时注销用户, 能节省内存资源, 并防止下次登陆出现超出最大连接数的情况. 如果出现超出最大连接数的情况, 可以重起VPS.
5.VPS交付使用时已经做了相关的安全设置, 安全性比较高, 建议不要随便开启防火墙, 如果自己开启防火墙, 也一定要打开以下必要端口:21(FTP), 3389(远程连接), 80(网站http),3306(MySQL),1433(SQL Server). 定时检查是否有可疑账号和系统日志, 发现可疑文件和进程可以下载360安全卫士进行检查. 注意网站文件夹的权限设置, 由于VPS被入侵导致资料被删除, 后果自行负责.
6.尽量不要手动修改注册表, 以免VPS启动不了. 修改远程端口务必先在防火墙中添加修改后的端口, 再进行重起. 万一出现远程连接端口被防火墙屏蔽, 请及时联系我们.
  7.修改IIS的配置文件, 务必先把文件备份, 然后用能保留文件格式的软件修改, 防止配置文件格式被破坏导致IIS无法使用.
 8.VPS的网站服务和IIS的FTP服务默认是手动开启的, 如果是站长请把服务中的最后一个即World Wide Web Publishing Service设置成自动, 如果需要经常使用IIS的FTP服务请把FTP Publishing Service服务设成自动, 即能实现开机自动启动. 如果用的是serv-u, 把设成系统服务的选项钩上即可. 从安全性和资源消耗方面来说, 建议不经常使用FTP的用户不要设成自动

来自:http://www.idcbest.com/help/html/zhujizuyongtuoguan/299.html

———————linux下使用ssh管理VPS的注意事项小结:———————
笔者采用key文件交互登录的方式连接ssh。因此,第一步要生成ssh的key文件。

1、ssh-keygen

2、接着,将服务器上的密钥、公钥下载下来。保存在当前用户的.ssh文件夹下。

这里需要注意的问题是一定两个都要下载,只下载密钥,会提示需要公钥。putty貌似米有这个问题,直接下载密钥然后转换一下就可以了。

ssh的登录问题解决完毕,紧接着 ,新的问题又来了;由于笔者在公司通过内网HTTP代理方式上网。貌似代理无法直接在ssh上使用。笔者在查阅资料后发现。ssh需要经过tunnel(隧道)来使用HTTP代理(或者还有其他好方法?笔者还不知道=_=!,各位网友不吝赐教)。

1、下载一个tunnel软件,如 corkscrew 下载地址 解压后,编译

tar zxf corkscrew-2.0.tar.gz

cd corkscrew-2.0

./configure

make && make install

2、修改ssh配置

vi /etc/ssh/ssh_config

添加

Host *

ProxyCommand corkscrew server port %h %p

保存后,可以直接使用ssh登录了^_^
来自:http://www.51res.net/html/2003/0402/25969.html
经过 5 个 RC 版本后,FreeBSD 10.0 正式版终于发布了!!!
下载地址:http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.0/

在 FreeBSD 10.0 上安装和配置 Nginx+PHP+APC+MySQL:
http://www.tuicool.com/articles/M7RvMzi

FreeBSD 10 + Nginx 1.4.4 + PHP 5.5.9 + MySQL 5.6.15

How to Install Nginx and PHP-FPM on FreeBSD 10
:
http://netkiller.github.io/journal/freebsd.php.html

FreeBSD官网:
http://www.freebsd.org/

FreeBSD 10下载地址:
下载地址:http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.0/
背景:一些日志目录做一些软链接到某些位置方便查看,但同时有个问题是目录多了,不知有多少个软链接。


一、查到所有软连接的目录的Command,实践Ok:



二、查找目录下的软链接文件:
find -L . -name "*.sql"


三、查找软链接目录里的某文件:
估计需要结合一,后再查找。

来自:http://bbs.chinaunix.net/thread-4057023-1-1.html
背景:
ssh作连接时:
[root@localhost ~]# ssh -l xiangdong 192.168.1.108
Address 192.168.1.108 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
xiangdong@192.168.1.108's password:
Last login: Tue May  6 16:10:52 2014 from 10.70.38.87
/etc/sysconfig/bash-prompt-xterm: line 1: ifconfig: command not found

一般是在配置无密码登录时引起的:
http://hi.baidu.com/tanggaohui/item/4fcf24372225143f2f20c4d0

GSSAPIAuthentication  这个设置项到底是什么作用了 ?
在securecrt 关闭、开启 GSSAPI,在登陆服务器时好像没什么影响。。。
答:这个是可选,而且和顺序有关,你如果使用密码认证,你进系统,和下面那个都无任何关系
阅读全文
修改  /etc/ssh/ssh_config
vim  /etc/ssh/ssh_config
GSSAPIAuthentication no
----------------------------------
修改  /etc/ssh/ssh_config
vim  /etc/ssh/ssh_config
在server 把GSSAPIAuthentication yes
后面的yes 改成no
然后/etc/init.d/sshd restart
来自:http://jafy00.blog.51cto.com/2594646/810716
http://fleiou2008.blog.163.com/blog/static/819810172012631111922846/
零、一段监听端口的shell:

摘自:http://ajiewps.sinaapp.com/?p=266

一、通过shell脚本重定向实现监控memcache状态:

通过nc命令实现:
[chengmo@centos5 shell]$ (echo "stats")|nc 127.0.0.1 11211
二、通过重定向读取远程web服务器头信息:
(echo -e "HEAD / HTTP/1.1\n\n\n\n\n";sleep 2)|telnet www.baidu.com 80

参考:http://www.cnblogs.com/chengmo/archive/2010/10/22/1858302.html
背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况。

一、 linux ps命令,查看某进程cpu和内存占用率情况
[root@test vhost]# ps aux
USER       PID  %CPU    %MEM    VSZ   RSS TTY      STAT    START   TIME COMMAND
解释:
linux 下的ps命令
USER 进程运行用户
PID    进程编号
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小
RSS 进程使用的驻留集大小或者是实际内存的大小
TTY 与进程关联的终端(tty)
STAT 检查的状态:进程状态使用字符表示的,如R(running正在运行或准备运行)、S(sleeping睡眠)、I(idle空闲)、Z (僵死)、D(不可中断的睡眠,通常是I/O)、P(等待交换页)、W(换出,表示当前页面不在内存)、N(低优先级任务)T(terminate终止)、W has no resident pages
START (进程启动时间和日期)
TIME ;(进程使用的总cpu时间)
COMMAND (正在执行的命令行命令)
NI (nice)优先级
PRI 进程优先级编号
PPID 父进程的进程ID(parent process id)
SID 会话ID(session id)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识
————————————由上面列的输出后于是可以通过awk进行对特定列进行输出————————————

查看用户的一个进程运行情况参数o:

摘自:http://www.commandlinefu.com/commands/view/7244/micro-ps-aux-by-memcpu




二、 linux ps命令,查看进程cpu和内存占用率排序
使用以下命令查看:
ps -aux | sort -k4,4n
ps auxw --sort=rss
ps auxw --sort=%cpu

摘录自:http://blog.chinaunix.net/uid-21389973-id-3292358.html
背景:昨天一QQ群里的兄弟问了个问题:并发数 和  TPS 有什么联系吗?我在微信里作了下简单回答如下,顺带今天了解下其它参数。
TPS 是Transactions Per Second 的 缩 写, 也 就 是 事 务 数/ 秒。 它 是软件测试结 果 的 测 量 单 位。 一 个 事 务 是 指 一 个 客 户 机 向 服 务 器 发 送 请 求 然 后 服 务 器 做 出 反 应 的 过 程。 客 户 机 在 发 送 请 求 时 开 始 计 时, 收 到 服 务 器 响 应 后 结 束 计 时, 以 此 来 计 算 使 用 的 时 间 和 完 成 的 事 务 个 数, 最 终 利 用 这 些 信 息 来 估 计 得 分。 客 户 机 使 用 加 权 协 函 数 平 均 方 法 来 计 算 客 户 机 的得 分,测试软件就是 利 用 客 户 机 的 这 些 信 息 使 用 加 权 协 函 数 平 均 方 法 来 计 算 服 务 器 端 的 整 体TPS 得 分。

如求TPS,例子,一个软件测试以并发2000,发现其经过1分钟后软件给出Response Time(sec)一条曲线,在0.2左右。
此时TPS=并发数/平均响应时间(平均)=2000/0.2 = 10000,1w并发,也就是说能接受1万的并发值,注意是平均响应。阅读全文
C语言中获得系统当前的日期和时间

一、代码如下:


二、执行如下:
[root@test http_pcap_codes]# ./a.out
Year:  2014
Month:  2
Day:  8
Hour:  16
Minute:  55
Second:  9
Weekday:  6
Days:  38
Isdst:  0

上面的这些日期可以通过c函数连接起来实现:20140208 的按时间的目录结构
原代码来自里面localtime写错了:
http://www.linuxidc.com/Linux/2012-07/65059.htm
直接整数转也成:
snprintf(szValue,100,"%04d%02d%02d",1900+p->tm_year,1+p->tm_mon,p->tm_mday);                                                        
printf("%s",szValue)

整数转为char后再进行snprintf转代码%s(简单示例),snprintf参考:http://jackxiang.com/post/3736/
操作TortoiseSVN时,报如下错误:
      Command Update
      Repository UUID 'xxxxxxxx' doesn't match expected
      UUID 'xxxxxxxx'
      Finished!

这个在windows下是看不到uuid的,但是在Linux下的svn client是能看到的,分别讲下在哪儿:
1)Windows下的小乌龟是在.svn/wc.db里能找到,但是不报错这个是没法直接查到的,打开这个db文件搜索下svn的http地址内容就在它旁边能找到uuid,长得像这样,里而且多个一样的URL,这样不太好找:9b35ebc1-e2f0-4571-a2aa-cca3a5a3be64。
2)Linux下可直接用svn info能获取到,如svn info svn目录,或svn info svn的http地址信息。

sha1$e059139d119b69af6510ac5971fcfb4aa3bbbc64

      可以看到,原来Repository创建者的UUID是前者,而现在所操作的是后者的UUID。因此,目前的解决办法是:使用相关命令更新Repository的UUID。

具体办法如下:
      1、首先查看项目的所有者的UUID
      # svnlook uuid /var/svn/repos
      xxxxxxx

      2、更新项目的UUID
      # svnadmin setuuid /var/svn/repos xxxxxxx

      3、查看一下更新后的UUID
      # svnlook uuid /var/svn/repos

     是在linux下的tortoise服务器的仓库里面看,如下:
         /usr/local/subversion/bin/svnlook uuid  /data/subversion/levoo
         400fc8d2-0ce3-4270-bfba-d81f7d67c23b


附:
      UUID是repository创建时自动生成的一个随机数, SVN Client利用UUID判断是否为同一个resp。一般遇到UUID不同时,需要重新checkout

摘自:http://blog.csdn.net/xuzhuang2008/article/details/8474229


1.  客户端   在工作目录上右键-> TortoiseSVN-> 重新定位(Relocate)
2.   如果显示 uuid冲突时, 先显示现有版本,再设置新的id。

    服务器在项目上右键->所有任务->start Command Prompt        
    H:\backup\DS9000>svnlook uuid  .
           3219074f-d8da-2248-814a-399c5442be0a

    H:\backup\DS9000>svnadmin  setuuid   .  a3880bf4-0eb5-d74c-8d1e-3d6c595fa54e

    H:\backup\DS9000>svnlook uuid  .
     a3880bf4-0eb5-d74c-8d1e-3d6c595fa54e

来自:http://blog.sina.com.cn/s/blog_727b5d7c0100ogo1.html
背景:而我的情况是因为强行卸载了rpm -e libcap-devel-1.10-26 --allmatches --nodeps 后,
         导致:Error while loading shared libraries: libcap.so.1: cannot open shared object file  。

[root@test http_pcap_codes]# rpm -qa|grep libcap  
libcap-1.10-26
libcap-devel-1.10-26
libcap-1.10-26
libcap-devel-1.10-26
发现有两个一样的包,我就强制卸载rpm包遭遇error: specifies multiple packages,
rpm -e libcap-devel-1.10-26
error: "libcap-devel-1.10-26" specifies multiple packages,后强制采用了:
rpm -e libcap-1.10-26 --allmatches --nodeps 卸载后,root sudo的时候,登录提示:
Error while loading shared libraries: libcap.so.1: cannot open shared object file  !
还好及时发现,后又安上了,一查原来还真有这个libcap.so.1,如下:
[root@test dbus-1.8.0]# rpm -ql libcap-1.10-26|grep libcap.so.1                    
/lib64/libcap.so.1
/lib64/libcap.so.1.10
/lib/libcap.so.1
/lib/libcap.so.1.10

也就是说明,这个Linux的sudo会用这个了,了解。


——————————————————
安装了CentOS6.4,发现里面有很多默认安装的软件都不需要,比如mysql,apache,php等等,用rpm -e xxxx卸载,发现不好用,man rpm看了下,有个强制卸载的选项:
–allmatches
Remove all versions of the package which match PACKAGE_NAME. Normally an error is issued if PACKAGE_NAME matches
multiple packages.
rpm -e --allmatches --nodeps mysql-5.0.77-3.el5
warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave
ok,系统自带的旧版本MySQL卸载完成。

摘自:http://blog.163.com/chenyao_2000/blog/static/128010930201110181464242/

实践如下:
[root@localhost htdocs]# rpm -e --allmatches --nodeps mysql-5.0.95-5.el5_9
warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave


一、mv对Linux下的svn目录好像挪动不了,如下:

结论:
mv def 777/.  像这样直接挪动一个目录是没有问题的,隐藏的也全挪动过去,而如果用*号mv挪动,则隐藏的文件挪动不过去,所以得注意这个问题,特别是svn里svn co后,里面有好几个的隐藏文件,要注意,否则在更新时会出错。

二、cp也有这个问题:
linux下隐藏文件是.开头的,所以要复制隐藏文件直接在文件开头加个".“。也有mv的*不会拷贝隐藏文件的问题,如:
cp -Rf ../777/* ./.  这样是拷贝不过来隐藏文件滴。
这样目录直接对拷贝也就没有问题了:
cp -Rf 777 bbb

三、删除也有*删除不了隐藏的问题喔。


四、Linux cp命令如何拷贝整个目录下所有文件 :
背景:拷贝时出现把目录拷贝过去了,再就是假如linux下有隐藏文件,怎么也一起拷贝过去?
cp -r /home/test/rpmbuild/BUILD/jdk1.8.0_66/ /home/test/rpmbuild/BUILDROOT/usr/local/java
ls /home/test/rpmbuild/BUILDROOT/usr/local/java
jdk1.8.0_66

这个点很重要:
cp -r /home/test/rpmbuild/BUILD/jdk1.8.0_66/. /home/test/rpmbuild/BUILDROOT/usr/local/java

ls /home/test/rpmbuild/BUILDROOT/usr/local/java
bin        javafx-src.zip  man          THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT  jre             README.html  THIRDPARTYLICENSEREADME.txt
db         lib             release
include    LICENSE         src.zip
———————————————————————————————————————————————
如何在Linux下拷贝一个目录呢?这好像是再简单不过的问题了。

比如要把/home/usera拷贝到/mnt/temp,首先想到的就是

cp -R /home/usera/* /mnt/temp

但是这样有一个问题,/home/usera下的隐藏文件都不会被拷贝,子目录下的隐藏文件倒是会的。

那如何才是正确的方法呢?有人说用-a选项,有人说用find加管道。

其实没这么复杂,Google了之后,学了一招。原来只有用“.”当前目录代替“*”就好了
C/C++中的strncpy()函数功能为将第source串的前n个字符拷贝到destination串,原型为:

char * strncpy ( char * destination, const char * source, size_t num );
各个参数的含义显而易见,其中返回值与destination相同。


这个函数会出现三种情况:
1、num<source串的长度(包含最后的'\0'字符):那么该函数将会拷贝source的前num个字符到destination串中(不会自动为destination串加上结尾的'\0'字符);
2、num=source串的长度(包含最后的'\0'字符):那么该函数将会拷贝source的全部字符到destination串中(包括source串结尾的'\0'字符);
3、num>source串的长度(包含最后的'\0'字符):那么该函数将会拷贝source的全部字符到destination串中(包括source串结尾的'\0'字符),并且在destination串的结尾继续加上'\0'字符,直到拷贝的字符总个数等于num为止。

————————————————————————————————————
三种情况,自己做个实践:
情况一:
代码:

编译:
[root@localhost strncpy]# make strncpy
cc     strncpy.c   -o strncpy
运行:
[root@localhost strncpy]# ./strncpy
abc
————————————————————————————————————
情况二:
代码:

运行:
[root@localhost strncpy]# ./strncpy
abcdefghi
————————————————————————————————————
情况三:
代码:

运行:
[root@localhost strncpy]# ./strncpy
abcd
参考:http://www.cnblogs.com/unimous/archive/2012/03/05/2381151.html
分页: 16/23 第一页 上页 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 下页 最后页 [ 显示模式: 摘要 | 列表 ]