【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
文章目录
- 一、前言
- 1.1、Linux的文件结构是一颗从 根目录/ 开始的一个多叉树。
- 1.2、绝对路径与相对路径
- 1.3、命令的本质是可执行文件。
- 1.4、家目录
- 二、文件管理
- 2.1、文件操作
- 1、pwd
- 2、ls
- 3、cd
- 4、touch
- 5、mkdir
- 6、cp
- 7、rm
- 8、mv
- 9、rmdir
- 2.2、查看文件
- 1、cat
- 2、more
- 3、less
- 4、head
- 5、tail
- 6、wc
- 2.3、文件搜索
- 1、which
- 2、find
- 3、locate
- 4、grep
- 三、用户与用户组管理
- 3.1、用户管理
- 1、useradd 添加用户
- 2、passwd设置用户密码
- 3、su 用户切换
- 4、删除用户
- 3.2、用户组管理
- 1、新增用户组
- 2、删除用户组
- 3、修改用户组属性
- 四、谢谢观看!
一、前言
上一篇博客介绍了centos7与Finalshell的安装,本篇命令介绍也使用Finalshell连接。
快捷键:alt+enter :Finalshell的进入/退出全屏。
1.1、Linux的文件结构是一颗从 根目录/ 开始的一个多叉树。
叶子节点:一定是普通文件或空目录非叶子节点:一定是非空目录
1.2、绝对路径与相对路径
绝对路径:直接将文件的路径点出来,例:cd /etc/yum,直接切换到yum目录
相对路径:以非根目录为参照位置,定位一个文件,例:在etc目录下进行cd ./yum,切换到当前目录(etc)下的yum目录
1.3、命令的本质是可执行文件。
1.4、家目录
在Linux系统中,家目录(Home Directory)是分配给每个用户的个人目录,用于存储个人文件、配置文件、下载内容等。每个用户都有一个独特的家目录,通常位于/home目录下,其名称与用户的用户名相同。例如,用户jyan的家目录通常是/home/jyan。当然,root用户除外。
二、文件管理
命令 --help #查找该命令的用法
2.1、文件操作
1、pwd
# pwd #打印当前工作目录
显示当前目录的绝对路径
2、ls
# ls #显示该目录下文件的属性信息
ls 命令后可以写入不同的参数,会有不同的作用。
ls命令用法很多,我们这里只讲解常用用法。
# ls #显示当前目录下的所有文件(不包含隐藏文件)
# ls -a #显示当前目录下的所有文件(包含隐藏文件)
# ls -l #显示当前目录下的所有文件与其详细信息
# ls -d #查看目录属性
# ls -t #按时间顺序列出文件
3、cd
# cd 文件路径 #切换当前工作目录到对象目录
# cd ./文件名 #切换到当前目录下的目录中
# cd .. #切换当前目录至上一级目录
# cd ~ #切换到当前用户的家目录
1、
# cd 文件路径 #更改当前工作目录到对象目录
注:cd 后有空格
将文件从 ~ 切换到 / (根目录)
将文件从 / (根目录)切换到 yum
2、
# cd ./文件名 #切换到当前目录下的目录中
etc目录下有以下文件
当前目录为etc目录,该目录下有yum文件
切换到当前目录下的yum文件中。
3、
# cd .. #切换当前目录至上一级目录
etc的上一级目录为根目录 / , 使用改命令可以回退到上级目录。
4、
# cd ~ #切换到当前用户的家目录
root用户的家目录的路径在 /root 下
4、touch
# touch 文件名 #更新文件时间,若文件不存在,则会创建一个新文件。
创建一个新文件 myfile
更新时间。
5、mkdir
创建文件。
# mkdir [选项] [参数]
[参数]:
一般为目录或路径名,若参数为目录时,要保证新建目录不与同路径下的目录重名。若参数为路径时,要保证路径下的目录存在,或通过选项创建路径缺失的目录。
[选项]:
-p #若路径中的目录不存在,则先创建目录
-v #查看文件创建过程
在当前目录下创建文件 myfile2
6、cp
copy,将一个或多个源文件复制到指定的目录。
# cp [选项] [源文件或目录] [目的目录]
[选项]:
-R #递归处理,将指定目录下的文件及子目录一并处理
-p #复制的同时不改变文件属性
-f #强行复制文件或目录
用法示例:
#将当前路径下的文件a复制到目录./dir中
# cp a ./dir
#将当前目录下的b目录复制到./home/bxg
# cp -R b ./home/bxg
7、rm
删除目录中的文件或目录
# rm [选项] 文件或目录
-r #删除文件
-f #强制删除,一般不要使用
-rf #删除文件,并且不一一确认
-i #删除时要进行一一确认
上图中,箭头指向的一行为确认删除,输入 y ,确认删除;输入 n,不删除。
8、mv
移动文件或目录。
若该命令操作是相同路径下的两个文件,其功能变为修改文件名。
# mv [选项] 源文件/目录 目标目录
[选项]:
-b #若目标目录中文件已存在,则覆盖前为其创建一个备份
-f #若目标目录与现有目录重复,直接覆盖现有目录
-i #重名,覆盖前对要覆盖的内容进行逐一确认
-u #当源文件比目标文件新或目标文件不存在时,才执行移动
用法示例:
# 将文件a移动到 目录./home/bxg中
# mv a ./home/bxg
9、rmdir
仅用于删除目录。
# rmdir [-p] 目录
2.2、查看文件
1、cat
将文件中的内容打印到输出设备上。
# cat 文件名
2、more
分页显示文件内容。
# more [文件名]
相关快捷键:
快捷键 | 说明 |
---|---|
f/Space | 显示下一页 |
Enter | 显示下一行 |
q/Q | 退出 |
3、less
more命令只能向下翻页,而less命令可以实现向前翻页的功能。
# less 文件路径
4、head
查看指定文件的前n行内容。
# head -n 文件名(路径)
其中 n 为要查找的行数
5、tail
查看指定文件的后n行内容。
# tail -n 文件名
6、wc
计算文件的字节数、字数和列数。
# wc [选项] 参数
[选项]:
-c #统计字节数
-l #统计行数
-w #统计字数
参数:一般是文件名
2.3、文件搜索
1、which
获取指定命令的绝对路径。
# which 命令
例:
搜索ls命令所在的路径
2、find
借助搜索关键字查找文件或目录
# find [搜索路径] [选项] 搜索关键字
若不指定搜索路径,则find命令默认在当前路径下搜索。若当前路径下存在目录,则find命令会进入目录中逐级搜索。
搜索关键字可以是:文件名、文件大小、文件所有者等
[选项]:
-name #根据文件名查找
-size #根据文件大小查找
-user #根据文件所有者查找
3、locate
借助搜索关键字查找文件或目录
# locate [选项] 搜索关键字
搜索效率高,因为它搜索的是一个包含所有本地文件信息的数据库而非具体目录,该数据库系统自动创建。locate命令默认搜索这个数据库。
可用 -d 来指定搜索路径
注:使用locate之前,要通过updatedb 命令来手动更新数据库。
4、grep
在文件中搜索与指定字符串匹配的行并打印到终端。
# grep [选项] 指定字符 源文件
[选项]:
-c #统计文本中与指定字符串匹配的行数
-E #使用扩展正则表达式进行匹配
-i #不区分大小写
查找 /etc/passwd 文件中包含 root 的行
三、用户与用户组管理
Linux中的用户分为两大类:root超级用户和普通用户。
要知道与用户相关的命令:
输入user,之后点击两次tab键
3.1、用户管理
1、useradd 添加用户
# useradd [选项] 用户名
[选项]:
-d #指定用户登录时的目录
-c #指定账户的备注文字
-e #指定账号的有效期限
-f #缓冲天数,密码过期时在指定天数后关闭该账号
-g #指定用户所属组
-G #指定用户所属的附加用户组
输入以下命令:创建新用户jyan,并令其ID为jyan
2、passwd设置用户密码
# passwd [选项] 用户名
#为新用户jyan设置密码
# passwd jyan
这里是刚刚创建的新用户:
3、su 用户切换
# su [选项] [用户名]
若选项和用户名缺省,表示切换到root用户,但仍保留原来用户的工作环境。
若使用 su - ,则表示从当前用户切换到root用户,并切换到root用户的工作目录。
[选项]:
-c #执行完指定指令后,切换到原来用户
-l #切换用户的同时,切换到对应用户的工作目录,环境变量改变
-m,-p #切换用户时,环境变量不变
-s #指定要执行的shell
#:表示当前为超级用户
$:表示当前为普通用户
注:使用su命令时,从root用户切换到普通用户,不用输入密码;但从普通用户切换到目标用户时,需要输入密码。
4、删除用户
# userdel [选项] 用户名
[选项]:
-f #强制删除用户
-r #删除用户的同时,删除与其相关的所有文件
3.2、用户组管理
一般将权限相同的用户放在同一个用户组里。
要知道与组相关的命令:
输入group,之后点击两次tab键
1、新增用户组
groupadd 命令主动添加。
# groupadd [选项] 参数
[选项]:
-g #指定新建用户组的组ID
-r #创建系统用户组,组ID范围在1~499
-o #创建组ID已经存在的用户组
2、删除用户组
# groupdel 用户组名
3、修改用户组属性
# groupmod [选项] 参数
四、谢谢观看!
相关文章:

【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
文章目录 一、前言1.1、Linux的文件结构是一颗从 根目录/ 开始的一个多叉树。1.2、绝对路径与相对路径1.3、命令的本质是可执行文件。1.4、家目录 二、文件管理2.1、文件操作1、pwd2、ls3、cd4、touch5、mkdir6、cp7、rm8、mv9、rmdir 2.2、查看文件1、cat2、more3、less4、hea…...

Hadoop大数据入门——Hive-SQL语法大全
Hive SQL 语法大全 基于语法描述说明 CREATE DATABASE [IF NOT EXISTS] db_name [LOCATION] path; SELECT expr, ... FROM tbl ORDER BY col_name [ASC | DESC] (A | B | C)如上语法,在语法描述中出现: [],表示可选,如上[LOCATI…...
个人开发主页
网站 GitHubCSDN知乎豆包Google百度 多媒体 ffmpeg媒矿工厂videolanAPPLE开发者官网华为开发者官网livevideostack高清产业联盟github-xhunmon/VABloggithub-0voice/audio_video_streamingdoom9streamingmediaFourCC-wiki17哥Depth.Love BlogOTTFFmpeg原理介绍wowzavicuesof…...

思维+数论,CF 922C - Cave Painting
目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 922C - Cave Painting 二、解题报告 1、思路分析 诈骗题 我们发现 n mo…...

如何下单PCB板和STM贴片服务- 嘉立创EDA
1 PCB 下单 1.1 PCB 设计好,需要进行DRC 检查。 1.2 生成gerber文件、坐标文件和BOM文件 1.3 打开嘉立创下单助手 上传gerber文件 1.4 选择下单数量 1.5 选择板材, 一般常用板材 PR4 板材。 1.6 如果需要阻抗匹配,需要选择设计的时候阻抗叠…...

MySQL连接查询:外连接
先看我的表结构 dept表 emp表 外连接分为 1.左外连接 2.右外连接 1.左外连接 基本语法 select 字段列表 FORM 表1 LEFT [OUTER] JOIN 表2 ON 条件;例子:查询emp表的所有数据,和对应部门的员工信息(左外连接) select e.*, d.n…...

108页PPT丨OGSM战略规划框架:实现企业目标的系统化方法论
OGSM战略规划框架是一种实现企业目标的系统化方法论,它通过将组织的目标(Objectives)、目标(Goals)、策略(Strategies)和衡量指标(Measures)进行系统化整合,确…...

文件查找与打包压缩,文件发送
grep:文件内容过滤 [roothostname ~]# grep root /etc/passwd从/etc/passwd文件中过滤root字段 root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [roothostname ~]# grep nologin$ /etc/passwd //$以..结尾 ^以..开头 b…...

sv标准研读第十二章-过程性编程语句
书接上回: sv标准研读第一章-综述 sv标准研读第二章-标准引用 sv标准研读第三章-设计和验证的building block sv标准研读第四章-时间调度机制 sv标准研读第五章-词法 sv标准研读第六章-数据类型 sv标准研读第七章-聚合数据类型 sv标准研读第八章-class sv标…...

MySQL-联合查询
1.简介 1.1为什么要使用联合查询 在数据设计时由于范式的要求,数据被拆分到多个表中,那么要查询⼀个条数据的完整信息,就 要从多个表中获取数据,如下图所⽰:要获取学⽣的基本信息和班级信息就要从学⽣表和班级表中获…...

突触可塑性与STDP:神经网络中的自我调整机制
突触可塑性与STDP:神经网络中的自我调整机制 在神经网络的学习过程中,突触可塑性(Synaptic Plasticity)是指神经元之间的连接强度(突触权重)随着时间的推移而动态变化的能力。这种调整机制使神经网络能够通…...

【小沐学GIS】QGIS导出OpenStreetMap数据(QuickOSM、OSM)
文章目录 1、简介1.1 OSM1.2 QuickOSM1.3 Overpass Turbo 2、插件安装3、插件使用3.1 快速查询(boundary边界)3.2 快速查询(railway铁路)3.3 快速查询(boundaryadmin_level行政边界)3.4 快速查询࿰…...

推荐一款强大的书签管理工具,让你的网址不在落灰
在信息爆炸的互联网时代,我们每天都会浏览大量的网页,收藏各种各样的网址。然而,随着时间的推移,这些杂乱无章的书签往往让我们感到头疼。别担心,今天我要向你推荐一款强大的书签管理工具,它将帮助你轻松整…...

Python 工具库每日推荐 【Matplotlib】
文章目录 引言Python数据可视化库的重要性今日推荐:Matplotlib工具库主要功能:使用场景:安装与配置快速上手示例代码代码解释实际应用案例案例:数据分析可视化案例分析高级特性自定义样式动画效果3D绘图性能优化技巧扩展阅读与资源优缺点分析优点:缺点:总结【 已更新完 T…...
在远程非桌面版Ubuntu中使用Qt5构建Hello World项目
在 Linux 下运行 Qt 应用程序,需要完成以下几个步骤,包括安装 Qt 工具、设置开发环境以及编译和运行项目。下面是详细的步骤: 1. 安装 Qt 1.1使用系统包管理器 sudo apt update 和 sudo apt install qt5-default qtcreator 命令用于更新 U…...

netty之基础aio,bio,nio
前言 在Java中,提供了一些关于使用IO的API,可以供开发者来读写外部数据和文件,我们称这些API为Java IO。IO是Java中比较重要知识点,且比较难学习的知识点。并且随着Java的发展为提供更好的数据传输性能,目前有三种IO共…...

在找工作吗?给你一个AI虚拟面试官助力你提前准备面试
大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 让AI点亮我们的生活,是Shelly对…...
@KafkaListener注解中containerFactory属性的作用
在使用Spring Kafka时,containerFactory 属性是 KafkaListener 注解中的一个选项,它允许你指定一个 ContainerFactory Bean 的名称。这个 ContainerFactory 负责创建和管理 Kafka 消息监听容器。 以下是 containerFactory 属性的一些关键作用࿱…...

1006C简单题(计数式子的组合意义 + dp式子联立)
http://cplusoj.com/d/senior/p/SS241006C 对于这个式子,我们可以从它的组合意义入手。 假设我们有 n 1 n1 n1 个白球要染色,中间有一个绿球,绿球左边有 a a a 个红球,右边有 b b b 球。染完后绿球左边每个白球有 x x x 的贡…...
千益畅行,旅游创业新模式的创新与发展
旅游创业的时代背景与旅游卡的崛起,在当今快节奏的时代,旅行成为人们生活中的重要部分,随着科技发展和市场需求的变化,旅游创业项目中的旅游卡应运而生。 其中,“千益畅行” 旅游卡作为新兴力量,在共享经济…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...