# 基础

本章将介绍使用&app;时需要了解的基本概念。推荐你在上手使用&app;前通读本章。

## 会计概念

&app;简单易用，你不必完全理解会计准则就可以上手使用。然而，掌握一些基本的会计知识还是值得的，因为&app;正是基于这些准则设计的。强烈建议你在上手使用前理解指南的这一部分。

### 五类基本科目

基本会计规则将财务上的所有事项分为五类基本科目类型。也就是说，会计要处理的一切事项均属于这五类科目之一：

### 账户类型

资产

- 你自己拥有的东西

负债

- 你欠别人的东西

所有者权益

- 总净值

收入

- 科目中增加的价值

费用

- 科目中减少的价值

很明显，你可以将财务中一切事项分为五组。例如，银行账户现金是资产，房屋贷款是负债，工资是收入，昨天晚饭的开销是费用。

### 会计等式

现在有了五类基本科目，但它们之间的关系是什么？其中一类科目怎样影响其它科目？首先，定义一个包含资产和负债的等式：净值等于资产减去负债。

### 静态会计等式

资产 － 负债 ＝ 所有者权益

另外，收入可以增加净值，费用可以减少净值。这当然有道理，当你得到工资你就变得更富有，当你为晚饭付钱你就变得更贫穷。这就以数学的方式表达了一个被人们称为会计等式的关系：

### 动态会计等式

资产 － 负债 ＝ 所有者权益 ＋ (收入 － 费用)

此等式应当永远成立，这意味着只有同时变动多个科目的金额时才能满足要求。例如，如果以收入的形式得到了一笔钱，则必须等额地增加资产科目的金额。又如，如果负债科目的金额增加，则应当同时增加资产科目的金额。

#### 基本科目关系

五类基本科目关系图。净值（所有者权益）随收入增加和费用减少而增加。箭头代表了金额的转移。

### 借贷记账法

初次接触会计工作的人常常不明白会计中“借”与“贷”的用法，及其对各类科目的作用。上文介绍的会计等式是理解哪类科目在什么情况下记借或记贷的关键。首先，展开并重新排列会计等式，使资产位于等号的左边，并将任何带有负号的科目移到另一侧，这样可以得到：

### 重新排列后的会计等式

资产 ＋ 费用 ＝ 负债 ＋ 所有者权益 ＋ 收入

此形式的会计等式中，等号左边的科目称为借方科目，记借的分录会增加这些科目的余额。相反，记贷的分录会减少这些科目的余额。

类似地，在等号右边的科目也被称为贷方科目，即这些科目的余额由记贷的分录增加。同样地，这些科目中记借的分录会减少科目的余额。

借与贷是专用的会计术语，这两个字在会计工作中的含义与日常生活中的用法并不一致。

### 借与贷对五类科目类型余额的影响

科目类型 | 对科目余额的影响
| 借 (Dr) | 贷 (Cr)
资产 | 增加 | 减少
费用
负债 | 减少 | 增加
所有者权益
收入

### 复式记账法

会计等式是复式记账会计制度的核心。当会计等式中一个科目的余额变动时，必须对等地变动另一个科目。这一概念也被称为平衡原则，它是理解&app;和其它复式记账会计制度的基础。当使用&app;时，为了保持会计等式的平衡，总要同时关注至少两个科目。

账户间的平衡变动（或资金转移）是通过借记一个账户同时贷记另一个账户来完成的。会计上的借与贷，并不意味着减少与增加。正如前一部分所述，借与贷都会在增加某些科目的余额的同时，减少其它科目的余额。在资产和费用科目中，借会增加余额，贷会减少余额。在负债、所有者权益和收入科目中，贷会增加余额，借会减少余额。

在传统的复式记账中，账簿左边的一列记借，右边的一列记贷。会计师会在记借的一侧（左侧）记录资产和费用科目的增加，在记贷的一侧（右侧）记录负债、收入和所有者权益的增加。&app;遵循这一使用账簿记账时的惯例。

