Linux 学习笔记 文件、目录操作与用户群组权限

news2025/1/11 10:20:55

一、命令行提示符

1.1 命令行基础

bearpi:当前用户名,在@前是用户名

ubuntu:用户所在的域名,在@后面,这是我自定义的,默认应该是主机名

~ 波浪线为目前所在目录,~代表家目录(home directory)

后面紧跟的 $ 为当前所具有的权限,$ 代表普通用户 # 代表 root 管理员

1.2 一些简单的命令

1.2.1 sudo su 命令

可以暂时获得 root 权限,可见后边的 $ 变成了 #

1.2.2 date 命令

顾名思义,这个命令是获得当前系统时间

1.2.3 ls 命令

ls 是 list 的缩写,是列出、列举的意思,在 linux 中,ls 命令是列出当前目录的文件或文件夹。

下面列举出了用户家目录的文件夹,从左到右分别是 桌面、文档、下载、音乐等文件夹

1.3 寻找命令的快捷键

在寻找任何命令或者文件都可以摁 tab 键显示提示,下面在终端输入 da 之后摁两下 tab 键即给出提示:

在 cd 后摁两下 tab 键 可以给出可选的文件名 

 

1.4 命令的参数

 参数是在命令后的一些补充项,命令和参数用空格隔开即可

  • 参数可以有多个,都用空格隔开
  • 参数可以包括数字、字母等,并且区分大小写
  • 参数没有固定的格式,但要遵守一般的规范

1.4.1 短参数

段参数是指,只有一个字母的参数,是参数的缩写方式,由一个 - 短杆作为前缀

下图执行了 ls -a 这个短参数命令 ,其作用是显示隐藏的文件或文件夹

 ls -l 短参数命令,作用是列出详细的信息

 

 段参数可以加好几个,也可以合并一起用:

1.4.2 长参数

长参数使用两个 -- 作为参数开头,在 ls 命令中,-a 和 --all 的功能完全一致

二、linux 的文件与目录

在 linux 中,一!切!皆!文!件!即使是通过驱动挂载的外设也是文件

linux 的不像 windows 一样有 C盘、D盘等。linux 只有一个根目录 / (斜杠)

linux 中没有比根目录再高一阶的目录了,没有目录包括根目录。

2.1 根目录的结构

执行 ls / 可显示根目录下的结构,在这里有一些是我自行添加的,新装的 ubuntu 系统并没有。

其中有几个重要的文件夹:

bin是英语 binary 的缩写,表示二进制文件
boot和引导启动程序密切相关的文件
dev外设,他的子目录,每一个对应一个外设
etc包括系统的配置文件
home表示 “家”,用户的私人目录,类似于 windows 中我的文档
lib表示库,包括被调用的库文件,也就是 windows 中的 .dll 文件
media媒体文件夹,可移动的外设,光盘、U盘等,就可以通过此目录访问
mnt英语 mount 的缩写,表示挂载,挂载一些外设即可通过此目录访问
 opt目录 应用程序目录,第三方软件或者插件

 其中所有根目录结构基本如下,home 目录的每一个文件夹即代表一个用户,当前图中表示有两个目录,oscar 和 john。但是 root 用户文件夹则在根目录而不在此文件夹中。

执行 ls /home 查看home目录下结构,可见系统中只有 bearpi 一个用户文件夹

 

2.2 witch 命令

witch 命令可以查看命令程序所在的目录,执行 which pwd 显示 pwd 命令在 bin 下。

 

2.3 ls 命令常用参数

-t按修改、创建时间正序
-a显示所有目录,包括隐藏的,以 . 开头的文件是隐藏文件
-A将不包括 . 和 .. 也就是本目录和上一级目录
-l列出详细信息
-h

以 Kb、Mb、Gb 列出信息

-a -A 区别:

 ls -l 命令详解,其中下面这些陌生的东西会在后边讲解

 

 推荐使用 ls -lh 这样文件大小比较直观 

 

2.4 cd 命令 跳转目录

cd (change directory) 切换目录,最常用的命令。

cd ../ 跳转到上一级目录

cd /home 跳转到 /home 目录

2.5 du 命令 查看目录大小

ls -l 命令其实并不会深入统计子目录的文件大小,du 命令会递归统计文件夹所有大小

