目录
ls指令
- -a:列出目录下的所有文件,包括以 . 开头的隐含文件。隐含文件通常是系统文件或配置文件,以 . 开头表示隐藏。
- -d:将目录本身像文件一样显示,而不是显示其下的文件。比如 ls -d 指定目录 将只显示指定目录的信息,而不会列出目录下的文件。
- -l:以长格式(详细信息)列出文件。这将显示文件的权限、所有者、所属组、文件大小、创建或修改时间等详细信息。
- -n:用数字的 UID(用户标识)和 GID(组标识)代替名称。这对于显示文件所有者和组的数字标识符而不是用户名和组名很有用。
- -R:列出所有子目录下的文件,即递归显示目录结构。
- -1:一行只输出一个文件。这个选项通常用于在命令行中以一列的形式列出文件。
- -t:以时间排序。文件和目录按照它们的修改时间进行排序,最新的文件会显示在前面。
- -s:在文件名后输出该文件的大小。这将以块为单位显示文件的大小。
- -F:在每个文件名后附上一个字符,表示文件的类型。例如,* 表示可执行的普通文件,/ 表示目录,@ 表示符号链接,| 表示 FIFOs(命名管道),= 表示套接字(sockets)
当我不显示列出具体目录,则认为是在当前所在的目录(pwd所显示的)
当我列出具体目录时,则列出具体目录下所有的目录和文件
pwd
- 显示当前工作目录
语法: pwd
功能: pwd
(print working directory)命令用于显示当前工作目录的完整路径
绝对路径 相对路径
Linux 中 / 作为目录分隔符 window 中 \ 作为目录分隔符
1.绝对路径
绝对路径是从文件系统的根目录开始描述文件或目录的路径。在Linux中,根目录用斜杠 /
表示,而在Windows中,每个驱动器都有自己的根目录,例如 C:\
。绝对路径可以唯一地标识文件系统中的某个位置,不受当前工作目录的影响。
2.相对路径
相对路径是相对于当前工作目录或其他已知位置的路径。相对路径不包含根目录信息,而是描述如何从当前位置导航到目标文件或目录。在相对路径中,使用 .
表示当前目录,使用 ..
表示上级目录。
cd ../../../.. 表示前进4个父目录
3.文件路径和目录路径
路径可以是文件路径或目录路径,具体取决于路径的最后一部分是指向文件还是目录。
4.分隔符
在Linux中,路径分隔符是正斜杠 /,而在Windows中,路径分隔符是反斜杠 \。大多数现代操作系统和文件系统能够接受使用正斜杠或反斜杠表示的路径。
5.绝对路径 vs. 相对路径
绝对路径:
完整指定文件或目录的位置,不依赖于当前工作目录。
在不同系统上通常具有更好的可移植性。
更适合用于脚本和程序中,确保稳定性。
相对路径:
相对于当前工作目录或其他已知位置,更简洁。
在文件移动或项目结构变化时可能更易维护。
相对路径可能会受到当前工作目录的变化而产生影响。
特殊目录表示法
- . 表示当前目录。
- .. 表示上级目录
cd - 切换目录
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下(绝对和相对路径都行)
Linux的目录结构是一个多叉树
touch - 创建文件或更新时间戳
语法:touch [选项] 文件
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
- -a 或 --time=atime 或 --time=access 或 --time=use:只更改文件的访问时间。
- -c 或 --no-create:不建立任何文档。
- -d:使用指定的日期时间,而非当前时间。
- -f:此参数将忽略不予处理,仅负责解决BSD版本 touch 指令的兼容性问题。
- -m 或 --time=mtime 或 --time=modify:只更改文件的修改时间。
- -r:把指定文档或目录的日期时间,设成和参考文档或目录的日期时间相同。
- -t:使用指定的日期时间,而非当前时间
mkdir - 创建新目录
语法:mkdir [选项] dir_name
功能:在当前目录下创建一个名为 dir_name的目录
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
创建单个目录:
mkdir new_directory
创建多个目录:
mkdir dir1 dir2 dir3
递归创建目录及其父目录:
mkdir -p parent_directory/child_directory
rm
- 删除文件或目录
语法:rm [选项] [dir_name/dir]
功能:删除文件或目录
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件(
r
代表递归)
解释:删除a ,也就是把 a , b , c , d , e , f 删除
man - 显示命令手册页面
语法: man [选项] 命令
功能:Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助
-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
3.7.1手册介绍
Unix/Linux 系统手册页的八个主要部分的简要说明:
- 第一章(1):普通命令
- 包含了系统中可供一般用户使用的常规命令的手册页。这包括各种常见的命令,如 ls、cp、mv 等。
- 第二章(2):系统调用
- 包含了系统调用的手册页,系统调用是应用程序与操作系统内核之间的接口。这些手册页通常提供有关如何使用系统调用以及调用所需的头文件信息。
- 第三章(3):库函数
- 包含了 C 库函数的手册页,这些函数由标准 C 库提供。这包括如 printf、scanf、malloc 等函数的详细信息。
- 第四章(4):特殊文件
- 包含有关特殊文件(通常在 /dev 目录下)的手册页。这些文件代表设备,手册页描述了如何与这些设备文件进行交互。
- 第五章(5):文件格式
- 包含有关文件格式的手册页。这包括配置文件、数据文件等,如 /etc/passwd,其中说明了文件中各字段的含义。
- 第六章(6):游戏
- 预留给游戏使用,包含了与游戏相关的手册页。
- 第七章(7):附录和杂项
- 包含一些附加信息,如全局变量的说明,以及一些其他杂项。
- 第八章(8):系统管理命令
- 包含了仅供系统管理员(root 用户)使用的系统管理命令的手册页。这包括诸如 ifconfig、mount、shutdown 等命令的详细信息。
每个章节都包含了对应类型的手册页,通过 man 命令可以方便地访问和阅读这些手册页,以获取有关命令、函数、文件和系统的详细信息
cp - 复制文件或目录
语法:cp [选项] 源文件或目录 目标文件或目录 ( cp sce dst )
功能: 复制文件或目录
注意:若 dts 存在 ,则将sce的内容拷贝给dst,若dst不存在 ,则创建一个新文件,将sce的内容拷贝给新文件
cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
- -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
- -i 或 --interactive 覆盖文件之前先询问用户
- -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
- -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
nano - 文本编辑器
用法:nano [选项] 文件名
常用选项:
- -c,–const:禁用控制键位。
- -r,–restricted:限制访问,避免执行危险操作。
- -w,–nowrap:禁用自动换行。
基本操作:
- Ctrl + O:保存文件。
- Ctrl + X:退出编辑器。
- Ctrl + G:获取帮助。
打开或创建文件进行编辑:
- nano filename.txt
保存文件并退出:
- 按 Ctrl + O,然后按 Enter 保存文件。
- 按 Ctrl + X 退出编辑器。
mv - 移动或重命名文件或目录
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
改名:
拷贝: