今天来学习Linux的一些基本的指令。
今天要学习的指令有ls,pwd,mkdir,cd,touch,rm等。
在Linux中,指令的语法通常遵循以下格式:
command [options] [arguments]
command
?是要执行的命令的名称或可执行文件的路径。options
?是可选的命令选项,用于修改命令的行为。选项通常以短横线(-)或双短横线(--)开头。例如,-a
?或?--all
。arguments
?是命令的参数,用于提供操作命令所需的输入。参数根据命令的不同而有所不同。参数可以是文件名、目录名、文本字符串等。有些命令可以接受多个参数。以下是一个示例,展示了一个常见的指令语法:
ls -l /path/to/directory
在这个示例中,ls
?是命令名称,-l
?是选项,用于显示详细的文件列表,/path/to/directory
?是参数,表示要列出文件的目录路径。
另外,还有一些特殊的语法元素在Linux中经常使用:
*
(匹配零个或多个字符)和??
(匹配一个字符)。|
?符号表示。>
?用于将输出重定向到文件,<
?用于从文件中读取输入。那么现在开始介绍第一条指令ls吧。
用于列出当前目录中的文件和子目录。它的作用是显示指定目录下的文件列表。
那么来看一下ls指令的选项。
-l:显示更多的文件属性。 ls -l 也可以简写成ll
说到了文件属性,突然想问一个问题:
在文件夹下建立一个新的.txt 文件,文件大小为空,是否会占用空间?
是!因为文件有它的各种属性,这各种属性都属于数据,数据都需要存储,就会占用空间。
文件 = 文件的内容 + 文件的属性。
文件的操作 = 对文件内容的操作 + 对文件属性的操作。
-a:显示所有的文件,包括隐藏文件。
在Linux中,以’.’开头的文件,称之为隐藏文件。
在Linux任何一个目录底下都有两个隐藏文件 ‘.’?‘..’。
其中两个点表示当前路径的上一级路径。
一个点表示当前路径。存在的意义:帮助用户定位当前目录下的一个文件。
-d:将目录象文件一样显示,而不是显示其下的文件。eg:ls -d 指定目录。
-F:在每个文件名后附上一个字符以说明该文件的类型。’*’表示可执行的普通文件,’/’表示目录,’@’表示符号链接,’|’表示FIFOs;’=‘表示套接字(sockets)。
cd指令用于改变当前工作目录。通过输入"cd"命令,然后跟上目标目录的路径,可以切换到该目录下工作。例如,输入"cd /home/user/documents"可以切换到用户文档目录。
看到每一个'/',就要说一说Linux的路径分隔符了。
在Linux中的路径分隔符为’/’。
在Windows中的路径分隔符为’\’。
在Linux中一直cd ..回退,当只剩下一个’/’时,把’/’称为根目录。
Linux的整个目录结构:一个多叉树的结构。所以我们对文件或者目录的增删查改,本质上都是对这课多叉树的增删查改。
Linux用路径去定位一个文件,是因为任何一个结点都只有一个父节点。
1.绝对路径往往比较长,但是不变,一般在一些固定场景,配置文件中使用。
2.一般命令行输入比较常用相对路径。
cd .. :返回上一级目录
cd ~ : 进入用户的家目录
cd - :返回最近访问的目录
看到了用户的概念,也需要提一提Linux 的两种用户。
Linux有两种用户:超级用户root和普通用户。
root用户只能有一个,普通用户可以有很多个
在centos当中,普通用户的用户名存放在/home当中
在Linux中,touch指令用于创建空白文件或者更新已有文件的时间戳。如果指定的文件已存在,touch指令会更新该文件的访问时间和修改时间为当前时间,如果文件不存在,则会创建一个空白文件。touch指令的语法为"touch [选项] 文件名",其中选项可以用来指定时间戳
-t:用于指定时间
-a:用于更新访问时间,
-m:用于更新修改时间。
mkdir[选项] dirname
在当前目录下创建一个名为“dirname”的目录。
但是如果你要创建一串路径的目录。
就需要使用到mkdir的-p选项。
eg:mkdir -p dir1/dir2/dir3
rmdir---只可以删除空的目录
在Linux中,rm指令用于删除文件或目录。
-f:不会弹出提示,会直接删除。
-r:才可以递归式删除。
-i:会询问是否删除。
要删除目录及其包含的所有文件和子目录,可以使用"rm -r 目录名"的命令。
一般来说,Linux只需要rm就足够了。
删除一定要谨慎,因为Linux恢复文件很难。
正在被使用的文件,操作系统一般删除不了。
*:通配符,ls * 操作的时候可以发现,它可以匹配当前目录下的所有文件。
eg:ls *.c表示匹配当前目录下的所有以.c结尾的文件。
ls * test.*表示匹配当前目录下的所有以test开头的任意文件类型的文件。