Linux文件属性查看和修改学习

一、基本属性

1、看懂文件属性:

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,
Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

(1)、在Linux中我们可以使用 ll 或者 ls-l 命令来显示一个文件的属性以及文件所属的用户和组。
如:
在这里插入图片描述

图片中,boot文件的第一个属性用“d”表示。“d”在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:

  • 当为 [ d ] 则是目录
  • 当为 [ - ] 则是文件
  • 若是 [ l ] 则表示为链接文档(link file)
  • 若是 [ b ] 则表示装置文件里面的可供储存的接口设备(可随机存取装置)
  • 若是 [ c ] 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

(2)、如图:
在这里插入图片描述
字符串中,以三个为一组,且均为【rwx】的三个参数的组合。
其中,【r】代表可读(read)、【w】代表可写(write)、【x】代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号【-】。
没个文件的属性左边第一部分的十个字符来确定(如下图):
在这里插入图片描述
从左至右用0-9这些数字来表示:

第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中:
第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;
第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

在以上实例中,boot 文件是一个目录文件,属主和属组都为 root。
(3)、更改文件属性
chown:更改文件属性,也可以同时更改文件属组

chgrp [-R] 属组名 文件名

**-R:**递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
(4)、chmod:更改文件9个属性(必须掌握!基本上平常遇到提示你 没有权限不可操作 时,就可以使用此命令)

chmod [-R] xyz 文件或目录

Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先说一下刚刚上面提到的数据:文件的权限字符【-rwxrwxrwx】,这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各个权限的分数对照表如下:

r:4     w:2         x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:【rwxrwx—】分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= — = 0+0+0 = 0

在这里插入图片描述

chmod 770 filename

二、文件内容查看

查看网络配置
Linux:ifconfig
windows:ipconfig (查看ip地址信息)
1、Linux系统中使用以下命令来查看文件内容:

  • cat:由第一行开始显示文件内容
    在这里插入图片描述

  • tac:从最后一行开始显示,可以看出tac是cat的倒着写
    在这里插入图片描述

  • nl:显示的时候,顺道输出行号
    在这里插入图片描述

  • more:一页一页的显示文件内容(空格表示翻页,enter代表向下看一行)
    在这里插入图片描述

  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页(空格翻页,上下键代表翻动页面!退出q命令)

  • head 只看头几行
    在这里插入图片描述

  • tail 只看尾巴几行
    在这里插入图片描述

可以使用 man [命令] 来查看各个命令的使用文档,如:man cp。

2、各个命令详细介绍:

(1)、cat 由第一行开始显示文件内容
语法:

cat [-AbEnTv]

选项与参数:

  • -A:相当于 -vET 的整合选项,可列出一些特殊符而不是空白;
  • -b:列出行号,仅针对非空白做行号显示,空白行不标行号;
  • -E:将结尾的断行字节$显示出来;
  • -n:列出行号,连同空白也会有行号,与 -b 的选项不同;
  • -T :将 [tab] 按键以 ^I 显示出来;
  • -v :列出一些看不出来的特殊字符;

示例:

# 查看网络配置: 文件地址 /etc/sysconfig/network-scripts/
[root@iZbp15s3ku4xdewguhf0kgZ ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

(2)、tac
tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!如:

[root@iZbp15s3ku4xdewguhf0kgZ ~]# tac /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
DEVICE=eth0

(3)、nl 显示行号
语法:

nl [-bnw] 文件

选项与参数:

  • -b :指定行号指定的方式,主要有两种:-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);-b t :如果有空行,空的那一行不要列出行号(默认值);
  • -n :列出行号表示的方法,主要有三种:-n ln :行号在荧幕的最左方显示;-n rn :行号在自己栏位的最右方显示,且不加 0 ;-n rz :行号在自己栏位的最右方显示,且加 0 ;
  • -w :行号栏位的占用的位数;

示例:

[root@iZbp15s3ku4xdewguhf0kgZ ~]# nl /etc/sysconfig/network-scripts/ifcfg-eth0
1DEVICE=eth0
2BOOTPROTO=dhcp
3ONBOOT=yes