这些会计术语可能会令新用户感到困惑，因此&app;默认使用更常见的术语存入 和取出。如果你希望使用正式的会计术语，可以在首选项（更多有关设置首选项的信息请查阅&app;帮助手册）中的科目选项卡进行设置。

在日常生活中，借与贷这两个字的用法和会计工作中的用法并不一致。在日常使用中，贷通常有增加的意思；在会计工作中，贷意味着影响某一科目分类账表的右列。这与资产和费用科目的减少相关，与收入、负债和所有者权益科目的增加相关。

详细信息可参阅。

## 数据记录概念

在&app;中录入数据时，你应当了解&app;用于分隔数据的三级组织结构：文件、科目和交易。这几个层级按其复杂性排序列出，一个文件包含许多科目，一个科目包含许多交易。认识这种分隔方法是理解怎样使用&app;的基础。

### 文件

&app;以文件形式存储最高层级的信息。一个文件以单个XML文件（在所有版本的 &app;上）或SQL数据库（2.4或更高版本的&app;上）的形式存储在你的计算机上。

SQL发音为sequel，所常写作和念作SQL数据库。

使用XML文件格式时，&app;会在单个XML文件中存储你的数据，文件通常使用压缩格式（此行为可以在&app;首选项下的通用选项卡中进行修改）。

使用SQL存储时，&app;会在你选择的数据库软件（SQLite3、MySQL或PostgreSQL）中把数据存储至 SQL数据库中。

你需要为你正在处理的一组科目准备主文件或数据库。要了解怎样创建和管理&app;文件，参见basics-files1。

你如果认为一组科目不能满足需求，则应在处理账目前咨询专业会计师。大多数用户仅需一个数据文件。

备份文件和日志文件由&app;适时自动生成。备份文件和日志文件会在basics-backup1详细阐述。

### 科目

科目跟踪你拥有的、你欠别人的、你花费的或你得到的东西。每个&app;文件可包含任意数量的科目，每个科目又可包含许多子科目，层数不限。正如下文所述，这个简单的特性使&app;能够管理你的财务的方方面面。

例如，科目可以包括：活期账户、储蓄账户、信用卡账户、房屋贷款和其它贷款。每个&app;科目跟踪对应的实际账户的活动，便于了解其状态。

此外，科目也可以把你收到或花出的钱分类。例如，你可以创建费用科目记录为公共服务和食品杂货付的钱。即便这些科目并不对应于能收到账单的实际账户，也仍可使你了解在各个方面花了多少钱。

本指南会在chapter_accts中更详细地介绍科目。

### 交易

交易代表资金在科目间的转移。任何你花出或收到钱，或在账户间转账的时候，都会产生交易。

例如，交易可以是：支付手机话费、把钱从储蓄账户转账到活期账户、买烧饼、取出现金和存入工资。chapter_txns会更深入地介绍怎样录入交易。

在复式记账中，交易总是至少涉及两个科目——一个付款科目，一个收款科目。根据这一规则，&app;会在交易中为每个受影响的科目各插入一行，并在每一行中记录涉及的金额。交易中记录涉及的科目与金额的行称为分录。每项交易包含的分录数量不限。

交易分录会在txns-registers-multiaccount2详细介绍。

## 运行&app;

可以选择桌面主菜单中的相应菜单项运行&app;。

也可以在命令行中执行`gnucash`来运行。

在启动过程中，&app;会显示欢迎屏幕，列出一些有关程序（版本号、构建号等）和加载过程的信息。

### 欢迎使用&appname;对话框

最初打开&app;你会看到欢迎使用&appname;对话框，其中包含三个选项：

- 创建一组新科目 —— 运行建立科目结构向导（参考basics-acct-hierarchy）。如果你想在&app;的帮助下创建一组新科目，请选择此选项。

- 导入我的QIF文件 —— 运行导入QIF文件向导（参考importing-qif）。如果你已经拥有Quicken文件（`.qif`文件）并想要将其导入&app;，请选择此选项。

- 打开新用户教程 —— 打开&app;教程与概念指南。如果你刚开始接触&app;和会计概念，请选择此选项。

