入门!Linux 常见指令及权限管理全面指南

Linux 操作系统在现代计算机应用中扮演着重要的角色,广泛用于服务器、桌面系统、嵌入式设备及云计算平台等领域。理解和掌握 Linux 常见指令及权限管理机制,是每一位系统管理员和开发人员的基础技能。本文将详细介绍 Linux 系统的基本背景、常用指令、权限概念及其管理方法,并通过实际案例来更好地理解这些内容。

那么,我们进入正题!

一、Linux 系统的背景
1. Linux 的发展历史

Linux 系统由芬兰赫尔辛基大学的 Linus Torvalds 于 1991 年创建,其灵感来源于 UNIX 和 MINIX。最初的 Linux 版本发布于 Usenet 社区,该系统因其开源性和灵活性迅速在全球范围内获得广泛关注,并逐渐形成了一个庞大的社区生态。Linux 是自由和开源软件的典型代表,任何人都可以自由使用、修改和分发其源代码,这极大地推动了操作系统的发展与创新。

随着计算机技术的发展,Linux 在服务器、桌面系统和嵌入式设备等多个领域迅速普及。目前,Linux 已经成为云计算和大数据平台的首选操作系统,甚至在智能手机领域(如 Android)也占据了主导地位

2. 开源文化和 Linux 的作用

Linux 的开源性不仅使其成为众多开发者的学习工具,还带动了一系列开源项目的发展。开源文化提倡代码共享和协作,使得开发人员能够共同改进软件,解决问题。GNU 通用公共许可协议(GPL)是 Linux 内核的许可协议,要求所有基于 GPL 许可的衍生作品在发布时必须公开源代码,从而保障了软件的自由性和用户的基本权益。

二、Linux 常见指令

Linux 提供了一系列常用的命令行工具,用于文件操作、系统管理、网络操作等任务。以下是一些基本的命令及其使用方式。

1. ls 命令:列出目录内容

ls 命令用于列出指定目录下的文件和子目录。常见选项包括:

  • -a:显示所有文件,包括隐藏文件。
  • -l:显示文件的详细信息。
  • -R:递归显示所有子目录内容。
ls -al /home/user
2. pwd 命令:显示当前工作目录

pwd(print working directory)用于输出当前的工作目录路径。

pwd
3. cd 命令:改变工作目录

cd 命令用于在目录树中导航。例如:

  • cd /home/user:切换到绝对路径 /home/user
  • cd ..:返回上一级目录。
  • cd ~:切换到用户的家目录。
4. touch 命令:创建新文件或更新文件时间戳

touch 命令可用于创建一个新的空文件或更新文件的最后访问和修改时间

touch newfile.txt
5. mkdirrmdir:创建和删除目录
  • mkdir 用于创建新目录,-p 选项可以递归创建多级目录。
  • rmdir 用于删除空目录。
mkdir -p /home/user/docs/newfolder
rmdir /home/user/docs/oldfolder
6. rm 命令:删除文件和目录

rm 命令可以删除文件或目录。常见选项有:

  • -f:强制删除,无需确认。
  • -r:递归删除目录及其内容。
rm -rf /home/user/tempdir
7. cpmv 命令:复制和移动文件
  • cp 用于复制文件或目录,-r 选项用于递归复制目录。
  • mv 用于移动文件或重命名文件。
cp -r /home/user/source /home/user/destination
mv oldname.txt newname.txt
8. catmore 命令:查看文件内容
  • cat 可以一次性显示整个文件的内容。
  • more 可以分页显示文件内容,适合查看大文件。
cat /etc/passwd
more /var/log/syslog
9. headtail:查看文件的开头或结尾内容
  • head 显示文件的前 N 行。
  • tail 显示文件的后 N 行,-f 选项可以持续跟踪文件变化。
head -n 10 /etc/hosts
tail -f /var/log/auth.log
三、Linux 权限管理

Linux 系统的文件权限机制是其安全性的基石。每个文件和目录都有一组权限属性,这些属性决定了哪些用户可以读取、修改或执行文件。

1. 文件权限的组成

Linux 中的文件权限分为三组:文件所有者(User)、文件所在组(Group)和其他用户(Others)。每组权限包含三种操作权限:

  • r(读):可以查看文件内容或列出目录内容。
  • w(写):可以修改文件内容或在目录中创建、删除文件。
  • x(执行):可以执行文件或进入目录。

权限的显示格式如下:

drwxr-xr--

上述例子表示一个目录(d),文件所有者具有读、写和执行权限,文件所在组具有读和执行权限,而其他用户只有读权限。

2. 更改文件权限:chmod 命令

