0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

时间:2023-12-29 09:01:08

(内核make menuconfig之后,通过insmod安装的驱动都应该重新make,可能会出现一些莫名的问题)

(nor flash/SDRAM/DM9000都受内存控制器控制,需要配置内存控制器对应的位宽,表示一次能取得多少字节数据;norflash在接开发板时,地址线错开一位的原因就是因为当读0地址时,nor返回一个2字节数据,当读0x02地址时,因为2440的地址1号线接nor的地址0号线,相当于0x02右移一位,nor返回一个2字节数据;对2440来说一个地址表示一个字节,nor一个地址表示二个字节)

1、修改 /etc/inittab

加入
tty1::askfirst:-/bin/sh
可以让tty1成为标准输入、输出、和错误;输入是keyboard、输出是lcd

tty1和fb关联起来是在fbcon.c这个驱动程序中,通过获得registered_fb[]数组中的fb_info结构体,其在lcd驱动程序中设置,有显存等地址信息,然后去帮我们得到字模或者图片等信息并显示

,tty1和按键关联起来是在keyboard.c中(这是输入子系统)

tty来简称各种类型的终端设备

linux系统中包含如下几类终端设备:
(1)串行端口终端(/dev/ttySn)
     也就是你所问的串口。
(2)伪终端(/dev/pty)
    如telnet,ssh等
(3)控制台终端(/dev/ttyn,/dev/console)
    如计算机显示器等

2、uboot指令

nfs下载指令:nfs 30000000 192.168.1.5:/work/nfs_root/uImage     (IP地址是虚拟机地址,用其中下载uImage,并下载到nandflash 30000000地址)

bootm 30000000   从30000000地址处运行

mount -t nfs -o nolcok,vers=2 192.168.1.5:/work/nfs_root /mnt  挂接/work/nfs_root/uImage目录到/mnt(可以通过访问/mnt文件来访问虚拟机中/work/nfs_root目录)

3、make menuconfig之后,找到某个驱动对应的选项后,查看这一项或者通过搜索找这一项,可以看到CONFIG******的一行内容,在内核的makefile中查找可以找到“obj-$(CONFIG_MTD_NAND_DENALI) += denali.o”其中的.o文件就是对应的驱动

4、linux常用命令

001节_linux命令入门演示

前面我们讲解了在Ubuntu图形界面下怎么新建目录、新建文件等等。
提个问题:除了这个图形界面,Ubuntu下面有没有其它的方式也可以创建目录、创建文件呢?

我们回到比较熟悉的Windows界面,或许大家听说过dos命令行工具,没有听说过也没关系,同时按下“Windows键”和“R键”,输入cmd,再点击“确定”,就出现了命令工具。

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

打开之后,默认进入计算机用户目录,在该目录输入dir,可以显示目录和文件名。

执行md 123,在资源管理器可以看到创建了“123”文件夹。
执行rd 123, 就删除了“123”文件夹。
输入cls,即可清除屏幕显示信息。
这里演示的dir、md、rd、cls命令,都是这个命令行所支持的命令。他们可以实现创建目录、删除目录、清屏等操作。

回到前面提的问题:除了图形界面,Ubuntu下面有没有其它的方式也可以创建目录、创建文件呢?

答案是有的,通过Linux命令。
下面,我先给大家演示一下Linux命令,大家先看着我如何操作,在后续视频中我会详细的讲解Linux命令如何快速记忆和掌握。
现在我们只是来演示一下,在这里强烈建议,不要做笔记,也不要记忆。

在Ubuntu下,我们通过文件搜索器,输入terminal,即可找到终端,或者使用快捷键:Ctrl + Alt + T也可打开终端。Linux命令是每一个Linux学习者必须掌握的基础知识,入门阶段掌握常用的一些命令即可。 
演示中使用的命令:

pwd     //显示当前所在的目录

ls      //显示当前目录下的文件

cd      //切换路径

cd ..   //返回上一级路径

mkdir   //新建目录

rmdir   //删除目录

touch   //新建文件

cp      //复制文件

rm      //删除文件

cat     //将文件内容显示到终端中

clear   //清除屏幕的显示内容

 