离开此对话框后，你仍然可以使用其中列出的各项功能，但欢迎使用&appname;不会再次显示。要创建一组新的科目，参见basics-acct-hierarchy。要导入QIF文件，参见importing-qif。

### 建立科目结构

建立科目结构向导能够帮助你创建一组新的&app;科目。如果在欢迎使用&appname;中选择创建一组新的科目，或选择 Ctrl N 文件(F) 新建(N) 时，该向导会启动。你也可以在科目页面中选择 操作(A) 建立科目结构… 启动向导往现有账簿添加一系列科目。

该向导会指引你创建会计科目表。此向导包含几个步骤，简要介绍如下：

1. 第一个页面简要介绍了该向导的功能。

2. 新建账簿选项只在创建新账簿时出现。你可以在此设置许多账簿属性。此页面包含四个选项卡：科目、预算、企业和计数器。这些条目会在本指南的其它部分中展开介绍，可以随时使用 Ctrl Enter 文件(F) 属性(T) 修改。

3. 选择货币设置根科目和新建科目的本位币。该选项的默认值根据计算机的区域设置确定。请认真设置此选项，因为它不仅会设定新建科目的默认货币，也会成为整个账簿的主货币，还会是所有股票价格和外币汇率的默认货币。尽管可以通过操作菜单重新运行建立科目结构向导进行更改，但这样操作后你已经创建的交易可能会损坏。

4. 选择要创建的科目提供了多种可添加到账簿的会计模板。这里主要有两个面板：左侧是模板列表，每一项旁边有一个复选框；右侧显示将要由选中的模板添加到账簿的科目。

   在模板列表上方，是两个下拉框，其中一个是语言代码，另一个是国家代码。初始选中项同样根据计算机区域设置确定。你可以根据需要选择任何语言和国家的组合。

   建立科目结构向导中，不能一次同时选择多个区域下的模板，因此如果你需要从多个区域中选择多项（可能是因为打算在首选区域的模板之上使用来自其它国家的模板进行拓展），则可以从操作菜单多次运行此向导。

5. 设置选择的科目会以树状结构列出由在选择要创建的科目中选中的模板所给出的科目。根据你是否正在创建新的账簿，列表可能有四列或五列。

   - 科目名称可编辑，只需点击内容文本，或选中该行按下Enter。

   - 类型不可编辑。此项指示科目类型。

   - 占位符科目。占位符科目指只能在其下建立子科目而自身不能添加交易的科目。你可以勾选此项使科目成为占位符，或取消勾选使科目为常规科目。

   - 期初余额可以为非所有者权益的非占位符科目设定余额，因为已经存在的账户早就存在余额，占位符科目不能存储交易，且所有者权益科目没有期初余额。

     期初余额输入框只有点击后才可见。你必须点击别处将光标移出输入框，或在点击前进按钮之前按Tab或Enter，否则输入的内容会丢失。

   - 使用已有科目只会在从操作菜单启动建立科目结构向导时才会出现。它指示科目是否已经存在。此项不可编辑。

6. 完成科目设置是最后一个页面，给你最后的机会取消此过程，回头更改一些设置，或点击应用确认你的选择。如果你正在新建账簿，&app;会弹出对话框，提示选择存储格式，可以是用以保存账簿的文件，另外如果&app;内含存储至数据库的功能且已经安装了必要的软件依赖，也可以输入数据库服务器地址、数据库名和认证信息以创建MySQL或PostgreSQL数据库。

   你如果选择取消，则至此做出的任何选择都会丢失。

### 每日提示

&app;的每日提示屏幕会给出有助于使用&app;的提示。

#### 每日提示

此图展示了每日提示屏幕。

这些提示对初学者很有帮助。可单击前进继续浏览更多提示。如果不希望在启动时看到此屏幕，请取消勾选旁边的启动时显示每日提示复选框。浏览完这些有用的提示后，点击关闭按钮关闭每日提示屏幕。

### 科目树窗口

你现在应该看到了科目窗口，如下所示。科目树的具体结构依赖于你在建立科目结构中选择了哪些默认科目。此处示例列出的是常用科目。

