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

Linux学习笔记(一):Linux下的基本指令

文章目录

    • Linux下的基本指令
      • 1. ls指令
      • 2. pwd指令
      • 3. cd指令
      • 4. touch指令
      • 5. mkdir指令(牢记)
      • 6. rmdir指令 && rm 指令(牢记)
      • 7. man指令(牢记)
      • 8. echo指令
      • 9. cp指令(牢记)
      • 10. mv指令(牢记)
      • 11. cat指令
      • 12. more指令
      • 13.less指令(牢记)
      • 14. head & tail 指令
      • 15. 时间相关指令
      • 16. cal指令
      • 17.find指令(牢记)
      • 18. which指令
      • 19. whereis指令
      • 20. grep指令
      • 21. zip/unzip指令
      • 22. tar指令(牢记):打包/解包,不打开它,直接看内容
      • 23. bc指令:打开计算器
      • 24. 热键
      • 25. 关机


Linux下的基本指令

1. ls指令

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
用法

ls [选项][目录或文件]

注意:中间需要空格分隔


显示当前目录的所有文件及目录

常用的选项(牢记):

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。

在这里插入图片描述
. ..为隐藏文件

  • ..:表示当前路径的上级路径
  • .:表示当前路径
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls -d 指定目录
  • -l 列出文件的详细信息(属性)。
  • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件,“/”表示目录等等。

指令和选项或选项加选项是可以缩写的
如:

ls -l => ll
ls -l -a =>ls -la

ls指令还可以配合通配符使用:
通配符:*

ls * 显示所有文件或目录
ls *.c 显示所有后缀为.c的文件或目录
ls test* 显示所有以test为前缀的文件或目录

更多其他选项(了解即可)

选项功能
-i输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k以 k 字节的形式表示文件的大小。ls –alk 指定文件
-n用数字的 UID,GID 代替名称
-r对目录反向排序
-t以时间排序
-s在l文件名后输出该文件的大小。
-R列出所有子目录下的文件。(递归)
-1一行只输出一个文件

2. pwd指令

功能:显示用户当前所在的目录
无选项

在这里插入图片描述
显示出我现在在家目录home的hanhe666目录中。
注:/为路径分隔符(Linux特有风格)


3. cd指令

功能:更改工作目录。将当前工作目录改变到指定的目录下
用法:

cd [目录名]

常见的用法

cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

在Linux系统中,磁盘上的文件和目录被组成一棵树,每个节点都是目录或文件。因此,我们对文件或目录的增删查改本质上是对一颗多叉树进行增删查改。
在这里插入图片描述

  • 叶子节点一定是空目录或者非目录文件

当我们需要定位一个文件时,通常用路径来定位。

因为路径定位具有唯一性:定位任意一个文件有且只有一条路径。

why?

因为任何节点都只有一个父节点。

  • 绝对路径:从/(根目录)开始定位到指定位置的路径
  • 相对路径:以自己当前所处的位置为参照,进行特定文件的定位的相对路径

注:当我们所处位置发生变化了,这个相对路径可能会失效

怎么用?

  1. 绝对路径一般比较长,但是不会变。一般在一些固定的场景(如配置文件)下才会使用
  2. 一般我们使用命令行输入时,常常使用相对路径

4. touch指令

touch [选项] 文件名...

主要功能:

  1. 创建空文件:如果文件不存在,touch 会创建一个新的空文件。

    touch newfile.txt  # 创建名为 newfile.txt 的空文件
    
  2. 更新文件的时间戳

    • 默认情况下,touch 会将文件的访问时间(atime)和修改时间(mtime)更新为当前时间。
    • 如果文件已存在,touch 不会改变文件内容,仅更新时间戳。

常用选项:

选项说明
-a仅更新访问时间(atime)
-m仅更新修改时间(mtime)
-c--no-create不创建新文件(仅更新时间戳)
-d--date="时间字符串"使用指定时间更新文件时间戳(如 -d "2023-10-01 12:00:00"
-r--reference=文件使用参考文件的时间戳(同步两个文件的时间)
-t使用 [[CC]YY]MMDDhhmm[.ss] 格式的时间(如 -t 202310011200.30

示例:

  1. 创建多个空文件:

    touch file1.txt file2.txt
    
  2. 仅更新文件的修改时间(不改变访问时间):

    touch -m oldfile.txt
    
  3. 使用参考文件的时间戳:

    touch -r source.txt target.txt  # 将 target.txt 的时间戳设为和 source.txt 相同
    
  4. 指定自定义时间:

    touch -d "2023-10-01 12:00:00" timefile.txt
    
  5. 避免创建新文件(仅更新时间戳):

    touch -c nonexistent.txt  # 如果文件不存在,不创建
    

5. mkdir指令(牢记)

mkdir [选项] dirname...

功能:在当前目录下创建一个名为 “dirname”的目录

常用选项:

  • -p, 后面可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
mkdir -p test/test1 : 递归建立多个目录

6. rmdir指令 && rm 指令(牢记)

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
功能:删除空目录(若目录不为空,报错)
在这里插入图片描述
用法:

rmdir [-p][dirName]

rm命令即可删除文件也可以删除目录

常用选项:

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

常用具体用法:

rm 删文件
rm -f 无需询问直接删
rm -r 递归删除(可删目录)
rm -rf 无需询问直接删

7. man指令(牢记)

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man

man [选项] 命令

8. echo指令

在这里插入图片描述
将输入的字符串打印到屏幕上

在这里插入图片描述

  • >为输出重定向符,这里的作用是:将原本要输出到屏幕的数据改为输出到文件test.txt中了。
  • cat是查看文件内容的指令:将文件内容输出到屏幕

可以看到,“你好”被写入“test.txt”文件中了。
注意:

  • 若没有test.txt文件,会在当前目录下自动为你创建这个文件
  • >为覆盖输出,要想追加可以用>>追加重定向
  • <输入重定向也是存在的
    如:
cat < test.txt

效果与不加<没有啥区别,用的很少


9. cp指令(牢记)

功能:复制文件或目录

cp [选项] 源文件或目录 目标文件或目录

常用选项:

  • -f (force): 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i (interactive) :覆盖文件之前先询问用户
  • -r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

10. mv指令(牢记)

mv [选项] 源文件或目录(sourse) 目标文件或目录(destination)

功能:

  1. 重命名:当sourse与destination都为文件时,即为文件重命名。
    在这里插入图片描述
  • 当sourse与destination(不存在该目录)都为目录时,即为目录重命名
  1. 剪切:
  • destination为目录(存在)时,会将sourse剪切到destination目录下
    在这里插入图片描述
  • destination为目录+文件时,为剪切并重命名
    在这里插入图片描述
  • 如果destination为目录不存在,系统会自动创建一个这样的目录,并将sourse存入这个目录,sourse被()

我们再来回头思考一下1的重命名,其本质原理似乎就是一种剪切,只不过他的路径是./当前目录

mv out.txt ./in.txt

常用选项:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

11. cat指令

cat [选项][文件]

功能:查看目标文件的内容

常用选项:

  • -b 对非空输出行进行编号
  • -n 对输出的所有进行行编号
  • -s 不输出多行或空行

12. more指令

more [选项][文件]

功能与cat类似,more一般用来看大文件。
常用选项:

  • -n 对输出的所有行编号

  • 按q 退出more


13.less指令(牢记)

linux正统查看文件内容的工具,可按上下键浏览,还可以向上向下搜索。
语法:

less [参数] 文件

功能:
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。

浏览文件只用less不用more

选项:

  • -i 忽略搜索时的大小写
  • -N 显示每行的行号
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • q:退出less

14. head & tail 指令

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头,而 tail 就是看档案的结尾。

head功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

tail功能:
于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

head [参数]... [文件]...
tail [参数]... [文件]...

选项:

  • -f 循环读取
  • -n<行数> 显示行数

15. 时间相关指令

显示时间:
date指定格式显示时间:

date [选项] [+格式]

在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记
在这里插入图片描述
这里的-、_、:都是我自己设定的,可以随意更改

常用的标记列表:

在这里插入图片描述
与时间戳的转换:

  • 时间->时间戳:date +%s
  • 时间戳->时间:date -d@1508749502

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

16. cal指令

功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

cal [参数][月份][年份]

在这里插入图片描述
在这里插入图片描述


17.find指令(牢记)

功能:在指定的路径下进行文件的搜索

find [目录][选项] 

常用选项:

  • -name 按照文件名查找文件。

18. which指令

功能:搜索指令文件
用法:which + 指令
在这里插入图片描述
这里的alias是什么呢?
其实他是一个具有取别名功能的指令,这里了解一下就行。
使用方法如下:

在这里插入图片描述
注意:指令其实就是可执行程序,没有什么神秘的


19. whereis指令

用法:which + 指令
功能:在系统特定的路径下查找,既可以找到可执行程序,又可以找到手册和安装包、压缩包等


20. grep指令

行文本过滤工具

grep [选项] 搜寻字符串 文件

功能: 在文件中搜索字符串,将找到的行打印出来

常用选项:

  • -i :忽略大小写的不同
  • -n :输出行号
  • -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行

21. zip/unzip指令

将test2目录压缩:zip test2.zip test2*
解压到tmp目录:unzip test2.zip -d /tmp

功能:

  • zip将目录或文件压缩成zip格式
  • unzip将zip格式文件解压到指定目录

常用选项:

  • -r 递归处理,将指定目录下的所有文件和子目录一并处理

22. tar指令(牢记):打包/解包,不打开它,直接看内容

记住以下即可:

tar czf XXX.tgz ---打包压缩
tar tzf XXX.tgz ---预览
tar xzf XXX.tgz ---解压解包
tar xzf XXX.tgz -C [目录]---解压解包到指定目录
  • tgz=>tar.gz
    tar->打包后缀
    .gz->压缩后缀

23. bc指令:打开计算器


24. 热键

Tab键自动补全命令
在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令

history游览历史
当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来

history保留了最近执行的命令记录,默认可以保留1000。

history N		显示最近N条命令
history -c		清除所有的历史记录
history -w  xxx.txt	保存历史记录到文本xxx.txt

在这里插入图片描述

25. 关机

语法:shutdown [选项]
常见选项:

  • -h : 将系统的服务停掉后,立即关机。
  • -r : 在将系统的服务停掉之后就重新启动
  • -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

在这里插入图片描述

http://www.xdnf.cn/news/189739.html

相关文章:

  • 深入理解同源策略与跨域资源共享(CORS)
  • AI与IT协同的典型案例
  • C++ 解决一个简单的图论问题 —— 最小生成树(以 Prim 算法为例)
  • Shell脚本-随机数实战案例
  • 数据结构 -- 图的应用(二)
  • 机器学习中的数据转换:关键步骤与最佳实践
  • 多模态革命!拆解夸克AI相机技术架构:如何用视觉搜索重构信息交互?(附开源方案对比)
  • 讯飞星辰焕新发布!Agent规模化应用的通关密码
  • 【“星瑞” O6 评测】 — CPU llama.cpp不同优化速度对比
  • 【Shell 脚本入门】轻松上手的实战指南
  • 深度学习: AI 体育领域
  • 成员方法的详细说明(结合Oracle官方文档)
  • 12分区 3号机 送风分区送风 会远程启,不会远停
  • 搭建dns的正向解析
  • QGIS+mcp的安装和使用
  • DeepSeek智能时空数据分析(六):大模型NL2SQL绘制城市之间连线
  • 云原生开发革命:iVX 如何实现 “资源即插即用” 的弹性架构?
  • 《Masked Autoencoders Are Scalable Vision Learners》---CV版的BERT
  • 微信小程序开发中关于首屏加载、本地数据持久化的思考
  • 旋转位置编码RoPE
  • TypeScript中的函数类型定义与类型约束
  • 有哪些和PPT自动生成有关的MCP项目?
  • 详解RabbitMQ工作模式之简单模式
  • Vue 对话框出现时,为什么滚动鼠标还是能滚动底层元素
  • Docker 常用命令(涵盖多个方面)
  • 数据结构第七章(一)-顺序查找和折半查找
  • CMCC RAX3000M使用Tftpd刷写OpenWrt固件的救砖方法
  • Python实现SSE流式推送
  • AutoGen 框架深度解析:构建多智能体协作的事件驱动架构
  • SQL 易混易错知识点笔记1(drop,role,%,localhost)