Linux操作基本都是以指令的形式来完成的,本篇文章将详细介绍Linux中最基本的指令。
我采用的Linux系统为 CentOS 7.9 64位。
基本指令
任何指令本质都是程序 ,可以使用 which 指令找到指令所在的目录。
· ls 指令
语法:ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
- -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
- -l 列出文件的详细信息。
- -t 以时间排序。
- -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
举例:
· pwd 指令
语法:pwd
功能:显示用户当前所在的目录
常用选项:
无
举例:
补充说明:
在当前目录名那里, / 是指根目录, ~ 是指家目录。
在路径当中,/ 是路径分隔符。(windous里面是\)
whoami 指令可以查看当前用户名
· cd 指令
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
常用选项:
无
举例:
补充说明:
. . 是指当前目录上级,. 是指当前目录,这俩属于相对路径,也是隐藏在所有的目录下的两个目录,可以使用 ls -a 找到这俩目录。
cd 指令可以使用绝对路径或者相对路径。
cd - 可以跳转到我们最近一次所处的路径下
Linux的整个文件目录结构是一种多叉树结构
. . :可以方便我们进行路径回退,毕竟,不光能要进去,也要能出来。
. :方便我们找到当前目录下的一个文件,尤其是可执行文件。
· mkdir 指令(重要)
语法:mkdir [选项] dirname
功能:在当前目录下创建一个名为“dirname”的目录
常用选项:
- -p 一次可以建立多个目录;
举例:
· clear 指令
语法:clear
功能:将屏幕清空使命令行移到终端顶端。
常用选项:
无
举例:
· touch 指令
语法:touch [选项] 文件
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
- -a 或–time=atime或–time=access或–time=use只更改存取时间。
- -d 使用指定的日期时间,而非现在的时间。
- -m 或–time=mtime或–time=modify 只更改变动时间。
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
- -t 使用指定的日期时间,而非现在的时间。
举例:
· rmdir 指令
语法:rmdir [选项] dirname
功能:删除空目录
常用选项:
- -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
举例:
· rm 指令(重要)
语法:rm [选项] 目录或文件
功能:rm命令可以同时删除文件或目录
常用选项:
- -f 即使文件属性为只读(即写保护),亦直接删除
- -i 删除前逐一询问确认
- -r 删除目录及其下所有文件
举例:
补充说明:rm 指令在需要删除目录时,需要使用 -r 选项,这个选项将会删除目录底下的所有目录和文件。使用 -f选项可以跳过每次询问。
· man 指令(重要)
语法:man [选项] 命令
功能:查看联机手册获取帮助
常用选项:
- -k 根据关键字搜索联机帮助
- num 只在第num章节找
- -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
举例:
补充说明:如果在执行命令的时候,系统提示找不到命令,可能是系统还没有安装该命令文件,可以输入 yum -y install 指令名 来下载安装指令。比如 yum -y install man 。man 手册一共有8章:
- 是普通的命令
- 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文
件) - 是库函数,如printf,fread
- 是特殊文件,也就是/dev下的各种设备文件
- 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
- 是给游戏留的,由各个游戏自己定义
- 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
- 是系统管理用的命令,这些命令只能由root使用,如ifconfig
· cp 指令(重要)
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
常用选项:
- -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
- -i 或 --interactive 覆盖文件之前先询问用户
- -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
- -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
举例:
补充说明:cp 指令在拷贝到目标目录时可以更改文件名称,原文件仍存在。
· mv 指令(重要)
语法:mv [选项] 源文件或目录 目标文件或目录
功能:
- 在一个指定的目录下,对一个文件或者目录进行重命名。
- 将指定目录下的文件或者目录,“剪切”到指定目录下。
常用选项:
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
举例:
补充说明:mv 指令在拷贝到目标目录时可以更改文件名称,原文件不存在了。
· cat 指令
语法:cat [选项][文件]
功能:查看目标文件的内容
常用选项:
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行
举例:
补充说明:使用 touch 指令可以创建文件,使用 nano 指令可以编写文件。cat 指令可以正向打印文件内容,tac 指令可以逆向打印文件内容。
· more 指令
语法:more [选项][文件]
功能:more命令,功能类似 cat,可以查看文件
常用选项:
- -n 对输出的所有行编号
- q 退出more
举例:
补充说明:按回车可以下翻,但是不能上翻,不推荐这个指令。
· less 指令(重要)
语法: less [参数] 文件
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前
不会加载整个文件。
常用选项:
- -i 忽略搜索时的大小写
- -N 显示每行的行号
- /字符串:向下搜索“字符串”的功能
- ?字符串:向上搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- q:quit
举例:
补充说明:功能比 more 强大,按上下键就可以自由查看。
· head 指令
语法:head [参数] [文件]
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
常用选项:
- -n<行数> 显示的行数
举例:
· tail 指令
语法: tail[必要参数][选择参数][文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
常用选项:
- -f 循环读取
- -n<行数> 显示行数
举例:
补充说明:使用管道 | 即可实现级联中间查找。
· find 指令(重要)
语法:find pathname -options
功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
- -name 按照文件名查找文件。
举例:
· grep 指令
语法:grep [选项] 搜寻字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来
常用选项:
- -i :忽略大小写的不同,所以大小写视为相同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
举例:
补充说明:grep 指令可以很好的做到行文本过滤作用,但是只能操作文本文件。
总结
学习Linux时,指令太多记不住怎么办,不需要记!常用的会经常敲,不知不觉就能记住,不常用的也不用记,用到的时候查阅即可。学习linux最重要的是知识,而非指令。