首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >初识Linux:常见指令介绍,文件权限的更改,以及粘滞位的理解

初识Linux:常见指令介绍,文件权限的更改,以及粘滞位的理解

作者头像
再睡一下就好
发布2025-06-11 08:53:55
发布2025-06-11 08:53:55
3660
举报
文章被收录于专栏:深究算法深究算法

前言 关于linux的简介

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

代码开源

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

网络功能强大

Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4TCP/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指令

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

常用选项:

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

使用方法:

注意:

< : echo < "字符串",这会覆盖文件中原有内容;

<< : echo << "字符串",这是先文件末尾追加内容。

26.bc指令

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

使用方法:

28.uname指令

功能:显示当前系统

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

-r:查看系统内核版本

使用方法:

29.tar指令

功能:制作压缩吧/解压缩包

选项:

-c :建立一个压缩文件的参数指令(create 的意思);

-x :解开一个压缩文件的参数指令!

-t :查看 tarfile 里面的文件!

-z :是否同时具有 gzip 的属性?

-j :是否同时具有 bzip2 的属性?

-v :压缩的过程中显示文件!

-f :使用档名

-C : 解压到指定目录

常用组合: tar + czf + 压缩包名 + 被压缩的文件或目录:压缩

tar + xzf + 压缩包名:解压缩

Linux操作常用热键

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用户可修改所有组,否则失败

三、粘滞位==公共目录

概念

一个Linux中的公共目录,所有用户都可在此进行临时文件的操作,只能由root创建。

疑点

1)粘滞位公共目录只能由root创建或者更改(这里的更改指只有root才能将普通目录修改为公共目录),故除root外的其他用户全是属于other;

2)为防止普通用户之间互删文件,粘滞位公共目录有一个特殊的文件权限 ’t‘

3)当一个目录被root设置为粘滞位后,该目录中的文件只能被:

①root删除

目录的拥有者(创建者)删除(故一般粘滞位都由root直接创建而不是在其他人的目录进行修改)

文件的拥有者删除;

在Linux中这样的公共目录(粘滞位)一般是根目录下的tmp目录

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

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

Linux规定:

目录 起始权限是 777

普通文件 起始权限是 666

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

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

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

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

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

经过笔者实验:

x:进入目录所需权限;

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

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

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


总结

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言 关于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指令
    • 29.tar指令
    • Linux操作常用热键
  • 二、理解权限
    • 1.root和sudo指令
    • 2.什么是权限?(是什么)
      • 1)身份
      • 2)属性
    • 3.为什么要有权限?(为什么)
    • 4.怎么修改权限?(怎么办)
      • 1)chmod指令改属性
      • 2)chown指令更改拥有者身份
      • 3)chgrp指令修改所有组身份
  • 三、粘滞位==公共目录
    • 概念
    • 疑点
  • 四、一些书本上的衍生问题
    • 1、文件或目录创建好后Linux是怎么为我们设置默认权限的?
    • 2、进入目录需要哪个权限,是r,w还是x?
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档