Shell命令操作Linux文件系统

Shell命令操作Linux文件系统

  • 文件夹介绍
  • 文件夹常规命令
  • 文件夹权限控制⭐
    • 文件类型和权限
    • 修改文件权限
  • 移动、复制、删除文件夹

文件夹介绍

  Linux文件系统是计算机操作系统中的一个关键组成部分,它用于管理和组织计算机上的数据和信息。先到根目录,然后打印当前目录下文件:

cd / ; ls

在这里插入图片描述
  有一些比较常用的文件夹介绍如下:

  /bin——包含常见Linux 用户命令,比如 ls、sort、date和l chmod。
  /home——包含分配给每个带有登录账号的普通用户的目录(root用户是一个例外,使用/root作为主目录)。
  /lib——包含/bin和/sbin目录中的应用程序启动系统所需的共享库。
  /mnt——在该目录被标准的/media目录取代之前,/mnt目录是许多设备常见的挂载点。一些可启动的Linux系统仍使用该目录来挂载硬盘分区和远程文件系统。此外很多人也在使用该目录来临时挂载那些不需要永久挂载的本地或者远程文件系统。
  /root—表示root用户的主目录。出于安全原因,该主目录没有位于/home目录之下。/sbin——包含管理命令和守护进程。
  /tmp——包含应用程序使用的临时文件。
  /usr——包含用户文档、游戏、图形文件(X11)、库(lib)以及其他不需要在启动过程中使用的命令和文件。/usr目录中的文件在安装完毕后就不可更改(从理论上讲,/usr可以以只读的方式挂载)。

文件夹常规命令

  1. cd (Change Directory): cd命令用于改变当前工作目录。通过提供目标目录的路径作为参数,可以切换到其他目录。
在这里插入图片描述

  2. pwd (Print Working Directory): pwd命令用于显示当前工作目录的完整路径。执行pwd后,会显示当前所在的目录路径。
在这里插入图片描述

  3. ls (List): ls命令用于列出当前目录中的文件和子目录。默认情况下,它会列出当前目录的内容。可以使用不同的选项来控制列出的详细信息和排序方式。
在这里插入图片描述

  4. mkdir (Make Directory): mkdir命令用于创建新的目录。可以指定要创建的目录的名称作为参数。

  5. chmod (Change Mode): chmod命令用于更改文件或目录的权限。它允许控制哪些用户可以执行文件、读取文件或写入文件。chmod命令通常与权限模式(如755或644)一起使用,以确定权限设置。

虽然我们平时一个人的Linux平台用不到权限控制,但是一旦涉及多人场景、公司场景,权限控制就很必要了,chmod命令要认真学习。具体见下一节

文件夹权限控制⭐

  首先在任意目录下输入:

ll

在这里插入图片描述
  输出如图,一共有7列:

  · 文件类型和权限列(File Type and Permissions): 显示文件的类型和访问权限。通常包括像 -rw-r--r--drwxr-xr-x 这样的字符,其中第一个字符表示文件类型,后面的九个字符分为三组,每组三个字符代表文件的访问权限。例如,-rw-r--r-- 表示一个普通文件,它的权限设置是允许所有者读写,但只允许其他用户只读。

  · 硬链接数列(Hard Links): 这一列表示与该文件或目录关联的硬链接数量。硬链接是指多个文件名指向相同的数据块的情况。通常,普通文件的硬链接数为1,目录的硬链接数至少为2(因为每个目录至少有两个链接:一个指向自身,一个指向上级目录)。

  · 所有者列(Owner): 显示文件或目录的所有者的用户名。

  · 所属组列(Group): 显示文件或目录所属的用户组的名称。

  · 文件大小列(File Size): 显示文件或目录的大小,通常以字节为单位。对于目录,大小通常是目录中所有文件和子目录的总和。

  · 修改时间或创建时间列(Modification Time or Creation Time): 显示文件或目录的最后修改时间。

  · 文件名或目录名列(File Name or Directory Name): 这一列显示了文件或目录的名称。

