初识Linux:常见指令与权限的理解,以及相关衍生知识

目录

前言 关于linux的简介

代码开源

网络功能强大

系统工具链完整

一、Linux下的基本指令

1.ls指令

2.pwd指令

3.cd指令

4.whoami指令

5.touch指令

6.mkdir指令

7.rm指令

8.man指令

9.cp指令

10.mv指令

11.nano指令

12.cat指令

13.tac指令

14.more指令

15.less指令

16.head指令

17.tail指令

18.date指令

19.cal指令

20.find指令

21.which指令

22.grep指令

23.sort指令

24.uniq指令

25.echo指令

26.bc指令

28.uname指令

二、理解权限

1.root和sudo指令

2.什么是权限?(是什么)

1)身份

2)属性

Linux中的文件类型:

Linux中不同身份的权限:

3.为什么要有权限?(为什么)

4.怎么修改权限?(怎么办)

1)chmod指令改属性

①ugo +- rwx:

②八进制方案:

2)chown指令更改拥有者身份

3)chgrp指令修改所有组身份

三、一些书本上的衍生问题

1、文件或目录创建好后Linux是怎么为我们设置默认权限的?

2、进入目录需要哪个权限,是r,w还是x?

总结



前言 关于linux的简介

Linux,Linux Is Not UniX 的递归缩写,一般指GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个遵循POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

代码开源

Linux由众多微内核组成,其源代码完全开源。

网络功能强大

Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈。

系统工具链完整

Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性。

Linux_百度百科

Linux概念图

每日怪问:

1.进入目录需要哪个权限,是r,w还是x?

2.文件或目录创建好后Linux是怎么为我们设置默认权限的?

若是读者对上述问题感兴趣,可直接点击目录中第三部分查看说明。


一、Linux下的基本指令

首先,我们为什么要学习指令指令(命令行)是学习Linux的重要手段,在系统看来如windows的图形化界面与Linux的命令行没有区别,都是与计算机交互的方法之一。

Linux下的指令已超过4位数,但常用的也就是几十位,下面就常见的指令给出基本使用方法。

1.ls指令

功能:该指令列出该目录下的所有文件与子目录。

常用选项:

-a:列出所有文件,包括隐藏文件。

-l:列出文件的详细信息。

-d:显示文件夹的详细信息,而不是其下的文件。

-R:递归列出所有子目录下的文件。

lscpu:查看目前机器的中央处理器规格

lsmem:查看目前机器的内存规格

使用方法:

补充:在ls -a列出的文件中看到有三个点:在Linux中,文件以 ' . ' 开始的一般是隐藏文件,比如这三个点,前一个点“.” 代表着本目录的路径,’. .‘代表着上级目录。

在日常使用中以“ll”指令居多,它是ls-l的简称,方便快捷。

2.pwd指令

功能:显示当前路径

使用方法:

3.cd指令

功能:切换路径,后跟目标文件的路径

常用选项:

~:进入当前用户的工作目录。

-:回到上一次的路径

使用方法:

补充系统文件目录的组织是类似于倒立的树(不一定是二叉树),目录的本质是容器,除了叶子节点可以是文件,根及叶子节点只能是容器(文件是没法做容器的)。

补充:绝对路径,相对路径。路径具有唯一性!

4.whoami指令

功能:显示当前谁在使用系统

使用方法:

补充:who指令:查看当前主机在线用户

5.touch指令

功能:创建普通文件,更改文件的修改时间(前提是该文件已经被创建)

使用方法:

补充:文件 = 内容 + 属性(如创建时间等)

6.mkdir指令

功能:创建一个空目录。

常用选项:

-p:创建一串目录。

使用方法:

7.rm指令

功能:删除文件或目录。

常用选项:

-r:递归删除(用于删除目录及其内子目录或文件)

-f:强制删除

-i:删除前询问是否删除

使用方法:

8.man指令

功能:查询指令或函数的使用方法,按q退出说明手册

使用方法:

9.cp指令

功能:拷贝文件或目录,cp src(源文件路径) des(目标路径)

这里体现了上述补充中的的路径具有唯一性

常用选项:

-r:递归复制(用于将目录中的文件或子文件递归复制到目的路径)

-rf:强制拷贝

-i:拷贝前询问(用于该路径已有同名文件或目录,是否覆盖)