002节_shell命令解析器功能说明

在Shell中输入字符串并回车的过程:
1.Shell根据第一个字符串去环境变量PATH所指定的目录中找到同名的应用程序;
2.然后执行它;

我们可以通过设置PATH环境变量来添加我们的目录:

export PATH=$PATH:/my/dir

比如编译程序有时会出现command not found的原因:

1.PATH所指定的目录中无此程序;
2.它不是可执行的程序;

003节_linux命令提示符和linux命令格式

这节课我们正式学习Linux命令,只有掌握了Linux基础命令,我们才能成功迈入Linux的世界。
前面演示过一些Linux命令,这些Linux命令非常基础,每个同学都必须掌握。我们重新来讲解,并且补充一些Linux相关的基础知识。

Linux的命令提示符

使用快捷键:Ctrl + Alt + T打开终端,打开终端之后,可以看到它已经显示了一串字符,这一串就是命令提示符。 
命令提示符表明了当前终端的状态,这一串的含义如图:

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

首先book表示当前登陆的用户名,因为Linux是一个多用户的操作系统,所以说指明一下当前是哪一个用户名登陆的。
接下来是一个@,它是一个连接符,连接前后。
接着的www.100ask.org是一个主机名,如果大家没有使用我们百问网提供的Ubuntu环境的话,这主机名可能不同,但没有关系。
再接着是一个:它也是一个连接符,连接前后。再接着是一个~,它是一个目录,表明了book这用户的家目录/home/book,在后面我们会说明。
再接着是一个$,因为book是一个普通用户,普通用户显示$,如果book是一个root(超级)用户,就会显示#。这个root用户在后面会说明。

因此我们需要记住两点,命令提示符,显示了: 
1.当前登陆的用户名 
2.用户当前所在的路径

Linux命令的格式

命令  [选项][参数]

在一些参考书里,是以英文写的,它们是一个意思。

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

举例: 
如果我们只需要查看当前路径的文件内容:ls
如果我们想查看当前路径下文件的创建时间和大小等详细内容:ls -l
如果我们想查看非当前路径下的内容,比如/home这个路径下的内容:ls -l /home

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

可以发现:

1.命令这一部分肯定是存在的

2.选项和参数不一定存在,可有可无;选项和参数取决于里使用该命令实现的具体目的;

3.选项是以“-”来指明的;

4.命令、选项、参数之间以空格隔开(一个或多个空格都视为是一个空格);

5.完成命令输入后,按下“enter键”,即可执行命令;

如ls有个-l选项,可能有的同学会问,那么ls到底有那些选项了?可以通过man ls来查看。 
ls命令的选项有很多,入门阶段先掌握ls命令的-l、-a、-h等常用选项。 
在后面的视频中,也是先介绍Linux基础命令(pwd、cd、ls等)的常用选项。 
入门阶段,掌握一些常用的选项就可以了,不要贪多。

004节_linux常用命令引入

前面演示过这些命令,这节课开始重新来讲解,在讲解的过程中,我将告诉大家我自己的记忆方法,我相信这些记忆方法,可以帮助大家快速的掌握这些命令。言归正传,这里有几个单词:

序号

英语单词

含义

1

directory

目录

2

change

改变

3

list

列出

4

print

打印

5

remove

删除

6

copy

复制

7

move

移动

8

clear

清除

非常简单,我相信每个同学都能掌握。好了,等下的记忆方法,就是这些单词的组合。

005pwd命令_独家记忆方

最简单的是pwd这个命令,我参考了国内很多讲解Linux命令的视频,其实很多老师讲解这个命令的时候,都讲解得不是很完善,他们只是告诉你怎么用,但是他没告诉你怎么记,它的来源是什么。

我这里讲解一下它的来源,它是print workingdirectory,这三个单词的首写字母的组合。这三个单词的中文意思就是“打印当前工作路径”。我相信你只要掌握这三个单词的含义,你就能清楚的记住pwd这个命令,这样的话,你就知根知底了。

在前面讲过,Linux命令格式是由命令、选项、参数。这三个部分来构成的。在日常工作和学习中,只需要掌握命令部分为pwd就可以了,至于其它的选项、参数可以不用掌握。

