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 后面加秒数,亦即『过几秒后关机』的意思

相关推荐
马大胡子3 分钟前
Greenbone(绿骨)开源GVM容器docker部署和汉化介绍
linux·网络安全·docker
用户2175161143810 分钟前
【Linux】软硬连接与动静态库
linux
peter676822 分钟前
kvm学习小结
学习
奶油话梅糖1 小时前
LS-Linux-004 误删 Python 和 yum、dnf 后的恢复步骤
linux
和煦的春风1 小时前
案例分析 | SurfaceFlinger 大片Runnable引起的卡顿
android·linux
zcyf08092 小时前
kafka理论学习汇总
java·分布式·学习·kafka
北漂老男孩2 小时前
二进制、高位低位、位移操作与进制转换全解
笔记
freexyn2 小时前
Matlab自学笔记五十二:变量名称:检查变量名称是否存在或是否与关键字冲突
人工智能·笔记·算法·matlab
*TQK*2 小时前
线性代数——行列式⭐
笔记·学习·线性代数
涵信2 小时前
第十二节:性能优化高频题-shallowRef/shallowReactive使用场景
linux·ubuntu·性能优化