【Linux篇】初识Linux指令(下篇)

文章目录 \color{CornflowerBlue} 文章目录 文章目录

Linux命令的艺术:让操作更加高效与灵活

  • [文章目录 \color{CornflowerBlue} 文章目录 文章目录](#文章目录 \color{CornflowerBlue} 文章目录 文章目录)
  • [三 文件权限与管理](#三 文件权限与管理)
    • [3.1 必要性](#3.1 必要性)
    • [3.2 文件访问权限](#3.2 文件访问权限)
  • [四 文件与目录管理命令](#四 文件与目录管理命令)
    • [4.1 c p 命令 − " c o p y " (拷贝) \color{Fuchsia}cp命令 - "copy"(拷贝) cp命令−"copy"(拷贝)](#4.1 c p 命令 − " c o p y " (拷贝) \color{Fuchsia}cp命令 - "copy"(拷贝) cp命令−"copy"(拷贝))
    • [4.2 m v 命令 − " m o v e " (移动文件或重命名) \color{Fuchsia} mv命令 - "move"(移动文件或重命名) mv命令−"move"(移动文件或重命名)](#4.2 m v 命令 − " m o v e " (移动文件或重命名) \color{Fuchsia} mv命令 - "move"(移动文件或重命名) mv命令−"move"(移动文件或重命名))
  • [五 文件查看与编辑命令](#五 文件查看与编辑命令)
    • [5.1 c a t − " c o n c a t e n a t e " (查看文件内容) \color{Fuchsia}cat - "concatenate"(查看文件内容) cat−"concatenate"(查看文件内容)](#5.1 c a t − " c o n c a t e n a t e " (查看文件内容) \color{Fuchsia}cat - "concatenate"(查看文件内容) cat−"concatenate"(查看文件内容))
    • [5.2 m o r e 命令 − " 分页查看文件 " \color{Fuchsia} more命令 - "分页查看文件" more命令−"分页查看文件"](#5.2 m o r e 命令 − " 分页查看文件 " \color{Fuchsia} more命令 - "分页查看文件" more命令−"分页查看文件")
    • [5.3 l e s s 命令 − " 分页查看文件(支持向前、向后滚动) " \color{Fuchsia} less命令 - "分页查看文件(支持向前、向后滚动)" less命令−"分页查看文件(支持向前、向后滚动)"](#5.3 l e s s 命令 − " 分页查看文件(支持向前、向后滚动) " \color{Fuchsia} less命令 - "分页查看文件(支持向前、向后滚动)" less命令−"分页查看文件(支持向前、向后滚动)")
    • [5.3 h e a d 命令 − " 查看文件的前几行 " \color{Fuchsia} head命令 - "查看文件的前几行" head命令−"查看文件的前几行"](#5.3 h e a d 命令 − " 查看文件的前几行 " \color{Fuchsia} head命令 - "查看文件的前几行" head命令−"查看文件的前几行")
    • [5.4 t a i l 命令 − " 查看文件的后几行 " \color{Fuchsia} tail命令 - "查看文件的后几行" tail命令−"查看文件的后几行"](#5.4 t a i l 命令 − " 查看文件的后几行 " \color{Fuchsia} tail命令 - "查看文件的后几行" tail命令−"查看文件的后几行")
    • [5.5 n a n o / v i m . v i 命令 − " 文本编辑器 " \color{Fuchsia} nano/vim.vi 命令 - "文本编辑器" nano/vim.vi命令−"文本编辑器"](#5.5 n a n o / v i m . v i 命令 − " 文本编辑器 " \color{Fuchsia} nano/vim.vi 命令 - "文本编辑器" nano/vim.vi命令−"文本编辑器")
      • [5.5.1 n a n o \color{Red}nano nano:](#5.5.1 n a n o \color{Red}nano nano:)
      • [5.5.2 v i m \color{Red}vim vim:](#5.5.2 v i m \color{Red}vim vim:)
      • [5.5.3 v i \color{Red}vi vi:](#5.5.3 v i \color{Red}vi vi:)
  • [6 时间有关指令](#6 时间有关指令)
    • [6.1 d a t e 指令 \color{Fuchsia} date 指令 date指令](#6.1 d a t e 指令 \color{Fuchsia} date 指令 date指令)
    • [6.2 c a l 指令 \color{Fuchsia} cal 指令 cal指令](#6.2 c a l 指令 \color{Fuchsia} cal 指令 cal指令)
  • [七 文件查找与搜索命令](#七 文件查找与搜索命令)
    • [7.1 f i n d 命令 − " 查找 " \color{Fuchsia} find命令 -"查找" find命令−"查找"](#7.1 f i n d 命令 − " 查找 " \color{Fuchsia} find命令 -"查找" find命令−"查找")
    • [7.2 w h i c h 命令 \color{Fuchsia} which 命令 which命令](#7.2 w h i c h 命令 \color{Fuchsia} which 命令 which命令)
    • [7.3 w h e r e i s 命令 \color{Fuchsia} whereis 命令 whereis命令](#7.3 w h e r e i s 命令 \color{Fuchsia} whereis 命令 whereis命令)
    • [7.4 g r e p 命令 \color{Fuchsia} grep 命令 grep命令](#7.4 g r e p 命令 \color{Fuchsia} grep 命令 grep命令)
  • [八 文件权限与所有者管理命令](#八 文件权限与所有者管理命令)
    • [8.1 c h m o d 指令 − " 修改文件或目录权限 " \color{Fuchsia} chmod指令 - "修改文件或目录权限" chmod指令−"修改文件或目录权限"](#8.1 c h m o d 指令 − " 修改文件或目录权限 " \color{Fuchsia} chmod指令 - "修改文件或目录权限" chmod指令−"修改文件或目录权限")
    • [8.2 c h o w n 指令 − " 修改文件或目录权限 " \color{Fuchsia} chown指令 - "修改文件或目录权限" chown指令−"修改文件或目录权限"](#8.2 c h o w n 指令 − " 修改文件或目录权限 " \color{Fuchsia} chown指令 - "修改文件或目录权限" chown指令−"修改文件或目录权限")
    • [8.3 c h g r p 指令 − " 更改文件或目录的组 " \color{Fuchsia} chgrp指令 - "更改文件或目录的组" chgrp指令−"更改文件或目录的组"](#8.3 c h g r p 指令 − " 更改文件或目录的组 " \color{Fuchsia} chgrp指令 - "更改文件或目录的组" chgrp指令−"更改文件或目录的组")
    • [8.4 u m a s k 指令 − " 设置文件权限掩码 " \color{Fuchsia} umask指令 - "设置文件权限掩码" umask指令−"设置文件权限掩码"](#8.4 u m a s k 指令 − " 设置文件权限掩码 " \color{Fuchsia} umask指令 - "设置文件权限掩码" umask指令−"设置文件权限掩码")
  • [九 其它指令](#九 其它指令)
    • [9.1 z i p / u n z i p 指令 \color{Fuchsia}9.1 zip/unzip 指令 9.1zip/unzip指令](#9.1 z i p / u n z i p 指令 \color{Fuchsia}9.1 zip/unzip 指令 9.1zip/unzip指令)
      • [9.1.2 zip指令](#9.1.2 zip指令)
      • [9.1.2 unzip指令](#9.1.2 unzip指令)
    • [9.2 b c 指令 \color{Fuchsia}bc指令 bc指令](#9.2 b c 指令 \color{Fuchsia}bc指令 bc指令)
    • [9.3 u n a m e − r 指令 \color{Fuchsia}uname -r 指令 uname−r指令](#9.3 u n a m e − r 指令 \color{Fuchsia}uname -r 指令 uname−r指令)
    • [9.4 t a r 指令 \color{Fuchsia}tar指令 tar指令](#9.4 t a r 指令 \color{Fuchsia}tar指令 tar指令)
    • [9.5 a l i a s 指令 − " 取别名 " \color{Fuchsia}alias指令 - "取别名" alias指令−"取别名"](#9.5 a l i a s 指令 − " 取别名 " \color{Fuchsia}alias指令 - "取别名" alias指令−"取别名")
    • [9.6 f i l e 指令 \color{Fuchsia} file 指令 file指令](#9.6 f i l e 指令 \color{Fuchsia} file 指令 file指令)
  • [十 粘滞位(了解即可)](#十 粘滞位(了解即可))
    • [10.1 粘滞位定义 \color{Fuchsia}粘滞位定义 粘滞位定义](#10.1 粘滞位定义 \color{Fuchsia}粘滞位定义 粘滞位定义)
    • [10.2 引入背景 \color{Fuchsia}引入背景 引入背景](#10.2 引入背景 \color{Fuchsia}引入背景 引入背景)
    • [10.3 粘滞位作用 \color{Fuchsia}粘滞位作用 粘滞位作用](#10.3 粘滞位作用 \color{Fuchsia}粘滞位作用 粘滞位作用)
    • [10.4 如何设置和查看粘滞位 \color{Fuchsia}如何设置和查看粘滞位 如何设置和查看粘滞位](#10.4 如何设置和查看粘滞位 \color{Fuchsia}如何设置和查看粘滞位 如何设置和查看粘滞位)
      • [10.4.1 查看目录的粘滞位:](#10.4.1 查看目录的粘滞位:)
      • [10.4.2 设置粘滞位:](#10.4.2 设置粘滞位:)
    • [10.5 粘滞位的实际例子 \color{Fuchsia}粘滞位的实际例子 粘滞位的实际例子](#10.5 粘滞位的实际例子 \color{Fuchsia}粘滞位的实际例子 粘滞位的实际例子)
    • [10.6 粘滞位的限制 \color{Fuchsia} 粘滞位的限制 粘滞位的限制](#10.6 粘滞位的限制 \color{Fuchsia} 粘滞位的限制 粘滞位的限制)
    • [10.7 总结 \color{Fuchsia}总结 总结](#10.7 总结 \color{Fuchsia}总结 总结)
  • [11 最后](#11 最后)

💬 欢迎讨论:如果你在学习过程中有任何问题或想法,欢迎在评论区留言,我们一起交流学习。你的支持是我继续创作的动力! 👍

点赞、收藏与分享:觉得这篇文章对你有帮助吗?别忘了点赞、收藏并分享给更多的小伙伴哦!你们的支持是我不断进步的动力! 🚀

分享给更多人:如果你觉得这篇文章对你有帮助,欢迎分享给更多对Linux OS感兴趣的朋友,让我们一起进步!

接上篇 -> 【Linux篇】初识Linux指令(上篇):本篇博客将详细介绍一些与"查找"相关的主要 L i n u x \color{Red}Linux Linux指令。同时,我们还将深入学习与权限管理以及文件的增删改操作相关的 L i n u x \color{Red}Linux Linux指令。请跟随小编的步伐,一起进入学习之旅。

三 文件权限与管理

3.1 必要性

Linux 文件权限与管理对于系统安全和稳定至关重要。通过正确设置文件的读、写、执行权限,可以有效防止未经授权的访问和操作,确保数据的安全性。同时,合理的权限管理有助于限制用户或程序对系统资源的访问,避免潜在的安全漏洞和不必要的风险。因此,掌握文件权限和管理对于保护系统、提升效率以及避免误操作非常重要。

3.2 文件访问权限

在Linux中,每个文件和目录都有访问权限,限定谁可以读、写和执行该文件。文件的访问权限分为三类:

  • r (读) \color{Red}r(读) r(读): 对⽂件⽽⾔,具有 读取 \color{Red}读取 读取⽂件内容的权限。(对⽬录来说,具有 浏览 \color{Red}浏览 浏览该⽬录信息的权限。)
  • w (写) \color{Red}w(写) w(写):对⽂件⽽⾔,具有 修改 \color{Red}修改 修改⽂件内容的权限。(对⽬录来说具有 删除移动 \color{Red}删除移动 删除移动⽬录内⽂件的权限。)
  • x (写) \color{Red}x(写) x(写):对⽂件⽽⾔,表示可以 执⾏ \color{Red}执⾏ 执⾏⽂件;(对⽬录来说,具有 可 进⼊ \color{Red}进⼊ 进⼊⽬录的权限。)
    Linux文件下详细细节信息如下图:

    示例:

drwxrwxr-x 3 \color{RoyalBlue}3 3wch_1 wch_1 4096 \color{RoyalBlue}4096 4096 Mar 11 20 \color{RoyalBlue}20 20:20 test

解释: r w x \color{Red}rwx rwxrwx表示拥有者具有读、写、执行文件权限; r w x \color{Red}rwx rwxrwx表示所属者具有读、写、执行文件权限; r − x \color{Red}r-x r−xr-x表示 其他用户 \color{Red}其他用户 其他用户具有读,执行该文件权限,但没有写的权限。- 表示没有该权限!!!

四 文件与目录管理命令

4.1 c p 命令 − " c o p y " (拷贝) \color{Fuchsia}cp命令 - "copy"(拷贝) cp命令−"copy"(拷贝)

命令格式:

cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录

功能:

  • 复制⽂件或⽬录

常用选项:

  • − f \color{Fuchsia}-f −f 或 − − f o r c e \color{Fuchsia}--force −−force强⾏复制⽂件或⽬录, 不论⽬的⽂件或⽬录是否已经存在。
  • − i \color{Fuchsia}-i −i 或 − − i n t e r a c t i v e \color{Fuchsia}--interactive −−interactive 覆盖⽂件之前先询问⽤⼾。
  • − r \color{Fuchsia}-r −r 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理。

示例:

cp -rf test test-backup

该命令会强制递归将 t e s t \color{Red}test test目录下所有的文件和目录拷贝至 t e s t − b a c k u p \color{Red}test-backup test−backup目录下。

本实例图示(如下):

4.2 m v 命令 − " m o v e " (移动文件或重命名) \color{Fuchsia} mv命令 - "move"(移动文件或重命名) mv命令−"move"(移动文件或重命名)

命令格式:

mv [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录

功能:

  • 将已存在的文件可以重命。
  • 如果当前工作路径存在相同文件名,则和多为一。

常用选项:

− f : \color{Red}-f: −f:如果⽬标⽂件已经存在,不会询问⽽强制进行覆盖。
− i \color{Red}-i −i:若⽬标⽂件 ( d e s t i n a t i o n \color{Red}destination destination) 已经存在时,就会询问是否覆盖。

示例:

mv -i yourfile.txt myfile.txt

该命令会询问用户(mv: overwrite 'myfile.txt'? y)是否确定mv。

五 文件查看与编辑命令

5.1 c a t − " c o n c a t e n a t e " (查看文件内容) \color{Fuchsia}cat - "concatenate"(查看文件内容) cat−"concatenate"(查看文件内容)

命令格式:

cat [选项] [⽂件]

功能:

  • 查看⽬标⽂件的内容

常用选项:

  • − b \color{Red}-b −b :对⾮空输出⾏编号
  • − n \color{Red}-n −n :对输出的所有⾏编号
  • − s \color{Red}-s −s : 不输出多⾏空⾏

示例:

cat -n mytest.txt

该命令会查看 m y t e s t . t x t \color{Red}mytest.txt mytest.txt 文件下的内容,并打印文件内容至显示器。

5.2 m o r e 命令 − " 分页查看文件 " \color{Fuchsia} more命令 - "分页查看文件" more命令−"分页查看文件"

命令格式:

more [选项]

功能:

  • 以分页的方式查看文件内容,尤其适用于内容较多的文件。使用 m o r e \color{Red}more more时,文件内容会逐页显示,用户可以按空格键翻到下一页,按 q \color{Red}q q 退出查看。

常用选项:

  • − n \color{Red}-n −n 指定输出⾏数。
  • q \color{Red}q q 退出 m o r e \color{Red}more more。

示例 :

more -10 temp.txt

该命令会查看 t e m p . t x t \color{Red}temp.txt temp.txt文件从前往后的前 10 \color{Red}10 10行。

5.3 l e s s 命令 − " 分页查看文件(支持向前、向后滚动) " \color{Fuchsia} less命令 - "分页查看文件(支持向前、向后滚动)" less命令−"分页查看文件(支持向前、向后滚动)"

命令格式:

less [参数] ⽂件

功能:

  • 与 m o r e \color{Red}more more相似, l e s s \color{Red}less less也用于分页显示文件内容,但相比 m o r e \color{Red}more more, l e s s \color{Red}less less更强大,支持向前翻页(使用 b \color{Red}b b键)以及向后翻页(使用方向键)。它还允许在文件中进行搜索,按 q \color{Red}q q退出查看。

常用选项:

  • − i \color{Red}-i −i: 忽略搜索时的⼤⼩写
  • − N \color{Red}-N −N: 显⽰每⾏的⾏号
  • / \color{Red}/ / 字符串:向下搜索"字符串"的功能
  • ? \color{Red}? ? 字符串:向上搜索"字符串"的功能
  • n \color{Red}n n:重复前⼀个搜索(与 / 或 ? 有关)
  • N \color{Red}N N:反向重复前⼀个搜索(与 / 或 ? 有关)
  • q \color{Red}q q: q u i t \color{Red}quit quit 退出。

示例:

cnt=0; while [ $cnt -le 2000 ]; do echo "hello

$cnt"; let cnt++; done > temp.txt

5.3 h e a d 命令 − " 查看文件的前几行 " \color{Fuchsia} head命令 - "查看文件的前几行" head命令−"查看文件的前几行"

命令格式:

head [参数]... [⽂件]...

功能:

  • 查看文件的前几行。

常用选项:

  • − n \color{Red}-n −n: 显⽰的⾏数

示例:

h e a d \color{Red}head head-10 temp.txt

该命令会显示 t e m p . t x t \color{Red}temp.txt temp.txt 文件前 10 \color{Red}10 10行内容。

5.4 t a i l 命令 − " 查看文件的后几行 " \color{Fuchsia} tail命令 - "查看文件的后几行" tail命令−"查看文件的后几行"

命令格式:

tail 必要参数 [⽂件]

  • 功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。

常用选项:

  • − f \color{Red}-f −f: 循环读取
  • − n \color{Red}-n −n: 显⽰⾏数

示例:

head -200 temp.txt | tail -20

该命令会显示 t e m p . t x t \color{Red}temp.txt temp.txt文件180行至200行的内容。

补充:|:称为管道,把前面输出结果作为后面的起始条件。

5.5 n a n o / v i m . v i 命令 − " 文本编辑器 " \color{Fuchsia} nano/vim.vi 命令 - "文本编辑器" nano/vim.vi命令−"文本编辑器"

5.5.1 n a n o \color{Red}nano nano:

简介: n a n o \color{Red}nano nano 是一个简单、易用的文本编辑器,适合新手使用。它的界面直观,命令操作以快捷键形式显示在屏幕底部。

特点:操作简单,几乎不需要记忆复杂的命令。适用于编辑小型配置文件或简单文本。

常用命令:
C t r l + O \color{Red}Ctrl + O Ctrl+O:保存文件
C t r l + X \color{Red}Ctrl + X Ctrl+X:退出编辑器
C t r l + K \color{Red}Ctrl + K Ctrl+K:剪切文本
C t r l + U \color{Red}Ctrl + U Ctrl+U:粘贴文本

5.5.2 v i m \color{Red}vim vim:

简介: v i m \color{Red}vim vim是 v i \color{Red}vi vi 的增强版,是一个功能强大的文本编辑器。它提供了多种编辑模式,如普通模式、插入模式、命令模式等,适用于编程、配置文件编辑等。

特点:功能强大、灵活,但学习曲线较陡。适用于熟练用户,支持高级文本编辑和宏功能。

常用命令:

  • i \color{Red}i i:进入插入模式
  • E s c \color{Red}Esc Esc:返回普通模式
  • w \color{Red}w w:保存文件
  • q \color{Red}q q:退出编辑器
  • w q \color{Red}wq wq:保存并退出
  • d d \color{Red}dd dd:删除一行
  • y y \color{Red}yy yy:复制一行

5.5.3 v i \color{Red}vi vi:

简介: v i \color{Red}vi vi是最早的文本编辑器之一,几乎所有 Unix 和 Linux 系统中都自带。它的操作方式与 v i m \color{Red}vim vim类似,但功能不如 v i m \color{Red}vim vim强大。

特点:操作简洁,但也较为复杂,适合有一定经验的用户。 v i \color{Red}vi vi主要由普通模式和插入模式组成。

常用命令:与上述vim一样,不再重复说明。

总体来说: nano 更适合初学者,vi 和 vim 提供更多高级功能,适合有一定经验的用户进行复杂的文本编辑。

6 时间有关指令

6.1 d a t e 指令 \color{Fuchsia} date 指令 date指令

命令格式:

date [OPTION]... [+FORMAT]

功能:

  • 显示时间与时间戳。

示例:

date +%Y/%m/%d

该命令会显示当前时间 。

6.2 c a l 指令 \color{Fuchsia} cal 指令 cal指令

命令格式:

cal 参数 [年份]

功能:

  • ⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份和年份。

常用选择:

  • − 3 \color{Red}-3 −3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历
  • − j \color{Red}-j −j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)
  • − y \color{Red}-y −y 显⽰当前年份的⽇历

示例:

cal -y

该实例效果图如下:

七 文件查找与搜索命令

7.1 f i n d 命令 − " 查找 " \color{Fuchsia} find命令 -"查找" find命令−"查找"

命令格式:

find pathname -options

功能:

  • ⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)

常用选项:

  • − n a m e < p a t t e r n > \color{Red}-name <pattern> −name<pattern>:按文件名查找(支持通配符 * 和 ?)。

find /path/to/dir -name "*.txt" # 查找所有扩展名为 .txt 的文件

  • − i n a m e < p a t t e r n > \color{Red}-iname <pattern> −iname<pattern>:按文件名查找,忽略大小写

find /path/to/dir -iname "*.txt" # 查找所有扩展名为 .txt 的文件,大小写不敏感

  • − t y p e < t y p e > \color{Red}-type <type> −type<type>:按文件类型查找 ->f :普通文件 d:目录 l:符号链接

find /path/to/dir -type f # 查找所有普通文件

find /path/to/dir -type d # 查找所有目录

  • − s i z e < n > \color{Red}-size <n> −size<n>:按文件大小查找,n 是文件大小。

例如,+100M 表示大于 100MB 的文件,-10k 表示小于 10KB 的文件。

find /path/to/dir -size +100M # 查找大于 100MB 的文件

  • − m t i m e < n > \color{Red}-mtime <n> −mtime<n>:按文件的修改时间查找。n 可以是:+n:修改时间超过 n 天 ,-n:修改时间在 n 天之内 n:修改时间恰好为 n 天

find /path/to/dir -mtime -7 # 查找过去 7 天内修改的文件

  • − a t i m e < n > \color{Red}-atime <n> −atime<n>:按文件的访问时间查找。

find /path/to/dir -atime +7 # 查找 7 天前访问过的文件

  • − u s e r < u s e r n a m e > \color{Red}-user <username> −user<username>:按文件所有者查找。

find /path/to/dir -user root # 查找 root 用户拥有的文件

  • − g r o u p < g r o u p n a m e > \color{Red}-group <groupname> −group<groupname>:按文件所属组查找。

find /path/to/dir -group staff # 查找属于 staff 组的文件

  • − e x e c < c o m m a n d >    \color{Red}-exec <command> {} \; −exec<command>:对查找到的每个文件执行指定命令。{} 是占位符,代表当前文件。

find /path/to/dir -name "*.txt" -exec cat {} ; # 显示所有 .txt 文件的内容

  • − p r i n t \color{Red}-print −print:显示符合条件的文件路径(默认行为,通常不需要显式写出)。

find /path/to/dir -name "*.txt" -print # 输出所有 .txt 文件的路径

7.2 w h i c h 命令 \color{Fuchsia} which 命令 which命令

功能:

  • 搜索系统指定的指令
    示例:

which ls

该指令显示将 l s \color{Red}ls ls命令指定的路径 : / u s r / b i n / l s \color{Purple}/usr/bin/ls /usr/bin/ls

7.3 w h e r e i s 命令 \color{Fuchsia} whereis 命令 whereis命令

功能

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

示例:

whereis ls

输出:

l s \color{Purple}ls ls: /usr/bin/ls /usr/share/man/man1/ls.1posix.gz /usr/share/man/man1/ls.1.gz

7.4 g r e p 命令 \color{Fuchsia} grep 命令 grep命令

命令格式:

grep [选项] 搜寻字符串 ⽂件

功能:

  • 在⽂件中搜索字符串,将找到的⾏打印出来

常用选项:

  • − i \color{Red}-i −i :忽略⼤⼩写的不同,所以⼤⼩写视为相同
  • − n \color{Red}-n −n :顺便输出⾏号
  • − v \color{Red}-v −v :反向选择,亦即显⽰出没有 '搜寻字符串' 内容的那⼀⾏

示例:

whb@bite-alicloud test\]$ cat temp.txt abcd ABCD hello bite 1234

输出:

whb@bite-alicloud test\]$ grep -v "abcd" temp.txt ABCD hello bite 1234 \[whb@bite-alicloud test\]$ grep -vn "abcd" temp.txt 2:ABCD 3:hello 4:bite 5:1234 \[whb@bite-alicloud test\]$ grep -vni "abcd" temp.txt 3:hello 4:bite 5:1234

八 文件权限与所有者管理命令

8.1 c h m o d 指令 − " 修改文件或目录权限 " \color{Fuchsia} chmod指令 - "修改文件或目录权限" chmod指令−"修改文件或目录权限"

命令格式:

chmod [参数] 权限 ⽂件名

功能:

  • 设置⽂件的访问权限

常用选项:

  • − R \color{Red}-R −R: 递归修改⽬录和⽂件的权限。
  • u/g/o +/-(r/w/x)
  • 权限值表示法:使用八进制数0表示没有,1表示有。

示例:

chmod 755 file.txt # 设置文件的权限为 rwx-r-xr-x

chmod 644 file.txt # 设置文件的权限为 rw-r--r--

chmod 777 file.txt # 设置文件的权限为 rwx-rwx-rwx

8.2 c h o w n 指令 − " 修改文件或目录权限 " \color{Fuchsia} chown指令 - "修改文件或目录权限" chown指令−"修改文件或目录权限"

命令格式:

chmod [参数] 用户名 ⽂件名

功能:

  • 修改⽂件的拥有者

示例:

chown user1 filegroup1

该例子会将文件 f i l e g r o u p 1 \color{Red}filegroup1 filegroup1的拥有者写改成 u s e r 1 \color{Red}user1 user1。

8.3 c h g r p 指令 − " 更改文件或目录的组 " \color{Fuchsia} chgrp指令 - "更改文件或目录的组" chgrp指令−"更改文件或目录的组"

命令格式:

chgrp [参数] ⽤⼾组名 ⽂件名

功能:

  • 修改⽂件或⽬录的所属组

常用选项:

  • − R \color{Red}-R −R 递归修改⽂件或⽬录的所属组

示例:

chgrp users /abc/f2

该例子会将上述路径下文件或目录的所属组修改为 u s e r s \color{Red}users users

8.4 u m a s k 指令 − " 设置文件权限掩码 " \color{Fuchsia} umask指令 - "设置文件权限掩码" umask指令−"设置文件权限掩码"

命令格式:

umask 权限值

功能:

  • 查看或修改⽂件掩码

最终权限(默认) =起始权限 & ( u m a s k \color{Red}~umask umask)

新建⽂件夹默认权限= 0666 \color{Red}0666 0666

新建⽬录默认权限= 0777 \color{Red}0777 0777

示例:

umask 0777 //将umask设置为0777

九 其它指令

9.1 z i p / u n z i p 指令 \color{Fuchsia}9.1 zip/unzip 指令 9.1zip/unzip指令

9.1.2 zip指令

命令格式:

: zip 压缩⽂件.zip ⽬录或⽂件

功能:
z i p \color{Red}zip zip用于创建压缩文件,它可以将多个文件或目录压缩成一个 . z i p \color{Red}.zip .zip 文件

常用选项:

  • − r \color{Red}-r −r:递归处理,将指定⽬录下的所有⽂件和⼦⽬录⼀并处理

示例:

将test2⽬录压缩: zip test2.zip test2/*

9.1.2 unzip指令

命令格式:

unzip [选项] 压缩文件名

功能:

  • u n z i p \color{Red}unzip unzip用于解压缩 . z i p \color{Red}.zip .zip文件。

常用选项:

  • − d \color{Red}-d −d:指定解压缩的目标目录。

示例:

unzip archive.zip -d /path/to/destination # 将 archive.zip 解压到指定目录

补充:如果后面没有路径,则解压到当前的工作路径

9.2 b c 指令 \color{Fuchsia}bc指令 bc指令

命令格式:

bc 数字 运算符 数字

功能:

  • 进行浮点数运算。

示例:

bc

3* 9

27

9.3 u n a m e − r 指令 \color{Fuchsia}uname -r 指令 uname−r指令

命令格式:

uname [选项]

功能:

  • u n a m e \color{Red}uname uname⽤来获取电脑和操作系统的相关信息。

常用选项:

  • − a \color{Red}-a −a或 ‒ a l l \color{Red}‒all ‒all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。

示例:

uname -r

该命令会显示当前 L i n u x \color{Red}Linux Linux内核版本号。

9.4 t a r 指令 \color{Fuchsia}tar指令 tar指令

命令格式:

tar [-cxtzjvf] ⽂件与⽬录 ...

功能:

  • 打包/解包,不打开它,直接看内容

常用选项:

  • c v z f \color{Red}cvzf cvzf:展现打包压缩过程
  • x v z f \color{Red}xvzf xvzf: 解包解压过程

示例:

tar -xvzf XXX.tgz -C //解压缩到指定路径

9.5 a l i a s 指令 − " 取别名 " \color{Fuchsia}alias指令 - "取别名" alias指令−"取别名"

功能:

  • 设置命令的别名

示例:

alias hello='ls -a -l -n'

whb@bite-alicloud test\]$ which hello alias hello='ls -a -l -n' /usr/bin/ls

该命令将 l s − a − l − n \color{Red}ls -a -l -n ls−a−l−n 命令取别名为 h e l l o \color{Red}hello hello。

9.6 f i l e 指令 \color{Fuchsia} file 指令 file指令

命令格式:

file [选项] ⽂件或⽬录...

功能:

  • 辨识⽂件类型。

常⽤选项:

  • − c \color{Red}-c −c:详细显⽰指令执⾏过程,便于排错或分析程序执⾏的情形。
  • − z \color{Red}-z −z :尝试去解读压缩⽂件的内容。

file -cz mytest.txt

cont offset type opcode mask value desc

该实例用来显示文件类型并且对文件内容进行深入分析,特别是对于一些压缩文件或者更复杂的文件结构进行解压和识别。

十 粘滞位(了解即可)

10.1 粘滞位定义 \color{Fuchsia}粘滞位定义 粘滞位定义

粘滞位( S t i c k y B i t \color{Purple}Sticky Bit StickyBit) 是一种特殊的文件权限,它用于指定文件或目录的访问控制行为。最常见的应用场景是在 Linux/Unix 系统中的目录权限管理,尤其是在公共目录(例如 /tmp)中。它的引入主要是为了增强安全性和防止文件被不必要地删除或修改。

10.2 引入背景 \color{Fuchsia}引入背景 引入背景

在多用户环境中,公共目录通常会被多人访问、写入和修改。例如,/tmp 目录是一个临时存储空间,所有用户都有写权限。如果没有粘滞位,任何用户都可以删除其他用户在该目录下创建的文件,这样就可能导致不可预期的安全问题或数据丢失。

引入粘滞位后,虽然用户依然可以写入文件,但只有文件的所有者才能删除或修改自己的文件,其他用户即使有写权限,也无法删除或修改非自己拥有的文件。

10.3 粘滞位作用 \color{Fuchsia}粘滞位作用 粘滞位作用

在未设置粘滞位的普通目录中,所有用户(包括文件的拥有者、同组用户、其他用户)都可以删除或修改目录中的任何文件。

但是,当粘滞位被设置后,目录中的文件只能由文件的所有者、目录的所有者或超级用户(root)删除或修改。其他用户不能删除或修改他们没有权限的文件,即使他们在该目录中有写权限。

10.4 如何设置和查看粘滞位 \color{Fuchsia}如何设置和查看粘滞位 如何设置和查看粘滞位

10.4.1 查看目录的粘滞位:

使用 ls -l 命令可以查看文件或目录的权限信息,如果目录上设置了粘滞位,输出的权限信息中会在最后一位显示 t(对于普通用户的写权限而言)。

ls -l /tmp

示例输出:

drwxrwxrwt 10 root root 4096 Mar 14 09:12 /tmp

这里的 t 就是表示 /tmp 目录上启用了粘滞位。

10.4.2 设置粘滞位:

使用 chmod 命令来设置或移除粘滞位。

  • 设置粘滞位:

chmod +t

  • 例如,设置 /tmp 目录的粘滞位:

chmod +t /tmp

  • 移除粘滞位:

chmod -t

  • 其他相关权限:

粘滞位通常与目录权限一起使用。例如,在 /tmp 目录中,可能会看到 rwxrwxrwt 这样的权限,其中 t 表示粘滞位。

10.5 粘滞位的实际例子 \color{Fuchsia}粘滞位的实际例子 粘滞位的实际例子

假设用户 alice 和 bob 都可以在 /tmp 目录中写入文件:

如果没有粘滞位,bob 可以删除或修改 alice 在 /tmp 目录下创建的文件。

如果设置了粘滞位,bob 即使有写权限,也不能删除或修改 alice 的文件,除非 bob 是该文件的所有者。

10.6 粘滞位的限制 \color{Fuchsia} 粘滞位的限制 粘滞位的限制

粘滞位只能影响目录,对于文件是没有影响的。而且,仅限于文件的删除和修改权限,对于文件内容的修改并不受到粘滞位的限制。

10.7 总结 \color{Fuchsia}总结 总结

粘滞位主要是为了提高公共目录(如 /tmp)的安全性。它防止普通用户删除或修改非自己拥有的文件,从而避免意外的数据丢失或恶意的文件操作。通过合理设置粘滞位,可以确保多用户环境下的文件安全。

11 最后

本篇文章详细介绍了 Linux 中的一些常用命令,尤其是文件管理、编辑命令以及权限管理。它从基础命令到稍微复杂一些的工具都进行了覆盖。对于学习 Linux 命令的读者来说,这篇文章的结构非常清晰,循序渐进,能够帮助理解不同命令的使用场景与方法。

具体来说,文件权限和管理是 Linux 系统的重要组成部分。通过 chmod、chown 和 chgrp 等命令,用户能够对文件和目录的访问权限进行精细管理。这些操作对于确保系统的安全性至关重要。

在文件操作方面,常见的命令如 cp、mv、rm 等,能够实现文件的复制、移动、重命名及删除。而对于大文件的查看,可以通过 cat、more 和 less 等命令进行高效地分页查看。特别是 less 命令,它比 more 更加灵活,支持向前向后滚动,适合查看大型文件。

此外,粘滞位(sticky bit)也是本文的一个重点。虽然它的功能较为简单,但在某些情况下,设置粘滞位可以有效防止用户对公共目录中的文件进行删除操作。文章中也介绍了如何查看和设置粘滞位。

如果你想深入理解 Linux 命令及其用法,可以通过文章中的示例进行练习和实验,这样可以帮助你更好地掌握这些基础工具。

路虽远,行则将至;事虽难,做则必成

亲爱的读者们,下一篇文章再会!!! \color{Red}亲爱的读者们,下一篇文章再会!!! 亲爱的读者们,下一篇文章再会!!!

相关推荐
竹竿袅袅9 分钟前
Tomcat - Session 会话保持
运维·nginx·tomcat·负载均衡·高可用
nfenghklibra20 分钟前
Jenkins自动化部署pigx项目的实践总结
运维·自动化·jenkins
比花花解语37 分钟前
Llinux安装MySQL教程
linux·数据库·mysql
网硕互联的小客服39 分钟前
如何排查和修复 MSSQL 数据库连接失败的问题
linux·运维·服务器·网络·apache
高hongyuan1 小时前
Nginx 代理访问一个 Web 界面时缺少内容
运维·前端·nginx
无名之逆1 小时前
使用 Hyperlane 框架的 WebSocket 功能
服务器·前端·网络·websocket·网络协议·http·rust
Dragon--Z1 小时前
电脑管家如何清理内存及垃圾,提升电脑性能
运维·服务器·windows·电脑
极限实验室2 小时前
通过 INFINI Console 集中管理极限网关配置
服务器·数据库
ツ箫声断丶何处莫凭栏9022 小时前
网络编程---多客户端服务器
运维·服务器
源远流长jerry2 小时前
Linux内核传输层源码分析SCTP
linux·网络·网络协议