命令行操作的基本指令【Linux】学完使用操作命令行就像喝汤一样快

news2024/11/17 9:28:17

致谢:Linux常用命令大全(手册) – 真正好用的Linux命令在线查询网站 提供的命令查询

一、认识操作系统

1.1计算机层级结构

操作系统是一款进行软硬件资源管理的软件

计算机从最接近我们的开始是软件->操作系统->设备驱动->硬件,我们学习软件要学习他的使用方法,而学习操作系统我们要认识它的运行逻辑和原理,了解它和软件层是怎样链接的等等。

我们将要学习的Linux就是一类操作系统,可以联想我们所熟知的Windows操作系统,他们属于同一层级,每个操作系统都有属于他们的应用软件,二者软件所依赖的库和安装方式会有所不同,这就是是为什么如果都想使用QQ那么就需要下载对应的版本,这是向上;

向下就是和硬件进行通讯,我们可以看到市面上有形形色色的计算机硬件各类鼠标、键盘、显示器等等,操作系统无法预见用户将会使用哪种设备,但是我们的操作系统如果要认识全面每种硬件几乎是不可能的,为了解决这一问题“硬件驱动”这一中间者诞生了, 硬件驱动定义了操作系统与硬件设备之间的接口和交互方式,这种接口可以视为一种协议。它规定了如何向硬件发送命令、如何接收数据以及如何处理返回信息,有了这个全能的翻译官群体,操作系统只需要使用固定的“语言”(接口)和硬件进行交流(通讯),操作系统就能准确转达它想要表达的意思意思。

这样看来操作系统处在一个承上启下的位置,它通过驱动层对硬件实施管理,从而调度上层软件向用户提供服务,对于整个结构来说十分关键,所以了解操作系统无论是对于学硬件还是软件的计算机人来说都十分重要。

层级结构

应用软件

     Word Matlab Vim G++ 

操作系统

     Windows Linux

设备驱动

     声卡驱动 显卡驱动

硬件

     CPU 内存 磁盘 显示器 键盘

【图1层级结构】

1.2 Linux发展历史和商业化发行版

我们之前提到Linux是一类操作系统,那这是为什么呢?

Linux 实际上是一个内核(Kernel),而不是完整的操作系统。Linux 内核是计算机操作系统的核心组件,负责管理系统的硬件资源和提供基本的服务,如进程管理、内存管理、文件系统操作和设备驱动等。

当人们提到“Linux操作系统”时,通常是指基于Linux内核构建的完整操作系统发行版。这些发行版通常包含了Linux内核以及各种应用程序、库和工具,以形成一个功能齐全的操作系统。例如,Ubuntu、Fedora、CentOS等都是基于Linux内核的完整操作系统,它们包括许多软件包和图形用户界面,使得用户能够更方便地使用计算机。

Linux的历史可以追溯到1991年,当时芬兰的计算机科学学生林纳斯·托瓦兹(Linus Torvalds)发布了第一个Linux内核,标志着Linux操作系统的诞生。Linux的开发受到了UNIX操作系统的启发,并采用了类似的设计理念和标准。

随着时间的发展,Linux逐渐演变为一个强大的开源操作系统,吸引了来自全球的开发者和用户。由于其开源特性,Linux可以自由使用、修改和分发,这使得许多个人和组织能够为其贡献代码和功能。

Linux的商业化发行版

以下是一些知名的Linux商业发行版及其特点:

  1. Red Hat Enterprise Linux (RHEL):

    • 商业化支持的Linux发行版,专为企业环境设计。
    • 提供稳定和安全的操作系统,广泛应用于服务器和云计算领域。
  2. CentOS:

    • RHEL的社区版本,基于RHEL的源代码。
    • 提供类似的稳定性和安全性,适合不想支付商业支持的用户。
  3. Ubuntu:

    • 由Canonical公司开发,旨在用户友好和易于使用。
    • 提供桌面和服务器版本,广受个人用户和企业欢迎。
  4. SUSE Linux Enterprise Server (SLES):

    • 专注于企业级应用的Linux发行版,提供优质的支持和服务。
    • 适用于大型企业和数据中心。
  5. Oracle Linux:

    • 由Oracle公司维护的Linux发行版,优化了性能和安全性以支持Oracle软件。
    • 提供与RHEL兼容的环境,适合运行Oracle数据库。
  6. Debian:

    • 虽然以社区为基础,但Debian也有一些商业供应商支持其发行版,强调稳定性和自由软件原则。
  7. Amazon Linux:

    • 亚马逊开发的Linux发行版,优化了在亚马逊云服务(AWS)中的使用。
    • 提供了与云服务的深度集成。

