当前位置: 首页 > news >正文

【Linux】常用指令、热键与权限管理

一、常用指令

(1)ls

功能:列出指定目录下的所有子目录与文件

用法:ls + (选项) + (目录或文件名)

常用选项:

  • -a:列出目录下的所有文件,包括隐藏文件
  • -l:列出文件的详细信息(如创建时间,文件大小等)
  • -r:对目录反向排序
  • -t:按照时间排序
  • -F:在每个文件名后添加一个字符用来说明该文件的类型
  • -s:在文件名前输出该文件的大小
  • -R:列出所有文件与所有子目录下的文件
  • -1:将所有文件排成一列

例如:ls - l

(2)pwd

功能:输出用户当前所在的目录

用法:pwd

常用选项:无

例如:

(3)cd

功能:切换工作目录(类比windows双击进入文件夹或输入路径切换至指定目录)

用法:cd + 目录名

例如:

(4)touch

功能:常用于新建一个文件,也可用于更改文档或目录的日期时间

用法:touch + (选项) + 文件名

例如:

(5)mkdir

功能:在当前目录下创建一个目录

用法:mkdir + (选项) + 文件名

常用选项:

  • -p:后接一个路径,用于一次建立多个目录

例如:

(6)rmdir

功能:删除目录

语法:rmdir + (选项) + 目录名

常用选项:

  • -p:当子目录被删除后如果父目录变为空目录,则一并删除

例如:

(7)rm

功能:删除文件或目录

语法:rm + (选项) + 文件名/目录名

常用选项:

  • -f:强制删除
  • -i:删除前需要逐一确认
  • -r:递归删除目录及其中所有文件

例如:

(8)man

功能:Linux联机手册

用法:man + (选项) + 命令

常用选项:

  • -k:根据关键字搜索手册
  • num:只在第num章中找
  • -a:若指定命令出现在多个章节,则全部显示

例如:man mkdir

(9)cp

功能:复制文件或目录

用法:cp + (选项) + 文件/目录 + 目标文件/目录

常用选项:

  • -f:强行复制文件或目录
  • -i:覆盖文件前先询问用户
  • -R:递归复制指定目录与其中的所有内容

(10)mv

功能:将文件/目录重命名或将文件移动至某目录

用法:mv + (选项) + 文件/目录 + 目标文件/目录

常用选项:

  • -f:若目标文件存在,则强制覆盖
  • -i:若目标文件存在,则询问是否覆盖

(11)cat

功能:查看目标文件的内容,适用于小文本

用法:cat + (选项) + (文件)

常用选项:

  • -b:对非空行前面加上行编号
  • -n:对输出的所有行进行编号
  • -s:将多行空行变为一行

例如:

(12)more

功能:类似cat,适用于较大文本,会以一页一页的形式显示,方便逐页阅读,按空白键(space)就往下一页显示,按b键就会往回一页显示,按q退出阅读,而且还有查找字符串的功能

用法:more + (选项)+ 文件

常用选项:

  • -num:一次显示的行数
  • +num:从第num行开始显示
  • -s:将连续空行变为一行

(13)less

功能:类似more,但是功能更加强大

用法:less + (选项)+ 文件

常用选项:

  • -i:忽略搜索时的大小写
  • -N:显示每行行号
  • -e:文件显示结束后自动退出
  • -m:显示类似more命令的百分比
  • -s:将连续空行变为一行

常用命令:

  • q:退出less
  • / + 字符串:向下搜索字符串
  • ?+字符串:向上搜索字符串
  • b:向上翻一页
  • d:向下翻半页
  • 空格键:滚动一页
  • 回车键:滚动一行
  • pageup:向上翻一页
  • pagedown:向下翻一页

(14)head

功能:显示文件开头部分的内容

用法:head + (选项)+ (文件)

常用选项:

  • -n + 行数:指定显示的行数

(15)tail

功能:类似head,显示文件结尾部分的内容

用法:tail + (选项) + (文件)

常用选项:

  • -f:循环读取
  • -n + 行数:指定显示的行数

(16)date

功能:显示时间

用法:date + (选项)+ (格式)

常用选项:

  • -s:根据字符串设置系统时间

格式:

  • %H:小时
  • %M:分钟
  • %S:秒
  • %X:相当于输入%H:%H:%S
  • %d:日
  • %m:月份
  • %Y:完整四位数年份
  • %F:相当于输入%Y-%m-%d

例如:

时间戳

Unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

当前时间转时间戳:date +%s

时间戳转时间:date -d@时间戳

例如:

(17)cal

功能:查看日历

用法:cal + (选项) + (月份) + (年份)

常用选项:

  • -y:显示当前年份的完整日历
  • -j:显示在当年的第几天
  • -3:显示前一个月、当前月和下一个月的日历

(18)find

