Linux入门指南:26个基础命令全解析

目录

一.基础概念与入门

1.Linux操作系统简介

2.终端与shell的基本概念

3.命令行界面的优势

二.基础指令

1.whoami

​2.useradd/userdel/passwd

​3.pwd

​4.ls

​5.cd                

6.touch

7.mkdir

8.tree

9.rmdir/rm

10.man

11.cp

12.mv

13.cat

14.less

15.head/tail

16.date        

17.cal

18.find

19.which

20.whereis

21.alias

22.grep

23.zip/unzip

24.rzsz

25.tar

26.uname -r

三.总结


一.基础概念与入门

1.Linux操作系统简介

        Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。

        这里我们用来学习的Linux环境为Centos版本,并将其部署在云服务器上,用xshell进行远程访问。

2.终端与shell的基本概念

        终端:用户与系统交互的入口

        Shell(外壳程序):操作系统的“命令翻译官”

        这里的bash则是shell的一种,为命令行文件

3.命令行界面的优势

        终端中命令行替代了图形化界面操作,其效率更高,资源占用低,易于控制且具有强大的工具生态在Linux系统中广泛使用。

        在windows系统中也可以打开终端,并执行命令行操作

二.基础指令

1.whoami

        Linux是一款多用户的操作系统,该命令通常用于自身系统身份验证,即我们是以哪种身份登录Linux系统

whoami

2.useradd/userdel/passwd

        由于Linux系统是一款多用户系统,我们可以删除或添加新用户,并为其设置密码。

useradd username   # 添加新用户

passwd username   # 为用户设置密码

userdel -r username   # 删除普通用户

3.pwd

pwd   # 查看当前工作路径

        无论是Linux还是windows,我们登陆成功,都会处在一个默认路径下。

4.ls

ls dirname   # 对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。
ls filename   # 对于⽂件,将列出⽂件名以及其他信息。

        常用选项:

ls -a dirname   #列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件
ls -l filename   #列出⽂件的详细信息
ls -al name      #选项可以合并使用

5.cd                

Linux理论知识:路径的认识

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件

其中普通文件一定是目录树的叶子节点

目录可能是叶子(空目录), 也可能是路上节点

理解路径存在的意义: 树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就需要具有唯一性的方案来进行定位文件。其中任何一个节点,都只有一个父节点,所以,从根目录开始,定位指定文件,路径具有唯一性

绝对路径:一般从/开始,不依赖其他目录的定位文件的方式

相对路径:相对于当前用户所处目录,定位文件的路径方式

绝对路径一般不会随着用户的路径变化而丧失唯一性,一般在特定服务的配置文件中经常被使用,相对路径因为它的便捷性,一般在命令行中使用较多

cd pathname   # 改变⼯作⽬录。将当前⼯作⽬录改变到指定的路径下

        由于Linux系统中标识文件唯一性是通过路径标识的,所以我们可以通过两种路径路径来来达到同一目录:

cd -   # 回退到最近一次所处的目录

cd ~   # 直接回退到家目录即一开始登录所处的默认路径

6.touch

touch filename   # 新建⼀个普通⽂件

7.mkdir

mkdir dirname   # 在当前⽬录下创建⼀个名为 “dirname”的⽬录

        常用选项:

mkdir -p a/b/c/d   # 创建一串路径

8.tree

        安装:

yum install -y tree   # root用户
sudo yum install -y tree   # 普通用户
tree name   # 递归以树状结构显⽰指定⽬录

        

9.rmdir/rm

rmdir dirname   # 与mkdir对应,删除一个空目录
rm name   # 删除文件或目录

        常用选项:

rm -r name   # 递归删除目录及其所有文件
rm -f name   # 直接删除不询问

10.man

man [章节] 命令   # 在手册中查找指定章节的命令

        常用章节:

        1 是普通的命令

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

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

11.cp

Linux理论知识:Linux系统下一切皆“文件”

        理论具象化实践:

        1.输出重定向        

echo "hello world"   # echo命令为向文件写入内容

        那么我们也可以让输出结果重定向,写入其他文件中:

        我们也可以用输出重定向来清空文件:

        2.输入重定向

cp src dst   # ⽤于复制⽂件或⽬录,将src复制dst目录中

        常用选项:

cp -r dst src   # 递归复制目录到指定路径中

12.mv

mv src dst   # 移动文件或将文件改名 

13.cat

cat filename   # 查看目标文件的内容

        常用选项:

cat -b filename   # 对非空行输出行编号
cat -n filename   # 对输出的所有行编号
cat -s filename   # 不输出多行空行

14.less

less filename   # 对于大量内容文件适用,可以前后翻看文件内容,不会出现刷屏

        常用选项:

