命令的提示符
[root@localhost: ~]#
[]
:这是提示符的分隔符号,没有特殊含义。root
:显示的是当前的登录用户@
:分隔符,没有特殊含义。localhost
:当前系统的简写主机名(完整主机名是 localhost.localdomain)。~
:代表用户当前所在的目录:
:分隔符,没有特殊含义。#
:命令提示符。超级用户是#,普通用户是$
命令的基本格式
[root@localhost: ~]# 命令 [选项] [参数]
选项
:是用于调整命令的功能的参数
:是命令的操作对象- 参数可以使用通配符(用于模糊搜索)
-
什么是通配符:
通配符是一种用于表示一类字符或字符串的特殊符号。通配符可以使字符串匹配操作更加高效、方便。通过使用通配符,我们可以在一大堆文本或数据中,快速地匹配到指定的信息或字符。日常生活中可能用处较少,但是在某些特定的场合下,它们会发挥非常重要的作用。比如,在编写批处理脚本、Linux Shell脚本等命令行程序时,通配符是必不可少的工具。
-
常用的通配符:
通配符 含义 * 匹配任意个字符(包括0个) ? 代表任意一个字符 . 匹配任意一个字符 [abc] 匹配a、b、c中的任意一个 [!abc] 匹配除了a、b、c中的任意一个 [a-f] 匹配从a到f范围内的任意一个字符 [1-9] 匹配从1到9范围内的任意一个字符 -
注意事项
- 通配符的语法: 不同的环境和编程语言可能有不同的通配符语法。在使用通配符之前,务必查阅相关文档,了解正确的语法和用法。
- 文件路径中的通配符: 在文件系统中,通配符通常用于匹配文件名。在使用通配符时,确保了解文件路径中的上下文,以免意外匹配到不希望操作的文件。
- 转义特殊字符: 一些字符可能具有特殊含义,如在正则表达式中的
.
、``等。如果要匹配它们的字面意义,可能需要使用转义字符(例如,在正则表达式中使用\
)。 - 大小写敏感性: 有些通配符匹配可能受到大小写敏感性的影响。在一些环境中,通配符可能区分大小写,而在其他环境中则可能不区分。确保你的模式与目标数据的大小写一致。
- 模糊匹配的风险: 使用通配符时,要注意可能的模糊匹配。例如,**``**通常匹配任意字符,包括空字符。确保你的模式不会导致不希望的匹配。
- 验证模式: 在使用通配符之前,可以通过测试和验证来确保模式的正确性。这可以通过编写测试代码、在终端中执行命令或使用相关工具进行验证。
- 文档参考: 始终参考相关的文档和资源,特别是关于所用语言、工具或操作系统的文档。这有助于理解通配符的细节和边界条件。
- 谨慎使用通配符删除操作: 在执行删除操作时要特别小心,确保你了解通配符将匹配的内容,并且不会意外删除重要文件。
-
ls命令
-
功能描述:显示指定目录下的内容(默认是当前目录)
-
常用选项(能连起来,-lh)
-a
: 显示所有文件**,包括隐藏文件**-l
: 长格式显示 配合-h一起使用 -lh-h
: 人性化显示,按照我们习惯的单位显示文件大小-t
:按修改时间排序文件。-r
:反向排序。
-
常用示例:
# 示例 1: 列出当前目录中的所有文件和子目录 ls# 示例 2: 列出指定目录中的文件和子目录 ls /path/to/directory# 示例 3: 以长格式显示文件详细信息 ls -l# 示例 4: 显示所有文件,包括隐藏文件 ls -a# 示例 5: 以易读的格式显示文件大小 ls -lh# 示例 6: 按修改时间反向排序文件 ls -t -r
-
注意:
- 如果未提供目标目录路径,则默认使用当前工作目录。
- 需要适当的文件和目录权限来执行。
- 隐藏文件是以 . 开头的
- 人性化显示是指让-l显示信息的字节大小以KB或MB为单位
cd命令
-
功能描述:切换所在目录,不能对文件使用
-
常用选项:
-P
:使用物理路径,而非链接路径。-L
:强制进入链接路径。
-
常用示例:
# 示例 1: 进入用户主目录 cd# 示例 2: 使用绝对路径进入指定目录 cd /path/to/directory# 示例 3: 使用相对路径进入指定目录 cd ../test # 进入上一级目录下的test目录 cd ./test # 进入当前目录下的test的目录# 示例 4: 进入家目录 cd ~# 示例 5: 进入上一次工作目录 cd -# 示例 6: 使用选项 cd -P /path/to/symlink # 使用物理路径 cd -L /path/to/symlink # 强制进入链接路径
-
注意:
-
如果未提供目标目录路径,则
cd
将返回用户的主目录。 -
当你使用相对路径时,它是相对于当前工作目录的。
-
相对路径与绝对路径
- 绝对路径:路径的写法“一定由根目录
/
写起”,例如:/home/linux/test
这个目录。 - 相对路径:路径的写法“不是由 / 写起”,如果要到
/home/linux/test
下面时,可以写成: “cd ../test
”。相对路径意指“相对于目前工作目录的路径!” - 相对路径有 相对当前目录
.
和 相对上一级目录..
- 绝对路径:路径的写法“一定由根目录
-
pwd命令
-
功能描述:显示当前所在目录的绝对路径
-
常用选项:
无常用选项
-
常用示例:
# 示例 1: 直接在控制台输入显示 pwd# 示例 2: 显示当前工作目录的路径 current_directory=$(pwd) echo "当前工作目录:$current_directory"# 示例 3: 在脚本中使用 script_directory=$(dirname "$0") echo "脚本所在目录:$script_directory"
-
注意
pwd
不接受目录路径作为参数,它始终显示当前工作目录的路径。- 可以在脚本中使用反引号 `` 或
$()
来捕获pwd
命令的输出。
mkdir命令
-
功能描述:创建新的空目录
-
常用选项:
-p
: 递归建立目录--mode
:创建时指定权限
-
常用示例:
# 示例 1: 创建单级目录 mkdir my_directory# 示例 2: 创建多级目录 mkdir -p path/to/my_directory# 示例 3: 创建目录并设置权限 mkdir --mode=755 secure_directory# 示例 4: 一下创建多个目录(不同于多级目录) mkdir dir1 dir2 # 当前文件下创建 mkdir ../{dir1,dir2} # 上一个目录下创建(注意目录分割为逗号,且没有空格)
注意:
- 创建目录名不能与当前目录中的其他文件或目录重名,若重名则会报错
- 默认情况下,
mkdir
只能创建一级目录,如果要递归创建多级目录,使用p
选项。 - 创建目录时可以指定适当的权限,其默认权限是由umask设置,可以通过chmod修改
touch 命令
-
功能描述:
touch
命令用于创建空文件或更新文件的访问和修改时间。 -
常用选项:
-c
:如果文件不存在,则不创建新文件。-t
:使用指定的时间戳,格式为[[CC]YY]MMDDhhmm[.ss]
。
-
常用示例:
# 示例 1: 创建空文件 touch new_file.txt# 示例 2: 如果文件不存在,则不创建新文件 touch -c existing_file.txt# 示例 3: 使用指定的时间戳创建文件 touch -t 202203091200.00 timestamped_file.txt# 示例 4: 创建多个文件 touch 1.txt 2.txt # 当前文件下创建 touch ../{1.txt,2.txt} # 上一个目录下创建(注意文件分割为逗号,且没有空格)
-
使用时注意事项:
- 如果文件不存在,
touch
命令将创建一个空文件;如果文件已经存在,它将更新文件的访问和修改时间。 touch
命令常用于创建占位文件或更新时间戳。
- 如果文件不存在,
rmdir命令(不推荐)
-
功能描述:删除空目录
-
选项:
-p
:递归删除目录及其上级空目录。
-
常用示例:
# 示例 1: 删除空目录 rmdir empty_directory# 示例 2: 递归删除目录及其上级空目录 rmdir -p path/to/empty_directory
-
注意
rmdir
只能删除空目录,如果目录中包含文件或其他子目录,则需要使用rm
命令。- 删除目录时需要适当的权限,权限不够就无法执行该命令(其实大部分命令权限不够时都无法执行)
rm 命令
-
功能描述:
rm
命令用于删除文件或目录。 -
常用选项:
-r
:递归删除目录及其内容。-f
:强制删除,不提示确认。-i
:交互模式,删除前进行确认提示。
-
常用示例:
# 示例 1: 删除文件 rm filename.txt# 示例 2: 递归删除目录及其内容 rm -r directory_name# 示例 3: 强制删除文件,不提示确认 rm -f filename.txt# 示例 4: 交互模式,删除前进行确认 rm -i filename.txt# 示例 5: 移除多个文件 rm 1.txt 2.txt
-
注意事项:
- 谨慎使用
rm
命令,因为删除的文件无法恢复(linux是没有回收站这一概念的)。 - rm可以完全代替rmdir;删除目录时,通常需要使用
r
选项,除非目录是空的。 - 使用
f
选项时,删除操作将不会提示确认,可能导致意外数据丢失。
- 谨慎使用
cat 命令
-
功能描述:
cat
命令用于连接文件并打印到标准输出,通常用于查看文件内容。 -
常用选项:
-n
:显示行号。-b
:显示行号,但不对空行编号。-A
:显示所有字符,包括控制字符和行尾符。
-
常用示例:
# 示例 1: 显示文件内容 cat filename.txt# 示例 2: 显示文件内容并显示行号 cat -n filename.txt# 示例 3: 连接多个文件的内容并显示 cat file1.txt file2.txt# 示例 4: 将 cat 命令的输出重定向到文件 cat file1.txt > output.txt # 覆盖原文件内容 cat file1.txt >> output.txt # 追加到原文件内容之后
-
注意事项:
cat
不仅仅用于显示文本文件,也可以用于连接和显示二进制文件。- 可以使用
>
将cat
命令的输出重定向到文件。 - 适合显示小文件内容,若文件过大,整个屏幕输出信息一闪而过,不适合查阅。