Linux(一) —— 基本指令

  • Post author:
  • Post category:linux




1、ls指令

ls指令的功能有两个:

一是对于目录,列出该目录下的所有子目录与文件。

二是对于文件,列出文件名以及其他信息。

用法:ls [选项] [目录或文件]

如果不加选项,直接输入ls,就会直接显示该目录下的目录和文件。

如果加选项,在ls指令中,不同的选项具有的功能是不一样的,常用选项如下:

-a:列出当前目录下的所有文件,包括隐藏文件。

-d:只显示指令的目录,不显示其中的文件。比如:ls -d 指定目录,这个命令就只会显示指定 的目录,其中的文件是不显示的。

-l:列出当前目录下文件的详细信息。

-k:以k字节的形式表示文件的大小。比如:该选项可以和-a、-l连在一起,ls -alk表示以k字节的形式打印该目录下的所有文件的详细信息,包括隐藏文件。

-R:以递归的形式列出所有子目录下的文件。



2、pwd命令

pwd的功能是显示当前所在的目录,以路径的方式进行展示。

在这里插入图片描述

用法:pwd



3、cd指令

cd指令从字面意思上理解就是改变目录,因此它的功能是改变工作目录,将当前目录改变到指定目录下。

用法:cd 目录名

在这里需要讲解几个linux中比较重要的概念:



“.“和”. .”

在linux中,

“.”表示的是当前目录,比如:ls . 就表示显示当前目录下的目录和文件。

“. .”表示的是上级目录,比如:ls . .表示展示上级目录下的目录和文件。



绝对路径和相对路径

绝对路径:指的是从根目录开始到当前目录的路径,它的参考对象是根目录。

相对路径:指的是从当前目录开始到其它目录或者文件的路径,它的参考对象是当前目录。

比如说:

有一张图片存在桌面上,那么它的绝对路径就是C:/用户/xxx/桌面/图片.jpg,此时是以根目录C盘作为参考对象。

如果现在就在桌面的文件夹中,那么相对路径表示为桌面/图片.jpg,此时是以桌面作为参考对象。

根据上面的几个概念,通过cd指令可以完成很多快捷操作:

cd . .:返回上级目录。

cd /home/xiaoli/code:通过绝对路径进入某个目录。

cd . ./lesson2:通过相对路径进入某个目录。

cd ~:直接进入用户工作目录home。

cd -:返回最近访问的目录。



4、touch指令

touch指令的功能是修改一个文档或者目录的日期时间,或者新建一个不存在的文件

用法:touch [选项] 文件

touch在使用的时候可以分两种情况:

(1) 不加选项的时候,功能是新建一个不存在的文件

(2) 加选项的时候,各个选项的功能如下:

-a 或 –time=atime 或 –time=access 或 –time=use:只更改存取时间。

-c 或 –no-create:不建立任何文档。

-d:使用指定的日期时间,而非现在的时间。

-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m 或 –time=mtime 或 –time=modify:只更改变动时间。

-r:把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t:使用指定的日期时间,而非现在的时间


用touch创建文件的时候,一次可以创建一个或多个:

在这里插入图片描述



5、mkdir指令

功能是在当前目录下创建一个目录

用法:mkdir [选项] dirname

dirname称作目录名,使用mkdir时可以任意命名

(1) mkdir不加选项的时候,可以直接创建一个或多个目录

在这里插入图片描述

(2) mkdir的选项只有一个:

-p 或 –parents:在某一路径下创建一个目录。如果此时路径中的某些目录是不存在的,系统会自动建立好那些不存在的目录,也就是说,利用该选项,可以一次性在某个路径下创建多个目录。

在这里插入图片描述



6、rmdir指令和rm指令



rmdir指令

rmdir指令与mkdir指令是相对应的,mkdir是创建目录,而rmdir是删除目录。

功能:rmdir命令是删除目录,但是注意,它只能删除

空目录



用法:rmdir [选项] 目录名

常用选项:-p:子目录删除后,如果父目录变成空目录的话,就连带父目录一起删除。

**注意:**rmdir的适用对象是具有该目录操作权限的使用者,也就是说没有权限的人是无法通过该命令删除目录的。



rm指令

功能是删除文件或者目录

用法:rm [选项] 文件名或目录名

常用选项:

-f:直接删除文件,不进行询问。

-i:删除前逐一询问确认。

-r:删除目录及其之中的所有文件,也就是以递归的方法删除。


注意:


(1) rm命令所有的使用者均可使用,没有权限限制。

(2) 加入某一个文件的权限比较高,进行删除的时候会进行询问。那么此时删除的时候带上-r 选项就会直接删除。

在这里插入图片描述

(3) 使用rm -rf命令可以递归删除目录,并且不需要询问确定。

(4) 使用rm . \ *可以删除该目录下的所有内容,其中:./表示告知系统,要访问的资源在当前目录下,省略的话默认是当前目录;*是通配符,能够匹配该路径下的所有内容。



7、man指令

功能是可以通过联机手册查看命令。

用法:man [选项] 命令

常用选项:

num:man + num表示只在第num章节找

手册一共分为8章:

通过man man命令可以查看手册的内容

在这里插入图片描述

1是普通的命令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)

3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件

5 是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 是系统管理用的命令,这些命令只能由root使用,如ifconfig



8、cp指令

功能是复制文件或目录。

用法:cp [选项] 源文件或者目录 目标文件或者目录

比如:cp test.c dir 表示将当前目录下的test.c复制到dir目录下。

常用选项:

-f 强制复制文件或目录,不论目的文件或目录是否存在

-i 覆盖文件之前询问用户

-r 递归处理,也就是将指定目录下的文件与子目录一起处理。



9、mv指令

功能是移动文件或者将文件改名。

语法:mv [选项] 源文件或目录 目标文件或目录

常用选项:

-f:强制的意思,如果目标文件已经存在,不会询问直接覆盖。

-i:如果目标文件已经存在,会询问是否覆盖。



10、cat指令

功能能是查看目标文件的内容。

用法:cat [选项] [文件]

常用选项:

-n:对输出的所有内容进行行编号

-b:对非空输出行编号


注意

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录), mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时, mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv命令将各参数指定的源文件均移至目标目录中。



11、more命令

more指令的功能与cat类似,cat命令会直接显示所有的内容,more命令会显示一部分,可以通过向下翻页查看(more只能向下翻页,不能向上翻页)。

语法:more [选项] [文件]

常用选项:

-n:对所有输出的行编号

q 退出more



12、less指令

less的功能和more类似,但是less可以任意浏览文件,可以进行上下翻页,并且less在查看之前不会加载整个文件。

用法:less [参数] 文件

常用选项:

-i:忽略搜索时的大小写

-N:显示每行的行号

/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

q:quit



13、head指令

功能:用来显示文件的开头到标准输出中,默认的head命令默认显示文件的开头10行。

用法:head [参数] [文件]

选项:

-n<行数>:显示的行数

比如:

head -5 mytest.c 表示显示mytest.c的前5行

在这里插入图片描述



14、tail指令

功能:从尾部开始将文件中的信息写到标准输出中,tail指令可以用来查看最新写入的信息,比较常用的是查看日志文件。

用法:tail [选项] 文件

常用选项:

-f 循环读取

比如:tail -f mytest.c可以将mytest.c文件最尾部的内容显示在屏幕上,并且不断刷新。

-n<行数>:显示行数

这里我们回答一个问题:


用head命令和tail命令如何将一个文本的1000-1010行显示在屏幕上?


方法一:

可以通过head命令,head -1000 file.txt,将文本的前1010行拿出来;然后通过tail命令,tail -10 file.txt将最后10行拿出来。

这样子是可行的,但是比较浪费空间,并且有一些复杂。

方法二:

可以用以下命令:

head -1010 file.txt | tail -10来完成拿到1000到1010行的文本。

“|”叫做管道,其本质是为了传输数据,管道一般有一个入口和一个出口。

那么上面的命令中,左边的命令head -1010 file.txt用来生产1010行文本,叫做生产数据,作为入口;右边的命令tail -10用来拿到最后的10行文本,叫做读取数据,作为出口。



15、date指令

功能:显示当前的时间

用法:date [选项] [+格式]

1、在显示方面

直接用date指令来显示,格式比较奇怪。

在这里插入图片描述

可以通过设置指定的格式来进行显示。

%H : 小时

%M : 分钟

%S : 秒

%X : 相当于 %H:%M:%S

%d : 日

%m : 月份

%Y : 完整年份

%F : 相当于 %Y-%m-%d

在这里插入图片描述

2、在设定时间方面

date -s //设置当前时间,只有root权限才能设置,其他只能查看。

date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00

date -s 01:01:01 //设置具体时间,不会对日期做更改

date -s “01:01:01 2008-05-23″ //这样可以设置全部时间

date -s “01:01:01 20080523″ //这样可以设置全部时间

date -s “2008-05-23 01:01:01″ //这样可以设置全部时间

date -s “20080523 01:01:01″ //这样可以设置全部时间

3、时间戳

时间戳指的是从1970年1月1日8点到现在的秒数。

可以通过date +%s命令获得

在这里插入图片描述

但是时间戳给的秒数我们不知道它代表了什么时间,那么可以通过下面的命令:


date -d @时间戳


来获取某个时间戳代表的时间

在这里插入图片描述

但是这样子的格式比较奇怪,那么可以通过命令


date +格式 -d @时间戳


来将某个时间戳显示成我们想要的格式。

在这里插入图片描述



16、cal指令

功能:查看日历等时间信息,没有参数的时候默认查看的是当月的日历。

用法:cal [选项]

选项:

-y:查看当前年份的日历

-j:显示在当年中的第几天

-3:显示前一个月、当前月和下一个月的日历



17、find指令

功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)。

用法:find 路径 选项

常用选项(目前只介绍一个,后面的后续在进行介绍):

-name:按照文件名查找文件或者目录

-size:按照文件大小查找文件或者目录

在这里插入图片描述

在这里插入图片描述



18、grep指令

功能:在文件中搜索字符串,将找到的行打印出来。

用法:grep [选项] 搜索的字符串 文件

常用选项:

-i:忽略大小写的不同,所以大小写视为相同

-n:顺便输出行号

-v:反向选择,也就是显示出没有 ‘搜寻字符串’ 内容的那一行

在这里插入图片描述



19、zip/unzip指令

功能:将目录或者文件压缩成zip格式/对目录或文件进行解压

用法:zip 压缩文件.zip 目录或文件/unzip 压缩文件.zip 目标路径

常用选项:

-r:递归处理,对于zip指令来说,将指定目录下的所有文件和子目录一并处理。

在这里插入图片描述

在这里插入图片描述



20、tar指令

功能:打包/解包,但是不打开它,直接看内容。

用法:tar [-cxtzjvf] 文件或目录 … 参数

参数选项:

-c:建立一个压缩文件的参数指令(create 的意思);

-x:解开一个压缩文件的参数指令!

-t:查看 tarfile 里面的文件!

-z:是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

-j:是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

-v:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f:使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

-C: 解压到指定目录



21、uname指令

功能:可以用来获取电脑和操作系统的相关信息。

用法:uname [选项]

常用选项:

-r:可以查看系统的CPU内核号

-a/-all:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。

在这里插入图片描述



版权声明:本文为qq_41490958原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。