【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)https://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 |
--x | 001 |
rw- | 110 |
r-x | 101 |
-wx | 011 |
rwx | 111 |
--- | 000 |
因为最多只有8种情况,我们还可以用八进制来表示:
r-- | 4 |
-w- | 2 |
--x | 1 |
rw- | 6 |
r-x | 5 |
-wx | 3 |
rwx | 7 |
--- | 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】常用指令、热键与权限管理
一、常用指令 (1)ls 功能:列出指定目录下的所有子目录与文件 用法:ls (选项) (目录或文件名) 常用选项: -a:列出目录下的所有文件,包括隐藏…...

深度学习知识点全面总结
目录 1.深度学习的一些重要知识点 神经网络: 深度学习模型: 深度学习技术: 深度学习应用: 2.深度学习、机器学习、人工智能 3.用python实现简单神经网络模型 4.用于深度学习显卡推荐排序 5.深度学习如何入门? 掌握基础知识: 选择学习资源&…...
【编写控制手机压测的脚本】
编写一个控制手机压测的脚本可以使用Python语言来实现。以下是一个简单的示例脚本: import subprocess import time# 打开app subprocess.call(["adb", "shell", "am", "start", "-n", "com.example.app/.…...

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

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

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

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

智慧园区:视频系统建设的核心要素与实践路径
一、背景分析 园区作为城市的基本单元,是最重要的人口和产业聚集区。根据行业市场调研,90%以上城市居民工作与生活在园区进行,80%以上的GDP和90%以上的创新在园区内产生,可以说“城市,除了马路都是园区”。 园区形态…...

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

MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
前言 做数仓开发离不开 SQL ,写了很多 HQL 回头再看 MySQL 才发现,很多东西并不是 HQL 所独创的,而是几乎都来自于关系型数据库通用的 SQL;想到以后需要每天和数仓打交道,那么不管是 MySQL 还是 Oracle ,都…...
SCSS详解
SCSS(Sassy CSS)是Sass 3引入的新语法,完全兼容CSS3,并且继承了Sass的强大功能。与原始的Sass语法不同,SCSS语法使用了和CSS一样的块语法,即使用大括号“{}”将不同的规则分开,使用分号“;”将具…...
Vue 问题集
Q:MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 connection listeners added. Use emitter.setMaxListeners() to increase limit A: 可能由多个问题导致,我的是情况1 1. vue.config.js - devServer 代理设置只能添加10个&#…...
Elasticsearch 8.1官网文档梳理 -综述
积累 Elasticsearch 的常用知识,以及日常维护、学习用到的 API。因为相关内容太多,所以根据模块整理成了不同的文章,并在这里做汇总,整个系列的文章都会持续更新 目录 Elasticsearch 8.1官网文档梳理 - 四、Set up Elasticsearc…...
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
前言 本文档意在说明 当使用者 gcc 版本 和 Linux系统默认的gcc版本 存在 大版本差异 时,怎样处理,能够兼用多个版本 并且对已有 程序影响最小。 问题描述 linux系统默认的gcc版本:7.5.0我们程序需要使用的gcc版本:8.4.0 安装…...

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

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

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

文字游侠AI丨简直是写作神器,头条爆文一键生成稳定赚米!附渠道和详细教程(只需四步)!
在数字时代的浪潮中,人们不断寻求网络空间中的商机,期望在互联网的浩瀚海洋里捕捉到稳定的财富。随着人工智能技术的突飞猛进,越来越多的AI工具被融入到各行各业,开辟了新天地,带来了创新的盈利模式。 其中,…...
【ES6】简单剖析一下展开运算符 “ ... “
基本用法 let row {id: 1,name: John Doe,age: 30 };let newRow { ...row };console.log(newRow); // 输出: { id: 1, name: John Doe, age: 30 }基本用法就是通过展开运算符,将某个对象中的元素依次展开,然后赋值给新的对象。 但是值得注意的是&…...
java StringUtils类常用方法
StringUtils类是Apache Commons Lang库中提供的一个工具类,用于处理字符串操作。它包含了许多常用的方法,以下是其中一部分常用方法: StringUtils.isEmpty(String str):判断字符串是否为空,如果字符串为null、空字符串…...

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

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...