一、什么是Linux的指令呢?
Linux命令是在命令行上运行的程序或实用程序。命令行是一个界面,它接受文本行并将其处理为计算机的指令。通俗来讲,我们所输入的指令就是一个可执行程序。当我们运行一条指令时,会在系统相应文件下找相应的指令,然后在执行。相当于就是执行了一个可执行程序。
Linux下的指令有很多,我们接下来讲解最为常用的指令。
二、Linux下的常用指令
2、1 ls 指令
语法 : ls [ 选项 ] [ 目录或文件 ]
功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录。
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件。
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件。
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表。
示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。
上述为ls指令的功能、和选项。最为常用的几条选项我们进行了标记(加黑处理)。接下来我们看其具体实例用法是什么样子的。
2、1、1 ls -a
我们在这里创建一个空目录,我们看到 ls ,并没显示右任何文件。但是该目录下还有隐藏文件(文件名称以 · 开头的)。ls -a即可查看隐藏文件。
2、1、2 ls -l
-l 选项是可以显示出文件的详细信息。具体实例我们可以看如下:
其中详细信息包含了文件的多种属性。我们这里还有一个需要注意的点是:ls -l 等同于 ll。
2、1、3 ls -d
通过上图,我们想看看目录的详细信息,结果直接显示的是目录里文件的详细信息。这时候我们可以选择 ls -d 选项,具体如下图:
2、2 pwd 指令
pwd指令就是显示出我们当前所在问价的路径,具体如下:
并没有选项可其他操作,主要就是查看当前所在问价的路径。
2、3 cd 指令
语法 :cd 目录名
功能 :改变工作目录。将当前工作目录改变到指定的目录下。
举例:
cd .. : 返回上级目录;
cd /home/litao/linux/ : 绝对路径;
cd ../day02/ : 相对路径;
cd ~:进入用户家目;
cd -:返回最近访问目录。
我们从上述了解到 cd 指令的功能就是切换目录。 其中还有家目录和根目录。什么是家目录和根目录呢?我们可以先了解一下Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。如下图:
我们自己所创建的用户都在家目录(home)下。从上图我们也可以以了解到,我们所说的根目录就是所有文件的组织者。通俗来讲,Linux下的所有文件都在根目录( \ )下。
cd 指令到底怎么用呢?我们可先看下图:
我们这里结合了pwd指令一起理解。
2、4 touch 指令
语法 :touch [ 选项 ]... 文件 ...
功能 : touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项 :
-a 或--time=atime或--time=access或--time=use只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间
touch指令是创建文件。其中touch指令下有很多选项,其中我们都不经常用,大概了解一下即可。 注意:这里的touch是创建的普通文件(文本文件等等),与后面要学的mkdir指令创建的文件夹(目录)还是有所区别的。我们看看touch使用的实例。
2、5 mkdir 指令
语法:mkdir [选项] dirname...
功能 :在当前目录下创建一个名为 “dirname” 的目录
常用选项 :
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
mkdir指令是值得在某路径下创建一个目录。我们来看其使用实例。
2、5、1 mkdir -p
还有我们在同一目录下连续创建多个目录。我们先看正常情况下是一个一个创建,如下图:
通过上图发现,假如我们同时要创建更多的目录呢?上面的创建方式泰国麻烦。这时我们想到,同时创建多个目录。如下:
我们发现默认情况是不被允许的。我们可以用 -p 选项进行同时创建多个目录。如下:
这时候就创建成功了。
2、6 rmdir指令 和 rm 指令
2、6、1 rmdir 指令
语法:rmdir [-p][dirName]
适用对象 :具有当前目录操作权限的所有使用者
功能 :删除空目录
常用选项 :
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除目录命令。我们看具体实例:
注意,rmdir是之恶能删除目录,不能删除普通文件。因此还是收到一定的局限。因此rmdir并不常用。常用的是下面的 rm 指令。
2、6、2 rm 指令
rm命令可以同时删除文件或目录
语法 : rm [-f-i-r-v][dirName/dir]
适用对象 :所有使用者
功能 :删除文件或目录
常用选项 :
-f 即使文件属性为只读(即写保护),亦直接删除;
-i 删除前逐一询问确认;
-r 删除目录及其下所有文件。
rm指令是经常使用的一个指令。rm指令普通文件和目录均可以删除。其中最为常用的选项有两个:-f,-r。
当一个目录不为空时,我们想删除整个目录及其内容,我们需要加上 -r 选项。其意思就是递归删除。在Linux下,文件和目录的建立就是以递归形式建立的。我们看如下实例
-f 选项就是有强制删除的意思。有时候我们在删除文件时(在root用户下删除文件等情况),系统会提示我们是否要进行删除。如果我们并不想看到提问,我们就可以加上 -f 选项,进行强制删除。具体实例我们可看如下:
2、7 man 指令
Linux 的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问 Linux 手册页的命令是
man 语法 : man [ 选项 ] 命令
常用选项
-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。
解释一下,man手册分为8章
1 是普通的命令;
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件);
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件;
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义;
6 是给游戏留的,由各个游戏自己定义;
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明;
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig。
man手册还是比较重要的,例如我们不知道某个指令怎么使用,我们就可以通过man手册进行查询该指令的相关操作的使用方法。例如下图:
当然,我们也可查看man手册。指令:man man。 具体如下:
当然,我们最初的man手册可能并不是较为完善的man手册。我们可通过:yum install -y man-pages 来补充完善我们的man手册。
2、8 cat 指令
语法:cat [选项][文件]
功能: 查看目标文件的内容
常用选项:
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行
cat指令就是来查看目标文件的内容。
默认输出文件的内容并不带行编号。我们看其选项。
2、8、1 cat -n
cat -n是对所有行输出行编号。我们看如下实例:
2、8、2 cat -b
cat -b是对非空输出行编号。我们看如下实例:
2、8、3 cat -s
cat -s是不输出多行空行(多行连续的空行,只输出一行)。我们结合输出行号一起看一下,效果更加明显。我们看如下实例:
2、9 echo 指令
echo指令就是将一段字符串输出到指定文件。我们先看如下使用:
通过上图我们可以看出,echo指令默认是输出到屏幕上。但是我们想输入到一个文件中呢?我们可以利用输出重定向符号 ‘ > ’。
2、9、1 输出重定向符号 > (写入)
我们结合下图来讲解:
我们看到原本并没有 text.txt 文件但是我们通过输出重定向输出到 text.txt 文件中并没有显示错误。原因是默认情况下,如果文件不存在,就会先创建文件在对其进行输入。
我们多次输出到文件,如下:
发现还是只输出一条语句。原因是输出重定向 > 在对文件进行写入前,会先清空文件的内容,再对其进行写入。所以我们看到的只有一条语句。
2、9、2 输出重定向符号 >> (追加)
在写入时,我们并不想删除文件中原本的内容,我们可选择使用输出重定向符号 > (写入)。 我们看下图:
这样就相当于追加写入,写入时自动会换行,并且不会删除原文件的内容。
本篇文章的讲解就先到这里,后续会更新出下篇文章的哦ovo