功能:在目录中查找文件

Linux下find命令的功能十分强大,提供给我们很多查找条件与选项

Linux find 命令 | 菜鸟教程 (runoob.com)icon-default.png?t=N7T8https://www.runoob.com/linux/linux-comm-find.html

用法:find + (路径...) + (匹配条件) + (动作)

(19)grep

功能:在文件中搜索字符串并打印

用法:grep + (选项)+ 目标字符串 + 文件...

常用选项:

  • -i:忽略大小写区分
  • -n:在前面输出行号
  • -v:反向选择,即输出所有不包含目标字符串的内容

(20)zip

功能:将目录或文件压缩成zip格式

用法:zip + 压缩文件名.zip + 目录/文件

常用选项:

  • -r:递归处理,将指定目录下的所有文件和子目录一并处理
  • -d:从压缩文件内删除指定的文件
  • -D:压缩文件内不建立目录名称

例如:

unzip:Linux unzip命令 | 菜鸟教程 (runoob.com)

(21)bc

功能:进行浮点运算

用法:bc + (选项) + (参数)

常用选项:

  • -i:强制进入交互式模式
  • -l:定义使用的标准数学库

参数:指定包含计算任务的文件

例如:

(22)uname

功能:获取电脑和操作系统的相关信息

用法:uname + (选项)

常用选项:

  • -a:显示全部的信息,包括内核名称、主机名、操作系统版本、处理器类型和硬件架构等
  • -m:显示处理器类型
  • -n:显示主机名
  • -r :显示内核版本号
  • -s:显示操作系统名称
  • -v:显示操作系统的版本
  • --help:显示帮助

例如:

(23)echo

功能:将传递的参数打印到标准输出中

用法:echo + (选项) + (参数)

例如:

(24)>、>>、<(重定向)

功能:>将内容重定向至目标文件(覆盖);>>将内容追加至目标文件;<将从标准输入改为从指定地方输入

例如:

(25)|(管道)

本质:一个操作方式为文件的内存缓冲区

功能:将 | 前后两个进程的输入输出用一个管道相连,以便达到进程间通信的目的

用法:使用 | 连接两个命令

例如:我们想打印出某文件的第6-10行

在这条命令中,我们先将cat输出的内容通过管道输入给head命令,再将head输出的内容通过管道输入给tail命令

(26)which

功能:用于查找命令所在路径

用法:which + 命令

例如:

(27)拓展命令

  • 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、exit、last...
  • 文件处理指令:file、dd、diff、ln...
  • 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab...
  • 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、mail、finger...
  • 系统安全权限相关命令:passwd、su、sudo、umask、chgrp、chmod、chown、who...
  • 其他命令:tar、gunzip、unarj、mtools、unendcode...


二、常用热键

  • tab:补全命令或路径
  • ctrl+a:光标回到行首
  • ctrl+e:光标回到行尾
  • ctrl+c:终止终端正在进行的所有任务并开启新的命令行
  • ctrl+r:搜索命令行使用过的历史命令记录
  • ctrl+l:清空屏幕所有的内容
  • ctrl+k:剪切(删除)光标处到行尾的所有字符
  • ctrl+k:剪切(删除)光标处到行尾的所有字符
  • ctrl+y:粘贴 ctrl+k、ctrl+u、ctrl+w删除的字符
  • ctrl+d:退出当前shell命令行,如果是切换过来的用户,则执行这个命令回退到原用户
  • ctrl+z:暂停在终端运行的任务,使用"fg"命令可以使暂停恢复


三、权限管理

3.1 Linux中的权限

Linux下有两种用户:超级用户(root)和普通用户

超级用户权限非常大,基本可以在Linux系统下做任何事,不受限制

普通用户就是我们用adduser创建出来的用户,会受到权限的约束,只能做有限的事情

我们可以用su命令从普通用户切换到root用户,也可以通过sudo命令暂时的将权限提升至root级别

3.2 文件类型与文件权限

像这样,第1位的字符代表了文件的类型,文件类型一共有如下几种:

  • d:目录文件
  • -:普通文件
  • l:软链接(类似windows的快捷方式)
  • b:块设备文件
  • p:管道文件
  • c:字符设备文件
  • s:套接口文件

第1位后面的9位字符代表了文件的基本权限,其中r代表可读,w代表可写,x代表可执行

9位字符分为三组:文件所有者权限、所属组权限和其他用户权限

如果一个用户不属于文件的所有者和所属组,那么就按照其他用户赋予权限

其中每组的3个字符分别为:读、写、执行

如果对应位置的字符是-,则说明不具有该权限

权限位后面分别是:连接数、文件所有者、文件所属组、文件大小、文件最近修改日期和文件名

3.3 文件权限值的表示方法

字符串表示方法:

r--只可读-w-只可写
--x只可执行rw-可读可写
-wx可写可执行r-x可读可执行
rwx可读可写可执行---无权限

我们将有对应权限规定为1,没有对应权限规定为0,就出现了二进制表示:

r--100
-w-010
--x001
rw-

110

r-x101
-wx011
rwx111
---000

因为最多只有8种情况,我们还可以用八进制来表示:

r--4
-w-2
--x1
rw-

6

r-x5
-wx3
rwx7
---0

3.4 文件访问权限的设置方法

(1)chmod

功能:设置文件的访问权限

用法:chmod + (参数) + 权限 + 文件名

常用参数:

  • +:增加对应权限
  • -:取消对应权限
  • =:赋予指定权限
  • u:文件所有者
  • g:所属组
  • o:其他用户
  • a:所有用户

例如:

还可以用3位八进制数字代替权限符号

例如:

(2)chown

功能:修改文件所有者

用法:chown + (参数) + 用户名 + 文件名

例如:

(3)chgrp

功能:修改文件所属组

用法:chgrp + (参数) + 用户组名 + 文件名

例如:

3.5 目录的权限

目录也是一种文件,其权限的构成和普通文件相同

区别在于,对应权限可以做的事情不同

  • 可读:允许用ls等命令查看目录中的文件内容,反之则不允许
  • 可写:允许在目录中创建和删除文件,反之则不允许
  • 可执行:允许通过cd命令进入目录,反之则不允许

不过在具体使用中我们会发现,当多个用户共享一个目录时,只要用户拥有对目录的写入权限,则可以随意的删除目录中的文件,不管该用户是否具有被删除文件的写入权限,这似乎并不合理

为了解决这个问题,Linux引入了粘滞位

粘滞位(t)与其他用户的可执行权限(x)共用同一个位置,当一个目录被设置为粘滞位(chmod +t),则该目录下的文件只能被root用户、目录所有者和文件所有者删除,其他用户即使拥有目录的写入权限也无法删除别人的文件

例如:

完.

相关文章:

【Linux】常用指令、热键与权限管理

一、常用指令 &#xff08;1&#xff09;ls 功能&#xff1a;列出指定目录下的所有子目录与文件 用法&#xff1a;ls &#xff08;选项&#xff09; &#xff08;目录或文件名&#xff09; 常用选项&#xff1a; -a&#xff1a;列出目录下的所有文件&#xff0c;包括隐藏…...

深度学习知识点全面总结

目录 1.深度学习的一些重要知识点 神经网络: 深度学习模型: 深度学习技术: 深度学习应用: 2.深度学习、机器学习、人工智能 3.用python实现简单神经网络模型 4.用于深度学习显卡推荐排序 5.深度学习如何入门&#xff1f; 掌握基础知识&#xff1a; 选择学习资源&…...

【编写控制手机压测的脚本】

编写一个控制手机压测的脚本可以使用Python语言来实现。以下是一个简单的示例脚本&#xff1a; import subprocess import time# 打开app subprocess.call(["adb", "shell", "am", "start", "-n", "com.example.app/.…...

计算机网络-路由策略与路由控制一

到目前为止我们学习了路由与交换基础&#xff0c;路由协议有静态、RIP、OSPF、IS-IS等&#xff0c;但是根据实际组网需求&#xff0c;往往需要实施一些路由策略对路由信息进行过滤、属性设置等操作&#xff0c;通过对路由的控制&#xff0c;可以影响数据流量转发。 因此我们开始…...

在线3D展示软件三维展示软件推荐哪家?

博维数孪、动动三维和sketchfab的在线网页3D展示软件工具选择哪一比较好&#xff1f; 选择在线3D展示软件时&#xff0c;需要考虑几个关键因素&#xff0c;包括软件的功能、用户界面、价格、社区支持和兼容性等。以上几款软件工具都有各自的优势&#xff0c;具体取决于需求和偏…...

VS Code中PlatformIO IDE的安装并开发Arduino

VS Code中PlatformIO IDE的安装并开发Arduino VS Code的安装 略 PlatformIO IDE的安装 PlatformIO IDE是是什么 PlatformIO IDE 是一个基于开源的跨平台集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于嵌入式系统和物联网&#xff08;IoT&#xff09;开发。…...

Java入门——异常

异常的背景 初识异常 我们曾经的代码中已经接触了一些 "异常" 了. 例如: //除以 0 System.out.println(10 / 0); // 执行结果 Exception in thread "main" java.lang.ArithmeticException: / by zero //数组下标越界 int[] arr {1, 2, 3}; System.out.…...

智慧园区:视频系统建设的核心要素与实践路径

一、背景分析 园区作为城市的基本单元&#xff0c;是最重要的人口和产业聚集区。根据行业市场调研&#xff0c;90%以上城市居民工作与生活在园区进行&#xff0c;80%以上的GDP和90%以上的创新在园区内产生&#xff0c;可以说“城市&#xff0c;除了马路都是园区”。 园区形态…...

