前言
在当今的计算机世界中,Linux操作系统以其强大的稳定性和开源特性,赢得了广泛的关注和应用。对于初学者来说,掌握Linux的基础指令是打开这一神秘世界的钥匙。本篇文章,作者将带领大家入门Linux并介绍Linux的一些基础指令,让你在命令行中畅游,感受Linux带来的无限可能。
一、Linux简介
Linux是一种自由和开放源码的类Unix操作系统,它最初由芬兰程序员林纳斯·格瓦兹(Linus Torvalds)于1991年开发。该系统基于Unix操作系统,继承了Unix以网络为核心的设计思想。在服务器管理、软件开发,还是日常办公当中,Linux都扮演着不可或缺的角色。
Linux的主要特性如下:
开源性:Linux是开源的操作系统,任何人都可以查看、修改、分发Linux的源代码。
多用户多任务:支持多个用户同时操作,执行多项任务。
稳定性:Linux系统以其出色的性能稳定性和高可靠性,在服务器开发领域有着广泛的应用。
安全性:Linux系统的安全性得到了广泛认可,这主要得益于其开源的开发模式,使得系统能够快速响应安全威胁并获得持续的安全更新。
基于Linux内核,开发者创建了多个不同的操作系统版本,称为“发行版”。目前市面上较知名的发行版有Ubuntu、RedHat、CentOS、Debian、Fedora等,每个发行版都有其独特的特性和用途。
Linux是一个功能强大、稳定可靠的操作系统,具有广泛的应用场景和深厚的社区支持。无论是初学者还是资深用户,都能在Linux中找到适合自己的工具和资源。
二、Linux常用基础指令
接下来,我们就开始逐一介绍Linux常用指令以及它们的功能。
ls指令
语法:ls [选项] [目录或文件]
功能:对于目录,列出该目录下的所有子目录或文件。对于文件,列出该文件的信息。
常用选项:
-a 列出目录下所有文件,包括以“ . ”开头的隐藏文件。
-l 列出文件详细信息。
举例:
ls -l //等价于ll
whoami指令
语法:whoami
功能:显示当前登录用户的用户名。
pwd指令
语法:pwd
功能:显示出用户当前所在的目录。
cd指令
语法:cd [目录名]
功能:改变用户当前所在的目录。
在Linux系统当中,磁盘中的目录和文件共同组成了一颗目录树,树中的每一个节点都是一个目录或文件。
举例:
cd .. //返回到上级目录 cd /home/dawei //进入该绝对路径下 cd ../xxx //进入该相对路径下 cd ~ //进入用户的家目录 cd - //返回到最近访问的目录
touch指令
语法:touch [文件名] ...
功能:新建一个或多个不存在的普通文件。
举例:
touch xxx.c //创建一个文件,叫做xxx.c touch aaa.c bbb.c ccc.c //创建三个文件
使用touch指令配合一些选项也可以更改目录或文件的日期和时间,不过并不是很常用。
mkdir指令(重点)
语法:mkdir [选项] [目录名]
功能:新建一个目录。
常用选项:
-p 沿着一条不存在的路径一次创建多个目录。
举例:
mkdir -p test1/test2/test3 //沿着路径创建三个目录
rmdir指令(重点)
语法:rmdir [选项] [目录名]
功能:删除一个空目录。
常用选项:
-p 当子目录被删除后,若父目录为空,则将父目录也一并删除。
rm指令(重点)
语法:rmdir [选项] [目录或文件]
功能:删除一个目录或文件。
常用选项:
-f 执行指令后,不经询问直接删除。
-i 删除之前逐一询问确认。
-r 当被删除的目录下有其他文件或目录时,需要配合该选项删除其下所有目录或文件。
man指令(重点)
由于Linux的命令及其参数有很多,我们不可能一次性全都记住,这时就可以通过联机手册来查询。访问联机手册的指令就是man。
语法:man [选项] [命令]
常用选项:
-k 根据关键字搜索联机帮助
[n] 只在第n章节中查找
-a 将所有章节的都显示出来。比如 man printf 它默认从第一章开始搜索,找到就停止;如果用a选项,命令执行后就会从第一章开始搜索,找到就显示出来。然后按下q退出,再按回车,它就会继续往后面搜索,直到所有章节都搜索完毕。
这里解释一下联机手册的章节:
联机手册一共分为8章
1. 是普通的命令
2. 是系统调用,如open、write之类的(通过这个,至少可以很方便的查到调用这个函数需要加什么头文件)
3. 是库函数,如printf、fread
4. 是特殊文件,也就是/dev下的各种设备文件
5. 是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义
6. 是给游戏留的,由各个游戏自己定义
7. 是附件,还有一些变量,比如environ这种全局变量在这里就有说明
8. 是系统管理用的命令,这些命令只能由root使用,如ifconfig
例如我们要查询一下c语言的printf函数:
man 3 printf
可以看到关于printf函数的详细信息:
注:有些云服务器可能无法查到printf等c语言库函数,是由于联机手册的功能被阉割了,执行以下命令就可以查找:
yum install -y man-pages
cp指令(重点)
语法:cp [选项] [源文件或目录] [目标文件或目录]
功能:复制文件或目录。
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中;最后的目的地并非一个已存在的目录,则会出现错误信息。
常用选项:
-f 不经询问强行复制,无论目标文件或目录是否存在
-i 若会覆盖文件,则执行之前询问确认
-r 复制目录时使用,会以递归的方式一并复制所有子目录和文件
mv指令(重点)
mv是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法:mv [选项] [源文件或目录] [目标文件或目录]
功能:
1. mv指令将文件/目录重命名或将其移至一个新的目录中,具体操作取决于第二个参数。
2. 当第二个参数类型是文件/不存在的目录名称时,源文件/源目录只能有一个,所以它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,mv命令将源文件/目录均移至目标目录中。
常用选项:
-f 如果目标文件已经存在,不询问直接覆盖。
-i 如果目标文件已经存在,询问是否要覆盖。
举例:
mv a b //若b已存在,则将a移至b中 //若b不存在,则将a重命名为b
cat指令
语法:cat [选项] [文件]
功能:查看目标文件的内容。
常用选项:
-b 对非空行前面加上行号
-n 对所有行前面加上行号
-s 将多个空行压缩为一个空行显示
相关指令:tac:反向显示目标文件内容。
more指令
语法:more [选项] [文件]
功能:与cat指令功能类似。当需要退出浏览时,输入q。
常用选项:
-n 对所有行前面加上行号
less指令(重点)
less指令也是对文件或其他输出进行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能及其强大。
less的用法比more更加有弹性。在more的时候,我们没法向前翻,只能往后面看。但使用了less时,就可以使用 ↑ ↓ 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容。除此之外,less里有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法:less [选项] [文件]
功能:与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动。而且less在查看之前不会加载整个文件。当需要退出浏览时,输入q。
常用选项:
-i 忽略搜索时的大小写
-N 对所有行前面加上行号
当我们处于浏览界面时,可以使用以下指令:
/ [字符串]:向下搜索“字符串”
? [字符串]:向上搜索“字符串”
n:转到下一个搜索到的位置(与“/”“?”配合使用)
N:转到上一个搜索到的位置(与“/”“?”配合使用)
q:退出浏览
head指令
语法:head [选项] [文件]
功能:显示文件内容的前几行(没有选项时默认显示10行)。
常用选项:
-n[数字] 控制显示行数
tail指令
语法:tail [选项] [文件]
功能:显示文件内容的最后几行(没有选项时默认显示10行)。
常用选项:
-f 循环显示
-n[数字] 控制显示行数
date指令
使用date显示当前时间:
date +%Y-%m-%d/%H:%M:%S //年 月 日 时 分 秒
运行结果:
注:中间的分隔符可以任意修改。
使用date显示当前时间戳(1970年1月1日0点(UTC/GMT)到现在所经过的秒数,不考虑闰秒):
date +%s
使用date将时间戳转换为时间:
date -d@[时间戳]
cal指令
语法:cal [选项] [年份] [月份]
功能:显示某年/某年某月的公历日历。如果没有写年份和月份,则显示当前月份的日历;如果没有写月份,则显示指定年份的日历。
常用选项:
-3 显示前一个月、当前月、下一个月的日历。
-j 日历中的日期显示为当前年的第几天。
find指令(重点)
语法:find [查找位置] [选项] [目录或文件]
功能:在文件树中查找目录或文件。若未设定查找位置,则默认从当前所处位置开始查找。
常用选项:
-name 按照文件名查找文件
相关指令:which
语法:which [文件]
与find区别:find能查找任意文件,而which只能查找系统自带的可执行程序
grep指令
语法:grep [选项] [字符串] [文件]
功能:在文件中搜索字符串,显示所有找到的字符串所在行。
常用选项:
-i 忽略搜索时的大小写
-n 对所有行前面加上行号
-v 反向选择,查找所有不包含该字符串的所有行。
zip指令
语法:zip [压缩后的文件名].zip [要压缩的文件或目录]
功能:将目录或者文件压缩成zip格式。
常用选项:
-r 压缩目录时使用,会以递归的方式一并压缩所有子目录和文件
举例:
zip -r test.zip test //将test目录及其子目录和文件压缩为test.zip文件
unzip指令
语法:unzip [要解压的文件] [选项] [路径]
功能:将zip格式的压缩文件进行解压。
常用选项:
-d 此选项配合路径一起使用,指定要解压到的位置。若该指令没有加选项和路径,则默认解压到当前路径。
举例:
unzip test.zip -d /tmp //将test.zip文件解压到tmp目录下
tar指令(重点)
语法:tar [选项] [文件]
功能:对于tgz文件,你可以进行解压或者将其压缩为tgz格式。
常用选项:
-c 创建一个新的压缩文件。
-x 解压。
-z 压缩时:使用gz压缩;
解压时:表示该文件是经过gz压缩的。
-f 后面跟新建压缩文件名 / 要解压的文件名。
-v 显示压缩过程
-C 解压到定向目录
举例:
tar -czvf test.tgz test //将test目录压缩为test.tgz文件 tar -xzvf test.tgz -C /tmp //定向解压
bc指令
bc指令的作用是打开计算器。我们可以在其中输入表达式进行算数运算。
语法:bc
举例:
注:退出时可以输入“quit”,也可以输入ctrl+c。
uname指令
语法:uname [选项]
功能:获取当前机器和操作系统的相关信息。不添加选项时,显示操作系统名称。
常用选项:
-r 显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
-a 详细输出所有信息,依次为:内核名称、主机名、内核版本号、内核版本、硬件名、处理器类型、硬件平台类型、操作系统名称。
history指令
语法:history
功能:显示出使用过的指令
实用热键
接下来分享几个Linux下的实用热键:
1. Tab键: 命令补齐、路径补齐
2. ctrl + c:停止异常操作
3. ↑ ↓:翻阅历史命令
4. ctrl + r:搜索历史命令
shutdown指令
语法: shutdown [选项]
功能:关机
常用选项:
-h 停止系统服务之后,立即关机
-r 停止系统服务之后,立即重启
-t 后面加一个秒数,表示过几秒后关机
总结
今天,我们学习了一些Linux常用的基础指令,为之后深入学习Linux打下了坚实的基础。如果你觉得博主讲的还不错,就请留下一个小小的赞在走哦,感谢大家的支持❤❤❤