2.6 touch 命令 创建一个空白文件

touch test 在当前目录创建一个名为 test 的文件,如果执行 touch / test 则是在根目录创建

如果执行 touch test1 test2 则会创建两个文件

touch 命令是触摸这个文件的意思,如果对一个已经存在的文件使用 test 命令,则会更新修改时间,没有则会自动创建

2.7 mkdir 命令  创建一个目录 

mkdir 是 make 和 directory 的缩写,表示创建一个文件夹

2.8 cp 命令 拷贝文件与文件夹

2.8.1 拷贝文件

使用 cp test dir1 即可将 test 文件拷贝到 dir1 文件夹中

2.8.2 拷贝目录

只需要在后边加上 -r 参数,意思是为递归的 (recursive),即可递归拷贝过去

比如:cp dir1 dir2 -r 即可将 dir1 拷贝到 dir2 目录下

2.9 mv 命令 移动/重命名文件与文件夹

2.9.1 移动文件或文件夹

 使用方法与 cp 命令一样,只是换成了 mv,不再赘述

也可以配合通配符使用:如 mv *.txt dir1 即可将所有的 txt 文件移动到 dir1 下

2.9.2 重命名文件或文件夹

除了移动文件,mv 命令还可以用于重命名文件。

在 linux 系统中,没有单独重命名文件的命令,因为 mv 命令可以移动文件,如果我们把一个文件移动到当前文件夹,并且取一个新名字,不就是等同于重命名了吗?

下图中,我们执行了 mv dir1 dir2 把 dir1 文件夹重命名为 dir2。

2.10 rm 命令 删除文件或目录

rm test 命令即可删除本目录的 test 文件

其中可以添加参数 -r 递归删除;-f 不询问,强制删除;-i 挨个文件提示