pwd          //打印当前所在的路径

 

006cd命令讲解1_独家记忆方法

接着是cd命令,cd命令来源是change directory这两单词的首写字母组合。这意思是“切换路径”。一般情况下,cd命令都不需要加参数,只需要加上,需要切换的目标目录就行了。

cd //切换路径

演示过程中,每次都需要输入很多,是不是有时可以简化输入呢?答案是可以的。一般简化输入有这三种情况:

cd  ~ //切换到家目录

cd  ..//切换到上一级目录

cd  -//切换到上一次所在目录

007linux基础知识_家目录_当前路径

第一个概念是家目录,比如book用户的家目录是/home/book。

这是前面讲解过的Ubuntu结构,当你在Ubuntu下面新建一个book用户后,它会在/home目录下新建一个book目录。

/home/book目录来存放book用户自己的一些文件。

同理,你在Ubuntu下面新建guest用户的话,它也会在/home下面guest这个目录。/home/guest来存放guest用户,它自己的一些文件。

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

Linux中用~符号来表示用户的家目录。因此在Linux中输入cd ~即可进入家目录。

下面都是一些Linux的基础概念,我们先补充一下。

008linux基础知识_上一个路径_上一次路径

·        第二个概念是当前路径和上一级路径

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

Linux中用.符号来表示当前目录,用..符号来表示上一级目录。

009节_linux基础知识__linux目录结构介绍

Linux目录结构 
参考前面

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

010linux基础知识_绝对路径和相对路径

第三个概念是绝对路径和相对路径 
绝对路径:从根目录一级级找下去,需要写完整路径名

相对路径:参照当前所在目录进行查找

举例:

1) 当前路径为/bin,然后./pwd就是执行了/bin/pwd

2) 当前路径为/home/book/100ask,然后cd ../Videos/就到达/home/book/Videos,cd ../..就到达/home

绝对路径是从根目录开始; 
相对路径一般以.和..来构成;

011cd命令讲解2注意事项

注意事项

1.切换的路径必须保证存在,可以使用命令来查看某一个路径下的所有内容。

2.一定要记得多使用tab键,让终端为你自动补全。

你切换的路径必须保证存在,如果路径都不存在,肯定切换不了。这相当于什么呢。 
你们班上有30个学生,学号是1-30号,老师叫了31号,肯定没人应答嘛。

因此,建议切换路径前,使用命令来先查看下有没有这个路径,命令,后面会讲。

tab键可以减少我们的输入,提高效率,我见过很多初学者,每次输入的时候都输入完整的文件名或者路径名,效率很低下。所以,记得多使用tab键。

012ls命令_独家记忆方法

接下来,我们讲解ls命令。 
ls命令的来源是英文单词list。学过数据结构的同学知道,list表示链表,不过在这里,list是个动词,表示列举、列出。ls的功能是列出目录内容。

ls    //列出目录内容

前面我们刚刚讲过cd命令,cd命令是切换路径。 
一般的话,都是用cd切换路径,然后再使用ls来查看目录内容。

在前面讲过,Linux的命令组成是:

命令  [选项][参数]

其中选项,参数可有可无。

举例:

1) ls

ls  //则显示当前所在目录的内容

2)ls 目录名

ls /home //则指定显示/home的内容

ls ~     //则指定显示/home/book的内容

3)ls 选项 或 ls 选项 目录名

常用的选项:

-l(long的缩写),显示目录下文件的更详细的信息(文件权限、文件最后修改时间、文件大小);

-a(all的缩写),显示了隐藏文件;

-h(human-able的缩写),将文件大小以K(KB)、M(MB)、G(GB)来表示;

ls -lh的详细的信息含义:

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

013目录操作mkdir和rmdir独家记忆方法

下面我们讲解mkdir这个命令。mkdir来源于make directory

目录的操作

·        mkdir:创建目录

举例:

1)mkdir 目录名

mkdir dir0   //创建了dir目录

2)mkdir -p       父目录/子目录

mkdir -p  dir1/dir2//连续创建多级目录(父目录和子目录),如果父目录不存在,则需要加入-p参数。-p(parents的缩写)

