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

文章目录

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

Linux下的基本指令

1. ls指令

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

bash 复制代码
ls [选项][目录或文件]

注意:中间需要空格分隔

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

常用的选项(牢记):

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


. ..为隐藏文件

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

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

如:

bash 复制代码
ls -l => ll
ls -l -a =>ls -la

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

通配符:*

bash 复制代码
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指令

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

用法:

bash 复制代码
cd [目录名]

常见的用法

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

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

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

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

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

why?

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

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

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

怎么用?

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

4. touch指令

bash 复制代码
touch [选项] 文件名...

主要功能:

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

    bash 复制代码
    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. 创建多个空文件:

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

    bash 复制代码
    touch -m oldfile.txt
  3. 使用参考文件的时间戳:

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

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

    bash 复制代码
    touch -c nonexistent.txt  # 如果文件不存在,不创建

5. mkdir指令(牢记)

bash 复制代码
mkdir [选项] dirname...

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

常用选项:

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

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

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
功能:删除空目录(若目录不为空,报错)

用法:

bash 复制代码
rmdir [-p][dirName]

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

常用选项:

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

常用具体用法:

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

7. man指令(牢记)

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

bash 复制代码
man [选项] 命令

8. echo指令

将输入的字符串打印到屏幕上

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

可以看到,"你好"被写入"test.txt"文件中了。

注意:

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

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


9. cp指令(牢记)

功能:复制文件或目录

bash 复制代码
cp [选项] 源文件或目录 目标文件或目录

常用选项:

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

10. mv指令(牢记)

bash 复制代码
mv [选项] 源文件或目录(sourse) 目标文件或目录(destination)

功能:

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

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

bash 复制代码
mv out.txt ./in.txt

常用选项:

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

11. cat指令

bash 复制代码
cat [选项][文件]

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

常用选项:

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

12. more指令

bash 复制代码
more [选项][文件]

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

常用选项:

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

  • 按q 退出more


13.less指令(牢记)

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

语法:

bash 复制代码
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功能:

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

bash 复制代码
head [参数]... [文件]...
tail [参数]... [文件]...

选项:

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

15. 时间相关指令

显示时间:

date指定格式显示时间:

bash 复制代码
date [选项] [+格式]

在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记

这里的-、_、:都是我自己设定的,可以随意更改

常用的标记列表:

与时间戳的转换:

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

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

16. cal指令

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

bash 复制代码
cal [参数][月份][年份]



17.find指令(牢记)

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

bash 复制代码
find [目录][选项] 

常用选项:

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

18. which指令

功能:搜索指令文件

用法:which + 指令

这里的alias是什么呢?

其实他是一个具有取别名功能的指令,这里了解一下就行。

使用方法如下:


注意:指令其实就是可执行程序,没有什么神秘的


19. whereis指令

用法:which + 指令

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


20. grep指令

行文本过滤工具

bash 复制代码
grep [选项] 搜寻字符串 文件

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

常用选项:

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

21. zip/unzip指令

bash 复制代码
将test2目录压缩:zip test2.zip test2*
解压到tmp目录:unzip test2.zip -d /tmp

功能:

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

常用选项:

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

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

记住以下即可:

bash 复制代码
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。

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

25. 关机

语法:shutdown [选项]

常见选项:

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

相关推荐
Green1Leaves27 分钟前
pytorch学习-9.多分类问题
人工智能·pytorch·学习
慕y2741 小时前
Java学习第十五部分——MyBatis
java·学习·mybatis
IC 见路不走1 小时前
LeetCode 第91题:解码方法
linux·运维·服务器
翻滚吧键盘1 小时前
查看linux中steam游戏的兼容性
linux·运维·游戏
小能喵1 小时前
Kali Linux Wifi 伪造热点
linux·安全·kali·kali linux
碣石潇湘无限路1 小时前
【AI篇】当Transformer模型开始学习《孙子兵法》
人工智能·学习
汀沿河2 小时前
8.1 prefix Tunning与Prompt Tunning模型微调方法
linux·运维·服务器·人工智能
zly35002 小时前
centos7 ping127.0.0.1不通
linux·运维·服务器
kikikidult3 小时前
(2025.07)解决——ubuntu20.04系统开机黑屏,左上角光标闪烁
笔记·ubuntu
小哥山水之间3 小时前
基于dropbear实现嵌入式系统ssh服务端与客户端完整交互
linux