来分析一下大名鼎鼎的 rm -rf/*

-r 递归删除,-f 不询问,/* 即代表删除根目录下所有的文件。执行后会删除整个系统

注意,请不要将 windows 的盘挂载到 linux 中还执行这条命令,挂载盘也在根目录下。

2.11 硬链接

 硬链接类似于 windows 的快捷方式,在 linux 下有两种链接方式:

  • physical link:物理链接或硬链接
  • ymbolic link:符号链接或软连接

其中,硬链接只能连接文件,软连接可以连接文件夹。

2.11.1 inode 标识

每个文件的文件内容均被分配到一个标识号码,就是 inode。因此,如果要在 linux 实现类似于快捷方式的东西,只需要将这个 “快捷方式文件”,指向这个唯一的 inode 即可。

2.11.2 ln 命令创建硬连接

ln file1 file2 命令即可为file1 文件创建了 名为 file2 的硬链接

下图中使用了 stat file1/file2 来查看文件的 inode 值,可见在创建硬连接后,这两者值是相同的。

此时,我们删除file1 或者 file2 任意一个文件都不会 inode 指向的这一块数据产生影响,只有当两者都删除,linux 才会将这块数据删除。

三、用户权限和群组

一图说明 root,群组和用户的关系

3.1 sudo 在普通用户下获得 root 权限

sudo 是命令 substitute user do 的缩写,substitute 是代替的意思 u 则是 user 的缩写。合在一起就是替用来执行... 的意思。

普通的用法就是 sudo 后接希望 root 权限执行的命令。下图中 使用 root 权限执行了 date

 sudo su 命令可以让当前终端暂时获得 root 权限。在下图中,我在一个中断窗口使用 sudo su 获得root 权限,可见使用后 $ 变成了 #,但是我打开一个新窗口则还是普通权限的 $。

3.2 创建用户

创建用户有两个命令:useradd 和 adduser

  • 使用 useradd 时,如果后面不添加任何参数选项,例如:sudo useradd test 创建出来的用户将是默认“三无”用户:一无Home Directory,二无密码,三无系统Shell。
  • 使用adduser 则默认添加了这三者,并且要求输入初始密码。

下面我们只演示 adduser 的用法,输入 adduser abc 即可创建一个名为 abc 的用户,在注销后即可用这个账号从新登录。

3.2 passwd 命令 修改密码

passwd abc 即可修改 abc 用户的密码,下面我们用 root 权限来执行试试:

3.3 userdel 命令 删除用户命令

userdel abc 可以删除我们刚刚创建的 abc 用户。不过这种办法并不会删除 home 目录下 abc 的目录。

加入  -r 参数 或者 --remove 可以将 home 目录下也一起删除

3.4 groupadd 命令 添加群组

groupadd group1 命令创建一个名为 group1 的群组

3.5 usermod 命令 修改用户账户

usermod -g group1 abc 将 abc 添加到 group1 组,可见使用 ls -l /home 命令查看 abc 群组,已经是 group1 组了。

使用 usermod -G group1 group2 group3 abc 大写 -G 参数即可将 abc 添加到多个群组。

但是 -G 参数会先删除当前群组再添加,此时可以使用 -G -a 两个参数,a是 append 的意思。

3.6 groupdel 命令 删除群组

使用 groupdel group1 命令即可删除 group1 群组,但是要需要此群组下没有任何用户,如果有先使用 usermod -G 命令将其移动到别的组。

3.7 文件权限的原理

使用 ls -l 命令,左边第一组即说明这个文件的权限。

 

属性:d 英语 directory 的缩写表示这是一个文件夹。在第二行第一个则是 - 表示这是一个连接,说明这是一个文件或者软/硬连接。

所有组:r 表示读 (read),w 表示写 (write),x 表示可执行 (execute)。rwx 表示当前用户可读可写可执行。如果是 - 则说明没有这个权限。

群组用户:说明了当前群组的对该文件的权限

其他用户:顾名思义,说明了其他用户对该文件的权限

比如第二行 -rw-rw-r-- 表示这是一个文件或者软/硬连接,所有者权限可读可写不可执行,群组权限相同,其他用户只可读。

3.8 修改文件权限 chmod 命令

 linux 对每种权限都分配了一个数字。

比如我们要分配读、写、不可执行的权限,那么就将 4+2=6,6即代表这种权限。

由上一章 3.7,linux 共有三组权限:所有组、群组用户组、其他用户组,那么我们用三个数组就可以配置这些权限。

由此可知,最高的权限自然是 777,任何用户可读可写可执行。最低的权限是 000 任何用户都不能对这个文件做什么。

下面来执行一下 chmod 000 file2 可见在执行后文件权限都变成了 ---------- 

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

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

相关文章

【LMI传感器】LMI Gocator线激光传感器环境变量配置

文章目录1 打开系统环境配置界面2 环境变量配置1 打开系统环境配置界面 控制面板>系统和安全>系统>高级系统设置 系统属性>高级>环境变量 2 环境变量配置 环境变量配置 GENICAM_GENTL32_PATH E:\Program Files(x86)\GoCator\Release_5.3.22.22(SR1)\Integ…

ios pod更换三方库source

无法访问github,pod无法添加三方库,此时gitlab上有这个三方库并且可以访问。以FMDB为例子本地路径:/Users/用户名/.cocoapods/repos/trunk/Specs/f/4/e/FMDB/2.7.5修改podspec.json内sourcegithubgitlab"source": { "git"…

Pipenv:作为 Python 开发人员为什么应该使用它

Pipenv 是一个旨在将所有打包世界中最好的东西带到 Python 世界的工具。它将 Pipfile、pip 和 virtualenv 整合到一个命令中。它会自动为您的项目创建和管理虚拟环境,并在您安装/卸载包时从您的 Pipfile 添加/删除包。在深入研究之前,让我们先看看 Pipen…

抓包对抗原理与案例

服务端校验客户端 案例:爱奇艺 平时我们碰到的HTTP和HTTPS都在应用层,SOCKS在会话层,TCP和UDP在传输层,IP在网络层。 HTTP未加密主要有这些不足 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装…

2月2日 读书笔记

段的起始地址用32位来表示,被称为段的基址,在本书中被分成了3段,分别为2字节、1字节、1字节。之所以这么做,主要是为了与80286时代的程序兼容。有了这样的规格,80286用的操作系统,也可以不用修改就在386以后…

不忘初心,勇攀高峰!低代码公司流辰信息紧抓机遇,努力超前冲!

在数字化发展趋势越来越激烈的当下,市场变得风云变幻,作为一家致力于提升企业办公自动化效率的低代码公司平台服务商,流辰信息矢志不渝,不忘初心,紧跟时代发展潮流,坚持围绕客户需求研发创新,提…

马哥架构第4周课程作业

docker应用一. docker常用命令博客1.1 Docker安装及基础命令介绍1.1.1 Docker 安装准备1.1.2 安装和删除方法1.1.2.1 Ubuntu 安装和删除Docker1.1.2.2 CentOS 安装和删除Docker1.1.2.3 Linux 二进制安装1.1.2.4 安装 podman1.1.2.5 在不同系统上实现一键安装 docker 脚本1.1.2.…

HBase入门概念

文章目录HBase存储结构数据模型table 逻辑结构切分存储table 物理结构架构 todo使用DDLDMLphoenixHBase nosql (k,v) 以HDFS为基础存储数据 存储结构 数据模型 nameSpace: 命名空间table: 表(需要声明…

浅谈C/S和B/S架构的工作原理及优缺点

C/S架构 一、C/S架构及其背景 C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构,不过一直很流行也比…

蓝桥杯刷题019——观光公交(贪心)

题目描述 风景迷人的小城 Y 市,拥有 n 个美丽的景点。由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第 0 分钟出现在 1 号景点,随后依次前往 2、3、4……n 号景点。从第 i …

使用Workbook读取表格问题总结

使用Workbook读取表格问题总结一、Workbook类型二、问题总结1.SXSSFWorkbook为什么我Create了一万行Row但是却获取不到?2.读取表格一、Workbook类型 Workbook分三种类型: 1.HSSFWorkbook 用于Excel2003版及更早版本(扩展名为.xls)的导出; 2.…

苹果手机备忘录密码忘记了怎么办?快速解锁,亲测有效

很多小伙伴喜欢使用苹果手机的备忘录来记录重要的事情,并且还会给备忘录设置密码。可是使用的时间长了,就忘记了自己备忘录密码了。苹果手机备忘录密码忘记了怎么办?别担心,今天小编分享一个亲测有效的方法,快来看看吧…

纳瓦电子前向77GHz毫米波雷达获国内新能源头部车企定点!

伴随着中国自主品牌新车搭载ADAS功能的高速增长,中国本土毫米波雷达供应商迎来了前所未有的机遇期。 高工智能汽车研究院监测数据显示,今年1-11月中国市场(不含进出口)乘用车前装标配搭载前向毫米波雷达交付上险755.53万颗&#…

一站式开发平台 赋能办公全场景

近几年,数字化办公迎来了新的机遇,根据亿欧智库《2022中国数字化办公市场研究报告》推算,数字化办公2021年的市场规模达到973.89亿元,至2025年将达到1768.16亿元,整体增速保持平稳,2018-2025年的CAGR为15.8…

写IB EE(Extended Essay)时容易犯的五大错误

EE的重要性无需多言,EE和TOK一共占IB45分总分的3分,其中一门拿到E的话,就会fail,拿不到IB的diploma。虽说和学校老师会有meeting讨论的机会,但时间有限,提供的精准指导也有限。EE的要求很严谨,很…

基于java SSM springboot动物检疫信息管理系统设计和实现

基于java SSM springboot动物检疫信息管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获…

Java集合(八)Map接口

我们来查看Map接口: 里面的k-v和set集合的不同之处在于:key仍然是一个对象,但是对于set来说value是一个常量, private static final Object PRESENT new Object(); set里面的value放的是 静态性质的PRESENT。 而map的value是自…

Issue—C#—ssl相关错误

报错:.net 6 : {"MessageTemplate": "An unhandled exception has occurred while executing the request.""Exception": "System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exc…

函数(基础)

目录 一、字符串函数 (一)常用的字符串函数 (二)举例 1. concat(拼接) 2. Lower(大写变小写) 3. upper(小写变大写) 4. lpad(左填充) 5. rpad(右填充) 6. trim(去掉前后空格) 7. ltrim(去掉左边…

Linux-远程管理命令

1.关机/重启序号命令对应英文作用01shutdown 选项 时间shutdown关机/重新启动1.1shutdownshutdown命令可以安全关闭或者重新启动系统选项含义-r重新启动提示:不指定选项和参数,默认表示1分钟之后关闭电脑远程维护服务器时,最好不要关闭系统&a…