文件类型和权限

  文件类型:

  1. 普通文件(Regular File): 普通文件包含文本、二进制数据或程序代码等信息。在文件类型表示中,以 - 开头。例如,-rw-r--r-- 表示一个普通文件。

  2. 目录(Directory): 目录是用于组织和存储文件和其他目录的特殊文件类型。在文件类型表示中,以 d 开头。例如,drwxr-xr-x 表示一个目录。

  3. 符号链接(Symbolic Link): 符号链接是指向其他文件或目录的引用。它们是一种特殊类型的文件,用于创建文件和目录之间的链接。在文件类型表示中,以 l 开头。例如,lrwxrwxrwx 表示一个符号链接。

  4. 设备文件(Device File): 设备文件用于与计算机硬件设备通信。有字符设备文件和块设备文件两种类型。字符设备文件用于处理字符流数据,块设备文件用于处理数据块。在文件类型表示中,字符设备文件以 c 开头,块设备文件 b 开头。

  5. 管道文件(Named Pipe): 管道文件用于进程间通信,允许一个进程将数据传输给另一个进程。在文件类型表示中,以 p 开头。

  6. 套接字文件(Socket): 套接字文件用于网络通信,允许进程通过网络连接进行通信。在文件类型表示中,以 s 开头。

  权限:

  文件和目录的权限决定了哪些用户可以执行以下操作:

  • 读取(Read): 允许用户查看文件的内容或目录的列表。
  • 写入(Write): 允许用户修改文件的内容或目录的结构。
  • 执行(Execute): 对于文件,允许用户执行其中包含的程序;对于目录,允许用户访问其中的内容。

  权限表示为一组三个字符,分别表示文件所有者的权限、所属用户组的权限和其他用户的权限。每个权限可以用以下字符表示:

  • r(Read): 表示读取权限。
  • w(Write): 表示写入权限。
  • x(Execute): 表示执行权限。

  例如,-rw-r--r-- 表示文件的权限设置为允许所有者读写,但只允许其他用户只读。

  使用 chmod 命令可以更改文件和目录的权限设置,以控制对它们的访问和操作。权限设置是Linux和Unix系统中的安全重要组成部分,它确保只有经过授权的用户能够访问和修改文件和目录。

修改文件权限

  要修改文件或目录的权限,需要使用 chmod 命令。 chmod 命令允许添加或删除文件的读取(read)、写入(write)和执行(execute)权限,以及设置文件的所有者、所属用户组和其他用户的权限。

  1. 基本 chmod 语法:

chmod [选项] 权限设置 文件或目录

  2. 权限设置格式:

  • 使用数字表示权限:例如,chmod 755 myfile.txt 表示将文件 “myfile.txt” 的权限设置为所有者可读写执行,所属用户组和其他用户只有读和执行权限。
  • 使用符号表示权限:例如,chmod u+r myfile.txt 表示为文件 “myfile.txt” 添加所有者的读取权限。

设置权限有2种方式。第一种,r=4、w=2、x=1,那么7指的就是rwx,4指的是r–,3指的是-wx。第二种,通过u、g、o、a四种权限标识符结合+、-、=三种权限操作符,进行增加、删除、修改权限。

  3. 常见选项:

  • -R:递归地修改目录及其内容的权限。
  • -v:显示每个文件权限修改的详细信息。

  4. 权限标识符:

  • u:文件所有者。
  • g:所属用户组。
  • o:其他用户。
  • a:所有用户(等同于 ugo)。

  5. 权限操作符:

  • +:添加权限。
  • -:删除权限。
  • =:设置权限。

  下面举个例子展示 chmod 命令的用法,首先go.sh的权限是drwxr-xr-x
在这里插入图片描述

  • 删除其他用户的执行权限:
chmod o-x go.sh

在这里插入图片描述

  • 添加写权限给用户组:
chmod g+w go.sh

在这里插入图片描述

  • 使用数字模式将文件 “go.sh” 设置为可执行权限:
chmod 755 go.sh

在这里插入图片描述

移动、复制、删除文件夹

  移动文件夹(重命名文件夹): 使用 mv 命令来移动文件夹或重命名。如果提供新的目标路径,会移动文件夹到新位置。如果把新的名称作为目标路径,会重命名文件夹。例如,要把文件夹 “myfolder” 移动到新位置或重命名为 “newfolder”,可以执行命令:

mv myfolder newfolder

  复制文件夹: 使用 cp 命令复制文件夹及其内容。要复制文件夹 “myfolder” 到新位置 “backup”,可以执行命令:

cp -r myfolder backup

  -r 选项表示递归地复制文件夹及其内容。如果想保留原始文件夹不变并复制其内容到新位置,可以省略 -r 选项。

  删除文件夹: 使用 rm 命令删除文件夹及其内容。要删除文件夹 “myfolder”,可以执行命令:

rm -r myfolder

  -r 选项表示递归删除文件夹及其内容。要小心使用 rm 命令,因为它会永久删除文件夹及其内容。确保在执行删除操作之前确认我们的删除操作。

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

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

相关文章

支付宝使用OceanBase的历史库实践分享

为解决因业务增长引发的数据库存储空间问题,支付宝基于 OceanBase 数据库启动了历史库项目,通过历史数据归档、过期数据清理、异常数据回滚,实现了总成本降低 80%。 历史数据归档:将在线库(SSD 磁盘)数据归…

STDF-Viewer 解析工具说明

一、简介 1. 概述 STDF(Standard Test Data Format)(标准测试数据格式)是半导体测试行业的最主要的数据格式,包含了summary信息和所有测试项的测试结果;是半导体行业芯片测试数据的存储规范。 在半导体行业…

解决Nacos服务器连接问题:一次完整的排查经验分享

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

kakfa 3.5 kafka服务端处理消费者客户端拉取数据请求源码

一、服务端接收消费者拉取数据的方法二、遍历请求中需要拉取数据的主题分区集合,分别执行查询数据操作,1、会选择合适的副本读取本地日志数据(2.4版本后支持主题分区多副本下的读写分离) 三、会判断当前请求是主题分区Follower发送的拉取数据请求还是消费…

【笔试强训选择题】Day35.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!! 文章目录 前言 一、Da…

l8-d7 实现TCP通信

一、TCP服务器的实现(理论) #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); -domain: 指定通信域&#xff08;通信地址族&#xff09;; -type: 指定套接字类型; -protocol: 指定协议; 套接字类型与协议 -type:…

2023高教社杯 国赛数学建模B题思路 - 多波束测线问题

1 赛题 B 题 多波束测线问题 单波束测深是利用声波在水中的传播特性来测量水体深度的技术。声波在均匀介质中作匀 速直线传播&#xff0c; 在不同界面上产生反射&#xff0c; 利用这一原理&#xff0c;从测量船换能器垂直向海底发射声波信 号&#xff0c;并记录从声波发射到信…

Ansible-roles学习

目录 一.roles角色介绍二.示例一.安装httpd服务 一.roles角色介绍 roles能够根据层次型结构自动装载变量文件&#xff0c;tasks以及handlers登。要使用roles只需在playbook中使用include指令即可。roles就是通过分别将变量&#xff0c;文件&#xff0c;任务&#xff0c;模块以…

layui实现数据列表的复选框回显

layui版本2.8以上 实现效果如图&#xff1a; <input type"hidden" name"id" id"id" value"{:g_val( id,0)}"> <div id"tableDiv"><table class"layui-hide" id"table_list" lay-filter…

springmvc的转发和重定向的案例演示 到底什么是转发和重定向两者有什么区别?