发展和影响

Linux的商业化发行版在多个领域中取得了成功,包括服务器、嵌入式设备、超级计算和云计算等。此外,Linux也成为了许多技术的基础,例如Android操作系统(用于智能手机和其他设备)以及许多互联网服务和数据中心的核心。

1.3何为命令行操作

和命令行操作对应的就是我们所熟知的图形化操作界面,Windows操作系统通常为图形化操作界面,使用win+r快捷键输入“cmd”也可以快捷打开命令行操作界面,虽然Linux操作系统已经有了完善的图形化界面,但是由于习惯原因对于一些云端服务器和软件的操作难免会使用到命令行,所以我们要熟知一些基本的命令行操作。

1.4常见命令

pwd

pwd

显示当前工作目录的路径

-L

显示逻辑路径

-P

显示实际物理地址

【图2pwd--version】

【图3help pwd】

ls

ls

查看当前位置的文件

-a

显示所有文件及目录 (包括以“.”开头的隐藏文件)

-A

同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)

-i

输出文件的inode节点信息

-l

使用长格式列出文件及目录的详细信息

-m

水平列出文件,以逗号间隔

-r

将文件以相反次序显示(默认依英文字母次序)

-R

递归列出所有子目录

-S

根据文件大小排序

-t

根据最后的修改时间排序

-X

按文件扩展名排序

-color

输出信息中带有着色效果

【图4ls -R】

mkdir

mkdir

创建一个新的文件夹

-p

递归创建多级目录

-m

建立目录的同时设置目录的权限

-z

设置安全上下文

-v

显示目录的创建过程

【图mkdir --help】

【图 mkdir dir1】

【图 mkdir -m】

【图mkdir创建多文件路径】

【图mkdir -p】

【图mkdir -v】

cd

cd

cd

进入目录

-P

如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录

-L

如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录

--

仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录

~

切换至当前用户目录

..

切换至当前目录位置的上一级目录

【图pwd cd   】

【图cd ~】

【图cd -】

touch

touch

创建文件与修改时间戳

-a

改变档案的读取时间记录

-m

改变档案的修改时间记录

-r

使用参考档的时间记录,与 --file 的效果一样

-c

不创建新文件

-d

设定时间与日期,可以使用各种不同的格式

-t

设定档案的时间记录,格式与 date 命令相同

--no-create

不创建新文件

--help

显示帮助信息

--version

列出版本讯息

 

【图 touch --help】

【图 touch创建文件】

【图touch 创建统一格式多文件】

【图touch更新文件时间】



二、Linux的特性

在学习和使用Linux操作系统的过程中,文件管理是一个基础而重要的知识点。每个在Linux系统中生成的文件不仅包含具体的“内容”,如文本、图片、音频文件等,还伴随有一系列的“属性”数据,这些属性数据同样被保存在计算机中。

可以将文件的结构简练地概括为“文件 = 内容 + 属性”。在这其中,内容指的是文件所实际包含的信息,而属性则描述了这个文件的一些重要特征。例如,在Linux中,文件的属性包括文件名、文件类型、文件大小、创建时间、最后修改时间、权限设置等。这些属性在日常操作中显得尤为重要,因为它们直接影响到文件的访问和管理。

2.1文件属性 stat

在Linux操作系统中,文件的属性包括创建时间、大小、名称和类型。这些属性与文件内容一样,都是数据的一部分。因此,对文件的操作不仅包括对其内容的处理,也包括对其属性的管理。

stat

显示文件状态信息

-L

支持符号链接

-f