(4)、more 一页一页翻动
在 more 这个程序的运行过程中,你有几个按键可以按的:

  • 空白键 (space):代表向下翻一页;
  • Enter :代表向下翻『一行』;
  • /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
  • :f :立刻显示出档名以及目前显示的行数;
  • q :代表立刻离开 more ,不再显示该文件内容。
  • b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
[root@iZbp15s3ku4xdewguhf0kgZ etc]# more /etc/csh.login
....(中间省略)....
--More--(28%) # 重点在这一行喔!你的光标也会在这里等待你的命令

(5)、less 一页一页翻动,以下实例输出/etc/man.config文件的内容:
less运行时可以输入的命令有:

  • 空白键 :向下翻动一页;
  • [pagedown]:向下翻动一页;
  • [pageup] :向上翻动一页;
  • /字串 :向下搜寻『字串』的功能;
  • ?字串 :向上搜寻『字串』的功能;
  • n :重复前一个搜寻 (与 / 或 ? 有关!)
  • N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
  • q :离开 less 这个程序;
[root@iZbp15s3ku4xdewguhf0kgZ etc]# more /etc/csh.login
....(中间省略)....
:   # 这里可以等待你输入命令!

(6)、head 取出文件前面几行
语法:

head [-n number] 文件

选项与参数:-n 后面接数字,代表显示几行的意思!
默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样:

[root@iZbp15s3ku4xdewguhf0kgZ etc]# head -n 20 /etc/csh.login

(7)、tail 取出文件后面几行
语法:

tail [-n number] 文件

选项与参数:

  • -n :后面接数字,代表显示几行的意思
    默认的情况中,显示最后 10 行!若要显示最后 20 行,就得要这样:
[root@iZbp15s3ku4xdewguhf0kgZ etc]# tail -n 20 /etc/csh.login

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spark(39):Streaming DataFrame 和 Streaming DataSet 输出

目录 0. 相关文章链接 1. 输出的选项 2. 输出模式(output mode) 2.1. Append 模式(默认) 2.2. Complete 模式 2.3. Update 模式 2.4. 输出模式总结 3. 输出接收器(output sink) 3.1. file sink 3.2. kafka sink 3.2.1. 以 Streaming 方式输出数据 3.2.2. 以 batch …

Https、CA证书、数字签名

Https Http协议 Http协议是目前应用比较多应用层协议,浏览器对于Http协议已经实现。Http协议基本的构成部分有 请求行 : 请求报文的第一行请求头 : 从第二行开始为请求头内容的开始部分。每一个请求头都是由K-V键值对组成。请求体&#xf…

微服务05-Sentinel流量防卫兵

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以 流量 为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 S…

06-2_Qt 5.9 C++开发指南_自定义对话框及其调用

本篇介绍到的对话框及其调用实例较为复杂但十分详细,如果做了解可以先参考:QT从入门到实战x篇_13_模态和非模态对话框创建。 文章目录 1. 对话框的不同调用方式2. 对话框QWDialogSize 的创建和使用2.1 创建对话框QWDialogSize2.2 对话框的调用和返回值 …

C++入门基础(万字详解!!!)

文章目录 前言1.C关键字2.命名空间3.C的输入输出4.缺省参数4.1 全缺省4.2 半缺省 5.函数重载6. 引用6.1 引用的特性6.2 引用的使用场景6.3 引用和指针 7.内联函数7.1 特性 8.auto关键字8.1 注意事项 9. 基于范围的for循环9.1 使用条件 10.指针控制nullptr10.1 注意事项 11.总结…

LVGL学习笔记 28 - 键盘keyboard

目录 1. 设置关联文本框 2. 设置模式 2.1 LV_KEYBOARD_MODE_TEXT_LOWER 2.2 LV_KEYBOARD_MODE_TEXT_UPPER 2.3 LV_KEYBOARD_MODE_SPECIAL 2.4 LV_KEYBOARD_MODE_NUMBER 2.5 LV_KEYBOARD_MODE_USER_1 ~ LV_KEYBOARD_MODE_USER_4 3. 使能弹窗模式 4. 更改按键布局 5. 事…

P12-Retentive NetWork-RetNet挑战Transformer

