当前位置: 首页 > article >正文

【Linux】基础指令

🌟🌟作者主页:ephemerals__

🌟🌟所属专栏:Linux


目录

前言

一、Linux简介

二、Linux常用基础指令

ls指令

whoami指令

pwd指令

cd指令

touch指令

mkdir指令(重点)

rmdir指令(重点)

rm指令(重点)

man指令(重点)

cp指令(重点)

mv指令(重点)

cat指令

more指令

less指令(重点)

head指令

tail指令

date指令

cal指令

find指令(重点)

grep指令

zip指令

unzip指令

tar指令(重点)

bc指令

uname指令

history指令

实用热键

shutdown指令

总结


前言

        在当今的计算机世界中,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打下了坚实的基础。如果你觉得博主讲的还不错,就请留下一个小小的赞在走哦,感谢大家的支持❤❤❤


http://www.kler.cn/a/380575.html

相关文章:

  • H265编码丢帧问题分析
  • Python实现FTP服务器:从入门到实践
  • TecoPytorch
  • 云轴科技ZStack在CID大会上分享VF网卡热迁移技术
  • 使用 MONAI Deploy 在 AMD GPU 上进行全身分割
  • python 获取鼠标点击的实时位置案例
  • 【连续多届检索,ACM出版】第四届大数据、人工智能与风险管理国际学术会议 (ICBAR 2024,11月15-17)--冬季主会场
  • mqsql 场景函数整理
  • Browserslist 配置
  • Golang Gorm实现自定义多态模型关联查询
  • Python 淘宝商品销量采集 API 实战指南
  • 动态与静态网站抓取的区别:从抓取策略到性能优化
  • 阿里云-部署CNI flannel集群网络
  • JavaEE-多线程初阶(3)
  • 前端存储大量数据indexedDB
  • C++优选算法四 前缀和
  • 一、SpringMVC简介
  • Flutter鸿蒙next中封装一个列表组件
  • 电动缸在汽车领域的应用
  • 雷池社区版新版本功能防绕过人机验证解析
  • 普林斯顿微积分读本PDF(英文版原版)
  • 使用css和html制作导航栏
  • 【初阶数据结构篇】链式结构二叉树(续)
  • 计算机网络:网络层 —— 路由选择与静态路由配置
  • Linux 服务器使用指南:从入门到登录
  • 探索数据结构:数组与链表