linux的tar命令详情;linux多个文件压缩打包到一个压缩文件
tar命令
可以用来压缩打包单文件、多个文件、单个目录、多个目录。
Linux打包命令_tar
tar命令可以用来压缩打包单文件、多个文件、单个目录、多个目录。
常用格式:
单个文件压缩打包 tar czvf my.tar.gz file1
多个文件压缩打包 tar czvf my.tar.gz file1 file2,...(file*)(也可以给file*文件mv 目录在压缩)
单个目录压缩打包 tar czvf my.tar.gz dir1
多个目录压缩打包 tar czvf my.tar.gz dir1 dir2
解包至当前目录:tar xzvf my.tar.gz
linux下如何如何解压tar.gz文件
tar zxvf file.tar.gz
tar zxvf /home/ebak.tar.gz
cpio
含子目录find x* | cpio -o > /y/z.cpio
不含子目录ls x* | cpio -o > /y/z.cpio
解包: cpio -i < /y/z.cpio
[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 时,再次提到这个指令跟大家再解释啰!
tar -zcvf /home/12345.tar.gz /home/1/ /home/2/ /home/3/ /home/4/ /home/5/压缩多个文件
tar -zcvf /home/sql.tar.gz /root/*.sql 压缩一个文件
mv /home/sql.tar.gz /home/beifen/ linux怎么将一个文件移动到另一个目录下
tar zxvf /home/ebak.tar.gz /home//ebak/ 解压文件
-----------------------------------------------------------------------------
Linux下压缩某个文件夹(文件夹打包)
tar -zcvf 打包后生成的文件名全路径 要打包的目录
例子:把/xahot文件夹打包后生成一个/home/xahot.tar.gz的文件。
zip 压缩方法:
压缩当前的文件夹 zip -r ./xahot.zip ./* -r表示递归
zip [参数] [打包后的文件名] [打包的目录路径]
解压 unzip xahot.zip 不解释
linux zip命令的基本用法是:
linux zip命令参数列表:
-a 将文件转成ASCII模式
-F 尝试修复损坏的压缩文件
-h 显示帮助界面
-m 将文件压缩之后,删除源文件
-n 特定字符串 不压缩具有特定字尾字符串的文件
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q 安静模式,在压缩的时候不显示指令的执行过程
-r 将指定的目录下的所有子目录以及文件一起处理
-S 包含系统文件和隐含文件(S是大写)
-t 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy
举例:
将/home/wwwroot/xahot/ 这个目录下所有文件和文件夹打包为当前目录下的xahot.zip
zip –q –r xahot.zip /home/wwwroot/xahot
上面的命令操作是将绝对地址的文件及文件夹进行压缩.以下给出压缩相对路径目录
比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果.
zip –q –r xahot.zip xahot
比如现在我的xahot目录下,我操作的zip压缩命令是
zip –q –r xahot.zip *
以上是在安静模式下进行的,而且包含系统文件和隐含文件
//////////////////////////////////////////////////////////
unzip语 法:
unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目 录>][-x <文件>] 或 unzip [-Z]
补充说明:unzip为.zip压缩文件的解压缩程序。
unzip参 数:
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f 更新现有的文件。
-l 显示压缩文件内所包含的文件。
-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t 检查压缩文件是否正确。
-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v 执行是时显示详细的信息。
-z 仅显示压缩文件的备注文字。
-a 对文本文件进行必要的字符转换。
-b 不要对文本文件进行字符转换。
-C 压缩文件中的文件名称区分大小写。
-j 不处理压缩文件中原有的目录路径。
-L 将压缩文件中的全部文件名改为小写。
-M 将输出结果送到more程序处理。
-n 解压缩时不要覆盖原有的文件。
-o 不必先询问用户,unzip执行后覆盖原有文件。
-P<密码> 使用zip的密码选项。
-q 执行时不显示任何信息。
-s 将文件名中的空白字符转换为底线字符。
-V 保留VMS的文件版本信息。
-X 解压缩时同时回存文件原来的UID/GID。
[.zip文件] 指定.zip压缩文件。
[文件] 指定要处理.zip压缩文件中的哪些文件。
-d<目录> 指定文件解压缩后所要存储的目录。
-x<文件> 指定不要处理.zip压缩文件中的哪些文件。
-Z unzip -Z等于执行zipinfo指令
举例:
将/home/wwwroot/xahot.zip解压到当前目录
unzip xahot.zip
如果出现这个提示:
-bash: zip: command not found 不能执行ZIP压缩,是因为没有安装ZIP,
运行下这条安装命令即可 yum install zip
---------------------------------------------
Linux下rar tar bz gz等命令压缩和解压详解
如果是以tarball形式安装安装,去rar网站下载相应版本的tarball。地址为http://www.rarlab.com/
以3.8版本为例,如果是i386的平台,执行以下命令:
$wget http://www.rarlab.com/rar/rarlinux-3.8.0.tar.gz
rar软件不需要安装,直接解压到/usr/local下,以下操作需要有root权限。
#tar zxvf rarlinux-3.8.0.tar.gz -C /usr/local
此时,/usr/local/rar下就会有rar命令和unrar命令。可以在/usr/local/bin下创建连接
#ln -s /usr/local/rar/rar /usr/local/bin/rar
#ln -s /usr/local/rar/unrar /usr/local/bin/unrar
如果是debian或者unbuntu,可以使用如下命令进行自动安装。
$sudo apt-get install rar
$sudo apt-get install unrar
注意:rar的<命令>部分不带"-"号,只有<选项>部分带"-"号,这一点注意一下。
例1:添加文件或目录到压缩档案中,使用a命令。例如把文件files1添加到abc.rar中,使用a或m命令,a命令把file1文件添加到abc.rar档案中保持原有的file1文件不变,m命令移动file1文件到file1.rar档案中(压缩完成后会删除原有的file1文件,注意:m命令只针对文件进行操作)
$rar a abc.rar file1
说明:如果此时abc.rar档案不存在,会自行创建abc.rar文档案,如果abc.rar档案已经存在,则将file1文件压缩进abc.rar档案中,若abc.rar档案中已存在一个file1文件,则会更新file1文件。并且原有的file1文件依然存在于当前目录下,若要将file1文件移动到file1.rar中请使用m命令,对于目录同样可以进行此操作。
注意:如果只输入"rar a file1.rar"命令,而没有接文件名或目录名的话,会将当前目录下所有的文件和文件夹压缩进file1.rar文档中。这点要注意一下。
例2:解压缩abc.rar档案中的内容,可以使用e或x命令,假设abc.rar目录中有一个名为file1的文件和一个名为test的目录,test目录中有一个名为file2的文件,
$rar e abc.rar
说明:使用e命令,会将abc.rar中的file1文件连同test目录下的file2文件解压到当前目录。如果想保持abc.rar目录中的目录结构请使用x命令。
$rar x abc.rar
说明:此时会将file1文件和test目录解压到当前文件夹。
例3:为整个压缩文件添加注释
$rar c abc.rar
说明:输入该命令后,屏幕最下方会显示
Processing archive test.
rarReading comment from stdin
并有一个光标在闪烁,从光标闪烁的位置输入注释信息,输入完了按下Ctrl+D结束输入
例4:为压缩文件中的单个文件添加注释,使用cf命令。假如现在要为abc.rar档案中的file1文件添加注释
$rar ch abc.rar file1
此时屏幕最下方会显示
Reading comment for abc.rar : file1 from stdin
从光标闪烁出输入想要为file1添加的注释,Ctrl+D结束输入
例4:把整个档案的注释写入到一个文件中,使用cw命令。加入要将abc.rar的注释写入到test.txt文件中
$rar cw abc.rar test.txt
说明:如果当前目录下不存在名为test.txt的文件,则会自行创建一个名为test.txt的文件,并将abc.rar的注释写入到text.txt文件中,如果当前目录中已经存在一个名为text.txt的文件,则会提示你是否覆盖已经存在的文件,如果选择Yes或者All,则会清空test.txt中原有的内容,然后将abc.rar的注释内容写入到text.txt文件中。
例4:删除压缩档案中的文件或目录,使用d命令。例如要删除abc.rar档案中的file1文件。
$rar d abc.rar file1
说明:该命令删除abc.rar档案中的file1文件,对于目录同样有效。
以上为常用的压缩与解压缩命令,<选项>部分的使用不再进行介绍了,请大家自己尝试一下吧。
解压缩命令unrar的使用:
$unrar --help
用法: unrar <command> -<switch 1> -<switch N> <archive> <files...>
<@listfiles...> <path_to_extract\>
<命令>
e 解压文件到当前目录
l[t,b] 列出压缩文档信息[technical, bare]
p 打印文件到标准输出
t 测试压缩我俄当
v[t,b] 列出压缩文档的详细信息[technical,bare]
x 解压文件到完整路径
以下为<选项>部分,略去。
unrar的命令和rar具有同样的效果,可以看出unrar只包含了rar的一部分命令而已,因此使用rar就可以完成所有操作。
tar-----------------------------------------------------------------------------------------------------
.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
大致总结了一下linux下各种格式的压缩包的压缩、解压方法。但是部分方法我没有用到,也就不全,希望大家帮我补充,我将随时修改完善,谢谢!
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
---------------------------------------------
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
---------------------------------------------
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
---------------------------------------------
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
---------------------------------------------
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
rar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp rar_static /usr/bin/rar
---------------------------------------------
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!
>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp lha /usr/bin/
---------------------------------------------
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
---------------------------------------------
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
---------------------------------------------
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm
.deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx
.zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName
sEx只是调用相关程序,本身并无压缩、解压功能,请注意!
sEx请到: http://sourceforge.net/projects/sex下载!
解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp sEx /usr/bin/
参考文献:Linux 文件压缩工具指南
(其实看帮助是最好的方法,一般各个命令都可以用“--help”参数得到常用使用方法!)
用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩。下面分别介绍备份与压缩的命令。
tar命令------------------------------------------------------------
tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。 tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于 备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。
语法:tar [主选项+辅选项] 文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。
辅助选项:
b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。
f 使用档案文件或设备,这个选项通常是必选的。
k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
例1:把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar。
$ tar cvf usr.tar /home
例2:把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz 。
$ tar czvf usr.tar.gz /home
例3:把usr.tar.gz这个备份文件还原并解压缩。
$ tar xzvf usr.tar.gz
例4:查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。
$ tar tvf usr.tar | more
要将文件备份到一个特定的设备,只需把设备名作为备份文件名。
例5:用户在/dev/fd0设备的软盘中创建一个备份文件,并将/home 目录中所有的文件都拷贝到备份文件中。
$ tar cf /dev/fd0 /home
要恢复设备磁盘中的文件,可使用xf选项:
$ tar xf /dev/fd0
如果用户备份的文件大小超过设备可用的存贮空间,如软盘,您可以创建一个多卷的tar备份文件。M选项指示tar命令提示您使用一个新的存贮 设备,当使用M选项向一个软驱进行存档时,tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就可以把tar档案存入几张磁盘中。
$ tar cMf /dev/fd0 /home
要恢复几张盘中的档案,只要将第一张放入软驱,然后输入有x和M选项的tar命令。在必要时您会被提醒放入另外一张软盘。
$ tar xMf /dev/fd0
gzip命令------------------------------------------------------------------------------------------------
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
语法:gzip [选项] 压缩(解压缩)的文件名
各选项的含义:
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
压缩文件的大小
未压缩文件的大小
压缩比
未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
假设一个目录/home下有文件mm.txt、sort.txt、xx.com。
例1:把/home目录下的每个文件压缩成.gz文件。
$ cd /home
$ gzip *
$ ls
m.txt.gz sort.txt.gz xx.com.gz
例2:把例1中每个压缩的文件解压,并列出详细的信息。
$ gzip -dv *
mm.txt.gz 43.1%-----replaced with mm.txt
sort.txt.gz 43.1%-----replaced with sort.txt
xx.com.gz 43.1%-----replaced with xx.com
$ ls
mm.txt sort.txt xx.com
例3:详细显示例1中每个压缩的文件的信息,并不解压。
$ gzip -l *
compressed uncompr. ratio uncompressed_name
277 445 43.1% mm.txt
278 445 43.1% sort.txt
277 445 43.1% xx.com
$ ls
mm.txt.gz sort.txt.gz xx.com.gz
例4:压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为.tar.gz
$ gzip usr.tar
$ ls
usr.tar.gz
unzip命令
用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。
语法:unzip [选项] 压缩文件名.zip
各选项的含义分别为:
-x 文件列表 解压缩文件,但不包括指定的file文件。
-v 查看压缩文件目录,但不解压。
-t 测试文件有无损坏,但不解压。
-d 目录 把压缩文件解到指定目录下。
-z 只显示压缩文件的注解。
-n 不覆盖已经存在的文件。
-o 覆盖已存在的文件且不要求用户确认。
-j 不重建文档的目录结构,把所有文件解压到同一目录下。
例1:将压缩文件text.zip在当前目录下解压缩。
$ unzip text.zip
例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
$ unzip -n text.zip -d /tmp
例3:查看压缩文件目录,但不解压。
$ unzip -v text.zip
zgrep命令---------------------------------------------------------------------------------------------------
这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令。
执行sh脚本:
sh /home/install.sh
linux中如何删除文件
1、删除文件夹以及文件夹中的所有文件命令:
rm -rf 目录名字
rm -rf /home/web/e_bak
rm -rf /home/web/bbs/old
rm -rf /home/web/bbs/add
rm -rf /home/web/bbs/.htaccess
其中:
-r:向下递归删除
-f:直接强行删除,且没有任何提示
2、删除文件命令
rm -f 文件名
将会强行删除文件,且无提示
注意:
使用rm -rf要格外注意,linux中没有回收站,慎重删除
=====================================================
导入数据库文件
1. 进入mysql黑屏下,
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 62
Server version: 5.0.51b-community-nt MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
2.输入命令 source c:\database.sql; (source后面接的就是你的数据库(.sql文件)的地址)
-----------------
进入mysql的命令行:
他会提示你密码:
如果有密码就输入密码
无密码就直接回车
如果你已经存在呢数据库
就在命令输入:>use 数据库名
>set names 'utf8'
>source d:/dd.sql
在导入sql的时候一定要保证编码格式正确
我一搬都用命令行导出导入数据,这样不会出错,但是如果是利用工具导出,一般都会因为单引号,或者是双引号,或者是非法字符而导致导入导出不成功,因此强烈建议导入数据,导出数据均用命令行导。
------------------------------
Windows下:
点 开始->运行-> cmd
在弹出的窗口下输入
mysql -u 用户名 -p 数据库用户名 < 数据库名.sql (要在当前目录下操作)
如:mysql -u root -p userDb < c:\user.sql 按回车键后输数据库的密码
之前最好用命令行方式创建个userDb ,或者用phpMyAdmin创建
create database userDb;
Windows下:
点 开始->运行-> cmd
在弹出的窗口下输入
mysql -u 用户名 -p 数据库名称 < 数据库名.sql (指定sql文件存入的路径)
如:mysql -u root -p userDb < c:\user.sql 按回车键后输入数据库的密码
mysql -u root -p 数据库名 < g:\数据库备份文件名.sql
MySQL数据库导出
方法1:mysqldump命令
执行命令: /usr/local/mysql/bin/mysqldump -u 用户名 -p 数据库名 》 文件名
如果数据库用户名有密码密码,执行后会提示输入密码。如果数据库用户名没有密码,就将命令中的“-p”参数删除。
(注意:推荐使用MySQL root帐号进行操作,因为有些数据库可能设置了只能对应的用户进行操作。)
---------------------------------
linux下mysql默认安装目录和常用命令
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。
下面就介绍一下这几个目录。
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)mysql5.5之后的默认安装路径,mysql5.5之前的是/usr/local/mysql
3、相关命令
/usr/bin(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
修改登录密码
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码
2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
3、测试是否修改成功
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user: [email='root@localhost']'root@localhost'[/email] (Using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。
启动与停止
1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]# /etc/init.d/mysql start
2、停止
/usr/bin/mysqladmin -u root -p shutdown
3、自动启动
1)察看mysql是否在自动启动列表中
[root@test1 local]# /sbin/chkconfig –list
2)把MySQL添加到你系统的启动服务组里面去
[root@test1 local]# /sbin/chkconfig –- add mysql
3)把MySQL从启动服务组里面删除。
[root@test1 local]# /sbin/chkconfig –- del mysql
更改MySQL目录
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd /home
mkdir data
2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值
为:/home/mysql/mysql.sock 。操作如下:
vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/data/mysql/mysql.sock (加上此行)
6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存
放路径:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql (注释此行)
datadir=/home/data/mysql (加上此行)
7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。
为了在其它电脑上能用root用户登录,需进行以下动作:
1、[email=mark@marklinux]mark@marklinux[/email] mark>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO [email='root'@'%']'root'@'%'[/email] WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL服务器
=============================================
linux下导入、导出mysql数据库命令
//--------------------------------------------------------------------------------------------------------
1.mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
mysqldump -uroot -p 数据库名> /home/数据库导出文件名.sql
2.mysql导出数据库一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -uroot -p 数据库名 pre_forum_post> /home/数据库导出表名_pre_forum_post.sql
mysqldump -uroot -p 数据库名 pre_common_setting> /home/数据库导出表名_pre_common_setting.sql
3.mysql导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.mysql导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:wcnc_db.sql
//-------------------------------------------------------------------------------------------------------------
一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):
1、导出数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql
mysqldump -u root -p 数据库名 > /home/web/数据库导出的文件名.sql
tar -zcvf /home/web/打包名称.tar.gz /home/web/数据库导出的文件名.sql
/usr/share/mysql mysqldump -uroot -p 数据库名 > /home/web/数据库备份名.sql
敲回车后会提示输入密码
2、只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abc.sql
注:/usr/local/mysql/bin/ ---> mysql的data目录
二、导入数据库
1、首先建空数据库
mysql>create database abc;
2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql
建议使用第二种方法导入。
注意:有命令行模式,有sql命令
====================================================
linux下 mysql数据库的备份和还原
1.备份
mysqldump -u root -p 数据库名 > ~/导出的数据库文件名.sql
1 [root@CentOS ~]# mysqldump -u root -p mysql > ~/mysql.sql #把数据库mysql备份到家目录下命名为mysql.sql
2 Enter password:
3 [root@CentOS ~]# ls ~/mysql.sql
/root/mysql.sql
2.还原
[root@CentOS ~]# mysql -u root -p web < ~/web.sql #把web.sql导入数据库web
================================================
在使用mysqldump导出MySQL数据库数据时,出现了如下错误:mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
解决方法,在命令上加-hlocalhost 或 -h172.30.204.23
补充:mysqldump命令
如果只需要导出表的结构,那么可以使用mysqldump的 -d 选项
导出整个库的表结构如下:
mysqldump -uroot -p -d databasename > createtab.sql,
如果只想导出 表 test1,test2,test3 的 表结构 和 数据呢?
该如何导出?
mysqldump -uroot -p -d databasename test1 test2 test3 > createtab.sql
-- 上面的是导出指定表结构,下面这个可以导出指定表结构和数据
mysqldump -uroot -p --tables databasename > createtab.sql
mysqldump -uroot -p -d databasename test1 test2 test3 > createtab.sql
===============================================================
linux下mysql基本的操作
Java代码
1, 创建mysqld数据库的管理用户:
要把root用户设置为管理员,我们应该运行下面的命令;
[root@linuxsir01 root]# mysqladmin -u root password 123456
一般情况下,mysqladmin所在目录已经加到$PATH中,如果该命令没有找到,查看软件包安装是否正确,确保Mysql-server和Mysql-client两个软件包都已经安装成功,然后可以rpm -qf Mysql-client查看该命令安装到那个目录中,将该目录加到$PATH变量中,或者-www.2cto.com-使用全路径。
需要注意的是,这里的root不是系统用户,而是数据库用户了。你也可以取别的用户名。
2, 登陆mysql数据库
以mysql数据库管理员root,密码为123456为例;
[root@linuxsir01root]#/opt/mysql/bin/mysql -u root -p
如果找不到该命令,检查PATH变量,出现 Enter password:输入密码,回车。 然后出现:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.5.8 MySQL Community Server (GPL)
。。。。。。。。
mysql>
现在就进入了mysql的管理界面了, 注意在登陆之前,确保mysql已经启动。
3, 操作命令:
在mysql数据库中,每操作一个命令,都是;号结尾的。如果忘记加;使用\c退出。
显示已有的databases:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| crc |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.01 sec)
4,创建和删除数据库
创建数据库:
mysql> create database [数据库名];
如:mysql> create database crc;
删除数据库:
mysql> drop database [数据库名];
如: mysql> drop database crc;
5, 操作数据库
首先是要指定一个数据库为当前数据库,应该用use命令,
mysql> use [数据库名];
6, 备份数据库
[root@linuxsir01 root]# mysqldump -u root -p linux > /root/linux.sql
然后输入密码 Enter Password:
首先备份数据库是要以数据库管理员的身份(非系统管理员)备份;其次:备份目的地是/root,备份的文件名是linux.sql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排;
比如我想把linux的数据库备份到/home/beinan,数据库的文件名为linuxsir031130.sql,所以应该输入如下的命令。
[root@linuxsir01 root]#mysqldump -u root -p linux > /home/beinan/linuxsir031130.sql
7, 将备份的数据库导入到数据库中
比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作:
[root@linuxsir01 root]# mysql -u root -p linux < /home/beinan/linuxsir031130.sql
Enter password:在这里输入密码
8,其他常用mysql指令
查看状态:mysql>show status;
查看进程:mysql>show processlist;
查看表,应该先指定一个数据库为当前数据库;比如是名为linux的数据库;show tables;
mysql>use linux;
mysql> show tables;
Empty set (0.00 sec)
一些补充:
几个常用的mysql相关的管理命令
mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经-www.2cto.com-简单的提过用法;比如登录等。
mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过;
isamchk 是用来修复、检查和优化.ism后缀的数据库文件;
mysqldump 是用于备份数据库,前面已经简单的说明过;
myisamchk 用来修复.myi后缀的数据库文件;
比如我们要检查名为linux的数据库.myi数据库表是否存在问题,应该用下面的命令;
[root@linuxsir01 root]# /opt/mysql/share/mysql.server stop
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk /opt/mysql/var/linux/*.MYI
上面的命令的意思就是检查所有的.myi文件,数据库的目录在/opt/mysql/var/linux/目录中
如果有问题,应该用-r参数来修复
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk -r /opt/mysql/var/linux/*.MYI
[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -u root -p [数据库名]
mysqlshow 命令:显示用户选择的数据库和表
================================================================
Linux下查看MySQL的安装路径
Linux下查看mysql、apache是否安装,并卸载。
指令 ps -ef|grep mysql 得出结果
root 17659 1 0 2011 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid
mysql 17719 17659 0 2011 ? 03:14:57 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock
usr/bin/mysql 是指:mysql的运行路径
var/lib/mysql 是指:mysql数据库文件的存放路径
usr/lib/mysql 是指:mysql的安装路径
1,mysql 的守护进程是mysqld
如果已经安装则:
[root@localhost ~]# service mysqld start
启动 MySQL: [确定]
如果没有安装则:
[root@localhost ~]# service mysqld start
mysqld:未被识别的服务
你可以看看你的服务是否已经添加到linux上
[root@localhost ~]# chkconfig --list mysqld
mysqld 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:启用 6:关闭
没有安装则:
[root@localhost ~]# chkconfig --list mysqld
在mysqld服务中读取信息时出错,没有那个文件或目录
一旦你启动了服务,可以这样检查服务器是否在运行
[root@localhost ~]# ps -el | grep mysqld
4 S 0 1796 1 0 85 0 - 1513 wait ? 00:00:00 mysqld_safe
4 S 27 1856 1796 0 78 0 - 34055 - ? 00:00:00 mysqld
[root@localhost ~]#
如果你看到有,就说明服务器安装起来了~~
linux下查看apache是否安装及版本
如通是通过rpm包安装的话直接用下面的命令:
rpm -q httpd
也可以使用如下两种方法:
httpd -v
apachectl -v
linux下卸载mysql方法
a. 查找已安装的myslq 版本:
#rpm -qa | grep mysql (注意大小写,如果mysql 不行就换MySQL)
显示:
[root@localhost ~]# rpm -qa | grep mysql
mysql-5.0.77-4.el5_4.2
mysql-server-5.0.77-4.el5_4.2
php-mysql-5.2.13-1.el5.art
复制代码
在屏幕上将显示已安装的mysql包名如:mysql-5.0.77-4.el5_4.2 ;
将搜索出的包名卸载:
#rpm -e –nodeps mysql-5.0.77-4.el5_4.2 (nodeps表示强制删除)
提示
error: package –nodeps is not installed
error: package mysql-.0.77-4.e15_.2 is not installed
Linux查看mysql 安装路径
一、查看文件安装路径
由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址)。
这里以mysql为例。比如说我安装了mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径
在终端输入:
whereis mysql
回车,如果你安装好了mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)
[root@localhost ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
二、查询运行文件所在路径(文件夹地址)
如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还是以mysql为例):
which mysql
终端显示:
[root@localhost ~]# which mysql
/usr/bin/mysql
简单介绍下vi编辑器
VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但因它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢上它.
进入vi文件编辑界面后,通 a 或 i 或 o 进入编辑状态
编辑完成后,通过ESC返回命令模式后,按shift+:
wq 保存文件并退出
wq! 强制保存文件并退出
q 不保存文件退出
q! 不保存文件,强制退出vi
w 保存文件但不退出
w file 将修改另外保存到file中不退出
w! 强制保存不推出
e! 放弃所有修改,从上次保存文件开始再编辑
centos如何查看磁盘剩余空间
Linux查看磁盘剩余空间方法,怎么知道磁盘剩余容量有多大呢?查看centos系统磁盘使用情况的命令是什么?最近我使用了阿里云的云服务器,本人使用的是centos系统,由于增添了很多内容现在不是很清楚磁盘是否已经用满了!怎么办呢?
linux系统的Df命令是以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式:
du -sh. 系统只显示当前文件夹所占用的总空间 du -a. 显示的是所有的文件.包括子文件夹下所有文件也显示.. 某个文件夹的话例如home:du -sh /home/*
df -hl
显示格式为:
文件系统 容量 已用 可用 已用% 挂载点
/dev/hda5 487M 120M 342M 27% /
/dev/hda1 981M 21M 911M 3% /boot
none 125M 0 125M 0% /dev/shm
/dev/hda2 29G 4.9G 23G 18% /home
/dev/hda3 20G 4.8G 14G 27% /usr
/dev/hda7 24G 510M 22G 3% /var
/dev/hdb2 75G 75G 0 100% /
/dev/hdb2 75G 75G 0 100% /,
实际查询的磁盘信息意思为:
HD硬盘接口的第二个硬盘(b),第二个分区(2),容量是75G,用了75G,可用是0,所以利用率是100%, 被挂载到根分区目录上(/)
centos6 安装zip unzip命令:
yum install zip unzip
linux下查看磁盘分区的文件系统格式
df -T 只可以查看已经挂载的分区和文件系统类型。
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 20642428 3698868 15894984 19% /
tmpfs tmpfs 32947160 0 32947160 0% /dev/shm
fdisk -l 可以显示出所有挂载和未挂载的分区,但不显示文件系统类型。
Disk /dev/sda: 299.4 GB, 299439751168 bytes
255 heads, 63 sectors/track, 36404 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: 0x000576df
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2611 20971520 83 Linux
/dev/sda2 2611 3134 4194304 82 Linux swap / Solaris
/dev/sda3 3134 36404 267248282 83 Linux
parted -l 可以查看未挂载的文件系统类型,以及哪些分区尚未格式化。
Model: LSI MR9240-8i (scsi)
Disk /dev/sda: 299GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 21.5GB 21.5GB primary ext4 boot
2 21.5GB 25.8GB 4295MB primary linux-swap(v1)
3 25.8GB 299GB 274GB primary ext4
lsblk -f 也可以查看未挂载的文件系统类型。
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
|-sda1 ext4 c4f338b7-13b4-48d2-9a09-8c12194a3e95 /
|-sda2 swap 21ead8d0-411f-4c23-bdca-642643aa234b [SWAP]
`-sda3 ext4 2872b14e-45va-461e-8667-43a6f04b7bc9
file -s /dev/sda3
/dev/sda3: Linux rev 1.0 ext4 filesystem data (needs journal recovery) (extents) (large files) (huge files)
linux下如何删除整个文件夹?
直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字。若删除时出现 Permission denied 的提示,可以在命令前加sudo 即:sudo rm -rf 文件夹的名字,即可删除。
提醒:使用这个rm -rf的时候一定要格外小心,linux没有回收站的。rm还有更多的其他参数和用法,具体参数用法使用man rm查看。
说明:
-r 向下递归,不管有多少级目录,一并删除
-f 直接强行删除,不作任何提示的意思
返回顶部