#### 基本科目关系

此图展示了科目窗口。

科目树窗口（也称为科目表）汇总了当前文件所含数据，包含科目名称列表和其当前余额。

在此窗口中，你可以双击科目名称，或者右击科目名称并从菜单中选择打开账户，以及使用工具栏上的打开按钮打开科目账簿。可以在&app;中打开任意数量的科目账簿。参见basics-register2了解使用科目账簿的更多信息。

如果科目下存在子科目，可以点击科目名称左侧的小三角展开显示其子科目树。

窗口顶端是标题栏，保存文件后就会显示此组科目保存的文件名。下方是菜单栏，可以点击菜单标题或使用快捷建（参见basics-shortcut2）访问菜单项。再下面是工具栏，包含调用常用功能的按钮。

科目树显示在工具栏下方。在你创建科目后，科目名称就会显示在科目树中。你可以使用科目树上方最右侧的小箭头设置要显示的表头。

底部是状态栏，告知有关你拥有多少财产（净资产）和你赚到了多少钱（利润）的信息。

### 科目账簿窗口

科目账簿窗口用于输入和编辑科目数据。恰如其名，科目账簿窗口看起来就像是纸制记账本。

#### 活期账户的账簿

此图展示了已经录入几笔交易后的活期账户账簿。

chapter_txns将进一步介绍科目账簿窗口和向里面录入数据的方法。这里，请注意科目账簿窗口的有些区域类似于科目树窗口。顶部的标题栏显示科目名。下方，菜单栏包含与科目账簿相关的菜单项。使用工具栏按钮可以快捷地访问常用的数据录入功能。窗口底部的状态栏显示当前科目余额，会在chapter_txns详细介绍。科目账簿窗口底部显示有关当前光标位置的信息。

在账簿窗口中，可以调整&app;显示的各列尺寸，但要注意描述和余额列的调整方法与其它列不同。

描述列设计为自动扩展以填充所有未使用的水平空间。因此在设置描述列宽之前应当设置所有其它列的宽度。

### 工具栏按钮

科目树窗口和科目账簿窗口均提供工具栏按钮。借助这些按钮可以快速执行像是科目树窗口中的保存、打开，以及科目账簿窗口中的保存、删除等常用功能。如果你不清楚一个按钮会执行什么操作，可以将鼠标指针移动到按钮上，就会弹出对此功能的描述。

下面总结了科目树窗口中各按钮的功能：

### 科目树窗口按钮

保存

- 将当前文件保存到磁盘。

关闭

- 关闭当前账簿页。

打开、 编辑、 新建、删除

- 这些功能与科目相关，将在chapter_accts讨论。

有关科目账簿的按钮将在chapter_txns介绍。

### 标签栏

&app;使用标签式的设计，允许同时打开多个科目账簿和报表。每个打开的窗口（可以是科目账簿、报表或计划交易窗口，等等）都会在标签栏中分配一个标签页，可以点击标签页查看对应窗口。可以在首选项中设置标签栏沿&app;窗口的任意一边显示。

将鼠标指针悬停在标签上可以查看标签页的全名。如果打开的标签比整个窗口能显示的要多，部分标签可能不会显示。

1. 点击标签栏两侧的箭头可以浏览全部标签页。

2. 也可以通过首选项窗口中窗口标签页下的标签页位置更改标签栏的对齐方式。

3. 可以右击标签栏查看标签页的完整列表，然后点击选择任一标签页。

### 菜单项

科目树窗口和科目账簿窗口在菜单栏处均包含相应的菜单标题。点击菜单标题会弹出与之对应的菜单项。

你可以点击科目树菜单标题，再将鼠标指针移动到菜单项上了解相应的功能。在鼠标指针移动到菜单项上时，菜单项的功能描述会出现在窗口的左下角（在状态栏内）。点击可以选择菜单项。

你也可以在窗口中的任何地方右击鼠标，访问最常用的菜单项。在科目树窗口中，会弹出与一列科目相关的菜单项。在科目账簿窗口中，会弹出一列与交易相关的菜单项。