案例演示 在Spring MVC中&#xff0c;你可以使用ModelAndView或直接返回String来实现转发和重定向。以下是转发和重定向的示例&#xff1a; ### 1. 使用ModelAndView #### 转发&#xff08;Forward&#xff09; java RequestMapping("/forwardDemo") public Model…

VB个人邮件处理系统设计与实现

简述 当今世界电子邮件已经是网络生活中不可或缺的,相信每个认知网络的人都会有一个或多个自己的电子邮箱,人们通过电子邮件进行通信和交流,许多商家和组织机构也用电子邮件进行各种商业活动和业务联系,毫无疑问,电子邮件已经逐渐开始取代普通的信件,成为为主流的信件交流…

C++线程同步

线程同步 为什么需要线程同步 对于下面的代码&#xff1a; #include <iostream> #include <pthread.h> #include <cstring> #include <unistd.h> using namespace std;#define NUM_THREAD 100long long num 0;void* thread_inc(void* arg){for (i…

MYSQL学习之——约束

MYSQL学习之——约束 这个东西看起来好像是新开的一章&#xff0c;没有见过&#xff0c;但是前面的那个 CREATE TABLE employee&#xff08;字段1 value1 comment1 约束1,字段2 value2 comment2 约束2,... &#xff09;看到这个没有&#xff0c;创建表的时候就可以给字段添加…

点云切片的实现(PCL)C++

一、实现逻辑 1、通过PCL库的getMinMax3D得到xyz轴上的最大最小值&#xff1b; 函数原型&#xff1a; pcl::getMinMax3D(const pcl::PointCloud<PointT> &cloud, POintT &min_pt, PointT &max_pt) 2、设置切片厚度&#xff0c;计算某一轴方向上的切片数量&a…

搭建云原生环境

1.安装准备工作 确保所有被安装服务器时区和时间一致。时间不一致会影响 Elasticsearch 和 Skywalking 等信息无法采集的情况出现。 在各个服务器上安装时间同步命令工具&#xff1a;yum install ntp -y使用 ntpdate 命令&#xff0c;从时间服务器上进行同步&#xff0c;例如&a…

【智慧工地源码】物联网和传感器技术在智慧工地的应用

物联网&#xff08;IoT&#xff09;和传感器技术在智慧工地中扮演着至关重要的角色。这些技术的应用&#xff0c;使得智慧工地能够实现对施工过程的精确监控、数据收集和分析&#xff0c;以及设备互联&#xff0c;从而提高工程效率、减少成本并改善工人的工作环境。 一、物联网…

【SpringBoot】mockito+junit 单元测试

1.POM 引入以下依赖 <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><dependency><groupId>org.springframework.b…

ThreadLocal

ThreadLocal 参考&#xff1a;https://blog.csdn.net/u010445301/article/details/111322569 ThreadLocal简介 作用&#xff1a;实现线程范围内的局部变量&#xff0c;即ThreadLocal在一个线程中是共享的&#xff0c;在不同线程之间是隔离的。 原理&#xff1a;ThreadLocal存…

如何使用CSS画一个三角形

原理&#xff1a;其实就是规定元素的四个边框颜色及边框宽度&#xff0c;将元素宽高设置为0。如果要哪个方向的三角形&#xff0c;将对应其他三个方向的边框宽和颜色设置为0和透明transparent即可 1.元素设置边框&#xff0c;宽高&#xff0c;背景色 <style>.border {w…

单月打造8个10w+,情感类视频号如何爆火?

上月&#xff0c;腾讯公布了2023年Q2财报&#xff0c;其中&#xff0c;较为亮眼的是微信视频号的广告收入。据财报显示&#xff0c;二季度视频号用户使用时长与去年同期相比几乎翻倍&#xff0c;广告收入超过30亿元。作为微信生态的核心组件&#xff0c;视频号的内容生态呈现出…