Linux学习中遇到过的问题

一. tar 用来数据备份

之前试过dump,restore,dd,等备份神器。但是发觉,这些备份神器还是没有tar好用,主要原因:

1.备份可以把整个目录备份下来,但是如果目录挂载了其他盘,也会一起备份,需要人工除掉(麻烦);

2.还原的时候已存在的文件不会覆盖,例如我改错了配置文件想要还原,达不到效果;

3.综合以上缺点,我还是毅然选择了最为广泛与简单易用的tar;


tar的参数很多,但是常用的就这几个

tar [-ctxjzvfC] [-Pp] [--exclude=FILE] path1 path2

bz2比gz的压缩率更高,是gz的进化版来滴。详细我不说拉,具体看看男人(man)

常用:

bz2压缩:tar -cjv -f filename.tar.bz2

gz压缩:tar -czv -f filename.tar.gz

bz2解压缩:tar -jxv -f filename.tar.bz2 /target

gz解压缩:tar -jzv -f filename.tar.gz /target

bz2查询压缩包:tar -jtv -f filename.tar.bz2(通常我用来看看备份数据的权限有没有错,连权限一起备份只要加上 -p就可以拉)

gz查询压缩包:tar -jtv -f filename.tar.gz

备份:

tar -zpcv -f /home/etc.tar.gz /etc  (备份etc到/home/上)

tar -jpcv -f /home/etc.tar.bz2 /etc  (备份etc到/home/上)

具体补充:

-j  是bz2的压缩方式

-z 是gz的压缩方式

-p 是连权限一起备份

--exclude=FILE 是除去某个文件不备份


==========================iam a happy dividing line==========================


二. mv 重命名文件和文件夹

linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.

例子:将目录A重命名为B

#mv A B

童鞋们请注意了,之前一直mv /a/ /b/的效果是把目录a整个移动到目录b下面,如果要改名,请去掉/

例子:将/a目录移动到/b下,并重命名为c

#mv /a /b /c



==========================iam a happy dividing line==========================


三 .ubuntu永久设置 root 的密码

$sudo passwd root

就可以永久设置 root 的密码,之后就可以方便在root下工作了。



==========================iam a happy dividing line==========================

四 .Fedora 下强制关闭yum

这几天一直在懊恼与linux的交叉编译器,搞了三天多了。然后发现了好多问题与知识。在这里记录一下。


在yum的新包包的时候,出现了

#another app is currertly holding the yum lock .waiting for it to exit...


遇到这种情况,可能是系统内部自动更新,或者你的隐藏进程正在使用yum,需要强制关闭yum进程:

#rm  -r -f /var/run/yum.pid

根据我的理解,/var/run/里面应该是正在使用的进程列表。


==========================iam a happy dividing line==========================

五 . ln 问题

因为需要安装交叉编译器,crosstool0.43里面编译的时候说ld版本不对。


于是我把/usr/bin/ld 删掉,然后重新安装binutil。

安装好binutil之后放在/tmp/binutil 然后

#ln -s /tmp/binutil/bin/ld /usr/bin/ld 发现提示:

#/usr/bin/ld is not a directory

在linux下面的链接文件有两种:

1.一种是had link(硬链接或者实际链接)

1.1不能跨文件系统

1.2不能链接到目录

2.一种是symbolic link(符号链接,快捷方式)

如果ln不加任何参数,则默认为硬链接,如果使用 ln -s,就类似与windows下面的快捷方式,我们通常都是用symbolic link

于是我加上-s后,发现链接不了,最后这样处理:

#ln -s /tmp/binutil/bin/ld /usr/bin/ld-so

#mv  /usr/bin/ld-so /usr/bin/ld

这样2句才能实现link,分析原因:fedora下面(不知到其他direcration是不是)ln不能ln与自己名字相同的文件,需要进行转换。


==========================iam a happy dividing line==========================

  yum install kernel-devel



==========================iam a happy dividing line==========================




==========================iam a happy dividing line==========================





你可能感兴趣的:(linux学习笔记)