/字符串   # 向下搜索字符串功能
n        # 显示下一个搜索

15.head/tail

head [参数] filename   # head⽤来显⽰档案的开头⾄标准输出中# 默认head命令打印其相应⽂件的开头10⾏# [参数]为显示的行数

tail [必要参数] filename   # ⽤于显⽰指定⽂件末尾内容

        如果要查看temp文件的2001到2010行,我们可以使用head/tail命令,并用管道起到连接资源的作用:

16.date        

date                        # 显示常规时间
date +%Y/%m/%d-%H:%M:%S     # 指定格式显示时间

date +%s   # 显示时间戳# 时间戳是以1970年1月1日00:00:00 UTC为起点,计算经过的秒数

17.cal

cal [参数] [年份]   # ⽤于查看⽇历等时间信息

18.find

find pathname -options filename   # 在指定路径下查找文件 

        常用选项:

find pathname -name filename   # 根据文件名查找文件

        find本质是去目录树中进行递归查找

19.which

which [命令]   # 搜索系统指定的命令

        但并不建议将我们写的命令放在系统路径下,可能会对命令池造成污染

20.whereis

whereis file   # ⽤于找到程序的源、⼆进制⽂件或⼿册

21.alias

alias hello='ls -a -l'   # 设置命令的别名

        另外,别名属于内存级数据,重新登陆则会重置

22.grep

grep [选项] [字符串] filename   # 在⽂件中搜索字符串,将找到的⾏打印出来

        常用选项:

grep -i "abcd" test.txt   # 忽略大小写
grep -n "abcd" test.txt   # 输出行号
grep -v "abcd" test.txt   # 反向对内容进行过滤

23.zip/unzip

zip 压缩⽂件.zip ⽬录或⽂件   # 将⽬录或⽂件压缩成zip格式

        常用选项:

zip -r cmd2.zip commonorder2   # 递归处理,将指定⽬录下的所有⽂件和⼦⽬录⼀并处理

unzip 目录或文件   # 解压.zip文件

        常用选项:

unzip .zip -d pathname   # 将.zip文件解压至指定路径

24.rzsz

        安装:

sudo yum install -y lrzsz

        rzsz命令可实现Linux与windows互传文件:

rz   # 实现Linux接收windows系统的文件

sz 目录或文件   # 实现Linux向windows传输文件

25.tar

        常用选项:

tar -czf target.tgz target   # 将目录或文件压缩为.tgz

tar -xzf target.tgz   # 将.tgz解压

tar -xzf target.tgz -C pathname   # 将.tgz解压到指定路径

26.uname -r

uname -r   # uname可显⽰linux主机所⽤的操作系统的版本、硬件的名称等基本信息

三.总结

        本期我们初步认识并学习了26个基础指令,对Linux系统有了一个初步的体系认识,下一篇将学习Linux的权限是如何体现并作用的,同时也将深入学习关于权限的更多指令与内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/918306.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/918306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【后端】Java 8 特性 `User::getId` 语法(方法引用)介绍

文章目录核心概念解析:方法引用的四种类型:关键特性:使用场景推荐:何时避免使用:性能说明:在 Java 中, User::getId 是一种称为 方法引用(Method Reference) 的语法糖&a…

基于BP与CNN的图像分类模型构建、超参数优化及性能对比研究​

一、实验目的实验目标构建基于神经网络模型的数据分析与模式识别框架,探明神经网络在大数据分析中的意义。实验任务构建基于深度 BP 神经网络与卷积神经网络的数据分析与模式识别框架,将数据集 MNIST 与 CIFAR-10 分别在两种模型中训练,并比较…

HarmonyOS应用开发-低代码开发登录页面(超详细)

本篇文章我来手把手教大家做一个HarmonyOS 应用的登录页面,逐步讲解,非常细致,百分百能学会,并提供全部源码。页面使用 DevEco Studio 的低代码开发。 通过本文的实践经验,我想告诉大家, HarmonyOS 应用开发…

AJAX与axios框架

文章目录前言案例跨域访问总结❗前言 提示:这里可以添加本文要记录的大概内容: 通过 ajax 进行前后端交互 案例 此项目用到了javaweb知识 首先创建JavaWeb项目编写代码: package ajax;import java.io.IOException; import java.util.Arr…

智能创造的幕后推手:AIGC浪潮下看AI训练师如何塑造智能未来

文章目录一、AIGC时代的算法与模型训练概览二、算法与模型训练的关键环节三、AI训练师的角色与职责四、AI训练师的专业技能与素养五、AIGC算法与模型训练的未来展望《AI训练师手册:算法与模型训练从入门到精通》亮点内容简介作者简介谷建阳目录《医学统计学从入门到…

Python设计模式 - 装饰模式

