存档

‘VPS’ 分类的存档

linux下复制文件cp命令

2012年7月3日 没有评论

cp 命令

用途
复制文件。

语法
复制文件到另一文件
cp [ -E{force|ignore|warn} ] [ -f ] [ -h ] [ -i ] [ -p ] [ -I ] [ -U ] [ - ] SourceFile TargetFile

复制文件到目录
cp [ -E{force|ignore|warn} ] [ -f ] [ -h ] [ -i ] [ -p ] [[ -r | -R ] [ -H | -L | -P ]] [ -I ] [ -U ] [ - ] SourceFile … TargetDirectory

复制目录到目录
cp [ -E{force|ignore|warn} ] [ -f ] [ -h ] [ -i ] [ -p ] { -r | -R } [ -H | -L | -P ] [ -I ] [ -U ] [ - ] SourceDirectory … TargetDirectory

描述
cp 命令复制由 SourceFile 参数指定的源文件到由 TargetFile 参数指定的目标文件。如果目标文件已存在,cp 覆盖原来内容,但相关的方式、所有者和组不改变。SourceFile 的最后访问时间和 TargetFile 的最后修改时间设置为复制进行的时间。如果 TargetFile 不存在,cp 创建一个新文件命名为 TargetFile,它和源文件除了粘滞位未设置外有相同的方式,除非超级用户来设置它,而所有者和 TargetFile 组正是这种用户。当 TargetFile 是另一文件的链接时,cp 用源文件内容覆盖目标链接;来自 TargetFile 的链接保留。而且,cp 命令能复制由 SourceFile 参数(或由 SourceDirectory 参数命名的目录)指定的源文件到由 TargetDirectory 参数指定的目录。

注:如果源参数之一是目录,您需要指定 -r 或 -R 标志。
如果有目录由 cp 命令在复制过程创建,新创建的目录与相应的源目录有相同的方式。

您也能复制特殊设备文件。实现这一点的首选选项是 -R 标志。指定 -R 使特殊文件在新路径名下重新创建。指定 -r 标志使 cp 命令尝试复制特殊文件为常规文件。

标志

-E -E 选项需要下列参数中的一个。如果省略 -E 选项,warn 是缺省行为。
force
以下情况对文件的 cp 操作会失败,即如果文件的固定范围大小或空间保留不能被保存的话。
ignore
在保存范围属性时忽略任何错误。
warn
如果文件的空间保留或者固定范围大小无法保存,就发出一个警告。
-f 如果目标文件不能被写操作打开的话,指定移去目标文件。移去操作在 cp 命令作任何复制之前执行。
-h 强制 cp 命令复制符号链接。缺省值是跟随符号链接,也就是将文件复制到符号链接指向处。
-H 根据由指定为 SourceFile 操作数的任何符号链接引用的文件类型和内容来进行操作。
-i 提示您将被覆盖的文件名。上述情况发生在当 TargetDirectory 或 TargetFile 参数含有与 SourceFile 或 SourceDirectory 参数所指定的文件同名的文件时。如果您输入 y 或在语言环境下的 y 的同义词,cp 命令将继续。任何其他的回答会避免 cp 命令覆盖文件。
-I 在 ACL 转换期间禁止警告消息。
-L 根据由指定为 SourceFile 操作数的任何符号链接或在遍历文件层次结构期间遇到的任何符号链接所引用的文件类型和内容来进行操作。
-p 将每个 SourceFile/SourceDirectory 的以下特征复制到相应的 TargetFile 和/或 TargetDirectory:
最后修改数据和最后访问的时间。如果这一复制由于任何原因而失败,cp 命令将给标准错误写一个诊断消息。没有复制 SourceFile/SourceDirectory 的 nanoseconds 字段的最后修改时间或最后访问时间。
用户标识和组标识。如果这一复制由于任何原因而失败,cp 命令将给标准错误写一个诊断消息。
文件许可位和 S_ISUID 和 S_ISGID 位。如果这一复制由于任何原因而失败,cp 命令将给标准错误写一个诊断消息。
如果用户标识或组标识不能复制,则文件许可位 S_ISUID 和 S_ISGID 被清除。

为了保存所有者标识和组标识、许可方式、修改和访问次数,用户必须有适当的文件访问许可权(用户应该是超级用户或与目标文件有相同的所有者标识)

如果不能保存这些特征,则目标文件不能删除。

如果目标文件系统同样支持,则保存与 SourceFile 相关联的访问控制列表(ACL)。如果源文件包含 NFS4 ACL 且目标文件系统不支持 NFS4 ACL,则 NFS4 ACL 转换为 AIXC。请参阅《安全性》中的『用户帐户』以获取关于 ACL 的更多信息。