访问菜单项的其它方式还有快捷键和访问键，下面将介绍。

### 菜单的访问键与快捷键

所有菜单项都分配了访问键，由菜单名称中的下划线字符标出。按下Alt键和菜单标题中标有下划线的字符，就会弹出菜单标题相应的菜单项。菜单项弹出后，在键盘上按下菜单项中标有下划线的字符以选择菜单项。例如，在主窗口中按下 Alt F 会弹出文件菜单，再按下S会保存文件。访问键是固定的，无法由用户更改。

部分更为常用的菜单项也分配了快捷键。使用快捷键，无需在菜单中层层寻找即可直接执行命令。虽说快捷键可以是任意按键的组合，但这些快捷键往往会使用Ctrl键。菜单快捷键显示在每个菜单项的右端。

## 存储财务数据

### 概述

&app;提供了几种格式存储财务数据。默认的文件存储格式是XML，而SQL存储在SQLite、MySQL和PostgreSQL格式中可用。对于新文件，用户可以通过 文件 保存 对话框选择文件格式；对于存在的文件，则通过 文件 另存为… 对话框选择文件格式。

XML存储格式是一种默认压缩存储的文本文件，是否压缩可以通过 编辑 首选项 常规 压缩文件设置。也可以使用SQLite存储，像XML格式一样，它将你的数据存储为系统中的单个文件。然而，在程序内部，SQLite文件会作为数据库进行管理。MySQL和PostgreSQL存储选项需要连接到MySQL或PostgreSQL数据库服务器，以及在计算机上额外安装的数据库驱动程序。

用户可以随时使用 文件 另存为… 更改存储格式。这会以选定的格式创建数据文件的副本。

### 存储压缩及有关建议

每种存储格式各有优缺点，用户需要结合自身的需求和能力进行考虑。参见下文的basics-storage-comparison-tbltitle了解详细信息。

XML格式是最为稳定成熟的，因此建议大多数用户选择此格式。SQL格式于2.4版添加，在用户中成为了越发受欢迎的选择。SQLite格式让用户无需花功夫安装并管理完整的数据库管理软件（DBMS）就可以享受SQL存储的优势。MySQL和PostgreSQL选项分别要求安装MySQL和PostgreSQL数据库管理软件（DBMS），这些数据库管理软件最好由经验丰富的数据库管理员维护。

&app;对SQL存储后端的支持意味着&app;现在完全兼容数据库管理软件（DBMS）中的许多特性，包括多用户和增量数据操作。然而，&app;当前并没有实现这些功能，不过这是开发组的长期目标。

### 存储格式对比表

### 存储格式对比

| XML | SQLite | MySQL | PostgreSQL
可用性 | 内置 | 依赖于软件包 SQL后端依赖额外的软件包。这些软件包已内置于在 macOS 和 Microsoft Windows 下的安装包中，会随&app;的安装程序自动安装。Linux发行版用户可能需要使用包管理器专门安装所需的额外软件包。对于SQLite3、MySql和Postgresql分别查找包名类似libdbd-sqlite3、libdbd-mysql或libdbd-pgsql的软件包进行安装。
文件拓展名 | gnucash | 无 MySQL 和 PostgreSQL 将数据存储在它们自己的存储系统中。
额外软件 | 无 | MySQL | PostgreSQL
额外技能 | 无 | 数据库管理员
压缩 | gzip | 无
文件保存 | 执行保存命令时 | 提交时
多用户支持 | 不支持 | 不支持 | 不支持 | 不支持

### 创建文件

要创建新的&app;文件，按如下步骤操作：

1. 从&app;菜单栏选择 文件 新建 。建立科目结构向导将启动。

   如果是首次运行&app;，将显示欢迎使用&appname;屏幕。此屏幕会在&app;帮助手册详细介绍。

2. 在向导中设置各选项。使用前进、取消和后退按钮在各步骤间跳转。

### 保存数据

按照下面的步骤以你喜欢的名称保存文件：

1. 从菜单栏选择 文件 另存为… 或选择工具栏上的保存按钮。&app;会弹出保存窗口。

