写在前面,看个几篇文章,感觉自己真是很幸运,应该珍惜当下,好好努力,带着感激面对身边的人吧。说不定会有更好的事情发生在自己身上。给自己定了几个时间点,27岁,34岁。27岁还有四年,那时会积累很多了工作经验吧,会有更精准的职业规划吧,会有点存款,会更加清楚自己未来想要的东西吧,一直压抑着自己的欲望,总想做个无欲无求的人,欲望很低即使不思进取一无所有也不会崩溃吧,我一直这样想,是要改改这样的想法啦。最近半个月在努力改变自己生活方式,多读书,多运动,早睡觉,早起床,哈哈虽然做的不好。以前一直仗着年轻 ,毫无愧疚地游戏着人生,就是干着伤害,是该改变了啊,毕竟刚刚过了23岁的生日,我也不年轻了呢。还有以后打算一直对外宣称22岁。
说说linux的几个时间,以前一直记不住,当时最近感觉时间成熟了,自己会记住了。
mtime: 修改时间, 文件内容被修改就会更新这个时间。
ctime: 状态时间,权限与属性被修改就会更新这个时间。
atime: 文件内容被读取时就会修改这个时间。
下面就是集中压缩方式,很少单独使用了,都是和tar连用,下面三个命令压缩率愈来愈高,当时压缩时间愈来愈长。
gzip | .gz |
bzip | .bz2 |
xz | .x |
tar :打包命令,
参数太多了,以前总是忘记,整理了几次也好还是记不住。今天感觉是时候啦,我一定会记住啦。
-c 压缩参数
-t 查看压缩文件
-x 解包参数,-C 指定解包的路径
-z 通过gzip方式压缩解压
-j 通过bzip方式压缩解压 一般用它就好了
-J 通过xz方式压缩解压
-v 显示详情,一般都加
-C 解压的位置
-p(小) 保留数据的权限和属性,备份常用
-P(大) 保留绝对路径,允许备份
--exclude=xxx 压缩过程中,这个文件不压缩
其实只要记住如下这个三个命令就好了:
# 压缩
tar -jcv -f filename.tar.bz2(得到压缩文件名) 要被压缩的文件或目录
# 查看
tar -jtv -f filename.tar.bz2
# 解包,不加
tar -jxv -f filename.tar.bz2 -C 解压的目录
不加前面的 j 参数就是单纯打包,-f 后面要紧接着文件,-jtv -f => -jtvf,当时分开好记住。
# 备份文件,加个time就是显示程序执行的时间,没啥特别的
# z指定gzip, p 备份,复制权限属性啥的
time tar -zpcv -f /root/etc.tar.gz /etc
# 执行这个会有个警告,告知开头删除了/ 根路径,这个是为了保证安全。
还要说说上面的备份
我实测好像没看到警告,但是确实文件没根目录了。系统自动去掉根目录,是为了保证安全,因为文件备份后,里面的文件如果代根目录的话,在解压可能会覆盖源文件,所以去掉根目录是为了保证源文件不被覆盖。
再说说这个大P参数,它是为了让tar备份时系统不自动吞掉根目录。
tar -jpPcv -f /root/etc.and.root.tar.bz2 /etc
关于解压:
tar -jxv -f /root.etc.tar.bz2 # 直接在本目录解包了
tar -jxv -f /root.etc.bar.bz2 -C /tmp # 指定了路径
关于查看,解压指定文件
就是从大压缩包中找到个别文件再解包
tar -jtv -f /root/etc.tar.bz2 | grep 'shadow' # 先用grep查
tar -jxv -f /root/exc.tar.bz2 etc/shadow # 后面再解包这个文件
打包文件文件不包括个别文件
tar -jcv -f /root/system.bar.bz2 --exclude=/root/etc* --exclude=/root/system.tar.bz2 /erc/ /root
备份比某个时刻还新的文件
--newer-mtime 仅仅是mtime,文件修改的时间
--newer mtime和ctime
tar -jcv -f /root/etc ..... --newer-mtime="2015/06/12" /etc/*
关于数据流
感觉下面的命令没啥用处
tar -cvf - /etc | tar -xvf -
感觉 - 就是个变量嘛。