使用方法:

10.mv指令

功能:剪切文件或目录到目的路径,更改文件目录名。

使用方法:

11.nano指令

功能:记事本,打开文件,ctlr + x退出。若有增删内容,ctlr + x后接y + enter。

使用方法:

12.cat指令

功能:查看文本

常用选项:
-n:同时打印行数

使用方法:

13.tac指令

功能:倒着打印文本(cat的倒转)

注意:tac指令无-n选项

使用方法:

14.more指令

功能:将文件打印在屏幕上,但之铺满屏幕(适合查看大文本),按下enter后继续打印

常用选项:

-n(数字):一次打印n行,方便查看

使用方法:

补充:more的搜索功能

15.less指令

功能:同more,但可用上下键翻动方便查看

16.head指令

功能:默认打印前10行内容

常用选项:
-n(数字):打印前n行

使用方法:

17.tail指令

功能:同head,但倒着打印

使用方法:

18.date指令

功能:打印日期

常用选项:

使用方法:

19.cal指令

功能:打印日历,后跟年份

常用选项:

-3:打印前后共三月日历

使用方法:

20.find指令

功能:搜索目标文件,若为找到还可能取硬盘找故效率可能较低。

find 路径 文件名。

常用选项:
-name:搜索文件

(find还有很多其他选项,一般常用的就-name,若有需要请查询相关文档)

使用方法:

21.which指令

功能:搜素指令

使用方法:

22.grep指令

功能:在文本中匹配关键字,将匹配上的行输出

常用选项:

-n:同时打印行号

-i:查找时忽略大小写

-v:将不匹配的行输出

使用方法

23.sort指令

功能:按asccl码值对文本内容进行排序后打印

使用方法:

24.uniq指令

功能:将相邻行去重,是相邻行

使用方法:

补充:管道,多个指令一起执行

25.echo指令

功能:将后接的字符串输出

常用选项:

>>:将字符串定向写入目标文件

使用方法:

26.bc指令

功能:Linux下的计算器,输入quit停止

使用方法:

28.uname指令

功能:显示当前系统

常用选项:
-a:显示系统详细信息

-r:查看系统内核版本

使用方法:

补充:热键

ctlr + r:搜素历史指令

ctlr + C:终止当前指令或程序的运行

ctlr + d:退出当前用户

tab:自动补全指令

二、理解权限

1.root和sudo指令

root:超级管理员,root可通过su/su - 切换成普通用户

其余用户均为普通用户,普通用户切换为root需要密码。

sudo指令:在不切换用户的情况下,让普通用户以root方式运行指令。在指令之前添加sudo。

2.什么是权限?(是什么)

权限 = 身份 +属性

比如:

身份:你是名学生,你可以回宿舍躺着,但外面大街上的某人不行,因为他不是该校学生。

属性:腾讯视频可以看视频,但不能刷OJ,因为它没有那个功能属性。

1)身份

2)属性

文件的属性包括:r(读)、w(写)、x(执行)

还记得上面补充的:文件 = 内容 + 属性

Linux中的文件类型:

在Linux中,文件最前面有10个字符,他们分别表示:文件类型,三种身份的权限

补充:

①虽然Linux不认.txt等文件类型,但不意味着可以随便更改,因为Linux中的一些程序严格区分文件后缀名,典型如gcc编译时文件后缀名就必须是.c。使用文件名最好不要乱动

Linux中不同身份的权限:

最前面的10列字符,出去第一列的文件类型后,还剩9列,每个身份各列分别对应:r、w、x,若有权限则显示r/w/x,无则显示_

3.为什么要有权限?(为什么)

答:便于系统进行安全管理。

4.怎么修改权限?(怎么办)

在知道了文件的权限后,是否可以修改权限?答案是可以的:

①是文件拥有者(onwer)可以修改文件权限;②是超级管理root可以修改权限

权限 = 身份 + 属性,也就是说可以改身份,也可以改属性

1)chmod指令改属性

功能:修改文件某身份的权限属性

①ugo +- rwx:

使用方法:chmod u/g/o +/- r/w/x 文件名

值得注意的是文件的权限修改是针对普通用户的,root没有权限一样访问。

②八进制方案:

前面提到每个身份各有3列,若是将有权限看作1,没有权限看作0,那么每个身份的权限可用一个八进制数表示。

