A method for data migration, comprising: acquiring a file list on a source migration terminal after accessing the source migration terminal; and reading files out on the source migration terminal according to the file list and immediately starting to migrate the files read out to store them on a migration terminal; characterised in that the method further comprises: concurrently with migrating the files according to the file list, displaying the file list and receiving selection of a non-migrated file in the file list, on the source migration terminal, wherein the non-migrated file is a file which does not need to be migrated and is marked, when being selected by the user, in the file list; and after receiving a selection of a non-migrated file, performing the steps of: if the non-migrated file has already been migrated from the source migration terminal to the migration terminal and stored in the migration terminal, deleting the non-migrated file in the migration terminal after all files in the file list have been migrated; or if the non-migrated file has not yet been migrated from the source migration terminal to the migration terminal and stored in the migration terminal, removing the non-migrated file from the file list. acquiring a file list on a source migration terminal after accessing the source migration terminal; and reading files out on the source migration terminal according to the file list and immediately starting to migrate the files read out to store them on a migration terminal; characterised in that the method further comprises: concurrently with migrating the files according to the file list, displaying the file list and receiving selection of a non-migrated file in the file list, on the source migration terminal, wherein the non-migrated file is a file which does not need to be migrated and is marked, when being selected by the user, in the file list; and after receiving a selection of a non-migrated file, performing the steps of: if the non-migrated file has already been migrated from the source migration terminal to the migration terminal and stored in the migration terminal, deleting the non-migrated file in the migration terminal after all files in the file list have been migrated; or if the non-migrated file has not yet been migrated from the source migration terminal to the migration terminal and stored in the migration terminal, removing the non-migrated file from the file list. concurrently with migrating the files according to the file list, displaying the file list and receiving selection of a non-migrated file in the file list, on the source migration terminal, wherein the non-migrated file is a file which does not need to be migrated and is marked, when being selected by the user, in the file list; and after receiving a selection of a non-migrated file, performing the steps of: if the non-migrated file has already been migrated from the source migration terminal to the migration terminal and stored in the migration terminal, deleting the non-migrated file in the migration terminal after all files in the file list have been migrated; or if the non-migrated file has not yet been migrated from the source migration terminal to the migration terminal and stored in the migration terminal, removing the non-migrated file from the file list. if the non-migrated file has already been migrated from the source migration terminal to the migration terminal and stored in the migration terminal, deleting the non-migrated file in the migration terminal after all files in the file list have been migrated; or if the non-migrated file has not yet been migrated from the source migration terminal to the migration terminal and stored in the migration terminal, removing the non-migrated file from the file list.