显示文件系统的信息

-t

以简洁的方式输出

--help

显示命令帮助信息

--version

显示命令版本信息

 

【图stat  查看更多属性】

[username@mechine]$ stat filename

在Linux中,以点(.)开头的文件被视为隐藏文件。使用命令ls -a时,选项“-a”表示“all”,可以让隐藏文件显现出来,方便用户查看和管理这些文件。

[username@mymechine]$ ls -s -a

此外,每当我们创建一个新文件时,系统会自动生成两个特殊的目录项:一个点(.)表示当前目录,两个点(..)表示上层目录。我们可以通过命令cd ..来实现目录的回退,便于在文件系统中进行导航。

[username@mechine]$ cd ..

2.2  文件权限

文件属性包括权限:

在Linux中,文件和目录的权限管理至关重要,主要用于控制用户对文件和目录的访问权限。Linux使用三种主要类型的权限:读(r)、写(w)和执行(x),以及三种用户类别:文件所有者(owner)、用户组(group)和其他用户(others)。 

  • 读 (r): 允许读取文件内容或列出目录中的文件。
  • 写 (w): 允许修改文件内容或在目录中创建、删除文件。
  • 执行 (x): 允许执行文件(如果是可执行程序)或进入目录。

  • 文件所有者 (Owner): 文件的创建者,默认对自己的文件有完全的控制权。
  • 用户组 (Group): 文件所属的用户组,组内用户对文件的权限。
  • 其他用户 (Others): 不属于文件所有者或所属组的所有其他用户。

权限在Linux中通常以十个字符表示,格式如下:

-rwxr-xr--

第一个字符表示文件类型(-表示文件,d表示目录)。


接下来的九个字符被分为三组,每组三个字符,分别表示所有者、用户组和其他用户的权限。

  • rwx: 所有者的权限(读、写、执行)
  • r-x: 用户组的权限(读和执行,没有写)
  • r--: 其他用户的权限(只有读) 

权限的修改

可以使用 chmod 命令来修改文件和目录的权限。权限可以使用符号表示法或八进制表示法来设置。

符号表示法:

  • +:添加权限
  • -:删除权限
  • =:设置权限

例如:

chmod u+x file.txt:为文件所有者添加执行权限。
chmod g-w file.txt:从用户组中删除写权限。
chmod o=r file.txt:将其他用户的权限设置为只读。


八进制表示法:

权限由三个数字组成,每个数字对应于用户的权限。每个数字的取值范围是0-7,具体权限如下:

  • 0 = 无权限
  • 1 = 执行权限
  • 2 = 写权限
  • 4 = 读权限

例如:

chmod 755 file.txt:所有者有读、写、执行权限(7=4+2+1),用户组和其他用户有读和执行权限(5=4+1)。

默认情况

我们在创建文件时如果不设置权限默认会是什么呢?

在Linux中,创建文件时的默认权限通常由一个称为umask(用户文件创建模式掩码)的值决定。umask是在创建文件和目录时自动应用的权限掩码,它会限制文件和目录的默认权限。

默认权限


在Linux中,默认情况下,新创建的文件和目录的权限是:

文件: 0666(rw-rw-rw-): 允许所有用户读和写,但不允许执行。
目录: 0777(rwxrwxrwx): 允许所有用户读、写和执行。
umask的作用
umask用来“屏蔽”这些默认权限,也就是说,它定义了在文件或目录创建时,哪些权限不应被授予。umask的值是一个三位数(八进制)表示的权限掩码,通过与默认权限相减来确定最终的权限设置。

计算方式


默认权限减去 umask 值 = 最终权限
例如,如果 umask 的值是 022,创建的文件和目录权限如下:
文件权限: 0666 - 022 = 0644(rw-r--r--)
目录权限: 0777 - 022 = 0755(rwxr-xr-x)
查看和设置 umask
查看当前 umask 值:
使用命令 umask 在终端中查看当前的 umask 值。

设置 umask 值:
可以通过命令 umask <value> 来设置 umask 值。例如,umask 027 将会把新文件和目录的权限设置为:

文件权限: 0666 - 027 = 0640(rw-r-----)
目录权限: 0777 - 027 = 0750(rwxr-x---)

2.3查找文件路径:which

which 是一个在Linux中常用的命令行工具,主要用于查找可执行文件的路径。它通过在系统的环境变量 

PATH 指定的目录中搜索与给定命令名称匹配的可执行文件,以帮助用户确定某个命令在哪个位置被执行。

当你想知道某个命令的可执行文件在系统中的具体路径时,可以使用 which 命令。例如,

which python 会返回安装的 Python 解释器的路径。

which

查找命令文件

-n

指定文件名长度(不含路径)

-p

指定文件名长度(含路径)

-w

指定输出时栏位的宽度

-v

显示版本信息

[username@mechine]$ which [选项] [命令]

常见的使用示例:

  1. 查找命令的路径:
[username@mechine]$ which ls

输出示例:

[username@mechine]$ /bin/ls
  1. 查找多个命令:
[username@mechine]$ which python gcc git

输出示例:

[username@mechine]$ /usr/bin/python 
[username@mechine]$ /usr/bin/gcc
[username@mechine]$ /usr/bin/git
  1. 结合选项使用:
[username@mechine]:~ $ which -a python

2.4如何起别名:alias

alias

设置命令别名

-p

打印已经设置的命令别名

[username@mechine]:~ $ alias -p

 

[username@mechine]:~ $ alias myls=ls

注意:这里的名称和值和等号之间不能有空格.

我们把"\"称作Linux下的路径分隔符,用来标识文件,

2.5目录结构 tree

在Linux操作系统中,文件和目录的组织结构是非常重要的。理解文件路径的标识方式可以帮助用户更有效地导航和管理文件。

标识文件路径的方案:

相对路径:

相对路径是相对于当前工作目录来定义的路径。它具有自己的有效范围,具体取决于用户当前所在的目录。例如,如果当前目录是 /home/user,要访问 /home/user/documents/file.txt,可以使用相对路径 documents/file.txt。

绝对路径:

绝对路径是从根目录开始的完整路径,不依赖于当前的工作目录,无论在哪个目录下,绝对路径始终有效。例如,访问 /home/user/documents/file.txt 时,使用的就是绝对路径。

用户信息查询命令:

在Linux中,用户管理也是一个重要的部分。我们可以使用几个基本命令来获取用户及其主目录的信息。

  • whoami指令:

该命令返回当前用户的用户名。运行 whoami 将显示出你以哪个用户身份登录了系统。

  • who指令:

该命令显示当前系统中所有已登录用户的信息,包括用户名、登录时间和终端等信息。

[username@mechine]:~ $ whoami 
[username@mechine]:~ $ who

用户与主目录:

每个用户在Linux系统中都有自己的主目录。这意味着不同的用户在系统中有不同的工作空间和文件存储位置。主目录通常位于 /home/ 下,例如,用户 user1 的主目录是 /home/user1。

通过结合目录结构和用户信息命令,用户可以更好地管理文件和目录,从而提高在Linux环境下的操作效率。

tree:

如果弹出以上界面使用对应指令安装就可以了

sudo apt install tree

这里虚拟机网络配置不好了,转到腾讯云的云Cent OS实操一下:

tree

tree

以树状图形式列出目录内容

-a

显示所有文件和目录

-A

ASNI绘图字符形式

-C

彩色显示

-d

仅显示目录名称

-D

显示文件更改时间

-f

显示完整的相对路径名称

-g

显示文件所属群组名称

-i

不以阶梯状列出文件或目录名称

-I

不显示符合范本样式的文件或目录名称

-l

直接显示连接文件所指向的原始目录

-n

不在文件和目录清单上加上色彩

-N

直接列出文件和目录名称

-p

列出权限标示

-P

只显示符合范本像是的文件或目录名称

-q

用“?”号取代控制字符,列出文件和目录名称

-s

列出文件或目录大小

-t

用文件和目录的更改时间排序

-u

列出文件或目录的拥有者名称

-x

将范围局限在现行的文件系统中

-L

层级显示