2. 从下拉列表中选择文件的数据格式。 默认选择的是 XML，如果你已经设置了数据库后端可以更改为相应的格式。

   根据你选择的数据格式，窗口会发生如下变化。

3. - 如果你选择了xml或 sqlite3，你会看到像这样的对话框：

     #### 选择xml或sqlite3时的保存对话框

     此图展示了数据格式选为xml或sqlite3时的保存对话框。

     在名称文本框中输入文件名，不必指定扩展名。&app;会自动向文件添加拓展名`.gnucash`。

     在下方区域中浏览目录选择文件保存路径。

     点击创建文件夹按钮在选择的路径下以指定的名称创建文件夹。

   - 如果你选择了mysql或postgres你会看到如下对话框：

     #### 选择mysql或postgres时的保存对话框

     此图展示了数据格式选为mysql或postgres时的保存对话框。

     在此窗口中输入数据库连接信息：主机、数据库、用户名和密码。

     保存至mysql或postgres需要合适的数据库权限，即需要拥有使用给定的数据库名称创建新数据库的权限，或向具有给定数据库名称的现有数据库进行写入的权限。

4. 点击另存为按钮保存文件。

你如果正在跟踪家庭财务状况，则只需要一个文件。但如果你同时还在管理企业财务，或出于某种原因希望将数据分离存储，则不只需要一个文件。

在结束每次&app;会话前，确保使用 文件 保存 或保存 工具栏按钮保存数据更改。

经常保存数据以避免由任何原因导致的数据丢失是相当重要的，所以&app;能够每隔一段时间自动保存打开的文件。保存间隔时间可以在 编辑 首选项 （&mac;上为 GnuCash 首选项 ）中的通用选项卡下设置。注意此选项只有在你以XML格式保存时才有意义。如果你正在使用数据库存储，则做出的更改会即时保存，所以保存按钮和保存菜单项呈灰色。

### 打开数据

要打开存在的文件或数据库，从菜单中选择 文件 打开 。在弹出的窗口中，选择 数据格式。如果你选择了文件，则在下方的面板浏览文件夹选择你想打开的文件；否则，输入所需的数据库连接信息。

&app;会记录最近打开的文件列表。打开文件菜单，可以看到菜单内列出了最近打开过的文件名称。点击就可以载入你想要打开的文件。

### 复制科目层次结构

某些情况下，将现有数据文件的结构复制到新文件可能很有用。例如，你可能会想在不破坏实际会计数据的情况下尝试新的会计技能，或是需要根据会计准则在年末了结当前账簿并拿空白账簿开始新一年的会计工作。

&app;能够创建科目树的空白副本，只需选择 文件 导出 导出科目 。选择此命令后，&app;会要求你提供新的空白文件的名称，随后&app;会创建一个新的数据文件，其中仅包含科目层次结构（即不含交易数据）。一旦保存，这个新文件就能像其它&app;数据文件一样以上文所述的方法打开。

## 备份与恢复数据

&app;会创建多种类型的文件，帮助你确保数据不会丢失。如果查看保存的文件的所在文件夹，可能会看到由&app;生成的具有以下扩展名的其他文件：`.gnucash`、`.log`、`.LCK`、`.LNK`。每种文件的作用如下：

下文仅当你以XML格式保存时才适用：

          $ ls
          myfile.gnucash
          myfile.gnucash.20100414185747.gnucash
          myfile.gnucash.20100414223248.log
          myfile.gnucash.20100415114340.gnucash
          myfile.gnucash.20100415154508.log
          myfile.gnucash.20100415173322.gnucash
          myfile.gnucash.20100415194251.log
          myfile.gnucash.7f0982.12093.LNK
          myfile.gnucash.LCK

### 备份文件（`.gnucash`）

每当你保存数据文件时，一个扩展名为`.YYYYMMDDHHMMSS.gnucash`的备份副本也会保存。此备份文件是先前数据文件的完整副本，文件命名格式涉及数据文件名称、年、月、日和备份时间。例如，文件名`myfile.gnucash.20100414185747.gnucash`表明这是在2010年4月14日下午6:57:47保存的文件`myfile`的备份副本。