使用方法:chmod 八进制数 文件名

2)chown指令更改拥有者身份

使用方法:chown 新用户名 文件名

注:唯有root或者sudo后的普通用户才可修改身份,否者是不被允许的,如下

3)chgrp指令修改所有组身份

使用方法:chgrp 新所有组 文件名

注意:同上chown,唯有root和sudo用户可修改所有组,否则失败

三、一些书本上的衍生问题

1、文件或目录创建好后Linux是怎么为我们设置默认权限的?

Linux规定:

目录         起始权限是  777 

普通文件  起始权限是  666

但是但我们创建一个空目录或文件后,发现各身份权限与初始权限不同?

umask:权限掩码,有四位,第一位是八进制标识,只看后三位。umask的值系统是默认0002,我们也可按需更改。

我们创建一个普通文件看看权限是否一致:

除去第一列文件类型,后三位身份位权限一致。

2、进入目录需要哪个权限,是r,w还是x?

经过笔者实验:


x:进入目录所需权限;

r:进入目录后能“ls”查看目录中内容的权限;

w:进入目录后能创建文件或子目录的权限。

从该实验也侧面印证了目录的初始权限是777,因为目录被创建出来一般都要能进入。


总结

笔者水平浅薄,若有错误的地方还请大家指出批评,笔者看到马上就会更改的

文章较长,读者看完后能否给笔者一个赞呢,一个免费的点赞就能让笔者高兴很久很久哦~

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

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

相关文章

JVM虚拟机篇(七):JVM垃圾回收器全面解析与G1深度探秘及四种引用详解

JVM垃圾回收器全面解析与G1深度探秘及四种引用详解 JVM虚拟机(七):JVM垃圾回收器全面解析与G1深度探秘及四种引用详解一、JVM有哪些垃圾回收器1. Serial回收器2. ParNew回收器3. Parallel Scavenge回收器4. Serial Old回收器5. Parallel Old回…

革新电销流程,数企云外呼开启便捷 “直通车”

在当今竞争激烈的商业环境中,电销作为一种重要的营销手段,依旧在企业的客户拓展与业务增长中扮演着关键角色。然而,传统电销流程常常面临诸多困扰,像是封卡封号风险、接通率不理想、客户开发与管理艰难以及销售考核复杂等问题&…

适合工程建筑行业的OA系统有什么推荐?

工程行业具有项目周期长、协作链条复杂等特性,传统管理模式下的 “人治”“纸质化” 弊端日益凸显。OA 系统作为数字化管理的核心载体,通过流程标准化、数据可视化,精准解决工程行业项目管理核心痛点。 泛微 e-office 深度聚焦工程场景&#…

车载刷写架构 --- ECU收到相同的blockSequenceCounter数据包的思考

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…

C++ RAII 的用途及业务代码实现案例

C RAII 的用途及业务代码实现案例 RAII 的核心概念 RAII (Resource Acquisition Is Initialization,资源获取即初始化) 是 C 的核心编程范式,其核心思想是: 资源获取与对象构造绑定资源释放与对象析构绑定利用 C 对象生命周期自动管理资源…

黑马 SpringAI+DeepSeek 实战:从对话机器人到企业级知识库的大模型开发全攻略