致谢:Linux常用命令大全(手册) – 真正好用的Linux命令在线查询网站

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

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

相关文章

【光伏混合储能】VSG并网运行,构网型变流器,虚拟同步机仿真

摘要 本文提出了一种基于光伏发电与混合储能系统结合的虚拟同步发电机&#xff08;VSG&#xff09;控制策略&#xff0c;该策略能够在并网运行时稳定电网电压和频率。通过仿真分析&#xff0c;验证了该策略在各种运行工况下的有效性&#xff0c;展示了其在电力系统中的广泛应用…

RDI ADCP命令与ASCII输出结构

RDI ADCP命令与ASCII输出结构 一、RDI垂直式ADCP:1.1固定命令&#xff1a;1.2 向导命令 二、RDI水平式ADCP三、ADCP 公共目录四、常用BBTalk命令五、ADCP的ASCII输出数据文件、流量与数据结构5.1 ASCII类输出&#xff1a;5.2 ASCII 输出数据文件头5.3 ASCII 输出数据集5.4 导航…

PMP--三模--解题--91-100

文章目录 10.沟通管理--沟通管理计划--沟通管理计划是项目管理计划的组成部分&#xff0c;描述将如何规划&#xff0c;结构化、执行与监督项目沟通&#xff0c;以提高沟通的有效性。该计划包括如下信息&#xff1a;干系人的沟通需求。--与干系人沟通的文件&#xff0c;要看沟通…

Prometheus监控MySQL主从数据库

案例分析Prometheus监控MySQL主从数据库 1. 规划节点 节点规划&#xff0c;见表1。 表1 节点规划 IP主机名节点192.168.100.3masterPrometheus Grafana192.168.100.3mastermysql/master mysqld_exporter node_exporter192.168.100.4nodemysql/master mysqld_exporter …

毕业设计选题:基于ssm+vue+uniapp的家庭记账本小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

开放式耳机的优缺点?哪个品牌专业?好用的开放式蓝牙耳机分享

我相信很多想入手的开放式耳机的家人都想知道开放式耳机是什么&#xff0c;开放式耳机有什么优缺点&#xff0c;开放式耳机是不是智商税、值不值得购买以及如果要购买的话&#xff0c;有什么专业的开放式耳机品牌推荐。因为我毕竟是测评过三十多款开放式耳机的数码博主&#xf…

67.【C语言】枚举类型