要恢复之前备份的文件，只需打开具有希望回溯到的日期的`.YYYYMMDDHHMMSS.gnucash`文件，再以不同的文件名保存该文件。

### 日志文件（`.log`）

每次在&app;中打开并编辑文件，&app;就会创建日志文件，其中记录对数据文件做出的修改。日志文件使用与备份文件相似的命名格式：`.YYYYMMDDHHMMSS.log`。日志文件不是对数据文件的完整备份，而只是简单地记录在当前&app;会话中对数据文件作出的更改。

在你无意间退出&app;的情况下，可能是由于断电或操作系统崩溃，你可以使用日志文件恢复在最后一次保存&app;文件后的做出的大部分修改。过程如下：

1. 打开最近一次保存的&app;文件。

2. 点击 文件 导入 重放 &appname; .log 文件 ，选择一个与你刚才打开的文件日期相同的`.log` 文件。确保你选择了正确的 `.log`文件，否则可能会对你的科目数据造成巨大的损坏。

日志重放会恢复自最近一次保存后输入的任何影响科目余额的交易，包括由计划交易和企业功能（如开具发票、订单管理等）创建的交易。

不会恢复对计划交易、开具发票或订单管理功能自身的修改，并且由之创建的交易在恢复后可能不会恰当地与之关联，因此需要二次检查。特别是对于企业交易，你可能需要删除并重新创建部分交易。如果不这样做，尽管科目余额可能正确，但一些报表可能不会正确显示。

### 锁定文件（`.LNK`和`.LCK`）

你可能会偶然看到`.LNK`和`.LCK`文件出现。它们不存储任何数据，但会被创建用于防止多个用户在同一时刻打开同一个文件。这些锁定文件是在打开数据文件时自动创建的，当关闭&app;会话或打开另一个文件时，&app;会删除`.LNK`和`.LCK`文件以解锁前一个数据文件。

如果在已经打开了数据文件时，&app;崩溃了，则`.LCK`和`.LNK`文件不会被删除。下一次尝试打开&app;时，&app;会弹出警告消息提示文件已被锁定。之所以弹出警告消息是由于目录中仍然存在`.LNK`和`.LCK`文件。此时选择是打开文件是安全的，但你应当删除`.LNK`和`.LCK`文件。删除这些文件后，你将不再看到警告消息，除非&app;再次崩溃。

### 文件管理

所以到底应该保留哪些文件呢？当然是保留你的主数据文件。保留部分最近的`.YYYYMMDDHHMMSS.gnucash`备份文件也是妥当的做法，不过你可以安全地删除`.log`文件，因为它们不是数据的完整副本。

你也应该在关闭&app;后删除任何看到的`.LCK`和`.LNK`文件 。如果你决定将数据文件手动备份到另一个磁盘，则只备份主数据文件就足够了，无需关心`.YYYYMMDDHHMMSS.gnucash`备份文件。

一般情况下&app;会自动删除任何30天以前的 `.YYYYMMDDHHMMSS.gnucash`和`.log`备份文件。可以在 编辑 首选项 （&mac; 上的 GnuCash 首选项 ）中的通用选项卡下更改此行为。

## 迁移&app;数据

有时，你可能需要将财务数据和&app;移动到另一台计算机。典型情况有，当你购置了一台新计算机的时候，或者在双引导计算机中想要在两个不同的操作系统间共用同一份设置的时候。

### 迁移财务数据

迁移&app;的财务数据很简单，如果你知道`.gnucash`文件的保存位置，只需要使用文件管理器把它复制过去。你如果不记得把它保存到哪里了，可以直接在&app;中打开它，再在&app;中将它保存到你需要的路径下。

文件夹中其它所有文件是备份文件或日志文件。把它们一起复制过去不会有什么危害，但也没什么必要。

### 迁移首选项数据

首选项存储在三处不同的位置：一处用于&app;首选项，一处用于报告，一处用于网上银行设置。应用首选项由gsettings管理，报告由&app;自身管理，网上银行由aqbanking管理。如果你不使用网上银行功能，计算机中不会存在相应的文件夹。