·        rmdir :删除目录 
举例:

1) rmdir 目录名

rmdir dir0//删除dir0这个没有内容的空目录

注意:rmdir不能删除非空目录(非空目录:该目录下面有子目录或者文件)

2)rm -f 目录名

rm -f dir0 //删除dir0这个目录

 

注意:可以删除非空目录

014节_文件操作touch_mv_cp_rm

文件的操作

·        touch :用来新建文件

举例:

1) touch 文件名

touch file1      //在当前目录新建名为file1的文件

 

注意:

1)同一目录无法创建同名的文件

2)linux的文件名是区分大小写的,如file1和File1是不同文件。这一点跟windows不同。

·        mv(move的缩写) :用来修改文件(目录)名、移动路径

举例:

1) mv 旧文件名 新文件名 修改文件名

mv file1 filea  //将当前目录的文件file1改名为filea

2)mv 旧目录名 新目录名 修改目录名

mv dir1 dira  //将当前目录下的目录dir1改为dira

3)mv 文件名目录名 移动路径

mv filea dira //将当前目录下filea移动到dira子目录

mv filea  ~   //将当前目录下filea移动家目录

mv ~/filea  ..//将家目录下的fila移动到上一个路径

·        cp(copy的缩写) : 用来复制文件(目录)

1)cp 源文件名  目标文件名

cp File1  file2//将当前目录下的文件File1拷贝成file2

2)cp 源文件名  目标目录名

cp file2 dira///将当前目录下的文件file2拷贝到dira子目录

2)cp 源目录名  目标目录名

cp -r dira dirb//复制dira目录下的所有内容到dirb,其中,-r参数时递归复制

cp -i file2 dira//如果dira目录下面有同名的file2,加入-i参数就会要求你确认是否覆盖同名的文件

注意:cp的常用参数有:-i,-r,-f,-d等,在后面讲解了linux权限之后,我们会加深cp命令的讲解。

·        rm(remove的缩写) :删除文件(目录) 
常用命令格式:

rm   [选项]   [文件名 | 目录名]

常用选项: 
-i(interactive(交互)的缩写), 删除文件(目录)之前,要求你确认是否同意删除 
-r(recursive(递归)的缩写), 递归删除指定目录下的子目录和文件 
-f(force(强制)的缩写), 强制删除

举例:

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

注意:

1)删除文件(目录)前,确定该文件(目录)是否可以被删除。

2)rm的常用参数有:-i,-r,-f等,在后面讲解了linux权限之后,我们会加深rm这个命令的讲解。

015节_文件查看和编辑cat_gedit

文件的查看和编辑:

1)cat用来查看文件内容

常用命令格式:

cat  文件名

举例:

cat file1     将file1的内容打印到标准输出中(默认标准标准输出指向终端)

cat file1 file2  将file1和file2的内容串联并依次全部打印到标准输出中

cat -n file1    显示内容并在内容前显示行号。

类似的查看命令: more、less、head、tail等后面讲解

2)gedit 图形应用程序的编辑器

这个前面讲过了,就不再重复了

3)vi 编辑器

vi编辑器非常重要,在后面的视频,以专题的形式专门讲解。

016节_清除屏幕_clear和reset

清除屏幕命令:

clear:刷新屏幕,保留历史命令操作记录

说明:此命令本质上只是让终端向后翻一页,当向上滚动鼠标时,还是可以看到之前命令的操作记录 
也可使用快捷键“Ctrl”+“L”。

reset:重新初始化屏幕,清除历史命令操作记录

017节_帮助信息man_info_help

帮助信息:

学习Linux最麻烦的是什么?

不停的上网或者翻阅书籍查找linux命令、相关函数的用法。

其实,没那么麻烦,linux发行版(如ubuntu)自带帮助命令。

Linux系统中提供了三种帮助方式。

man和info是独立的命令, --help是个命令的参数, 
它们都是Linux中获取帮助信息最权威,最快捷的途径。

1)man使用的最多

举例:

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

注意: 
man手册的9册内容的侧重点,最好记一下。

section

名称

说明