1.定义 对于有限的情况,一一列举 如一周有7天,从周一到周日;光学三原色(Red Green Blue) 2.格式 enum 枚举类型名 {//枚举常量 }; 备注:enum为enumeration缩写 3.枚举成员变量的值 #include <stdio.h> enum color {Red,Green,Blue };int main() {printf("%d…

健康信息管理:SpringBoot的创新应用

第2章相关技术 2.1 B/S架构 B/S结构的特点也非常多&#xff0c;例如在很多浏览器中都可以做出信号请求。并且可以适当的减轻用户的工作量&#xff0c;通过对客户端安装或者是配置少量的运行软件就能够逐步减少用户的工作量&#xff0c;这些功能的操作主要是由服务器来进行控制的…

C++平台跳跃游戏

目录 开头程序Game.cpp源文件Player.h头文件Player.cpp源文件 程序的流程图程序游玩的效果下一篇博客要说的东西 开头 大家好&#xff0c;我叫这是我58。 程序 Game.cpp源文件 #include <iostream> #include "Player.h" using namespace std; void printma…

【环保背景高管1009】2022顶刊论文数据,环保背景高管对投资的影响探究

今天给大家分享的是国内顶刊数量经济技术经济研究2022年发布的名为《高管环保背景与绿色投资者进入》论文使用到的数据——高管环保背景数据以及管理自主权的高管环保背景数据&#xff0c;该文章利用中国上市公司沪深A股2007-2017年的面板数据&#xff0c;采用双向固定效应模型…

YOLOv11改进 | 独家创新- 注意力篇 | YOLOv11结合全新多尺度线性注意力机制MLAttention(全网独家创新)

1. MLAttention介绍 (1). 多尺度卷积操作&#xff1a;MLAttention通过多尺度卷积操作来增强不同尺度的特征表达能力。采用了多种卷积核尺寸&#xff08;例如5x5、1x7、7x1、1x11、11x1、1x21、21x1&#xff09;的深度可分离卷积来捕捉不同感受野的特征。较小的卷积核擅长捕捉细…

四,MyBatis-Plus 当中的主键策略和分页插件的(详细实操使用)

四&#xff0c;MyBatis-Plus 当中的主键策略和分页插件的(详细实操使用) 文章目录 四&#xff0c;MyBatis-Plus 当中的主键策略和分页插件的(详细实操使用)1. 主键策略1.1 主键生成策略介绍 2. 准备工作&#xff1a;2.1 AUTO 策略2.2 INPUT 策略2.3 ASSIGN_ID 策略2.3.1 雪花算…

基础算法之双指针--Java实现(下)--LeetCode题解:有效三角形的个数-查找总价格为目标值的两个商品-三数之和-四数之和

这里是Themberfue 今天继续讲解经典算法 > 双指针算法 没看过上篇文章的小伙伴记得去看看哦&#x1f618; 有效三角形的个数 题目链接&#xff1a;有效三角形的个数 题目解析 题目要求在该数组中任意选取三个数&#xff0c;看这三个数是否可以构成可以一个有效三角形。最后…

2024上半年网络安全漏洞态势报告

2024年9月26日&#xff0c;“2024中国数字经济创新发展大会”在汕头成功召开&#xff0c;大会汇聚业界精英&#xff0c;旨在全面探讨在新形势新挑战下&#xff0c;如何“健全数据安全体系 构建可信流通环境”。在《数据安全与合规发展专题》分论坛上&#xff0c;工业和信息化部…

Windows远程Kylin系统-xrdp

Windows远程Kylin系统-xrdp 一. 查看开放端口 查看是否有3389端口二. 安装xrdp Kylin对应的是centos8 下载链接&#xff1a;https://rhel.pkgs.org/8/epel-x86_64/xrdp-0.10.1-1.el8.x86_64.rpm.html rpm -Uvh 包名 systemctl start xrdp 启动服务 systemctl enable xrdp …

只出现一次的数字|||(考察点为位操作符)

目录 一题目&#xff1a; 二思路汇总&#xff1a; 三代码解答&#xff1a; 一题目&#xff1a; leetcode原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 二思路汇总&#xff1a; 思路&#xff1a;如果直接对数组按位异或&#xff0c;那么最后得到的是a^b&a…

pnpm install的时候失败提示python问题

忘记是哪个依赖了&#xff0c;npm正常&#xff0c;pnpm的时候就异常&#xff0c;但是报错里python异常 解决方法&#xff1a;安装python就行 ennn免安装的python好麻烦 网上找教程安装python好麻烦&#xff0c;发现微软可以直接安装&#xff0c;就用微软的安装了 查看结果 p…

数字化转型新时代:TOGAF框架助力企业颠覆式创新

1. 从传统到未来&#xff1a;TOGAF如何驱动企业的数字化转型 在传统业务模式面临挑战的时代&#xff0c;TOGAF&#xff08;The Open Group Architecture Framework&#xff09;提供了帮助企业完成从传统到数字化业务模式转型的强大工具。通过系统化的架构开发方法&#xff08;…

JSP(Java Server Pages)基础使用三(表单传参)

表单传参 1.这次学习的是我们在网络上使用次数相对来说很多的jsp的使用方式&#xff0c;表单传参是运用了form表单的post方法来讲表单中的数据传递给action页面,action的作用是跳转就类似a标签&#xff0c;当然action不只可以是页面&#xff0c;还可以是后端类&#xff0c;用来…

数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(一)

一. 使用工具和命令 1.1 使用的工具 Navicat Premium 17 &#xff1a;“Navicat”是一套可创建多个连接的数据库管理工具。 MySQL版本8.0.39 。 1.2 使用的命令 Navicat中使用的命令 命令命令解释SHOW DATABASES&#xff1b;展示所有的数据库CREATE DATABASE 数据库名称; 创…