终端是一个应用程序,它提供对操作系统 (OS) 用户 shell 的访问。传统上,shell 是用户和操作系统可以直接交互的地方。从历史上看,终端是一个物理接入点,由键盘和一个读出设备(很久以前是打印机,后来是阴极射线管)组成,它提供了对大型机的便捷访问。不要被这段“古老”的历史所迷惑。终端在今天仍然像半个世纪前一样重要,在本文中,我将介绍五个常见的文件管理任务,你只需使用 shell 即可完成。
1. 打开终端并四处看看
今天,每个人都有一台电脑放在桌子上或包里。大型机和终端模型现在基本上通过应用程序来模拟。你的操作系统可能有其独特的名称,但通常它被称为“终端”或“控制台”。
-
Linux:查找 Console、Konsole 或 Terminal。无论名称如何,你通常都可以使用关键字“终端”从应用程序菜单启动它。
-
macOS:默认的终端应用程序不是开源的,并且被广泛认为功能不足。下载 iTerm2 以获得功能丰富的 GPLv2 替代品。
-
Windows:PowerShell 是开源终端应用程序,但它使用自己独特的语言和语法。为了使本文在 Windows 上有用,你可以安装 Cygwin,它提供了一个 POSIX 环境。
一旦你打开了终端应用程序,你就可以使用命令 ls
查看你的文件系统。
ls
2. 打开文件夹
在图形文件管理器中,你可以通过双击文件夹来打开它。一旦打开,该文件夹通常会占据窗口。它成为你当前的位置。
在终端中,思考过程略有不同。你不是打开文件夹,而是更改到某个位置。最终结果是相同的:一旦你更改到一个文件夹,你就“进入”了该文件夹。它成为你当前的位置。
例如,假设你想打开你的 Downloads 文件夹。要使用的命令是 cd
加上你要更改到的位置
cd Downloads
要“关闭”文件夹,你可以更改出该位置。退出你已进入的文件夹,可以使用 cd
命令和两个点 (..
) 表示
cd ..
你可以经常使用 ls
来四处查看并确认你已更改位置,从而练习进入文件夹然后再离开文件夹
$ cd Downloads
$ ls
cat-photo.jpg
$ cd ..
$ ls
Documents Downloads Music Pictures Videos
$ cd Documents
$ ls
zombie-apocalypse-plan-C.txt
zombie-apocalypse-plan-D.txt
$ cd ..
$ ls
Desktop Documents Downloads
Music Pictures Videos
经常重复它,直到你习惯为止!
此练习的高级级别是使用点和文件夹名称的混合来浏览你的文件。
假设你想查看你的 Documents 文件夹,然后再查看你的 Desktop。以下是初学者级别的方法
$ cd Documents
$ ls
zombie-apocalypse-plan-C.txt
zombie-apocalypse-plan-D.txt
$ cd ..
$ ls
Desktop Documents Downloads
Music Pictures Videos
$ cd Desktop
$ ls
zombie-apocalypse-plan-A.txt
这种方法没有错。它有效,如果你觉得它很清楚,那就使用它!但是,这是中级方法
$ cd Documents
$ ls
zombie-apocalypse-plan-C.txt
zombie-apocalypse-plan-D.txt
$ cd ../Desktop
$ ls
zombie-apocalypse-plan-A.txt
你实际上是从你的 Documents 文件夹直接“传送”到了你的 Desktop 文件夹。
对于此方法,还有一种高级方法,但是因为你知道推断出它所需的一切知识,所以我将其留作练习给你。(提示:它根本不使用 cd
。)
3. 查找文件
承认吧,你有时会放错文件。有一个很棒的 Linux 命令可以帮助你再次找到它,该命令的名称恰如其分地命名为 find
$ find $HOME -iname "*holiday*"
/home/tux/Pictures/holiday-photos
/home/tux/Pictures/holiday-photos/winter-holiday.jpeg
几点说明
-
find
命令 要求你告诉它在哪里查找。 -
撒大网通常是最好的(如果你知道在哪里查找,你可能就不必使用
find
了),所以我使用$HOME
来告诉find
搜索我的个人数据,而不是系统文件。 -
-iname
选项告诉find
按名称搜索文件,忽略大小写。 -
最后,
"*holiday*"
参数告诉find
单词“holiday”出现在文件名中的某个位置。* 字符是通配符,因此find
会查找任何包含“holiday”的文件名,无论“holiday”出现在文件名的开头、中间还是结尾。
find
命令的输出是你正在查找的文件或文件夹的位置。你可以使用 cd
命令更改到文件夹
$ cd /home/tux/Pictures/holiday-photos
$ ls
winter-holiday.jpeg
但是你不能 cd
到文件
$ cd /home/tux/Pictures/holiday-photos/winter-holiday.jpeg
cd: Not a directory
4. 打开文件
如果你想从终端打开文件,请使用 xdg-open
命令
$ xdg-open /home/tux/Pictures/holiday-photos/winter-holiday.jpeg
或者,你可以在特定应用程序中打开文件
$ kate /home/tux/Desktop/zombie-apocalypse-plan-A.txt
5. 复制或移动文件或文件夹
cp
命令复制,mv
文件移动。你可以通过提供文件的当前位置,后跟其目标位置来复制或移动文件。
例如,以下是如何将文件从你的 Documents 文件夹移动到其父目录
$ cd Documents
$ ls
zombie-apocalypse-plan-C.txt
zombie-apocalypse-plan-D.txt
$ mv zombie-apocalypse-plan-C.txt ..
$ cd ..
$ ls
Documents Downloads Music Pictures
Videos zombie-apocalypse-plan-C.txt
在移动或复制时,你也可以重命名它。以下是如何将名为 example.txt
的文件移出目录,并使用新名称 old-example.txt
$ mv example.txt ../old-example.txt
你实际上不必将文件从一个目录移动到另一个目录才能重命名它
$ mv example.txt old-example.txt
用于文件的 Linux 终端
Linux 桌面 有很多可用的文件管理器。有简单的、网络透明的和 双面板 的文件管理器。有为 GTK、Qt、ncurses 和 Swing 编写的文件管理器。大的、小的等等。但是,如果不谈论从一开始就存在的那个:终端,你就无法谈论 Linux 文件管理器。
终端是一个强大的工具,需要练习才能熟练掌握。当我学习终端时,我尽可能地使用它,然后我打开一个图形文件管理器来进行我尚未为终端学习的高级操作。如果你有兴趣学习如何使用终端,现在是最好的时机,所以今天就开始吧!
4 条评论