1

可执行程序或shell命令

用户可操作的命令

2

系统调用

内核提供的函数(查头文件)

3

库调用

常用的函数库

4

特殊文件

在/dev下的设备文件

5

文件格式和约定

对一些文件进行解释,如/etc/passpd

6

游戏程序

游戏程序

7

杂项

包括宏包和约定等

8

系统管理员使用的管理命令

通常只有系统管理员root可以使用

9

内核相关

Linux内核相关文件

2)info

举例:

info ls //查看ls的帮助信息

3)–help

举例:

ls --help //查看ls的帮助信息

5、linux进阶指令

第001节_ find查找文本

我们在Windows中搜索文件,一般查找文件需要传入两个条件:

1)在那些目录中查找;

2)查找的内容;

在Linux中,查找文件的也需要这两个条件,不同于Windows使用搜索框查找,Linux中使用 find 命令查找文件。

find 命令: 
*目的:查找符合条件的文件 
*格式: find 目录名  选项   查找条件

举例1:

 find /work/001_linux_basic/dira/  -name "test1.txt"

说明:

a)/work/001_linux_basic/dira/指明了查找的路径

b)-name 表明以名字来查找文件

c)"test1.txt" 指明查找名为test1.txt的文件

举例2:

 find /work/001_linux_basic/dira/  -name "*.txt"    

说明:

a)查找指定目录下面所以以.txt结尾的文件,其中*是通配符。

举例3:

 find /work/001_linux_basic  -name "dira" 

说明:

a)查找指定目录下面是否存在dira目录,dira是目录名。

注意:

1)如果没有指定查找目录,则为当前目录。

find . -name "*.txt"  其中.代表当前路径

find -name "*.txt"  没加路径,默认是当前路径下查找

2)find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件

find /home -mtime -2 查找/home目录下两天内有变动的文件

第002节__grep查找字符串

grep 命令:

目的:使用grep命令来查找文件中符合条件的字符串

 格式:grep  [选项]  [查找模式]  [文件名]  

假设dira目录的test1.txt 和 dirb目录的test1.txt都含有如下内容:

 aaa
 AAAAAA
 abc
 abcabcabc
 cbacbacba 
 match_pattern
 nand->erase

通过查找字符串,希望显示如下内容:

·        所在的文件名—-grep查找时默认已经显示目标文件名

·        所在的行号——使用-n选项

可以使用以下命令:

grep -rn “字符串”  文件名

r(recursive):递归查找

n(number):显示目标位置的行号

字符串: 要查找的字符串

文件名: 要查找的目标文件,如果是*则表示查找当前目录下的所有文件和目录

举例:

grep -n "abc" test1.txt 在test1.txt中查找字符串abc

grep -rn "abc" * 在当前目录递归查找字符串abc

注意:

1)可以加入-w全字匹配。

第003节__file查看文件类型

file 命令:

·        目的:识别文件类型

·        格式: file 文件名

在Linux中有一个非常重要的观点:”’Linux下一切皆文件”’。

举例:

