Linux:基本指令
文章目录
- ls指令
- pwd指令
- cd指令
- touch指令
- mkdir指令
- rmdir指令 && rm指令
- cp指令
- man指令
- echo指令
- 输出重定向
- 追加重定向
- cat指令
- 输入重定向
- mv指令
- which指令
- alias指令
- more && less指令
- head && tail指令
- 事件相关的指令
- date显示
- 时间戳
- cal指令
- find指令
- grep指令
- zip && unzip指令
- tar指令
- bc指令
- uname指令
ls指令
语法:ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
选项 | 全称 | 含义 |
---|---|---|
-a | –all | 显示所有文件,包括隐藏文件(以 . 开头的文件) |
-A | –almost-all | 显示所有文件,除了 . 和 .. |
-i | –inode | 显示文件的i 结点的索引信息 |
-l | –long | 显示详细信息如权限、所有者、大小和修改时间 |
-h | –human-readable | 配合 -l 选项,以人类可读的格式显示文件大小 |
-d | –directory | 只显示目录本身,而不是其内容。常与通配符结合使用 |
-F | –classify | 在每个文件名后附加一个字符以指示文件类型 |
-r | –reverse | 逆序显示文件 |
-t | –time | 根据修改时间排序,最新的文件排在最前面 |
-s | –size | 根据文件大小排序,最大的文件排在最前面 |
-R | –recursive | 递归地列出子目录中地所有文件和目录 |
-1 | 每行显示一个文件 |
以ls -l
或ll
列出文件时,一共有七列。
例如:
[root@VM-12-11-centos ~]# ls -ahl
total 28K
dr-xr-x—. 2 root root 135 Dec 16 02:34 .
dr-xr-xr-x. 17 root root 224 Dec 14 01:38 …
-rw-------. 1 root root 1.3K Dec 14 01:38 anaconda-ks.cfg
-rw-------. 1 root root 1.2K Dec 16 02:34 .bash_history
-rw-r–r–. 1 root root 18 Dec 28 2013 .bash_logout
-rw-r–r–. 1 root root 176 Dec 28 2013 .bash_profile
-rw-r–r–. 1 root root 176 Dec 28 2013 .bashrc
-rw-r–r–. 1 root root 100 Dec 28 2013 .cshrc
-rw-r–r–. 1 root root 129 Dec 28 2013 .tcshrc
从上面可以看到,每一行都有7列,分别是:
- 第一列共10位,第1位表示文档类型,
d
表示目录,-
表示文件,l
表示链接文件,d
表示可随机存取的设备,如U盘等,c
表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、executable。如:-r-xr-x---
的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。 - 第二列表示链接数,表示有多少个文件链接到inode号码。
- 第三列表示拥有者
- 第四列表示所属群组
- 第五列表示文档容量大小,单位字节
- 第六列表示文档最后修改时间,注意不是文档的创建时间哦
- 第七列表示文档名称。以点(.)开头的是隐藏文档
pwd指令
语法:pwd
功能:显示用户当前所在的目录
cd指令
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个结点都是目录或文件。
所以它的叶子节点一点故事空目录或非目录文件,路上结点一定是非空目录节点。
语法:cd 目录名
功能:改变当前工作目录到指定目录下。
Example:
cd .. 返回上级目录
cd /home/litao/linux/ 绝对路径
cd ../day02/ 相对路径
cd ~ 进入用户家目录
cd - 返回最近访问目录
root用户的家目录为:/root
CentOS中普通用户账号统一放在/home
所以普通用户的家目录为:/home/username
touch指令
语法:touch [选项] …文件…
功能:touch
命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
常用选项:
选项 | 含义 |
---|---|
-a | 只更改存取时间 |
-c | 不建立任何文档 |
-d | 使用指定的日期时间,而非现在的时间 |
-f | 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题 |
-m | 只更改变动时间 |
-r | 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同 |
-t | 使用指定的日期时间,而非现在的时间 |
mkdir指令
语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为dirname
的目录
常用选项:
-p/–parents:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
rmdir指令 && rm指令
rmdir
是一个与mkdir
相对应的命令。mkdir
是建立目录,而rmdir
是删除命令。
语法:rmdir [-p] [dirname]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
-p:当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rm
指令可以同时删除文件或目录
语法:rm [-f-i-r-v] [dirname/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
选项 | 含义 |
---|---|
-f | 即使文件属性为只读(即写保护),亦直接删除 |
-i | 删除前逐一询问确认 |
-r | 删除目录及其下所有文件 |
cp指令
语法:cp [选项] [源目录或源文件] [目标目录或目标文件]
功能:拷贝文件或目录
说明:cp
指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
常用选项:
选项 | 全称 | 含义 |
---|---|---|
-f | –force | 强行复制文件或目录, 不论目的文件或目录是否已经存在 |
-i | –interactive | 覆盖文件之前先询问用户 |
-r | –recursive | 将指定目录下的文件及子目录一并处理。 |
拷贝目录时,使用-r
选项
man指令
语法:man [选项] [命令]
功能:在Linux手册中查找命令
搜索完后,按q
退出。
echo指令
语法:echo [字符串]
功能:将字符串在显示器显示。
注:字符串可以加""
或''
或什么都不加。
echo
输出默认有换行,printf
默认没有换行。
没有""
的情况下printf
会以空格作为结束标志。
如果加了""
,则printf
的使用方法与C++
中相同,只是需要注意,不要加,
。
输出重定向
在Linux下,一切皆文件。显示器和键盘也是文件,显示器是只能输出,不能输入的文件;键盘是只能输入,不能输出的文件。那么echo
既然可以将字符串在显示器上打印,那么echo
也可以将字符串输出到文件中。
语法:echo [字符串] > [文件]
这种更改输出文件的操作,就叫做输出重定向。
可以看到:1. 数据没有在显示器显示。 2. 数据呗写入到文件中。这就是输出重定向。
如果我们继续向文件中写入内容:
可以看到,原来文件中的内容被覆盖了。
所以输出重定向的操作分为两步:1. 清空文件 2. 写入新内容
所以,如果我们想清空一个文件中的内容,可以使用> [文件]
。
如果我们不想清空文件的原内容,想直接在文件末尾追加新内容,那就要用到追加重定向。
追加重定向
语法: echo [字符串] >> [文件]
功能:在文件末尾追加新内容。
注:如果文件不存在,则会创建新文件。(输出重定向和追加重定向都是如此)
cat指令
语法:cat [选项] [文件]
功能:查看目标文件的内容
常用选项:
选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
-s | 不输出多行空行 |
上面提到,Linux下,一切皆文件。
所以cat
指令默认从输入设备(文件)读取。
输入cat
指令后按回车即可;退出时需按Ctrl + C
。
cat [文件] 的方式可以将文件中的内容输出。
输入重定向
cat < [文件] 被称为输入重定向,作用也是输出文件中的内容。
那么加不加<
有区别吗?加与不加<
是有区别的,这个以后再介绍。
mv指令
语法:mv [源文件] [目标文件]
功能:移动文件或目录,或重命名。
当目标文件或目标目录不存在时,会将源文件或目录移动,然后重命名为目标文件或目录。
当目标目录存在时,会将源文件或目录放在目标目录下,不发生重命名。
which指令
语法:which [指令]
功能:查看指令对应的路径
指令本质上是可执行程序(也是文件:可执行文件,只是安装在了系统的某种路径下)
执行指令时,现在系统中查找对应的指令。
CentOS下路径为:/usr/bin/
alias指令
语法:alias [字符串] = ‘指令’
功能:为指令添加重命名
删除重命名需要alias [字符串] = ''
more && less指令
语法:more/less [选项] [文件]
功能:显示文件的前n/后n行。
可以使用/...
搜索...
内容,按q
退出。
less
可以用光标上下移动,more
不可以。
head && tail指令
语法:head/tail [-num] [文件]
head
提取文件的前num
行,默认num == 10
,tail
提取文件的后num
行。
Example:提取test.txt
中的第1001-1020行
- head -1020 test.txt > tmp.txt
tail -20 tmp.txt
2. 管道
head -1020 test.txt | tail -20
事件相关的指令
date显示
date
指定格式显示时间:date + %Y:%m:%d
date
用法:date [OPTION] [+FORMAT]
显示方面,使用者可以设定想要显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:
标记 | 含义 |
---|---|
%H | 小时 |
%M | 分钟 |
%S | 秒 |
%X | 相当于 %H:%M:%S |
%d | 日 |
%m | 月 |
%Y | 年 |
%F | 相当于 %Y-%m-%d |
时间戳
时间戳:从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
输出时间戳:date +%s
从时间戳转换为时间:date -d@1717574162
cal指令
cal
指令显示日历。
格式:cal [参数] [月份] [年份]
常用格式:
选项 | 含义 |
---|---|
-3 | 显示系统前一个月,当前月和下一个月的日历 |
-j | 显示在当年的第几天 |
-y | 显示当前年份的日历 |
find指令
语法:find [目录] -name [文件]
功能:在特定目录下搜索特定文件(可能访问磁盘)
which
只在指令路径下搜索指令文件
whereis
在系统指定路径下查找,既可以找到可执行程序,有可以找到手册、安装包、压缩包之类
grep指令
语法:grep [选项] [字符串] [文件]
功能:按行在文件中搜索字符串,将包含字符串的行打印出来
如果从目录中查找,加-r
选项
常用选项:
选项 | 含义 |
---|---|
-i | 忽略大小写 |
-n | 顺便输出行号 |
-v | 反向选择,将不包含字符串的行打印出来 |
zip && unzip指令
语法:zip 压缩文件.zip 目录或文件
功能:将目录或文件压缩成zip格式
如果要压缩目录,加-r
tar指令
四个常用:
打包压缩:tar czf XXX
预览:tar tzf XXX.tgz
解压解包:tar xzf XXX.tgz
解压到指定路径:tar xzf XXX.tgz -C(大写) 目录
bc指令
运行计算器,可配合管道
uname指令
获取电脑和操作系统的相关信息。
相关文章:
Linux:基本指令
文章目录 ls指令pwd指令cd指令touch指令mkdir指令rmdir指令 && rm指令cp指令man指令echo指令输出重定向追加重定向 cat指令输入重定向 mv指令which指令alias指令more && less指令head && tail指令事件相关的指令date显示时间戳 cal指令find指令grep指令…...
商业C++静态代码检测工具PC-lint Plus 、 polysace和sonarqube对比
商业C静态代码检测工具PC-lint Plus 、 polysace和sonarqube对比 特性/工具PC-lint PlusPolyspaceSonarQube主要功能高精度静态代码分析、编码标准检查高级静态分析和形式验证、优化嵌入式系统综合性代码质量管理、静态分析、技术债务管理集成方式可集成到IDE和构建系统与开发…...
邬家桥公园
文|随意的风 原文地址 我游览过现存规模最大、保存最完整的皇家园林颐和园,瞻仰过拥有世界上最大祭天建筑群的天坛公园,那都是多年前的事情了。 邬家桥公园相比颐和园、天坛公园,气势雄伟倒谈不上。它没有西湖的水平如镜ÿ…...
Flutter 中的 RenderObjectToWidgetAdapter 小部件:全面指南
Flutter 中的 RenderObjectToWidgetAdapter 小部件:全面指南 Flutter 是一个功能强大的 UI 框架,由 Google 开发,允许开发者使用 Dart 语言构建跨平台的移动、Web 和桌面应用。在 Flutter 的渲染体系中,RenderObjectToWidgetAdap…...
SNAT与DNAT
一、SNAT策略概述 1、SNAT 策略的典型应用环境 局域网主机共享单个公网IP地址接入Internet(私有IP不能在Internet中正常路由) 局域共享上网 2、 SNAT 策略的原理 修改数据包的源地址 把从内网 --> 外网的数据的源内网地址转换成公网源地址 3、SN…...
MySql八股文知识点总结,一篇文章让mysql成为面试加分项
MySql八股文知识点总结(自检) 1.前言 参与了几次中大厂的面试,你会发现一面时对于八股文的考察也具有侧重点(MySQLRedis > 网络 > 系统 >设计模式 > java集合 >spring) 本文的目标就是通过这一篇文章让你能在面…...
Python 很好用的爬虫框架:Scrapy:
了解Scrapy 爬虫框架的工作流程: 在scrapy中, 具体工作流程是这样的: 首先第一步 当爬虫引擎<engine>启动后, 引擎会到 spider 中获取 start_url<起始url> 然后将其封装为一个request对象, 交给调度器<…...
C/C++|关于 namespace 在C++中的代码组织
命名空间(namespace)在C中用于组织代码,避免命名冲突,并提供更好的代码结构和可读性。下面详细解释命名空间在C多文件编写中的各种作用和表达。 基本概念 命名空间是一个声明区域,用于组织代码,防止不同部…...
selenium自动化测试入门 —— 上传文件
selenium无法识别非web的控件,上传文件窗口为系统自带,无法识别窗口元素。 上传文件有两种场景:input控制上传和非input控件上传。 大多数情况都是input控件上传文件,只有非常少数的使用自定义的非input上传文件。 一、input控…...
C# Math.Round() 四舍六入五取偶
文章目录 1.重载列表2. 示例 Math.Round() 为四舍六入五取偶 1.重载列表 API说明Round(Double)将小数值舍入到最近的整数值Round(Double, Int32)将小数值按指定的小数位数舍入Round(Double, Int32, MidpointRounding)将小数值按指定的小数位数舍入,MidpointRoundin…...
springboot手动触发参数校验,service层调用参数校验
背景 入参校验一般是在控制层通过javax.validation.constraints包下的规则注解如NotNull结合Valid与Validated实现,但是有时候我们的方法不提供给controller调用,这时候就无法触发自动参数校验,为此我们可以在不更改校验代码的前提下手动触发…...
动手学深度学习4.10 实战Kaggle比赛:预测房价-笔记练习(PyTorch)
以下内容为结合李沐老师的课程和教材补充的学习笔记,以及对课后练习的一些思考,自留回顾,也供同学之人交流参考。 本节课程地址:实战 Kaggle 比赛:预测房价_哔哩哔哩_bilibili 本节教材地址:4.10. 实战Ka…...
1035 插入与归并(测试点6)
solution 类型判断:插入排序中已排序的部分有序,未排序的和原数组元素相同;否则为归并排序测试点6:对于归并排序的子序列长度,不能简单视为前k个有序则子序列长度就是k 例如该测试用例的归并排序的子序列长度应该为2&…...
什么情况下需要使用分布式事务,有哪些方案?
引言:在当今的分布式系统中,数据的一致性和事务的处理成为了关键问题。随着应用程序的规模不断扩大和复杂性的增加,单一数据库事务的能力已经无法满足需求。因此,引入了分布式事务的概念,以确保跨多个节点的操作能够保…...
Java加密体系结构参考指南-Java Cryptography Architecture
本文是从英文的官网摘了翻译的,用作自己的整理和记录。水平有限,欢迎指正。版本是:22 原文地址:https://docs.oracle.com/en/java/javase/22/security/java-cryptography-architecture-jca-reference-guide.html#GUID-815542FE-CF…...
C++中避免内存泄漏的方法
在C++中,内存泄漏是一个常见的问题,它发生在程序申请了一块内存后,没有正确地释放它。这会导致程序运行时间越长,内存占用越大,最终可能导致系统崩溃。为了避免内存泄漏,你可以遵循以下一些策略: 正确使用new和delete:当你使用new操作符动态分配内存时,确保在不再需要…...
5.1 实体完整性
一个表只能有一个主键约束,且主键约束不能取空值。 通过unique约束定义唯一性,为了保证一个表非主键列不输入重复值,可在该列定义unique约束。 primary key约束与unique约束主要区别如下。 (1)一个表只能创建一个primary key约束࿰…...
(学习笔记)数据基建-数据质量
数据基建-数据质量 数据质量数据质量保障措施如何推动上下游开展数据质量活动数据质量保障如何量化产出数据质量思考全链路数据质量保障项目 数据质量 概念:数据质量,意如其名,就是数据的准确性,他是数据仓库的基石,控…...
WINUI——Behavior(行为)小结
前言 在使用MVVM进行WINUI或WPF开发时,Command在某些时候并不能满足逻辑与UI分离的要求。这时肯定就需要其它技术的支持,Behavior就是一种。在WPF中是有Behavior直接支持的,转到WINUI后,相对有一些麻烦,于是在此记录之…...
Ruoyi5.x RuoYi-Vue-Plus新建Translation翻译类
若依框架(RuoYi)中的Translation翻译类主要作用在于实现字段值的转换或翻译功能,以提高数据展示的准确性和友好性。以下是其具体作用的一些关键点: 字段值转换:若依框架在处理数据时,有时需要将某些字段的…...
类加载的奥秘
一、类的加载过程将类的字节码文件加载到Java虚拟机中进行执行。 1.通过一个类的全限定名来获取定义此类的二进制流字节码文件(如zip 包、网络、运算生成、JSP 生成、数据库读取等)。 2.将这个字节流所代表的静态存储结构(如常量池、字段、方法等)转化为…...
Spring知识点总结
1. 简介一下Spring框架。 答:Spring框架是一个开源的容器性质的轻量级框架。主要有三大特点:容器、IOC(控制反转)、AOP(面向切面编程)。 2. Spring框架有哪些优点?谈谈你的看法。 答ÿ…...
STM32Cube系列教程11:STM32 AES加解密模块性能测试
文章目录 本次测试环境本次测试所使用的系统时钟为48MHz本次测试主要测试对大量数据进行加解密所需的时间,本次为不严谨测试,忽略了程序调用耗时,结果仅供参考。 AES算法与数据加解密加密与解密对称加解密AES算法AES-ECBAES-CBC 填充算法PKCS…...
Vue2基础:.sync修饰符的使用,认识,作用,本质案例演示,实现父子之间的通信。
.sync的作用: 可以实现子组件与父组件数据的双向绑定,简化代码。 与v-model的不同点,prop属性名可以自定义,不要一定要用value. .sync的本质: 就是:属性名和update:属性名合写。 下面我们进行代码演示…...
【数据结构与算法】使用单链表实现队列:原理、步骤与应用
💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法》 期待您的关注 目录 一、引言 🎄队列的概念 🎄为什么要用单链表实现队列 二、单…...
DHCP服务
文章目录 一、DHCP介绍二、DHCP应用场景三、DHCP工作原理3.1)工作方式3.2)工作原理解析3.3)计算机获得IP的时间点3.4)租约更新阶段 四、DHCP服务器部署4.1)DHCP安装4.2)DHCP配置文件详解4.3)DHCP启动 五、D…...
C++笔试-剑指offer
剑指offer 文章目录 剑指offer数组[数组中重复的数据 ](https://leetcode.cn/problems/find-all-duplicates-in-an-array/description/)将元素交换到对应的位置 二维数组中的查找二叉搜索树 旋转数组的最小数字二分查找 数组中出现次数超过一半的数字相互抵消 连续子数组的最大…...
Mac安装jadx并配置环境
jadx官网:GitHub - skylot/jadx: Dex to Java decompiler 第一种: 安装jadx命令: brew install jadx 启动jadx-gui命令: jadx-gui 可能遇到的问题: Downloading https://formulae.brew.sh/api/formula.jws.json** h…...
前端学习----css基础语法
CSS概述 CAscading Style Sheets(级联样式表) CSS是一种样式语言,用于对HTML文档控制外观,自定义布局等,例如字体,颜色,边距等 可将页面的内容与表现形式分离,页面内容存放在HTML文档中,而用于定义表现形式的CSS在一个.css文件中或HTML文档的某一部分 HTML与CSS的关系 HTM…...
超详解——python条件和循环——小白篇
目录 1. 缩进和悬挂else 2. 条件表达式 3. 和循环搭配的else 4. 可调用对象 总结: 1. 缩进和悬挂else 在Python中,代码块是通过缩进来表示的。条件判断和循环结构的代码块需要正确缩进。悬挂else指的是else子句和相应的if或循环在同一级别的缩进。 …...
建设门户网站费用/公司营销网站建设
1. 远程连接linux(用Xshell) ssh 用户名服务器的ip ssh s18192.168.235.128 普通用户登录后系统的提示符:$ root用户登录后系统的提示符:# ssh rootip -p port 制定端口号 exit 退出用户登录 2. 查看服务器ip地址 ip addr ifconfig ens33: 网卡名3. 盘符…...
微信公众平台维护/seo外推软件
一、任务与目的1. 实验任务:(1) 掌握和完成设置不同vlan间通过路由器互通的方法;(2) 完成同vlan间计算机的测试。2. 实验目的:(1) 进一步熟悉交换机vlan间互通的配置方法;(2) 熟悉和掌握不同vlan间互通的测试方法。二、原理(条件)1.相关知识: (1) Vlan的工作原理; (2) 交换机与…...
网站建设公司如何拓宽业务/seo关键词排名公司
作者:UncleChen来源:http://unclechen.github.io/最近在工作中遇到写一些API,这些API的请求参数非常多,嵌套也非常复杂,如果参数的校验代码全部都手动去实现,写起来真的非常痛苦。正好Spring轮子里面有一个…...
尼高网站设计公司/香水推广软文
大家好,我是乔戈里。最近有一位小学弟成功去了腾讯,洋哥找他要了一些面试相关的资料,内容涵盖计算机基础、Java、分布式、大厂面经,质量非常高!!!不要再看那些到处拼凑出来的面试题了࿰…...
网架报价明细表/seo咨询常德
http://poj.org/problem?id3007 用STL 会超时 用哈希哟 本题哈希很简单,主要是字符串可能出现的各种情况处理起来有点复杂 #include<iostream> #include<cmath> #include<string> #include<algorithm> #include<queue> #include<…...
产品设计流程/电商网站商品页的优化目标是什么
《计算机组装与维护》虚拟实验界面设计与制作(本科)毕业论文设计本科毕业设计(论文)《计算机组装与维护》虚拟实验界面设计与制作摘 要随着计算机技术的发展,计算机的平面图像处理技术已经日益发展。Photoshop是一款功能强大的平面图像处理软件,广泛应用…...