关于linux下的复制命令cp

功能说明:复制文件或目录。

语  法:cp [-abdfilpPrRsuvx][-S <备份字尾字符串>][-V <备份方式>][--help][--spares=<使用时机>][--version][源文件或目录][目标文件或目录] [目的目录]

补充说明:cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。

参  数:
 -a或–archive  此参数的效果和同时指定”-dpR”参数相同。
 -b或–backup  删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。
 -d或–no-dereference  当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。
 -f或–force  强行复制文件或目录,不论目标文件或目录是否已存在。
 -i或–interactive  覆盖既有文件之前先询问用户。
 -l或–link  对源文件建立硬连接,而非复制文件。
 -p或–preserve  保留源文件或目录的属性。
 -P或–parents  保留源文件或目录的路径。
 -r  递归处理,将指定目录下的文件与子目录一并处理。
 -R或–recursive  递归处理,将指定目录下的所有文件与子目录一并处理。
 -s或–symbolic-link  对源文件建立符号连接,而非复制文件。
 -S<备份字尾字符串>或–suffix=<备份字尾字符串>  用”-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字尾字符串是符号”~”。
 -u或–update  使用这项参数后只会在源文件的更改时间较目标文件更新时或是 名称相互对应的目标文件并不存在,才复制文件。
 -v或–verbose  显示指令执行过程。
 -V<备份方式>或–version-control=<备份方式>  用”-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这字符串不仅可用”-S”参数变更,当使用”-V”参数指定不同备份方式时,也会产生不同字尾的备份字串。 
 -x或–one-file-system  复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不予复制。
 –help  在线帮助。
 –sparse=<使用时机>  设置保存稀疏文件的时机。
 –version  显示版本信息。

————————-

文件覆盖时不提示overwrite的方法:

\cp -R -f source target

cp命令默认是不会提示overwrite?的,但是cp的-i选项会提示,
而一般Linux的起动文件~/.bashrc中会把cp命名成

alias cp=’cp -i’

这样在Linux下输入cp命令实际上运行的是cp -i
加上一个“\”符号就是让此次的cp命令不使用别名(cp -i)运行。
就不会有overwrite?的提示了,至于保留链接,cp命令没有这样的功能,你可以写一个简单的脚本,cp之前判断一下就可以了。

apache设置不当,造成部分中文编码乱码

Posted on 五月 8th, 2008 in apache、php、mysql | 1 Comment »

中文编码多种多样,UTF-8、GBK等。

当安装GBK代码的页面至apache后发现每次都要在浏览器中手动调节成GB2312或者GBK才能正确显示中文,否则就是乱码!

后发现是apache强制以UTF-8默认显示页面。

修改方法:
修改/etc/httpd/conf/httpd.conf中的AddDefaultCharset UTF-8改成AddDefaultCharset GBK,重新然后执行/usr/sbin/apachectl restart重新启动apache即可解决问题!

hddtemp结合sensors-applet监控硬盘温度

Posted on 五月 6th, 2008 in linux笔记 | 4 Comments »

许多linux发行版都集成了hddtemp,并且默认已经安装上,只要在终端执行 hddtemp /dev/hd*或者sd*,即可显示驱动器的信息和温度。

我的硬盘挂接在第一个ide口的master,所以是hda,
执行hddtemp /dev/hda后得到:
/dev/hda: WDC WD2500JB-OOREAO: 40C
但是这种在终端中执行命令查看的方式很不直观。

所以需要配合sensors-applet来实现直接在菜单条上实时显示和监控。
先前已经安装了sensors-applet所以不再阐述,安装方法:http://www.99ks.com/?p=78

如果系统没有安装hddtemp或者hddtemp版本太低,可以下载最新的版本,下载地址:http://download.savannah.gnu.org/releases/hddtemp/
并且编译安装,(安装方法不再阐述),安装后应该需要重新启动,然后执行hddtemp /dev/hd*或者sd*察看是否有返回信息,如果有则安装成功。

但是我碰到了一些问题,我即安装了hddtemp并且执行命令能得到返回信息,而且sensors-applet也已经安装成功,正确监控了CPU、主板、风扇的工作情况,但是就是没有出现硬盘监控的选项。

后来baidu和google了N多回,发现hddtemp必须工作在daemon模式下开启7634端口才能正确的被sensors-applet所显示。
检测是否在daemon模式的方法是在终端执行telnet localhost 7634,看有否硬盘信息和温度的返回。如果没有则说明未开启,执行hddtemp -d /dev/hda命令,然后再执行telnet localhost 7634看看,此时应该有返回信息了。在hddtemp的参数-d,就是开启daemon模式的。

将hddtemp -d /dev/hda 命令加入到/etc/rc.d/rc.local 文件中,保存并重新启动后,看看sensors-applet的sensors窗卡中有否hddtemp?

如图所示:

如果出现了hddtemp则说明一切ok了。

我解决这个问题的思路是:
原本两个程序都安装并且正确运行了,可hddtemp就是没有在sensors-applet中出现,随后发现需要在daemon模式下,于是执行命令在daemon下运行,可sensors-applet必须重新关闭再打开才有hddtemp选项,说明原先的配置在启动时,要么是没有加载入daemon模式,要么就是daemon模式的hddtemp在applet之后加载了。
所以必须在启动时先载入daemon模式的hddtemp再载入applet,才能解决问题。

我的方法是将命令直接写在启动文件,这个方法可能不是最好,如有更好的方法请告知。

另外还有题外话。技术方面的问题,特别是linux技术方面,在google中寻找的效率要比baidu高许多许多,但前提是英语要过得去,多半难题得在英文网站上找到答案。baidu很难检索到是因为国内linux群体过于弱小,经验积累不足,文档缺乏有关。希望国内linux群体,包括Unix系的BSD等群体能逐渐壮大。

centos安装lm-sensors和applet监控主机温度

Posted on 五月 4th, 2008 in linux笔记 | 12 Comments »

先下载lm_sensors和sensors-applet两个程序。

其中,lm_sensors找到了rpm包文件:lm_sensors-3.0.1-5.fc9.i386.rpm
可以看出是for fc9的rpm包,由于fc和centos都属于redhat系列,所以应该可以安装。
下载页面:http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/lm_sensors
其中有许多软件包,可供不同linux发行版选择安装。
rpm包安装很简单,不多阐述,下载后双击即可,安装过程中可能会涉及到依赖问题,逐个安装即可。
安装后,运行sensors,如果出现no sensors found的话,则要运行sensors-detect,如果提示无此命令,则执行/usr/sbin/sensors-detect
一路回车默认安装即可,最后会问你是否覆盖配置文件,选择y或者回车。
我的配置文件是/etc/sysconfig/lm_sensors,但许多人的配置文件会是/etc/modules
随后再运行sensors就能看出cpu电压温度等信息。

接下来安装sensors-applet,此程序是sensors的图形界面。
由于只有deb包,所以centos只能通过tar.gz源程序,需要编译安装。
文件名:sensors-applet-2.2.1.tar.gz
下载页面:http://sensors-applet.sourceforge.net/index.php?content=source
下载后安装方法:
tar xzvf sensors-applet-2.2.1.tar.gz
cd sensors-applet-2.2.1
./inconfigure –prefix /usr
make
make install
安装过程中也会涉及到依赖问题,逐个安装即可。
安装完成后鼠标右键点击菜单兰,选择“添加到面板”,选择“Hardware Sensors Monitor”即可在菜单兰上显示cpu温度。

posted @ 2012-03-29 17:30  linux—jock  阅读(836)  评论(0编辑  收藏  举报