定义 装饰模式(Decorator Pattern)是一种结构型设计模式,用于在不修改原有类的情况下动态地扩展对象的功能。 结构抽象组件(Component):定义对象的公共接口,使得客户端能以一致的方式处理未被装…

MySQL(188)如何使用MySQL的慢查询工具?

使用MySQL的慢查询工具可以帮助开发者识别和优化性能不佳的SQL查询。以下是详细深入的步骤和代码示例,帮助你使用MySQL的慢查询工具来进行查询分析和优化。 一、启用慢查询日志 首先,你需要确保MySQL的慢查询日志功能是启用的。慢查询日志记录了所有执行…

如何培养自己工程化的能力(python项目)

培养 Python 项目的工程化能力需要系统性训练,以下从基础到高阶的实践路径,结合具体案例和工具链,帮助你逐步进阶:一、夯实工程化基础能力​1. 规范代码与项目结构•​项目模板化​使用 cookiecutter生成标准项目结构,…

AI编程插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功能特性、性能表现、集成性、用户…

uniapp/uniappx实现图片或视频文件选择时同步告知权限申请目的解决华为等应用市场上架审核问题

在UNIAPP支持vue和nvue,在UNIAPPX支持uvue,安卓支持在选择图片或视频文件权限申请的时候自动同步告知权限申请目的。轻松解决在华为应用市场审核,要求告知权限申请目的或说明的问题。 UNIAPP相册图片视频选择器(安卓可以自定义界面样式)功能介绍&#x…

jupyter notebook如何打开其他盘目录

问题描述Jupyter Notebook 相信是我们学习 Python 避不开的一个工具。当我们使用 pip install notebook 安装 Notebook 之后,使用命令 jupyter notebook 启动服务,启动之后默认会在浏览器打开界面。我们会发现,这个界面默认在 C 盘下&#xf…

C语言深度剖析

一、关键字 1.1 最快的关键字-register register 这个关键字请求编译器尽可能将变量存在CPU内部寄存器中,而不是通过内存寻址以提高效率。 注意是:尽可能、而不是绝对 1.1.1 皇帝身边的小太监-寄存器 不知道什么是寄存器,那见过太监没有其实寄存器就是相当于。一个cpu的…

电脑使用“碎片整理”程序的作用

1.解决文件碎片化问题碎片整理的作用:将这些分散的文件片段重新整理、拼接,使其连续存储在硬盘的某个区域,减少文件的 “碎片化” 程度。2. 提升硬盘读写速度机械硬盘的特殊性:机械硬盘依赖磁头的物理移动来读取数据,若…

AI 软件工程开发 AI 算法 架构与业务

AI 软件工程开发 & AI 算法 & 架构与业务前言1.AI 软件工程开发1.1. AI Developer Studio (playground级)1.2. Agent & RAG1.3. LangChain & LangGraph1.4. MCP, Model Context Protocol1.5. Ollama1.6. Coze & Dify2.AI 算法2.1. G…

uniapp实现的圆形滚盘组件模板

采用 uniapp 实现的一款圆形滚盘示例组件模板, 支持 vue2、vue3,适配H5、微信小程序(其他小程序未试过,可自行尝试) 代码实现简约易懂,用户可根据自身需求下载模板,并进行扩展开发可到插件市场下载尝试&…

无须炮解,打开即是Pro版

聊一聊 文档或文件转图片,这个我有段时间没有推荐了。 今天发现了一款非常好用的图像格式转换编辑软件。 有需要的小伙伴请及时收藏,防止下次找不到。 软件介绍 全能图像格式转换工具 这是一款全能的图像转换软件,支持几乎所有的图像格式…

企业高性能web服务器——Nginx

Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,也是一个邮件代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。所以其特点是占有内存…

MCU控制ADAU1701,用System Workbench for STM32导入工程

作者的话 MCU控制ADAU1701,我有写一个文档详细讲步骤,里头用到了System Workbench for STM32这个软件,他是基于eclips内核的开发软件,一般来讲,设置好workspce工程就会出来,但是架不住就有设置好工程不出来…

SQL176 每个题目和每份试卷被作答的人数和次数

描述现有试卷作答记录表exam_record(uid用户ID, exam_id试卷ID, start_time开始作答时间, submit_time交卷时间, score得分):iduidexam_idstart_timesubmit_timescore1100190012021-09-01 09:01:012021-09-01 09:41:01812100290022021-09-01 …

构建第三方软件仓库

1 下载第三方软件到指定目录[rootServer_b ~]# mkdir software [rootServer_b software]# wget https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250724_x86_64_01.rpm2 安装软件信息采集工具[rootServer_b software]# yum install createrepo -y [rootServer_b softw…