命令行命令指南:常用命令与技巧全解析

编程狮(w3cschool.cn) 2025-04-10 11:33:41 浏览数 (368)
反馈

命令行是什么?

命令行是与计算机交互的一种方式,通过输入文本命令来告诉计算机要执行的操作。它就像是一个神奇的控制台,你可以用它来导航文件、管理文件和文件夹、运行程序等等。

什么是命令行

常用命令

>

$ cat oceans.txt > continents.txt

> 将左边命令的标准输出重定向到右边的文件。就像把一个文件的内容倒入另一个文件。

>>

$ cat glaciers.txt >> rivers.txt

>> 将左边命令的标准输出追加到右边的文件。就像在故事书的末尾添加新的章节。

<

$ cat < lakes.txt

< 将右边文件的标准输入输入到左边的程序。就像把一个文件的内容倒入一个魔法瓶子里。

|

$ cat volcanoes.txt | wc

| 是一个“管道”。它将左边命令的标准输出作为标准输入传递给右边的命令。就像把一个命令的输出直接连接到另一个命令的输入。

~/.bash_profile

$ nano ~/.bash_profile

~/.bash_profile 是一个文件,用于存储环境设置。它通常被称为“bash 配置文件”。当你启动一个会话时,它会加载 bash 配置文件的内容,然后再执行命令。

alias

alias pd="pwd"

alias 命令允许你为常用的命令创建键盘快捷键,或者别名。就像给一个长名字的命令取一个昵称。

cd

$ cd Desktop/

cd 接受一个目录名作为参数,并切换到该目录。就像从一个房间走到另一个房间。

$ cd jan/memory

要直接导航到一个目录,使用 cd 并将目录路径作为参数。这里,cd jan/memory/ 命令直接导航到 jan/memory 目录。

cd ..

$ cd ..

要向上移动一个目录,使用 cd ..。这里,cd ..jan/memory/ 导航到 jan/

cp

$ cp ada_lovelace.txt historical/

cp 复制文件或目录。这里,我们将文件 ada_lovelace.txt 复制到 historical/ 目录。

通配符(*

$ cp * satire/

通配符 * 选择当前目录中的所有文件。上面的例子将当前目录中的所有文件复制到名为 satire 的目录。还有其他类型的通配符,但它们超出了这个词汇表的范围。

$ cp m*.txt scifi/

这里,m*.txt 选择工作目录中所有以“m”开头并以“.txt”结尾的文件,并将它们复制到 scifi/。

env

$ env

env 命令代表“环境”,并返回当前用户的环境变量列表。

env | grep VARIABLE

$ env | grep PATH

env | grep PATH 是一个显示单个环境变量值的命令。

export

export USER="Jane Doe"

export 使变量在你当前会话启动的所有子会话中可用。这是一种让变量在程序之间持续存在的方法。

grep

$ grep "Mount" mountains.txt

grep 代表“全局正则表达式打印”。它搜索文件中与模式匹配的行并返回结果。它是区分大小写的。

grep -i

$ grep -i "Mount" mountains.txt

grep -i 使命令不区分大小写。

grep -R

$ grep -R Arctic /home/ccuser/workspace/geography

grep -R 搜索图片搜索目录中的所有文件,并输出包含匹配结果的文件名和行。-R 代表“递归”。

grep -Rl

$ grep -Rl Arctic /home/ccuser/workspace/geography

grep -Rl 搜索功能搜索目录中的所有文件,并仅输出包含匹配结果的文件名。-R 代表“递归”,l 代表“包含匹配的文件”。

HOME

$ echo $HOME

HOME 变量是一个环境变量,显示主目录的路径。

ls

$ ls
2024  2025  hardware.txt

ls 列出工作目录中的所有文件和目录。

ls -a

$ ls -a
.  ..  .preferences  action  drama comedy  genres.xt

ls -a 列出工作目录中的所有内容,包括隐藏文件和目录。

ls -l

$ ls -l
drwxr-xr-x 5  cc  eng  4096 Jun 24 16:51  action
drwxr-xr-x 4  cc  eng  4096 Jun 24 16:51  comedy
drwxr-xr-x 6  cc  eng  4096 Jun 24 16:51  drama
-rw-r--r-- 1  cc  eng     0 Jun 24 16:51  genres.txt

ls -l 以长格式列出目录中的所有内容。以下是每列的含义。

ls -t

ls -t 按最后修改时间对文件和目录进行排序。

mkdir

$ mkdir media

mkdir 接受一个目录名作为参数,然后在当前工作目录中创建一个新目录。这里我们使用 mkdir 创建了一个名为 media/ 的新目录。

mv

$ mv superman.txt superhero/

要将文件移动到目录中,使用 mv,并将源文件作为第一个参数,目标目录作为第二个参数。这里我们将 superman.txt 移动到 superhero/。

nano

$ nano hello.txt

nano 是一个命令行文本编辑器。它就像桌面文本编辑器(如 TextEdit 或 Notepad)一样工作,只是它可以从命令行访问,并且只接受键盘输入。

PATH

$ echo $PATH
/home/ccuser/.gem/ruby/2.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin

PATH 是一个环境变量,存储了一系列由冒号分隔的目录。每个目录都包含命令行要执行的脚本。PATH 列出哪些目录包含脚本。

pwd

$ pwd
/home/ccuser/workspace/blog

pwd 打印工作目录的名称。

rm

$ rm waterboy.txt

rm 删除文件。这里我们从文件系统中删除文件 waterboy.txt。

rm -r

$ rm -r comedy

rm -r 删除一个目录及其所有子目录。

sed

$ sed 's/snow/rain/' forests.txt

sed 代表“流编辑器”。它接受标准输入,并根据一个表达式对其进行修改,然后将其显示为输出数据。

在表达式 's/snow/rain/' 中:

  • s: 代表“替换”。
  • snow: 搜索功能搜索字符串,要查找的文本。
  • rain: 替换字符串,要添加的文本。

sort

$ sort lakes.txt

sort 接受一个文件名或标准输入,并按字母顺序对每一行进行排序,然后将其打印到标准输出。

standard error

标准错误,简称为 stderr,是一个失败进程输出的错误消息。

source

source ~/.bash_profile

source 激活 ~/.bash_profile 中的更改,以便在当前会话中使用。这样就不需要关闭终端并需要启动一个新会话,source 会立即在我们当前的会话中应用更改。

standard input

标准输入,简称为 stdin,是通过键盘或输入设备输入到终端的信息。

standard output

标准输出,简称为 stdout,是一个进程运行后输出的信息。

touch

$ touch data.txt

touch 在工作目录中创建一个新文件。它接受一个文件名作为参数,然后在当前工作目录中创建一个新空文件。这里我们使用 touch 在 2025/dec/ 目录中创建了一个名为 keyboard.txt 的新文件。

如果文件已存在,touch 用于更新文件的修改时间。

uniq

$ uniq lakes.txt

uniq,代表“唯一”,接受一个文件名或标准输入,并打印出每一行,删除任何完全相同的重复项。

课程推荐

希望这篇文章能帮助你更好地理解命令行命令!如果你有任何问题或需要进一步的帮助,请随时访问 编程狮 。 😊

0 人点赞