file ~/.bashrc      ASCII 编码的text类型
file ~/.vimrc       UTF-8 Unicode 编码的text类型
file ~/Pictures/*   如图形文件JPEG/PNG/BMP格式
file ~/100ask/      directory表明这是一个目录
file /bin/pwd     出现 ELF 64-bit LSB executable,即为ELF格式的可执行文件
file /dev/*     出现character special(字符设备文件) block special(块设备文件)

第004节_ which和whereis查看命令所在位置

which 和 whereis 命令: 
*目的:查找命令或应用程序的所在位置 
*格式:which 命令名/应用程序名

在终端上执行pwd实际上是去执行了/bin/pwd

举例: 
which pwd 定位到/bin/pwd 
which gcc 定位到/usr/bin/gcc 
whereis pwd 查找到可执行程序的位置/bin/pwd和手册页的位置/usr/share/man/man1/pwd.1.gz

第005节__gzip和bzip2单个文件的压缩和解压

·        压缩的目的: 
在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。接受者接受文件后,解压即可。

·        压缩的类型

有损压缩、无损压缩:

a)有损压缩:如mp4视频文件,即使压缩过程中,减少了很多帧的数据,对观看者而言,也没有影响。当然mp3音乐文件也是有损压缩。 b)无损压缩:如普通文件的压缩,为了保证信息的正确传递,不希望文件经过压缩或解压后,出现问题。后面讲解的都是无损压缩。

Linux下常用的压缩命令##

·        单个文件的压缩(解压)使用gzip和bzip2

·        多个文件和目录使用tar

gzip的常用选项: 
-l(list)  列出压缩文件的内容 
-k(keep)  在压缩或解压时,保留输入文件。 
-d(decompress) 将压缩文件进行解压缩

1)查看

gzip  -l 压缩文件名
比如: gzip -l pwd.1.gz

2)解压

gzip -kd  压缩文件名
比如: gzip -kd pwd.1.gz
该压缩文件是以.gz结尾的单个文件

3)压缩

gzip -k  源文件名
比如:gzip -k mypwd.1 得到一个.gz结尾的压缩文件

注意:

1)如果gzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.gz的压缩文件, 并删除原有的文件,所以说,推荐使用gzip -k压缩源文件

2)相同的文件内容,如果文件名不同,压缩后的大小也不同。

3)gzip只能压缩单个文件,不能压缩目录。

提示:

man pwd会解压/usr/share/man/man1/pwd.1.gz这个文件, 
然后读取该文件中固定的格式的一些信息,然后显示到终端中。

·        bzip2来压缩单个文件

bzip2的常用选项:

-k(keep)  在压缩或解压时,保留输入文件。 
-d(decompress)  将压缩文件进行解压缩

1)压缩

bzip2 -k 源文件名

比如:bzip2 -k mypwd.1
得到一个.bz2后缀的压缩文件

2)解压

bzip2  -kd  压缩文件名
比如:bzip2 -kd mypwd.1.bz2       

注意:

1)如果bzip2不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件, 并删除原有的文件,所以说,推荐使用bzip2 -k来压缩源文件。

2)bzip2只能压缩单个文件,不能压缩目录。

*单个文件的压缩使用gzip或bzip2

压缩有两个参数:

1)压缩时间

2)压缩比

一般情况下,”’小文件使用gzip来压缩,大文件使用bzip2来压缩”’。

比如:

mypwd.1源大小是1477字节,

gzip压缩后mypwd.1.gz是877字节,

bzip2压缩后mypwd.1.bz2是939字节。

myls.1源文件大小7664字节,

gzip压缩后myls.1.gz是3144字节,

bzip2压缩后myls.1.bz2是3070字节。

gzip、bizp2只能对一个文件进行压缩,而不能对多个文件和目录进行压缩。 
所以需要tar来对多个目录、文件进行打包和压缩。

tar常用选项

-c(create) 表示创建用来生成文件包 
-x:表示提取,从文件包中提取文件 
-t 可以查看压缩的文件。 -z使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。 
-j 使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。 
-v (verbose)详细报告tar处理的信息 
-f(file) 表示文件,后面接着一个文件名。 
-C <指定目录> 解压到指定目录

1.tar打包、gzip压缩

1)压缩

tar -czvf   压缩文件名   目录名
如: tar czvf dira.tar.gz  dira

注意:tar -czvftar czvf是一样的效果,所以说,后面统一取消-。

2)查看

tar tvf   压缩文件名
如:tar tvf dira.tar.gz

3)解压

tar xzvf 压缩文件名
tar xzvf 压缩文件名  -C  指定目录
如: tar xzvf dira.tar.gz    解压到当前目录
如: tar xzvf dira.tar.gz   -C  /home/book   解压到/home/book      

2.tar打包、bzip2压缩

1)压缩

tar cjvf   压缩文件名   目录名
如: tar cjvf dira.tar.bz2  dira

2)查看

tar tvf   压缩文件名
如: tar tvf dira.tar.bz2

3)解压

tar xjvf 压缩文件名
tar xjvf 压缩文件名  -C  指定目录
如: tar xjvf dira.tar.bz2  解压到当前目录
如: tar xjvf dira.tar.bz2 -C  /home/book   解压到/home/book