# 基础

本章将介绍使用&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存储选项需要连接到数据库服务器，并在你的计算机上安装额外的数据库驱动程序。

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

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

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

XML格式是最为稳定成熟的，因此建议大多数用户选择此格式。SQL格式于2.4版添加，在用户中成为了越发受欢迎的选择。SQLite格式让用户无需花功夫安装并管理完整的DBMS就可以享受SQL存储的优点。MySQL和PostgreSQL选项分别要求安装MySQL和PostgreSQL DBMS，这些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 | N/A 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;时，会弹出警告消息提示文件已被锁定。之所以弹出警告消息是由于`.LNK`和`.LCK`文件仍然存在于目录中。此时选择是打开文件是安全的，但你应该删除`.LCK`文件。一旦文件被删除，将不会弹出警告消息，除非&app;再次崩溃。

### 文件管理

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

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

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

## 迁移&app;数据

有时，你可能需要将你的财务数据和&app;移动到另一台计算机。例如，当你购置了一台新的计算机的时候。

### 迁移财务数据

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

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

### 迁移首选项数据

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

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

### 应用首选项的位置

操作系统 | 文件夹
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`，选择要保存文件的文件夹（请记下这里选择的保存位置，因为这份数据文件还会在本指南后续教程中继续使用），最后点击保存按钮。

   现在，主窗口如下所示：

   ### 教程：数据文件的初始科目窗口