Linux
约 4625 个字 91 行代码 预计阅读时间 17 分钟
史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!_linux命令-CSDN博客
- vim 文件名:vim中打开文件
- gdb 文件名(.c) -o 文件名(.exe) :编译(生成executable文件),不包含调试信息 一次性显示所有错误用它
- gdb -g 文件名(.c) -o 文件名(.exe) :编译(生成executable文件),不包含调试信息
- 文件夹位置一定要对 要cd!
查看所有文件夹,具体方法取决于你使用的操作系统和命令行界面。以下是一些常见的方法:
查看文件¶
在 Linux 或 macOS 的终端中:¶
-
查看当前目录下的文件夹: 使用
ls
命令可以列出当前目录下的所有文件和文件夹: -
递归查看所有文件夹: 使用
ls
命令与-r
参数可以递归地列出所有子目录和文件: -
仅列出文件夹: 使用
ls
命令与-d
参数可以仅列出文件夹: -
查看根目录下的所有文件夹: 使用
find
命令可以查找根目录下的所有文件夹:
在 Windows 的命令提示符或 PowerShell 中:¶
-
查看当前目录下的文件夹: 使用
dir
命令可以列出当前目录下的所有文件和文件夹: -
递归查看所有文件夹: 使用
dir
命令与/s
参数可以递归地列出所有子目录和文件: -
仅列出文件夹: 使用
dir
命令与/ad
参数可以仅列出文件夹: -
查看所有驱动器: 在命令提示符中,使用
vol
命令可以查看所有驱动器: -
查看特定驱动器的文件夹: 在命令提示符中,使用
cd
命令切换到特定驱动器,然后使用dir
命令:
使用图形界面:¶
-
在 Windows 中: - 打开文件资源管理器,可以看到所有驱动器和文件夹。
-
在 macOS 中: - 打开 Finder,可以看到所有驱动器和文件夹。
-
在 Linux 中: - 打开文件管理器(如 Nautilus、Dolphin 等),可以看到所有驱动器和文件夹。
这些方法可以帮助你查看系统中的所有文件夹。如果你需要进一步的帮助,请提供更多的上下文信息。
移动文件位置¶
在 Linux 中,你可以使用 mv
命令来批量移动文件。以下是一些常见的方法:
1. 移动多个文件到同一个目录¶
如果你想要将多个文件移动到同一个目录,你可以这样做:
这里,file1.txt
和 file2.txt
是要移动的文件,/path/to/destination/
是目标目录。
2. 使用通配符移动文件¶
你可以使用通配符来选择多个文件。例如,要移动当前目录下所有的 .txt
文件到另一个目录:
3. 使用 find
命令¶
如果你需要更复杂的选择条件,可以使用 find
命令。例如,移动当前目录及子目录下所有 .log
文件:
这里,find .
表示在当前目录及其子目录中查找,-name "*.log"
表示查找所有以 .log
结尾的文件,-exec mv {} /path/to/destination/ \;
表示对找到的每个文件执行 mv
命令。
4. 使用 xargs
命令¶
xargs
命令可以将标准输入数据转化为命令行参数。例如,移动当前目录下所有 .jpg
文件:
这里,find . -name "*.jpg"
找到所有 .jpg
文件,|
将结果传递给 xargs
,mv -t /path/to/destination/
将这些文件移动到目标目录。
5. 使用 rsync
命令¶
rsync
也可以用来移动文件,并且它在复制大量数据时非常高效。例如:
这里,-av
表示详细输出和保留链接,--remove-source-files
表示在复制后删除源文件,相当于移动操作。
注意事项¶
- 确保目标目录存在,否则
mv
命令会失败。 - 使用通配符和
find
命令时要小心,确保你的选择条件是正确的,以避免意外移动或覆盖文件。 - 在执行批量操作之前,可以先使用
echo
命令查看将要移动的文件列表,确保它们是你想要移动的文件。
这些方法可以帮助你批量移动文件。如果你有特定的需求或遇到问题,请提供更多的信息。
查看文件¶
在 Linux 系统中,查看文件的内容可以通过多种方式实现,具体取决于文件的类型和大小。以下是一些常用的命令:
1. cat
¶
用于查看小到中等大小的文本文件的内容。
2. less
¶
用于查看大文件的内容,因为它允许你逐页查看文件。
你可以使用方向键来上下翻页,按q
退出。 3. more
¶
与 less
类似,但功能较少,不支持回滚查看。
b
回滚一页,按 q
退出。 4. head
¶
查看文件的前几行,默认是前10行。
你也可以指定行数,例如查看前20行:5. tail
¶
查看文件的最后几行,默认是最后10行。
指定行数,例如查看最后20行: 实时查看文件新增内容: 按Ctrl+C
退出。 6. grep
¶
搜索文件中包含特定文本的行。
7. od
¶
以八进制、十进制、十六进制等格式查看文件的二进制内容。
这里-c
选项以字符形式显示。 8. vim
或 vi
¶
使用文本编辑器查看文件内容。
在 Vim 中,你可以按i
进入插入模式编辑文件,按 :q
退出。 9. nano
¶
另一个文本编辑器,适合初学者。
按Ctrl+X
退出。 10. file
¶
查看文件类型。
11. strings
¶
从二进制文件中提取可打印的字符串。
注意事项¶
- 对于非常大的文件,避免使用
cat
,因为它会一次性将整个文件加载到内存中。 - 使用
less
或more
可以更有效地查看大文件。 - 如果你只是想要查看文件的一部分,使用
head
或tail
。 - 如果你想要搜索文件内容,使用
grep
。 - 如果你想要编辑文件,可以使用
vim
或nano
。
根据你的具体需求选择合适的命令。如果你需要进一步的帮助,请提供更多的上下文信息。
ls¶
ls
是一个在 Unix 和类 Unix 系统(如 Linux 和 macOS)中常用的命令行工具,用于列出目录内容。它显示文件和目录的名字,以及其他一些有用的信息。以下是一些 ls
命令的基本用法和选项:
基本用法¶
-
列出当前目录的内容:
-
列出指定目录的内容:
常用选项¶
-
-a
或--all
:显示所有文件,包括隐藏文件(以点.
开头的文件)。 -
-l
:以长格式列出文件信息,包括权限、所有者、大小等。 -
-h
:与-l
一起使用时,以易读的格式显示文件大小(例如 KB、MB)。 -
-R
或--recursive
:递归列出所有子目录的内容。 -
-t
:按修改时间排序,而不是默认的字母顺序。 -
-r
或--reverse
:反向排序。 -
--color
:显示颜色,以区分不同类型的文件和目录。 -
-i
:显示文件的 inode 号。 -
--time={time-style}
:显示文件的时间戳,time-style
可以是atime
(访问时间)、birth
(创建时间)、change
(状态更改时间)、modification
(修改时间)等。
示例¶
-
列出当前目录下的所有文件和目录:
-
以长格式列出当前目录下的所有文件和目录,并显示文件大小:
-
递归列出当前目录下所有子目录的内容:
-
列出当前目录下的所有文件和目录,并按修改时间排序:
-
列出当前目录下的所有文件和目录,并按修改时间反向排序:
-
显示文件的 inode 号:
组合使用选项¶
你可以组合多个选项来实现更复杂的功能。例如,ls -lah
会列出当前目录下的所有文件和目录(包括隐藏文件),并以易读的格式显示文件大小。
ls
命令非常强大,通过不同的选项组合,可以满足各种不同的需求。
通配符¶
在 Linux 和其他类 Unix 系统中,通配符是一种特殊的字符,用于在文件名、路径名或命令参数中匹配一个或多个字符。它们通常用于文件操作命令,如 ls
、cp
、mv
等。以下是一些常用的通配符:
-
星号(*): - 匹配零个或多个字符。 - 示例:
*.txt
匹配所有以.txt
结尾的文件。 -
问号(?): - 匹配任意单个字符。 - 示例:
file?.txt
匹配以file
开头,后面跟任意一个字符,以.txt
结尾的文件。 -
方括号([ ]): - 匹配方括号内的任意单个字符。 - 示例:
file[0-9].txt
匹配以file
开头,后面跟任意一个数字,以.txt
结尾的文件。 - 示例:file[a-z].txt
匹配以file
开头,后面跟任意一个小写字母,以.txt
结尾的文件。 -
反斜杠(\): - 用于转义通配符,使其被视为普通字符。 - 示例:
\*.txt
匹配名为*.txt
的文件,而不是所有.txt
文件。 -
括号({}): - 匹配大括号内的任意值。 - 示例:
file{1,2,3}.txt
匹配file1.txt
、file2.txt
和file3.txt
。 - 示例:file[0-9]{2}.txt
匹配file00.txt
到file99.txt
。 -
排除字符(!): - 与方括号结合使用,表示不匹配方括号内的字符。 - 示例:
file[!0-9].txt
匹配不包含数字的file
开头的.txt
文件。
示例¶
-
列出当前目录下的所有
.txt
文件: -
列出当前目录下的所有以
.log
结尾的文件: -
列出当前目录下的所有以
a
开头的文件: -
列出当前目录下的所有以
a
开头,后跟任意字符的文件: -
列出当前目录下的所有以
a
开头,后跟一个数字的文件: -
列出当前目录下的所有以
a
开头,后跟两个相同字母的文件: -
列出当前目录下的所有不以
.txt
结尾的文件:
通配符非常有用,特别是在处理大量文件时,它们可以大大简化命令的输入和文件的操作。
- 1.搜索桌面目录下,文件名包含 1 的文件
- 2.搜索桌面目录下,所有以 .txt 为扩展名的文件
- 3.搜索桌面目录下,以数字 1 开头的文件
在Zsh(或者任何Unix-like系统的shell中)新建文件夹(也称为目录),你可以使用mkdir
命令。以下是一些常用的mkdir
命令示例:
-
新建单个文件夹:
这将在当前目录下创建一个名为new_folder
的新文件夹。 -
新建多个文件夹:
这将创建三个名为folder1
、folder2
和folder3
的新文件夹。 -
新建嵌套文件夹:
使用-p
选项可以创建嵌套的目录结构。如果父目录不存在,mkdir
也会创建它们。 -
新建文件夹并设置权限:
-m
选项允许你设置文件夹的权限。在这个例子中,755
权限意味着文件夹所有者有读、写和执行权限,而组和其他用户有读和执行权限。 -
使用变量新建文件夹:
这将根据变量folder_name
的值创建一个文件夹。 -
新建文件夹并显示消息:
这个命令在创建文件夹后会显示一个消息。 -
检查文件夹是否创建成功:
这个命令在文件夹创建成功时显示成功消息,否则显示失败消息。
这些是Zsh中创建文件夹的基本命令和一些实用技巧。你可以根据自己的需求选择合适的命令。
在Zsh(以及大多数Unix-like系统的shell中),你可以使用mv
(move)命令来移动文件或目录。以下是一些使用mv
命令的示例:
-
移动单个文件:
这会将source_file.txt
从当前位置移动到指定的目的地路径。 -
移动多个文件到同一目录:
这会将file1.txt
、file2.txt
和file3.txt
移动到指定的目的地路径。 -
移动目录:
这会将整个source_directory
目录移动到指定的目的地路径。 -
重命名并移动文件:
这会将source_file.txt
移动到指定的目的地路径,并重命名为new_name.txt
。 -
交互式移动:
使用-i
(interactive)选项,mv
命令会在覆盖任何文件之前提示你确认。 -
移动文件并保留链接:
使用-n
(no-clobber)选项,mv
命令不会覆盖目的地的任何文件。 -
移动文件并更新符号链接:
使用-T
选项,mv
命令会将源文件移动到目标位置,并更新指向源文件的任何符号链接。 -
移动文件并显示详细信息:
使用-v
(verbose)选项,mv
命令会在移动文件时显示详细信息。 -
移动文件并备份任何被覆盖的文件:
使用-b
选项,mv
命令会在覆盖任何文件之前备份它们。
请确保替换source_file.txt
、source_directory
、file1.txt
、file2.txt
、file3.txt
以及路径为你实际要移动的文件或目录的名称和路径。使用mv
命令时,如果目标路径不存在,它可能会报错,所以确保目标路径是正确的。
在Zsh(以及大多数Unix-like系统的shell中),你可以使用rm
命令来删除文件夹。以下是一些使用rm
命令删除文件夹的示例:
-
删除空文件夹:
或者 这两个命令都可以删除名为folder_name
的空文件夹。 -
删除非空文件夹:
-r
(或-R
)选项告诉rm
命令递归地删除文件夹及其内容。 -
强制删除非空文件夹:
-f
选项用于强制删除,不会提示任何确认。 -
删除文件夹并显示详细信息:
-v
选项使rm
命令在删除时显示详细信息。 -
删除文件夹并保留父目录:
这个命令会删除folder_name
文件夹内的所有内容,但保留文件夹本身。 -
删除文件夹并备份:
-i
选项会在删除每个文件之前提示你确认。 -
删除文件夹并保留父目录(使用通配符):
使用shopt -s dotglob
可以确保连同隐藏文件一起删除。
请注意,删除文件和文件夹是一个不可逆的操作,一旦执行,被删除的文件和文件夹将无法恢复。因此,在执行删除操作之前,请确保你确实想要删除这些文件和文件夹,并且已经做好了必要的备份。
安全提示:使用rm -rf
时要特别小心,因为它会递归地强制删除文件夹及其所有内容,没有任何确认提示。这可能会导致数据丢失,特别是如果你不小心指定了错误的路径。
在Unix-like系统中,包括使用Zsh的系统,你可以通过多种方式新建一个.c
文本文件。以下是一些常用的方法:
-
使用
这个命令会在当前目录下创建一个名为touch
命令:new_file.c
的新文件。如果文件已存在,touch
命令会更新文件的访问和修改时间。 -
使用
这个命令会打开vim
编辑器:vim
编辑器,并创建一个名为new_file.c
的新文件。按Esc
键,输入:wq
(保存并退出),然后按Enter
键保存文件并退出编辑器。 -
使用
这个命令会打开nano
编辑器:nano
编辑器,并创建一个名为new_file.c
的新文件。编辑完成后,按Ctrl + X
退出,然后按Y
保存更改,最后按Enter
键确认文件名。 -
使用
这个命令会打开emacs
编辑器:emacs
编辑器,并创建一个名为new_file.c
的新文件。编辑完成后,按Ctrl + X
然后按Ctrl + S
保存更改,最后按Ctrl + X
然后按Ctrl + C
退出编辑器。 -
使用
这个命令会创建一个名为echo
命令:new_file.c
的新文件,并写入一行代码#include <stdio.h>
。>
操作符会覆盖文件内容,如果文件已存在。 -
使用
然后开始输入代码,输入完成后,按cat
命令:Ctrl + D
结束输入。这会将你的输入保存到new_file.c
文件中。 -
使用
这个命令会打开gedit
编辑器(如果已安装):gedit
图形界面编辑器,并创建一个名为new_file.c
的新文件。编辑完成后,保存并关闭编辑器。
选择哪种方法取决于你的个人偏好和可用的编辑器。如果你只是想快速创建一个空的.c
文件,touch
命令是最快的方法。如果你需要立即开始编写代码,使用一个文本编辑器会更方便。
如果你已经将Visual Studio Code (VSCode) 和 Zsh 连接,并且想要新建一个文本文件并用 VSCode 编辑,可以通过以下步骤实现:
- 使用命令行: 打开终端(Terminal),然后使用
code
命令来新建文件并打开编辑器。这个命令会创建一个新文件,并在 VSCode 中打开它。
这个命令会创建一个名为new_file.c
的新文件,并自动用 VSCode 打开它。如果new_file.c
文件已存在,VSCode 会直接打开该文件。
-
使用VSCode的终端: 如果你在 VSCode 内部使用集成终端(Integrated Terminal),同样可以使用
code
命令新建并编辑文件。 -
使用快捷方式: 在 VSCode 中,你也可以通过快捷方式来新建文件: - 打开 VSCode。 - 按下
Ctrl + N
(在 macOS 上是Cmd + N
)来新建一个文件。 - 保存文件时,使用Ctrl + S
(在 macOS 上是Cmd + S
)并选择保存位置和文件名。 -
使用VSCode的命令面板: - 打开 VSCode。 - 按下
F1
或Ctrl + Shift + P
(在 macOS 上是Cmd + Shift + P
)打开命令面板。 - 输入并选择“File: New File...”来新建一个文件。 - 保存文件时,使用Ctrl + S
(在 macOS 上是Cmd + S
)并指定文件名和位置。 -
使用VSCode的图形界面: - 打开 VSCode。 - 点击左侧的“资源管理器”图标(Explorer icon)。 - 右键点击你想要新建文件的文件夹。 - 选择“New File”来创建一个新文件。 - 保存文件时,使用
Ctrl + S
(在 macOS 上是Cmd + S
)并指定文件名。
以上是在 VSCode 和 Zsh 连接后,新建文本文件并用 VSCode 编辑的一些常用方法。code
命令是 VSCode 的一部分,它允许你从命令行直接在 VSCode 中打开文件和文件夹。