&app;首选项的存储位置在不同的操作系统下不尽相同（参见App-sett-loc、Report-loc和OB-sett-loc）。要备份并迁移整个已安装的&app;，你必须一并复制这些首选项。

### 应用设置的存储位置

操作系统 | 文件夹
Unix | &app;首选项存储在dconf中。可以在旧计算机上执行命令`dconf dump /org/gnucash/`，然后在新计算机上执行命令`dconf load /org/gnucash/`以迁移首选项。
&mac; | `~/Library/Preferences/gnucash.plist`
&win; | 首选项存储于&win;注册表 `HKEY_CURRENT_USER/software/GSettings`

### 已保存报告的存储位置

操作系统 | 文件夹
Unix | `&dir-data;` &app; 2.6.21 及之前的版本位于`&dir-old;`
&mac; | `~/Library/Application Support/gnucash`
&win; | `Documents and Settings/Username/.gnucash` 或 `Users/Username/.gnucash`

### 网上银行设置的存储位置

操作系统 | 文件夹
Unix | `~/.aqbanking`
&mac; | `~/.aqbanking`
&win; | `Documents and Settings/Username/.aqbanking`

在Unix和&mac;上，这些文件夹通常不会显示在文件管理器中。为了看到这些文件夹，必须设置文件管理器显示隐藏的文件和文件夹。

在Unix和&mac;上，`~`符号代表`home`文件夹。

## 步步为营

这一部分开启了贯穿整部指南的教程。在每一章的结束，你都会看到步步为营一节，它会带领你通过各种例子形象地体会各章节介绍的概念。每节步步为营都会在前一部分的基础上更进一步，所以请将你的文件保存到方便访问的地方。

就从这里开始吧！

1. 首先，创建一个文件，用于保存你的数据。打开&app;并从菜单栏选择 文件 新建 ，会启动建立科目结构向导，其中能够一次创建数个科目。

   ### 建立科目结构：介绍

   此图展示了建立科目结构向导的第一个页面。

   向导的第一个页面描述了其功能。点击前进按钮进入下一个页面。

2. 在第二个页面，通过不同的选项卡设置新账簿选项，然后点击前进按钮。你也可以稍后使用 文件 属性 修改这些选项。要详细了解这些选项，参见&app;用户手册中“自定义GnuCash：账簿选项” 一章。

   ### 建立科目结构：账簿选项

   此图展示了建立科目结构向导的第二个页面，此处可调整账簿选项。

3. 在第三个页面，从下拉列表中选择要用于新科目的货币，然后点击前进按钮。

   此处选择的货币会被指定到所有由此向导创建的科目。

   ### 建立科目结构：货币选择

   此图展示了建立科目结构向导的第三个页面，此处可选择货币。

4. 在第四个页面中，勾选模板面板下常用科目科目组。再点击前进按钮继续。

   若需要，可在此选择更多预定义的科目组。有关科目类型的更多信息可见accts-types1。

   ### 建立科目结构：科目选择

   此图展示了建立科目结构向导的第四个页面，此处可选择各种科目。

5. 在第五个页面，可以设置每一科目的期初余额，并指定科目是否为占位符。这些功能将在下一章详细介绍，这里先不更改这些选项。下面点击前进按钮进入此向导的最后一个页面。

   ### 建立科目结构：科目设置

   此图展示了建立科目结构向导的第五个页面，此处可设置期初余额。

6. 在向导的最后一个页面中，点击应用创建所有科目并结束向导。

   ### 建立科目结构：完成

   此图展示了建立科目结构向导的最后一个页面。

7. 在之前的窗口点击应用按钮后，会弹出保存对话框。选择XML 数据格式，文件名称为`gcashdata_1`，选择要保存文件的文件夹（请记下这里选择的保存位置，因为这份数据文件会在整份指南后续教程中继续使用），最后点击保存按钮。

   现在，主窗口应该如下图所示：

   ### 教程：初始示例文件的科目页面