使用 chmod 命令可以更改文件的权限。支持使用符号方式(如 u+x)或数字方式(如 755来设置权限。

chmod u+x script.sh    # 增加用户的执行权限
chmod 644 file.txt     # 设置为文件所有者可读写,其他用户只读
3. 更改文件所有者和组:chownchgrp
  • chown 更改文件的所有者。
  • chgrp 更改文件的所属组。
chown user1 file.txt
chgrp group1 file.txt
4. umask 命令:设置新建文件的默认权限

umask 设置新文件的默认权限掩码。例如,umask 022 会使新建文件的默认权限为 755

5. 粘滞位(Sticky Bit)

当目录设置了粘滞位(通过 chmod +t 设置)后,只有文件的所有者或超级用户可以删除目录中的文件。这在共享目录中非常有用。

chmod +t /tmp/shared
四、Shell 命令及运行原理
1. Shell 的作用

Shell 是操作系统的命令解释器,负责将用户输入的命令翻译为系统可以理解的操作。常见的 Shell 包括 Bash、Zsh、Fish 等。与图形用户界面不同,Shell 通过命令行与内核进行交互,这使得系统操作更为灵活和高效。

2. 常见的 Shell 命令和快捷键
  • Tab:自动补全命令和文件名。
  • Ctrl + C:终止当前正在执行的命令。
  • Ctrl + D:表示输入结束,通常用于退出 Shell。
五、权限管理中的特殊问题及解决方案
1. 设置粘滞位以防止非文件所有者删除文件

粘滞位用于共享目录(如 /tmp),以防止用户删除其他人的文件。设置粘滞位后,该目录下的文件只能由文件的所有者或超级用户删除。

chmod +t /var/www/uploads
2. 使用 sudo 提升权限

sudo 命令允许用户临时以超级用户权限执行命令。为了安全性,/etc/sudoers 文件可用于配置哪些用户可以使用 sudo

sudo chmod 644 /etc/passwd
六、实用案例解析
1. 创建和管理用户权限

在 Linux 中,管理员可以为用户和用户组分配权限。例如,创建一个新用户并为其赋予特定权限:

sudo useradd -m newuser
sudo passwd newuser
sudo usermod -aG sudo newuser   # 添加到 sudo 用户组
2. 配置共享目录的访问权限

创建一个共享目录并设置适当的权限,以便用户可以读写文件而不能删除其他用户的文件:

mkdir /mnt/shared
chmod 1777 /mnt/shared    # 设置粘滞位,保证安全
七、总结

本文深入探讨了 Linux 常见指令及权限管理的原理和应用。掌握这些知识不仅能有效提高工作效率,还能显著提升系统的安全性。在实际操作中,合理地分配权限,使用 sudo 和粘滞位等高级特性,有助于避免潜在的权限滥用和安全漏洞。希望本文能帮助各位更好地理解 Linux 的命令行操作及权限管理,从而在日常工作中灵活运用这些技巧。

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

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

相关文章

初试PostgreSQL数据库

文章目录 一、PostgreSQL数据库概述1.1 PostgreSQL的历史1.2 PostgreSQL安装1.3 安装PostgreSQL二、PostgreSQL起步2.1 连接数据库2.1.1 SQL Shell2.1.2 执行SQL语句2.2 pgAdmin 42.2.1 打开pgAdmin 42.2.2 查找数据库2.2.3 打开查询工具2.2.4 执行SQL语句三、实战小结文章目录…

【leetcode练习·二叉树】用「遍历」思维解题 III

本文参考labuladong算法笔记[【强化练习】用「遍历」思维解题 III | labuladong 的算法笔记] 437. 路径总和 III | 力扣 | LeetCode | 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路…

c语言基础程序——经典100道实例(二)

前面 52 题可以看下 《c语言基础程序——经典100道实例。》 c语言基础程序——经典100道实例 053,按位异或 ^054,取数右端4~7位055,按位取反~056,画圆形057,画直线058,画矩形059,画椭圆060&…

Git上传命令汇总

进入企业,每日需要上传执行用例记录到gitlab平台上,本文记录了常用git上传命令, 并用github演示。 1、本地建立分支,克隆远程仓库 在gitlab中,每个人需要创建自己的分支,一般以自己的名字命名,…

FineReport 页面设置

点击菜单栏中的「模板>页面设置」,弹出页面设置对话框,就可以对当前 sheet 进行页面设置,一个报表的每个 sheet 页面设置可以不同: 1 方向 指纸张方向,通常与打印结合使用。A4 纸横向预览效果和纵向预览效果 2、…

HCIP-HarmonyOS Application Developer 习题(十四)

(多选)1、HarmonyOs为应用提供丰富的Al(Artificial Intelligence)能力,支持开箱即用。下列哪些是它拥有的AI能力? A、通用文字识别 B、词性标注 C、实体识别 D、语音播报 答案:ABCD 分析: AI能力简介二维码生成根据开…

为什么软件维护成本比软件的开发成本高?

很多项目的软件维护成本比软件的开发成本高出很多 一、需求变更频繁 业务需求变化 随着市场环境的变化和业务的发展,客户的需求可能会不断调整和改变。例如,企业的业务模式发生调整,需要软件系统增加新的功能模块或对现有功能进行重大修改…

为什么一条Java命令,JVM就可以执行Java程序了(串联JVM面试知识点)

文章目录 前言从面试题说起JVM做了哪些事?“翻译”的工作不仅仅“翻译” JVM 各部件如何协同工作?类加载器先工作执行引擎开始工作执行引擎工作模式Main方法什么时候被执行? 运行时数据区域开始工作线程私有的空间大名鼎鼎的堆内存 就这么一直…

FineReport 条件属性

条件属性主要指:给报表的属性添加条件,当满足该条件时,对属性的属性值进行修改,从而达到改变报表样式的目的。 条件属性共有 12 种,分别是:颜色、字体、超级链接、形态、缩进、行高、分页、列宽、背景、边框…

Oracle 使用位图索引 Cost降低200倍! 探讨位图索引的利与弊

一.简介 位图索引(Bitmap Index) 是 Oracle 数据库中一种特殊类型的索引,适用于低基数(Low Cardinality)列,即那些列中可选值相对较少的情况下使用。它与常规的 B-tree 索引不同,位图索引通过位…

Columns Page “列”页面

“列”页提供了列管理工具,其中包括用于添加和删除列的按钮、显示绑定数据源中字段名称的列表框以及网格列、提供对所选列属性的访问的属性网格。 Columns 页面提供 Column properties (列属性)、Column options (列选项&#xff…

【Git】远程操作-标签管理-多人协作

远程操作 分布式版本控制系统 概念理解 Git就像正在看的一本书。每当看完一章,可以将其保存起来,如果后面想修改或者查看以前自己看到哪里,随时可以翻看。Git就是帮助记录这些修改的工具,主要负责记录每次改动,就类似…

AnaTraf | 网络质量分析与DNS响应时间

http://www.anatraf.com 在当今的数字化时代,网络是任何企业正常运转的核心。而网络的质量直接影响着业务的连续性和用户体验。当网络性能不佳时,可能会导致网站加载缓慢、应用响应滞后,甚至影响企业的生产力。特别是在互联网世界中&#xf…

第三季度中国游戏市场收入创历史新高;京东物流与淘宝天猫达成合作;YouTube 上线“用相机拍摄”标签....|网易数智日报

第三季度中国游戏市场收入917.66亿,创历史新高 中国音数协游戏工委今日发布了最新的 2024 年第三季度中国游戏产业季度报告。 数据显示,2024 年第三季度中国游戏市场收入 917.66 亿元,环比增长 22.96%,同比增长 8.95%。 中国音…

【H2O2|全栈】JS入门知识(五)

目录 JS 前言 准备工作 数组API(一) API概念 数组常见API(一) arguments 作用域 概念 全局作用域 局部作用域 块级作用域 变量的作用域 作用域链 案例 预解析 概念 变量预解析 函数预解析 案例 对象 概念 …

【RTT-Studio】详细使用教程十七:FreeModbus通信--LCD

文章目录 一、简介二、Modbus通信三、LCD通信四、配置FreeModbus通信协议四、完整代码五、测试验证 一、简介 Modbus协议是一种用于工业控制的网络通讯协议,可以片面的理解为,Modbus协议一种机器与机器之间进行数据、信息传递的一种格式规范。   Modbu…

PostgreSQL的学习心得和知识总结(一百五十五)|[performance]优化期间将 WHERE 子句中的 IN VALUES 替换为 ANY

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

《MYSQL实战45讲 》 优化器如何选择索引?

SHOW VARIABLES LIKE long_query_time; set long_query_time0 优化器如何选择索引? 1.扫描的行数 估计出各个索引大致的要扫描的行数,行数越少,效率越高。 索引的基数也叫区分度,就是这个索引所在的字段上不同的值又多少个。优…

MySQL【知识改变命运】06

前言:在05这节数据结构里面,我们知道select * from 这个操作很危险,如果数据库很大,会把服务器资源耗尽,接下来提到的查询可以有效的限制返回记录 1:分页查询 分页查询可以有效控制一次查询出来的结果集的…

数据结构与集合源码

目录 一、数据结构 1.1 数据结构概念 1.2 研究对象 1.3 常见存储结构 1.3.1 数组 1.3.2 链表 1.单向链表 2.双向链表 1.3.3 二叉树 1.3.4 栈(FILO,先进后出) 1.3.5 队列(FIFO,先进先出) 二、集合…