当 ACL 转换成功时,将会打印一条警告消息到 stderr。

-P 根据指定为 SourceFile 操作数的任何符号链接或在遍历文件层次结构期间遇到的任何符号链接来进行操作。
-r 复制由 SourceFile 或 SourceDirectory 参数指定的文件或目录下的文件层次结构(递归复制)。-r 标志用处理常规文件的相同方式处理特殊文件。
-R 复制由 SourceFile 或 SourceDirectory 参数指定的文件或目录下的文件层次结构到由 TargetDirectory 参数指定的目录。特殊文件类型,如先入先出(FIFO)文件和块及字符设备将被重新创建而非复制。符号链接也被跟随,除非指定 -h 标志。(-R 标志优先于 -r 标志。)
如果没有指定 -H、-L 或 -P 选项中的任何一个,则没有指定这些选项中哪一个将用作缺省值。请留心以下内容:

如果指定了 -H 选项,则 cp 命令将根据由指定为 SourceFile 操作数的任何符号链接引用的文件类型和内容来进行操作。
如果指定了 -L 选项,cp 命令将根据由指定为 SourceFile 操作数的任何符号链接或在遍历文件层次结构期间遇到的任何符号链接所引用的文件类型和内容来进行操作。
如果指定了 -P 选项,则 cp 命令将复制指定为 SourceFile 操作数的任何符号链接和在遍历文件层次结构期间遇到的任何符号链接,但不会进行任何符号链接。

-U 将 SourceFile 中的扩展属性(EA)、访问控制表(ACL)复制到 TargetFile。如果目标文件系统上不支持 EA,则它将被忽略。如果目标文件系统上不支持源 ACL 类型,则它将转换为由目标文件系统支持的兼容的 ACL 类型。
– 指示 –(破折号,破折号)标志之后的参数将被解释为文件名。空标志允许以 – (减号)开始的文件名规范。

退出状态
该命令返回以下退出值:

0 所有文件成功复制。
>0 发生错误。

示例
在当前目录做一个文件副本,请输入:

cp prog.c prog.bak
这将复制 prog.c 到 prog.bak。如果 prog.bak 现在不存在,则 cp 命令创建它。如果它存在,cp 命令用 prog.c 命令的副本取代它。

复制您当前目录下的一个文件到另一个目录,请输入:

cp jones /home/nick/clients
这将复制 jones 文件到 /home/nick/clients/jones。

复制一个文件到一个新的文件并保存与源文件相关联的修改日期、时间和访问控制列表,请输入: cp -p smith smith.jr
这将复制 smith 文件到 smith.jr 文件。不是用当前日期和时间戳记创建文件,而是系统给 smith.jr 文件和 smith 文件相同的日期和时间。smith.jr 文件也继承 smith 文件的访问控制保护。
复制一个目录下的所有文件到一个新目录,请输入:

cp /home/janet/clients/* /home/nick/customers
这只复制 clients 目录下的文件到 customers 目录。

复制一个目录包括其所有的文件和子目录到另一个目录,请输入: cp -R /home/nick/clients /home/nick/customers
注:目录不能复制到目录本身。这将复制 clients 目录,包括所有文件、子目录和那些子目录中的文件到 customers/clients 目录。
复制一个特殊的文件集合到另一个目录,请输入:

cp jones lewis smith /home/nick/clients
这将复制您当前工作目录的 jones,lewis,和 smith 文件到 /home/nick/clients目录。

要使用模式匹配字符来复制文件,请输入:
cp programs/*.c .
这将复制 programs 目录下,以 .c 结尾的文件到当前目录,表示为单个 . (点)。您必须在 c 和最后的点号间输入一个空格。

要将一个文件复制到新的文件并保留与源文件关联的 ACL 和 EA,请输入:
cp -U smith smith.jr

————小技巧—————
让cp 不要确认

在 /root 找 profile 出來, 把其中類似的
alias cp=’cp -i’
的加 comment 符, 再重新登入就可以了

如 .bash_profile 或 .bashrc
叫 /root/.bash_profile 或 /root/.bashrc

linux 下vi编译器的使用

2012年7月2日 没有评论

vi 文字编辑(根据鸟哥私房菜整理)

一般模式:移动光标的方法

h或向左方向键(←)
光标向左移动一个字符

j或向下方向键(↓)
光标向下移动一个字符

k或向上方向键(↑)
光标向上移动一个字符

l或向右方向键(→)
光标向右移动一个字符

如果想要进行多次移动的话,例如向下移动30行,可以使用“30j”或“30↓”的组合键,

即加上想要进行的次数(数字)后,操作即可

[Ctrl] + [f]
屏幕“向下”移动一页,相当于 [Page Down] 按键(常用)

[Ctrl] + [b]
屏幕“向上”移动一页,相当于 [Page Up] 按键(常用)

[Ctrl] + [d]
屏幕“向下”移动半页

[Ctrl] + [u]
屏幕“向上”移动半页

一般模式:移动光标的方法

+
光标移动到非空格符的下一行

-
光标移动到非空格符的上一行

n
n表示“数字”,例如20。按下数字后再按空格键,光标会向右移动这一行的n个字符。例如20 则光标会向后面移动20个字符距离

0
这是数字“0”:移动到这一行的最前面字符处(常用)

$
移动到这一行的最后面字符处(常用)

H
光标移动到这个屏幕的最上方那一行

M
光标移动到这个屏幕的中央那一行

L
光标移动到这个屏幕的最下方那一行

G
移动到这个文件的最后一行(常用)

nG
n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行(可配合 :set nu)

gg
移动到这个文件的第一行,相当于1G(常用)

n
n为数字。光标向下移动n行(常用)

一般模式:搜索与替换

/word
从光标位置开始,向下寻找一个名为word的字符串。例如要在文件内搜索vbird这个字符串,就输入 /vbird即可(常用)

?word
从光标位置开始,向上寻找一个名为word的字符串

n
n是英文按键。表示“重复前一个搜索的动作”。举例来说,如果刚刚执行 /vbird去向下搜索vbird字符串,则按下n后,会向下继续搜索下一个名称为vbird的字符串。如果是执行 ?vbird的话,那么按下n,则会向上继续搜索名称为vbird的字符串

N
这个N是英文按键。与n刚好相反,为“反向”进行前一个搜索操作。例如 /vbird后,按下N则表示“向上”搜索vbird

一般模式:搜索与替换

:n1、n2s/word1/word2/g
n1与n2为数字。在第n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2。举例来说,在100到200行之间搜索vbird并替换为VBIRD则:“:100、200s/vbird/VBIRD /g”(常用)

:1、$s/word1/word2/g
从第一行到最后一行寻找word1字符串,并将该字符串替换为word2(常用)

:1、$s/word1/word2/gc
从第一行到最后一行寻找word1字符串,并将该字符串替换为word2。且在替换前显示提示符给用户确认(conform)是否需要替换(常用)

一般模式:删除、复制与粘贴

x, X
在一行字中,x为向后删除一个字符(相当于 [Del] 按键),X为向前删除一个字符(相当于 [backspace] 即退格键)(常用)

nx
n为数字,连续向后删除n个字符。举例来说,要连续删除10个字符,则输入“10x”

dd
删除光标所在的那一整行(常用)

ndd
n为数字。从光标位置开始,删除向下n列,例如20dd则是删除20列(常用)

d1G
删除光标所在位置到第一行的所有数据

dG
删除光标所在位置到最后一行的所有数据

d$
删除光标所在位置到该行的最后一个字符

d0
d的后面是数字0,删除光标所在处,到该行的最前面一个字符

yy
复制光标所在的那一行(常用)

nyy
n为数字。复制光标所在的向下n行,例如20yy则是复制20行(常用)

y1G
复制光标所在行到第一行的所有数据

yG
复制光标所在行到最后一行的所有数据

y0
复制光标所在的那个字符到该行行首的所有数据

y$
复制光标所在的那个字符到该行行尾的所有数据

一般模式:删除、复制与粘贴

p, P
p为将已复制的数据粘贴到光标的下一行,P则为贴在光标上一行。举例来说,当前光标在第20行,且已经复制了10行数据。则按下p后,那10行数据会贴在原来的20行之后,即由21行开始贴。但如果是按下P,那么原来的第20行会被变成30行(常用)

J
将光标所在行与下一列的数据结合成同一行

c
重复删除多个数据,例如向下删除10行,[10cj]

u
复原前一个操作(常用)

[Ctrl]+r
重做上一个操作(常用)

u与 [Ctrl]+r是很常用的命令。一个是复原,另一个则是重做一次。利用这两个功能按键,编辑起来就得心应手。

.
这就是小数点。意思是重复前一个动作。如果想重复删除、重复粘贴,按下小数点“.”就可以(常用)

进入编辑模式

i、I
插入:在当前光标所在处插入输入文字,已存在的文字会向后退;其中,i为“从当前光标所在处插入”,I为“在当前所在行的第一个非空格符处开始插入”(常用)

a、A
a为“从当前光标所在的下一个字符处开始插入”,A为“从光标所在行的最后一个字符处开始插入”(常用)

o、O
这是英文字母o的大小写。o为“在当前光标所在的下一行处插入新的一行”;O为“在当前光标所在处的上一行插入新的一行”(常用)

r、R
替换:r会替换光标所在的那一个字符;R会一直替换光标所在的文字,直到按下ESC键为止(常用)

使用上面这些按键时,在vi画面的左下角处会出现“–INSERT–”或“–REPLACE–”的字样。通过名称就知道是什么操作。特别注意,上面也提过了,想在文件中输入字符时,一定要在左下角处看到INSERT/REPLACE才能输入。

Esc
退出编辑模式,回到一般模式中(常用)

命令行命令模式

:w
将编辑的数据写入硬盘文件中(常用)

:w!
若文件属性为“只读”时,强制写入该文件。不过,到底能不能写入,与文件权限有关

:q
离开vi(常用)

:q!
若曾修改过文件,又不想存储,使用 ! 为强制离开不存储文件

注意一下,那个感叹号(!)在vi当中,常常具有“强制”的意思。

:wq
存储后离开,若为 :wq! 则为强制存储后离开(常用)

:e!
将文件还原到最原始的状态

ZZ
若文件没有更改,则不存储离开,若文件已经更改,则存储后离开

:w [filename]
将编辑的数据存储成另一个文件(类似另存新文件)

:r [filename]
在编辑的数据中,读入另一个文件的数据。即将“filename”这个文件内容加到光标所在行的后面

:n1、n2 w [filename]
将n1到n2的内容存储成filename文件

:! command
暂时离开vi到命令行模式下执行command的显示结果。例如“:! ls /home”,即可在vi中查看 /home中以ls输出的文件信息

:set nu
显示行号,设置之后,会在每一行的前缀显示该行的行号

:set nonu
与set nu相反,为取消行号

Linux各版本的本地root密码破解方法

2012年6月18日 没有评论

Linux各版本的本地root密码破解方法

(一)RedHat/CentOS/Fedora 系统密码破解

1.在grub选项菜单按E进入编辑模式
2.编辑kernel 那行最后加上S (或者Single)
3.按B,启动到single-user mode
4.进入后执行下列命令
# mount -t proc proc /proc
# mount -o remount,rw /
#passwd
#sync
#reboot

(二)Debian linux 系统密码破解

1.在grub选项菜单’Debian GNU/Linux,…(recovery mode)’,按e进入编辑模式
2.编辑kernel那行最后面的 ro single 改成 rw single init=/bin/bash,按b执行重启
3.进入后执行下列命令
root@(none)#mount -a
root@(none)#passwd root
root@(none)#reboot

(三)Freebsd 系统密码破解

1.开机进入引导菜单
2.选择每项(按4)进入单用户模式
3.进入之后输入一列命令
root@#mount -a
root@#fsck -y
root@#passwd(修改密码命令)
root@#root(要破解密码的用户名)
Enter new unix password:
root@#init 6 (重启)

(四)Solaris 系统密码破解

1.在grub选项菜中选择solaris failasfe 项
2.系统提示Do you wish to have it mounted read-write on /a ?[y,n,?] 选择y
3.就进入单用户模式
4.输入下列命令:passwd
root@#init 6 (重启)

(五)NetBsd 系统密码破解

1.开机:当出现提示符号并开始倒数五秒时, 键入以下指令:
> boot -s (进入单用户模式命令)
2.在以下的提示符号中
Enter pathname of shell or RETURN for sh:
按下 Enter。
3.键入以下指令:
# mount -a
# fsck -y
4.使用 passwd 更改 root 的密码。
5.使用 exit 指令进入多人模式。

(六)SUSE 系统密码破解

1.重新启动机器,在出现grub引导界面后,在启动linux的选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash,出现命令行。
2.稍等片刻出现(none)#:命令行。
3.这时输入mount -n / -o remount,rw 表示将根文件系统重新mount为可读写,有了读写权限后就可以通过passwd命令修改密码了。
4.这时输入passwd命令就可以重置密码了
5.修改完成后记得用mount -n / -o remount,ro将根文件系统置为原来的状态。

linux常用命令使用汇总

2012年6月18日 没有评论

linux打包压缩命令

tar命令
[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ….
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
–exclude FILE:在压缩的过程中,不要将 FILE 打包!
范例:
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/’ from member names』那是关於绝对路径的特殊设定。
范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
# 就得要加上 z 这个参数了!这很重要的!
范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!
范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!
范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!
范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N ’2005/06/01′ -zcvf home.tar.gz /home
范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf – /etc | tar -xvf -
# 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
# 要注意的地方在於输出档变成 – 而输入档也变成 – ,又有一个 | 存在~
# 这分别代表 standard output, standard input 与管线命令啦!
# 这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰!

 

gzip, zcat 命令
[root@linux ~]# gzip [-cdt#] 档名
[root@linux ~]# zcat 档名.gz
参数:
-c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩档的一致性~看看文件有无错误;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6 ~
范例:
范例一:将 /etc/man.config 複制到 /tmp ,并且以 gzip 压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config .
[root@linux tmp]# gzip man.config
# 此时 man.config 会变成 man.config.gz !
范例二:将范例一的文件内容读出来!
[root@linux tmp]# zcat man.config.gz
# 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@linux tmp]# gzip -d man.config.gz
范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# gzip -9 -c man.config > man.config.gz

 

bzip2, bzcat 命令
[root@linux ~]# bzip2 [-cdz] 档名
[root@linux ~]# bzcat 档名.bz2
参数:
-c :将压缩的过程产生的资料输出到萤幕上!
-d :解压缩的参数
-z :压缩的参数
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
范例:
范例一:将刚刚的 /tmp/man.config 以 bzip2 压缩
[root@linux tmp]# bzip2 -z man.config
# 此时 man.config 会变成 man.config.bz2 !
范例二:将范例一的文件内容读出来!
[root@linux tmp]# bzcat man.config.bz2
# 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@linux tmp]# bzip2 -d man.config.bz2
范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# bzip2 -9 -c man.config > man.config.bz2

 

compress 命令
[root@linux ~]# compress [-dcr] 文件或目录
参数:
-d :用来解压缩的参数
-r :可以连同目录下的文件也同时给予压缩呢!
-c :将压缩资料输出成为 standard output (输出到萤幕)
范例:
范例一:将 /etc/man.config 複制到 /tmp ,并加以压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config .
[root@linux tmp]# compress man.config
[root@linux tmp]# ls -l
-rw-r–r– 1 root root 2605 Jul 27 11:43 man.config.Z
范例二:将刚刚的压缩档解开
[root@linux tmp]# compress -d man.config.Z
范例三:将 man.config 压缩成另外一个文件来备份
[root@linux tmp]# compress -c man.config > man.config.back.Z
[root@linux tmp]# ll man.config*
-rw-r–r– 1 root root 4506 Jul 27 11:43 man.config
-rw-r–r– 1 root root 2605 Jul 27 11:46 man.config.back.Z
# 这个 -c 的参数比较有趣!他会将压缩过程的资料输出到萤幕上,而不是写入成为
# file.Z 文件。所以,我们可以透过资料流重导向的方法将资料输出成为另一个档名。
# 关於资料流重导向,我们会在 bash shell 当中详细谈论的啦!

 

dd 命令
[root@linux ~]# dd if=”input_file” of=”outptu_file” bs=”block_size” \
count=”number”
参数:
if :就是 input file 啰~也可以是装置喔!
of :就是 output file 喔~也可以是装置;
bs :规划的一个 block 的大小,如果没有设定时,预设是 512 bytes
count:多少个 bs 的意思。
范例:
范例一:将 /etc/passwd 备份到 /tmp/passwd.back 当中
[root@linux ~]# dd if=/etc/passwd of=/tmp/passwd.back
3+1 records in
3+1 records out
[root@linux ~]# ll /etc/passwd /tmp/passwd.back
-rw-r–r– 1 root root 1746 Aug 25 14:16 /etc/passwd
-rw-r–r– 1 root root 1746 Aug 29 16:57 /tmp/passwd.back
# 仔细的看一下,我的 /etc/passwd 文件大小为 1746 bytes,因为我没有设定 bs ,
# 所以预设是 512 bytes 为一个单位,因此,上面那个 3+1 表示有 3 个完整的
# 512 bytes,以及未满 512 bytes 的另一个 block 的意思啦!
# 事实上,感觉好像是 cp 这个指令啦~
范例二:备份 /dev/hda 的 MBR
[root@linux ~]# dd if=/dev/hda of=/tmp/mbr.back bs=512 count=1
1+0 records in
1+0 records out
# 这就得好好瞭解一下啰~我们知道整颗硬盘的 MBR 为 512 bytes,
# 就是放在硬盘的第一个 sector 啦,因此,我可以利用这个方式来将
# MBR 内的所有资料都纪录下来,真的很厉害吧! ^_^
范例三:将整个 /dev/hda1 partition 备份下来。
[root@linux ~]# dd if=/dev/hda1 of=/some/path/filenaem
# 这个指令很厉害啊!将整个 partition 的内容全部备份下来~
# 后面接的 of 必须要不是在 /dev/hda1 的目录内啊~否则,怎么读也读不完~
# 这个动作是很有效用的,如果改天你必须要完整的将整个 partition 的内容填回去,
# 则可以利用 dd if=/some/file of=/dev/hda1 来将资料写入到硬盘当中。
# 如果想要整个硬盘备份的话,就类似 Norton 的 ghost 软体一般,
# 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厉害厉害!

 

cpio 命令
[root@linux ~]# cpio -covB > [file|device] <==备份
[root@linux ~]# cpio -icduv < [file|device] <==还原
参数:
-o :将资料 copy 输出到文件或装置上
-i :将资料自文件或装置 copy 出来系统当中
-t :查看 cpio 建立的文件或装置的内容
-c :一种较新的 portable format 方式储存
-v :让储存的过程中文件名称可以在萤幕上显示
-B :让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes !
这样的好处是可以让大文件的储存速度加快(请参考 i-nodes 的观念)
-d :自动建立目录!由於 cpio 的内容可能不是在同一个目录内,
如此的话在反备份的过程会有问题! 这个时候加上 -d 的话,
就可以自动的将需要的目录建立起来了!
-u :自动的将较新的文件覆盖较旧的文件!
范例:
范例一:将所有系统上的资料通通写入磁带机内!
[root@linux ~]# find / -print | cpio -covB > /dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 喔!
范例二:检查磁带机上面有什么文件?
[root@linux ~]# cpio -icdvt < /dev/st0
[root@linux ~]# cpio -icdvt < /dev/st0 > /tmp/content
# 第一个动作当中,会将磁带机内的档名列出到萤幕上面,而我们可以透过第二个动作,
# 将所有的档名通通纪录到 /tmp/content 文件去!
范例三:将磁带上的资料还原回来~
[root@linux ~]# cpio -icduv < /dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 喔!
范例四:将 /etc 底下的所有『文件』都备份到 /root/etc.cpio 中!
[root@linux ~]# find /etc -type f | cpio -o > /root/etc.cpio
# 这样就能够备份啰~您也可以将资料以 cpio -i < /root/etc.cpio
# 来将资料捉出来!!!!

复制密码登陆远程桌面

2012年6月17日 没有评论

我们很多时候收到机房或是服务器提供商的windows server 服务器密码都是很复杂的。

比如我们提供给客户的服务器密码或是vps服务器的密码都是唯一的!

ip:192.168.1.123
您好,您新订的服务器已处理好了
账号: administrator
密码: vps12.com.me756e@dnsff.com=5fdmj-ed
此为初始密码,为保障您服务器的安全,请及时更改。

像这样的密码如果按平常那样去登陆一个字符一个字符的输入一个走眼就很容易出错了。给一些初学者使用远程桌面控制服务器造成很大困扰。有什么办法可以很方便的进行登陆又不用输入这么复杂的密码呢?

答案是肯定的。我们可以下载或是使用 xp系统sp2版本及windows 2003 sp2版本自带的远程桌面按以下操作就可以只要用复制粘贴点两下就可以登陆管理服务器了。

推荐下载我们提供的远程桌面连接软件 下载地址 http://www.dnsff.com/download/3389.rar

如图所示:

1 点击选项。

2 复制机房发给你的密码,粘贴在这里。

3 连接。

就这么简单方便。

网络基础知识普及—流量、带宽、MB/s、Mb/s、Mbps 区别

2012年4月5日 没有评论

MB/sMb/s是有区别的。其中大B代表Byte(字节),小b代表bit(比特 或 位)。
  1 Kb = 1024 bit
1 KB = 1024 Byte
1 Mb = 1024 Kb
1 MB = 1024 KB
1 Byte = 8 bit
1 MB = 8Mb
1 Mb = 0.125 MB

数据传输率的单位一般采用MB/s或Mb/s。
在数据传输率上官方数据中(如电信部门)一般采用Mb/s为单位。
而下载软件(如IE、迅雷、快车)一般采用MB/s为单位。

宽带最高下载理论值:
1Mb/s = 0.125MB/s = 128KB/s

电信部门说的1M宽带的M是指Mb/s,下载软件时的传输率是MB/S,也就是1M宽带下载速度最快128KB/s,再去掉损耗也就是120KB/s左右。按这个说法10M的宽带最快下载速度是1.25MB/s100M的宽带最快下载速度是12.5MB/s
       其实,所谓1M宽频,其实是指1Mbps(每秒百万位元)线路速度,而其下载速度计算方式是1 x 1024 / 8 = 128KB/sec(每秒128位元组),但这只是理论上的速度,因为在实际应用上,还要再减去大约25%网络速率的损耗。

以下图为示例说明带宽使用情况:

 

上图中我们下载一个文件为例子,显示带宽为 5.96mbps 。约等于ie显示的655KB 。

同理。如果是带宽为2mbps那就约等于为200KB/s 。

TMnet Streamyx官方网站披露,除了以太网络标头值(Ethernet Header)之外,这些流失因素包括传输控制协议标头值(TCP Header)有510%的传输消耗,而异步传输模式标头值(ATM Header)则多达15%。

因此:1M宽频的实际上网速度是1乘以1024和除去8,得出128KB/s再乘75%,等于96KB/s,就是你的1M宽频网络的真正速率。

目前我国宽频上网速度介于512Kbps2Mbps之间。同样的道理,在2M512K也是一样。512K则是512Kbps(每秒千位元)。以此计算的话,我们可以粗略得出目前宽频的实际下载速度:

宽频线路速度理想下载速度实际下载速度

2Mbps       256KB/s      192KB/s

1Mbps       128KB/s       96KB/s

512Kbps      64KB/s       48KB/s

一般说来,频宽越大,下载速度就越快,但下载速度除受服务供应商因素所影响外,用户本身所使用操作系统、浏览器及电脑配备等因素,亦可影响宽频速度,其中又以最大传输单位(Maximum Transmission UnitMTU)设定错误问题最为常见。

 

别让Mbps吓到了你

什么是512Kbps?2Mbps上网速度有多快?Kbps和Mbps又如何加以区分?

“Mbps”和“Kbps”等字眼经常在媒体出现,尽管很多人知道这些是网络速度的计算单位,但很少人知道它们之间的差别,以及其实际速率的计算法。

每天翻开报纸或杂志、扭开电视或收音机,穿插在新闻内容的“Mbps”和“Kbps”常会被错误引用。即使是经常采访资讯工艺新闻的IT记者,也常会对此混淆不清,因而闹出许多笑话。

例如:明明是1Mbps,被当成1Kbps,又或者把大写KB/s,当作小写的Kb/s。这种错误就像是跑得快的免子,却被形容为乌龟一样滑稽。

每秒千位元或百万位元

所谓的Mbps其实是指每秒百万位元(Megabits per second),而Kbps则是每秒千位元(Kilobits per second)

也许你会问:“位元又是什么?”其实,电脑是以Bit(位元)和Byte(位元组)作为计算单位。bit是“binary digit”的缩写,它是电脑辨识讯息的最小单位,再上一个更大的单位为位元组(byte)。

由于八个位元一组(8 bits = 1 byte),我们常在电脑打的每一个字体或符号等资料,通常会以位元组的方式来打包。一个位元组代表示一个字符,例如“Q”、“4”或“,”等,都属于一个位元组。

正如长度计算单位的公尺(Meter,M)和公里(Kilometer,KM)的情况一样,电脑将位元组的一千倍称作KB(Kilobyte)。而KB的一千倍为MB(Megabyte)。

当然,一千倍是笼统的说法。由于电脑使用的是二进位系统,准确的倍数计算法是二的十次方,因此1KB相等于1024个位元组。

KB和Kb大小写意义不同

一般用来上网的数据机及网络通讯的传输速率都是以“bps”为单位,例如14.4Kbps,28.8Kbps,56Kbps,1Mbps及2Mbps等等。

无论用作电脑储存或网络速度的计算单位,Kb/s和KB/s英文字母大写和小写之意义截然不同,这是许多人常会犯错的地方。

大写的B代表位元组(Byte),小写的b则代表位元(bit),所以MB(Megabyte)是百万位元组,Mb(megabit)是百万位元;KB/s是每秒千位元组,而Kbps则是每秒千位元。

网络速度单位之间关系:

●Kb/s=每秒千位元,用于线路速度。

●KB/s=每秒千位元组,用于下载速度。

●1KB/s = 8Kb/s

●1 Byte(位元组) = 8 bits(位元)

●1 Kb(千位元) = 1024 bit(位元)s

●1 KB(千位元组) = 1024 bytes(位元组)

●1 Mb (百万位元)= 1024 Kb(位元)

●1 MB(百万位元组) = 1024 KB(位元组)

 MB/s的含义是兆字节每秒,MbpsMb/s的含义是兆比特每秒,前者是指每秒传输的字节数量,后者是指每秒传输的比特位数。二者是完全不同的。Byte是字节数,bit是位数,在计算机中每八位为一字节,也就是1Byte8bit,是18的对应关系。因此1MB/s等于8Mb/s。因此在在书写单位时一定要注意B字母的大小写,此时B字母的大小真可以称为失之毫厘,谬以千里。

ps:

服务器使用中,机房限制流量如: 10TB月流量,约等于30M带宽100%使用率/每月!

IIS如何绑定域名

2011年11月11日 没有评论

我们要在服务器的iis面分别绑定不同的域名来区分出每个不同的站点不同的分类属性。

步骤如下:

在iis管理器那里选择自己的网站然后右键“属性”>“网站”>“高级”>“添加”在主机头值那输入域名即可 然后点击确认确认就ok了。

英文系统中步骤 Properties > Web Site > Advanced >Add

如果要指定ip地址可以选择不同ip绑定,不同ip地址是可以绑定相同域名的。正常情况下一个ip只能有一个不重复的域名(80端口)。

linux下使用vsftp建立ftp服务

2011年11月3日 没有评论

一般linux下上传下载文件有很多方式有ssh的有ftp的。

ssh下我们使用scp软件,这里不表,我们今天来说下来使用vsftp软件建立ftp服务上传下载文件。

运行以下命令

1
yum install vsftpd

安装好后,先别启动服务,先进入配置文件设置下。

1
2
cd /etc/vsftpd/conf
vi /etc/vsftpd/vsftpd.conf

在vsftpd 设置 /etc/vsftpd/vsftpd.conf 加入以下一行
chroot_local_user=YES      //锁定用户目录
max_clients=0              //0表示不限制并发连接数一般不用加入

anonymous_enable=YES  这个要改成NO不然谁都能上传了呵呵。安全

好现在我们建立ftp用户登陆,一般不使用root进行登陆!比如我们网站放在/var/www/html目录

建立用户

1
useradd ftpup

设置密码

1
passwd ftpup

设置权限

1
2
usermod -s /sbin/nologin -d /var/www/html -g ftp ftpup
chown -R ftpup:ftp /var/www/html

启动服务

1
service vsftpd start

ps:上传如果出现问题运行 setsebool ftpd_disable_trans 1 //selinux一定要关了运行,不然会提示出错

如何开启或关闭selinux

2011年11月2日 没有评论

默认情况下为了linux的安全下selinux是默认开启的。但这样如果我们要进行内核编译和软件安装及升级就会遇到无法成功的一些问题。个人感觉有时selinux对系统保护的有点小白,我就在以前帮客户维护服务器中遇到不少这样的情况,最后发现原来是它在恶搞。好吧,我们来解决它。

方法很容易,我们先用命令进行判断下是否selinux是开启的。

1
# getenforce            //命令知道SELinux的状态

如果显示 Enforcing   此表示开就是开启的。那我们接着进行操作关闭它。

1
vi /etc/sysconfig/selinux

找到
SELINUX=enforcing
改成
SELINUX=disabled

:wq
保存退出!

reboot 重启服务器。搞定!

如何在linux系统下安装软件

2011年11月2日 没有评论

通常情况下linux系统或是unix系统下安装软件有以下几种方式

1. 源代码包安装,这种方式一下下载的源代码包以*.tgz或是*.tar.gz为后辍的打包文件。

 例如我们从网上下载要安装的web服务软件apache2,那我们就在shell下运行如下命令:

1
2
3
4
5
6
7
8
9
10
11
tar zxvf httpd-2.0.49.tar.gz
 
cd httpd-2.0.49
 
./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl
 
#(--prefix=/usr/local/apache2 为安装路径,--enable-so支持模块,--enable-ssl支持SSL)
 
make
 
make install #(安装结束)

这种原代码方式的安装软件,好处是可以在指定的编译环境下指定路径进行安装。缺点就是安装步骤繁琐安装过程的时间也比较长。

2.rpm包安装方式,rpm包是已经在系统环境下进行指定编译好的安装方式。这种安装方式很快,操作简便适合一般性应用的安装。安装方式如下:

比如我们有一个安装包文件httpd-2.0.49.rpm,那么我们就只要运行以下命令就可以很快速的安装好apache软件

1
rpm -ivh httpd-2.0.49.rpm

3.除了以上两种方式的安装,还有一些apt及tar.bz2包的安装。都找不多。以下这种是在linux centos或是rh4、rh5下yum 方式的安装这种方式不用先下载好软件可以直接运行安装和升级,非常方便。方法如下:

1
yum install httpd

这样就可以完成apache 的安装。快试试吧!