附完整代码 项目案例,3 天吃透大模型应用开发核心技术 需要完整项目学习视频以及源码的私信博主,谢谢~大家一起加油呐!! 01.认识AI和大模型 小结 AI的发展过程 符号主义 机器学习 深度学习——自然语言处理(NLP…

共工新闻社与韩国新华报社达成合作

在当下媒体融合浪潮奔涌的时代背景下,大湾区经济网战略媒体香港共工新闻社与韩国新华报社顺利签署合作协议,携手为传播全球化进程以及海外华文媒体从单一媒体向多媒体的内涵拓展,乃至区域经济协同与文化融合发展贡献力量。 缔结友好华文媒体协…

嵌入式Linux驱动——3 总线设备驱动模型

目录 1.总线设备驱动模型 1.1 总线设备驱动模型 1.2 设备树 1.3 platform_device 和 platform_driver 的匹配规则 1.3.1 最先比较 1.3.2 然后比较 1.3.3 最后比较 2.LED 模板驱动程序的改造:总线设备驱动模型 1.总线设备驱动模型 在前面的 led 驱动程序中…

操作系统常用命令

逻辑卷创建及挂载步骤: vgcreate vg_app /dev/sda //在sda盘上创建vg_app卷组 lvcreate -L 50G -n lv_mysql vg_app //在vg_app卷组上创建逻辑卷lv_mysql mkfs.xfs /dev/vg_app/lv_mysql //对lv_mysql 逻辑卷创建文件系统 mkdir mysql //创建mysql目录 ech…

Git 的进阶功能和技巧

1、分支的概念和使用 1.1、什么是分支? 分支(Branch)是在版本控制中非常重要的概念。几乎所有版本控制系统都支持某种形式的分支。在 Git 中,分支是 Git 强大功能之一,它允许我们从主开发线分离出来,在不…

mapbox基础,加载F4Map二维地图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性二、🍀F4Map 简介2.1 ☘️技术特点2.2 ☘️核…

Conda使用方法详解

Conda是一个开源的包管理和环境管理系统,主要用于Python/R等科学计算领域,可以轻松管理不同项目的依赖关系。以下是Conda的详细使用方法: 一、安装与配置 1.安装Miniconda/Anaconda Miniconda是精简版,只包含conda和Python Ana…

Unity ViewportConstraint

一、组件功能概述 ViewportConstraint是一个基于世界坐标的UI边界约束组件,主要功能包括: 将UI元素限制在父容器范围内支持自定义内边距(padding)可独立控制水平和垂直方向的约束 二、实现原理 1. 边界计算(世界坐…

代码随想录-动态规划24

leetcode-300-最长递增子序列 dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度 dp[j]是(0,i-1)不包括i的以nums[i-1]结尾的最长递增子序列长度 int lengthOfLIS(int* nums, int numsSize) {if(numsSize < 1)return numsSize;int dp[numsSize];for(int i 0 ; i &…

银河麒麟V10 Ollama+ShellGPT打造Shell AI助手——筑梦之路

环境说明 1. 操作系统版本: 银河麒麟V10 2. CPU架构&#xff1a;X86 3. Python版本&#xff1a;3.12.9 4. 大模型&#xff1a;mistral:7b-instruct 准备工作 1. 编译安装python 3.12 # 下载python 源码wget https://www.python.org/ftp/python/3.12.9/Python-3.12.9.tg…

2025 跨平台技术如何选:KMP 与 Flutter 的核心差异

前言 在移动开发的演进历程中&#xff0c;跨平台技术始终是一个充满争议却无法回避的话题。从早期的 React Native 到如今的 Kotlin Multiplatform&#xff08;KMP&#xff09;和 Flutter&#xff0c;开发者们始终在代码复用与原生体验之间寻找平衡。本文我们从技术实现、性能…

Python Cookbook-5.10 选取序列中最小的第 n个元素

任务 需要根据排名顺序从序列中获得第n个元素(比如&#xff0c;中间的元素&#xff0c;也被称为中值)。如果序列是已经排序的状态&#xff0c;应该使用seq[n]&#xff0c;但如果序列还未被排序&#xff0c;那么除了先对整个序列进行排序之外&#xff0c;还有没有更好的方法? …

列表之链表_C

数据结构&#xff08;邓俊辉&#xff09;&#xff1a;列表及相关概念_listnodeposi-CSDN博客 #include <stdio.h> #include <stdlib.h>// 定义Rank类型为int typedef int Rank;// 定义ListNode结构体 typedef struct ListNode {int data;struct ListNode* pred;st…

0401react中使用css-react-css-仿低代码平台项目

文章目录 1、普通方式-内联使用css2、引入css文件2.1、示例2.2、classnames 3、内联css与引入css文件对比3.1、内联css3.2、 外部 CSS 文件&#xff08;External CSS&#xff09; 4、css module5、sass6、classnames组合scss modules7、css-in-js7.1、CSS-in-JS 的核心特性7.2、…

鸿蒙开发者高级认证编程题库

题目一:跨设备分布式数据同步 需求描述 开发一个分布式待办事项应用,要求: 手机与平板登录同一华为账号时,自动同步任务列表任一设备修改任务状态(完成/删除),另一设备实时更新任务数据在设备离线时能本地存储,联网后自动同步实现方案 // 1. 定义分布式数据模型 imp…