基于ChatGLM+Langchain离线搭建本地知识库(免费)

目录 简介 服务部署 实现本地知识库 测试 番外 简介 ChatGLM-6B是清华大学发布的一个开源的中英双语对话机器人。基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。结合模型量化技术&#xff0c;用户可以在消费级的显卡上进行本地部署&#xff08;INT…...

MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】

前言 做数仓开发离不开 SQL &#xff0c;写了很多 HQL 回头再看 MySQL 才发现&#xff0c;很多东西并不是 HQL 所独创的&#xff0c;而是几乎都来自于关系型数据库通用的 SQL&#xff1b;想到以后需要每天和数仓打交道&#xff0c;那么不管是 MySQL 还是 Oracle &#xff0c;都…...

SCSS详解

SCSS&#xff08;Sassy CSS&#xff09;是Sass 3引入的新语法&#xff0c;完全兼容CSS3&#xff0c;并且继承了Sass的强大功能。与原始的Sass语法不同&#xff0c;SCSS语法使用了和CSS一样的块语法&#xff0c;即使用大括号“{}”将不同的规则分开&#xff0c;使用分号“;”将具…...

Vue 问题集

Q:MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 connection listeners added. Use emitter.setMaxListeners() to increase limit A: 可能由多个问题导致&#xff0c;我的是情况1 1. vue.config.js - devServer 代理设置只能添加10个&#…...

Elasticsearch 8.1官网文档梳理 -综述

积累 Elasticsearch 的常用知识&#xff0c;以及日常维护、学习用到的 API。因为相关内容太多&#xff0c;所以根据模块整理成了不同的文章&#xff0c;并在这里做汇总&#xff0c;整个系列的文章都会持续更新 目录 Elasticsearch 8.1官网文档梳理 - 四、Set up Elasticsearc…...

当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理

前言 本文档意在说明 当使用者 gcc 版本 和 Linux系统默认的gcc版本 存在 大版本差异 时&#xff0c;怎样处理&#xff0c;能够兼用多个版本 并且对已有 程序影响最小。 问题描述 linux系统默认的gcc版本&#xff1a;7.5.0我们程序需要使用的gcc版本&#xff1a;8.4.0 安装…...

深度学习之卷积神经网络理论基础

深度学习之卷积神经网络理论基础 卷积层的操作&#xff08;Convolutional layer&#xff09; 在提出卷积层的概念之前首先引入图像识别的特点 图像识别的特点 特征具有局部性&#xff1a;老虎重要特征“王字”仅出现在头部区域特征可能出现在任何位置下采样图像&#xff0c…...

控制台的高度可调有哪些重要意义解析

在现代办公环境中&#xff0c;控制台的高度可调性越来越受到重视。它不仅为员工提供了更加舒适的工作环境&#xff0c;还提高了工作效率和生产力。本文将详细探讨控制台高度可调的重要性&#xff0c;并解析其在实际应用中的优势。 个性化适应需求 对于长时间在控制台前工作的用…...

智能招聘?远在天边,近在眼前

2023年曾被称为“史上最卷毕业季”&#xff0c;当年应届高校毕业生高达1158万人。人力资源社会保障部公布的数据显示&#xff0c;即将到来的2024毕业季&#xff0c;全国普通高校毕业生规模预计将达1179万人&#xff0c;同比增加21万人&#xff0c;就业总量压力依然高企。看来&a…...

文字游侠AI丨简直是写作神器,头条爆文一键生成稳定赚米!附渠道和详细教程(只需四步)!

在数字时代的浪潮中&#xff0c;人们不断寻求网络空间中的商机&#xff0c;期望在互联网的浩瀚海洋里捕捉到稳定的财富。随着人工智能技术的突飞猛进&#xff0c;越来越多的AI工具被融入到各行各业&#xff0c;开辟了新天地&#xff0c;带来了创新的盈利模式。 其中&#xff0c…...

【ES6】简单剖析一下展开运算符 “ ... “

基本用法 let row {id: 1,name: John Doe,age: 30 };let newRow { ...row };console.log(newRow); // 输出: { id: 1, name: John Doe, age: 30 }基本用法就是通过展开运算符&#xff0c;将某个对象中的元素依次展开&#xff0c;然后赋值给新的对象。 但是值得注意的是&…...

java StringUtils类常用方法

StringUtils类是Apache Commons Lang库中提供的一个工具类&#xff0c;用于处理字符串操作。它包含了许多常用的方法&#xff0c;以下是其中一部分常用方法&#xff1a; StringUtils.isEmpty(String str)&#xff1a;判断字符串是否为空&#xff0c;如果字符串为null、空字符串…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...