文件的打包和压缩
1. *.Z , *.bz2, *.gz, *.tar, *tar.gz
-*.Z: compress压缩程序的文件 注:gzip也可以解压*.Z文件,compress已经极少使用了
-*.bz2: bzip2压缩程序的文件
bzip2 -z fileName
bzip2 -d fileName.bz2
-*.gz:gzip压缩的文件
gzip fileName //a file fileName.gz will replace the file
gzip -d fileName.gz //file will be uncompressed
-*.tar:tar程序打包的数据,没有压缩
参数:
-c:建立压缩文件(create)
-t:查看包中文件
-x:解压缩文件
-z:gzip压缩/解压缩
-j:bzip2压缩/解压缩
-f:使用文件名 该参数一定要放在所有参数最后面
tar -cvf /tmp/etc.tar /etc //仅打包,不压缩
tar -cvzf /tmp/etc.tar.gz /etc // gzip压缩
fredchen@fredchen:~$ tar -ztvf set.tar.gz
-rw-r-xr-- fredchen/fredchen 111812 2008-12-27 00:25 set
tar -xzvf
-*tar.gz:tar打包,gzip压缩
注:
1) 要想保留原文件,输出目标文件并数据重定向到某文件即可。
gzip -c fileName > fileName.gz //-c 选项用于将压缩的数据输出到屏幕
2) gzip和bzip2只能对文件压缩,因此要想将一个目录压缩,就需要先将该目录用tar打包,然后再压缩
3) 使用gzip和compress以及bzip2压缩/解压缩的时候,源文件会被取代,而tar则不会
4) tar命令先写目标文件,再写源文件
2. dd不仅可以用来制作文件,最大的作用在于备份。
tar可以用来备份关键数据,而dd可以用来备份整个分区或硬盘。
dd if=inPath of=outPath
3. cpio同样可用来备份,采用数据重定向技术
cpio -covB > file|device 备份
cpio -icduv < file|device 还原
cpio是备份的利器
VI
1. DOS和Linux的换行符解释有所不同,前者为^M$LF, 后者则为LF,因此跨操作系统拷贝文件时,要注意转换
可利用unix2dos 以及 dos2unix两个命令来进行相互转换
dos2unix [-kn] file [newfile]
-n 选项表明原文件不懂,生成新的目标文件
-k 选项则表示保留该文件的mtime时间。
2. Ctrl+ r重做上一个操作(基于u操作)
3. o在当前行的插入一行进入编辑, O在当前行的上面一行插入一行进入编辑
4. .操作重复上一操作
5. ctrl + f/b: 向下/上翻页
6. v 反选光标经过的地方
V 反选光标经过的行
ctrl + v 长方块选择
7. 同时编辑多个文件: vi file1 file2
:n 切换至下一文件
:N 切换至上一文件
:files 列出当前打开的所有文件
8. :! command 执行临时命令
BASH SHELL
1. type command :显示命令类型
fredchen@fredchen:~$ type cd
cd is a shell builtin
fredchen@fredchen:~$ type touch
touch is /usr/bin/touch //可见type也可用来查找命令
2. var=value =两边不能有空格
""可以保持变量的特性,而''则将特殊字符视为一般字符
name="Fred's Name" //'将视为普通的单引号
name=Fred/'s/ Name
name=$nameyes //nameyes变量不存在
name="$name"yes //good
name=${name}yes //good
3. export var // NOT $var
可以将该变量的作用域延伸至子程序
4. unset var //取消变量
5. set, env export
set 显示当前shell的变量,包括当前用户的变量(用户自定义+环境变量)
env 显示当前用户的变量,理解为系统性的
export 显示当前导出成用户变量的shell变量,仅对当前的session有效,所有子shell均可见
fredchen@fredchen:~$ export A3="34"
fredchen@fredchen:~$ bash
fredchen@fredchen:~$ echo $A3
34
fredchen@fredchen:~$ bash
fredchen@fredchen:~$ echo $A3
34
%%% another session
fredchen@fredchen:~$ echo $A3
//什么也没有
每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,
当前用户变量和你用什么shell无关,不管你用什么shell都在,比如HOME,SHELL等这些变量,
但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,
是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,
因为一个shell自己的变量可以通过export “导出”变成一个用户变量。
6. $变量为当前shell的进程号
fredchen@fredchen:~$ echo $$
5242
?变量为上一命令执行的返回码
fredchen@fredchen:~$ echo $?
0
7. read, array, declare
(1)read
fredchen@fredchen:~$ read mywords
Hi, Welcome to Linux
fredchen@fredchen:~$ echo $mywords
Hi, Welcome to Linux
fredchen@fredchen:~$ read -p "Please input your username:" -t 30 user
Please input your username: fred chen
fredchen@fredchen:~$ echo $user
fred chen
(2)declare 不加参数则相当于 set
declare -optiong var
(3)array
fredchen@fredchen:~$ array[1]=fred
fredchen@fredchen:~$ array[2]=chen
fredchen@fredchen:~$ echo "${array[1]}, ${array[2]}"
fred, chen
8. 修改用户登录时的消息 vi /etc/motd
9. 登录bash时候,设置文件的读取顺序
1) 先读取/etc/profile,再根据该文件区读取其他附加设置文件,例如/etc/profile.d, /etc/inputrc
2) 根据不同的user,到home目录读取~/.bash_profile或~/.bash_login或~/.profile (ubuntu)等设置文件。
3) 根据不同的user,到home目录读取~/.bashrc
因此最终读取的文件时~/.bashrc。因此如果想自定义一些变量可以修改该文件。
10.可以让配置文件立即生效,而无需重新login:
source ~/.bashrc
或 . ~/.bashrc
11.Ctrl + ? 删除当前命令
12. 双向重定向: tee
ls -l /home | tee ~/homefile | more
使用了tee以后,数据会传给下个命令去执行
13. 字符转换命令: tr, col, join, paste, expand
tr: 用来删除一段消息中的文字或者是进行文字消息的替换
fredchen@fredchen:~$ last
wtmp begins Sun Mar 1 22:54:58 2009
fredchen@fredchen:~$ last | tr 'a-z' 'A-Z'
WTMP BEGINS SUN MAR 1 22:54:58 2009
paste: 将两个文件的内容按行贴在一起,中间默认以tab健分隔
fredchen@fredchen:~$ paste new newfile | head -n 3
BASH=/bin/bash BASH_ARGC=() BASH_ARGV=() I'm fredchen
BASH_ARGV=( This line was added by myself for practice) This is the last line
BASH_COMPLETION=/etc/bash_completion abc
注: -在命令中常常表示stdin。
fredchen@fredchen:~$ cat newfile | paste - new| head -n 3
I'm fredchen BASH=/bin/bash BASH_ARGC=() BASH_ARGV=()
This is the last line BASH_ARGV=( This line was added by myself for practice)
abc BASH_COMPLETION=/etc/bash_completion
本文深入探讨了Linux环境下文件的压缩与打包方法,包括*.Z、*.bz2、*.gz、*.tar等格式的使用及解压缩,以及tar命令的高级功能,如创建、查看、解压缩和gzip压缩/解压缩。此外,文章还介绍了dd命令的备份功能、cpio命令的备份技术,并详细说明了Vi编辑器的常用快捷键和bash shell的基本操作。


被折叠的 条评论
为什么被折叠?



