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

news2024/10/21 23:32:46

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.coloradmin.cn/o/2220368.html

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

相关文章

设计模式概览

设计模式是一种解决常见编程问题的经验总结,提供了代码的可重用性、可扩展性和可维护性。常见的设计模式有23个,主要分为三大类:创建型模式、结构型模式和行为型模式。下面是这三类设计模式的详细分类和讲解: 一、创建型模式 创建…

进入 Searing-66 火焰星球:第一周游戏指南

Alpha 第四季已开启,穿越火焰星球 Searing-66,带你开启火热征程。准备好勇闯炙热的沙漠,那里有无情的高温和无情的挑战在等待着你。从高风险的烹饪对决到炙热的冒险,Searing-66 将把你的耐力推向极限。带上充足的水,天…

Fusion创建一个简单的api脚本文件

我的Fusion版本:Fusion 2.0.20476 x86_64 脚本模块在实用程序->附加模型->脚本和附加模块,快捷键为shifts 里面有一些演示脚本,可以直接使用 也可以自己创建一个新的脚本 创建的脚本在此处—— 选择脚本文件,点击编辑&a…

小新学习Docker之Ansible 的脚本 --- playbook 剧本

一、playbook 剧本简介 playbooks 本身由以下各部分组成: (1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 (2)Variables:变量 (3…

Linux系统基础-动静态库

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Linux系统基础-动态库和静态库 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 动…

如何在 Jupyter Notebook 执行和学习 SQL 语句(下)—— 进阶版题目综合(多表连接,窗口函数,子查询等等)

这是我收藏的一些相关的题目,其中包含基本操作(如创建表、插入数据)(注意一般企业也不会让删除数据啥的,毕竟刚进去哪会让对人家数据库做什么操作,我是实习的时候参加了数据仓库的建设,插了一些…

498.对角线遍历

目录 题目解法代码说明:输出: 如何确定起始点?解释一下max(0,d−m1)是什么意思? 如何遍历对角线?.push_back是怎么用的? 题目 给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序&#xf…

JNA调用c++动态库返回数据

jna学习网站 JNA Examples 1、返回String, pch.h头文件 // pch.h: 这是预编译标头文件。 // 下方列出的文件仅编译一次,提高了将来生成的生成性能。 // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 // 但是,如果此处…

软考攻略/超详细/系统集成项目管理工程师/基础知识分享18

6.5数据分析及应用 6.5.1 数据集成(掌握) 数据集成就是将驻留在不同数据源中的数据进行整合,向用户提供统一的数据视图,使得用户能以透明的方式访问数据。 WebServices技术是一个面向访问的分布式计算模型,它的本质是…

Nature 正刊丨空间蛋白质组学确定JAKi是一种致命皮肤病的治疗方法

01摘要 中毒性表皮坏死松解症(TEN)是一种由常见药物引发的致命药物性皮肤反应,是一个新出现的公共卫生问题1,2,3。TEN患者会因角质形成细胞死亡而发生严重和突然的表皮脱离。尽管已经提出了驱动角质形成细胞死亡的分子机制,但主要…

10.21 IO进程直接的通信

1、用消息队列实现两个进程直接的通信 先输入的代码 #include<myhead.h> //定义消息列队的结构体 struct msgbuf {long mtype; //消息类型char mtext[1024]; //消息正文 };//宏定义正文的大小 #define MSGSZ (sizeof(struct msgbuf) - sizeof(long))//定义回收僵尸信号…

Linux第一讲:Linux基本指令

Linux第一讲&#xff1a;Linux基本指令 1.Linux发展历史2.先快速了解一些指令3.指令 -- ls3.1知识点1 -- 文件属性3.1.1详细解析ls指令3.1.1.1 ls3.1.1.2 ls -l 、ls -a3.1.1.2.1 ls -l3.1.1.2.2 ls -a3.1.1.2.3 ls -la 3.1.1.3其它指令 3.2知识点2 -- 什么是.和..3.3知识点3 -…

手写模拟Spring的基本功能

文章目录 1. Spring的基本功能2. 容器启动 容器启动&#xff0c;即创建容器对象并赋予配置对象3. BeanDefinition扫描4. Bean的生命周期5. 单例Bean与多例Bean6. 依赖注入7. AOP8. Aware 回调9. 初始化10. BeanPostProcessor附录&#xff1a; 1. Spring的基本功能 2. 容器启动 …

【鸡翅Club】项目启动

一、项目背景 这是一个 C端的社区项目&#xff0c;有博客、交流&#xff0c;面试学习&#xff0c;练题等模块。 项目的背景主要是我们想要通过面试题的分类&#xff0c;难度&#xff0c;打标&#xff0c;来评估员工的技术能力。同时在我们公司招聘季的时候&#xff0c;极大的…

mingw64的Windows安装及配置教程gcc、g++等

mingw64.rar 链接&#xff1a;https://pan.baidu.com/s/18YrDRyi5NHtqnTwhJG6PuA 提取码&#xff1a;pbli &#xff08;免费永久有效&#xff0c;免安装&#xff0c;解压后配置环境变量即可使用&#xff09; 1 下载 解压后随便放到一个地方&#xff1a; 复制“bin”路径&am…

SpringCloudAlibaba[Nacos]注册配置中心注册与发现服务

Nacos的全称是Dynamic Naming and Configuration Service&#xff0c;Na为naming/nameServer即注册中心,co为configuration即注册中心&#xff0c;service是指该注册/配置中心都是以服务为核心。是阿里巴巴开源易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nac…

安装vue发生异常:npm ERR! the command again as root/Administrator.

一、异常 npm ERR! The operation was rejected by your operating system. npm ERR! Its possible that the file was already in use (by a text editor or antivirus), npm ERR! or that you lack permissions to access it. npm ERR! npm ERR! If you believe this might b…

【LeetCode:910. 最小差值 II + 模拟 + 思维】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

html,css,js实现Upload 上传

实现效果&#xff1a; 代码实现&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Docum…

基于Multisim的汽车尾灯控制电路设计与仿真

假设汽车尾部左右量测各有3个指示灯&#xff08;用发光二极管模拟&#xff09;1. 汽车正常运行时指示灯全灭&#xff1b;2.右转弯时&#xff0c;右侧3个指示灯按右循环顺序点亮&#xff1b;.3. 左转弯时&#xff0c;左侧3个指示灯按左循环顺序点亮&#xff1b;4.临时刹车时所有…