论文地址:https://arxiv.org/abs/2307.08621 目录 Abstract 一.Introduction 二.Retentive Networks 2.1Retention 2.2Gated Multi-Scale Retention 2.3Overall Architecture of Retention Networks 2.4Relation to and Differences from Previous Methods 三.Experime…

Vue 安装开发者工具

1.下载开发者工具,下载地址:http://book.wiyp.top/App/Vue3开发者工具-谷歌/Vue3.crx 2.打开谷歌浏览器,点击扩展,点击管理扩展程序。 3.开启开发者模式,将 Vue3 开发者工具文件拖拽到浏览器中进行安装。 注&#xff…

Pytorch源码搜索与分析

PyTorch的的代码主要由C10、ATen、torch三大部分组成的。其中: C10 C10,来自于Caffe Tensor Library的缩写。这里存放的都是最基础的Tensor库的代码,可以运行在服务端和移动端。PyTorch目前正在将代码从ATen/core目录下迁移到C10中。C10的代…

pdf怎么压缩?一分钟学会文件压缩方法

PDF文件过大一般主要原因就是内嵌大文件、重复的资源或者图片比较多,随之而来的问题就是占用存储空间、被平台限制发送等等,这时候我们可以通过压缩的方法缩小PDF文件大小,下面就一起来看看具体的操作方法吧。 方法一:嗨格式压缩大…

SQL | 汇总数据

9-汇总数据 9.1-聚集函数 在实际开发过程中,可能会遇到下面这些情况: 确定大于某个值的有多少行数据,比如游戏排行榜,查询玩家排行多少名。 获取表中某些行的和,比如双十一当天,某个用户总订单价格是多少…

Mapbox加载天地图CGCS2000矢量瓦片地图

1.背景 最近在做天地图的项目,要基于MapBox添加CGCS2000矢量切片数据,但是 Mapbox 只支持web 墨卡托(3857)坐标系的数据。Github有专业用户修改了mapbox-gl的相关代码,支持CGCS2000的切片数据加载,并且修改…

一文教你学会Termux+SFTP+远程文件传输

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了…

docker可视化工具Portainer

1:Portainer简介 Portainer是一个docker可视化管理工具,可以非常方便地管理docker镜像容器。官网地址:https://www.portainer.io/ 注:现在Portainer有BE(收费)和CE(免费)版本,安装的…

Mongodb:业务应用(1)

环境搭建参考&#xff1a;mongodb&#xff1a;环境搭建_Success___的博客-CSDN博客 需求&#xff1a; 在文章搜索服务中实现保存搜索记录到mongdb 并在搜索时查询出mongdb保存的数据 1、安装mongodb依赖 <dependency><groupId>org.springframework.data</groupI…

ICC2如何write_gds写出pr boundary

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球 在数模混合项目中,需要在前期确定pr boundary的尺寸,可以在virtuoso中画一个pr boundary存def给pr,当然,pr这边在前期修改尺寸也需要给负责模拟版图的同事确认,但ICC2 write gds默认是写不出pr bou…

React源码解析18(7)------ 实现事件机制(onClick事件)

摘要 在上一篇中&#xff0c;我们实现了useState的hook&#xff0c;但由于没有实现事件机制&#xff0c;所以我们只能将setState挂载在window上。 而这一篇主要就是来实现事件系统&#xff0c;从而实现通过点击事件进行setState。 而在React中&#xff0c;虽然我们是将事件绑…

jmeter获取mysql数据

JDBC Connection Configuration Database URL: jdbc:mysql:// 数据库地址 /库名 JDBC Driver class&#xff1a;com.mysql.jdbc.Driver Username&#xff1a;账号 Password&#xff1a;密码 JDBC Request 字段含义 字段含义 Variable Name Bound to Pool 数据库连接池配置…

PHP证券交易员学习网站mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP证券交易员学习网站 是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 下载地址https://download.csdn.net/download/qq_41221322/88205549 PHP证券交易员…

WPF 本地化的最佳做法

WPF 本地化的最佳做法 资源文件英文资源文件 en-US.xaml中文资源文件 zh-CN.xaml 资源使用App.xaml主界面布局cs代码 App.config辅助类语言切换操作类资源 binding 解析类 实现效果 应用程序本地化有很多种方式&#xff0c;选择合适的才是最好的。这里只讨论一种方式&#xff0…