【Linux】Linux基本指令

Linux 指令是用户在 Linux 操作系统中,通过命令行界面(CLI,Command - Line Interface)与系统进行交互、执行各种任务的文本命令。它是 Linux 系统强大功能的重要体现,涵盖文件管理、系统管理、网络操作等多个方面。

查看Linux主机ip:在终端下敲 ifconfig 指令,查看到ip地址.


一、ls指令

  1. 语法:ls [选项] [目录或文件]
  2. **功能:**对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。
  3. 常⽤选项:
  • -a 列出⽬录下的所有⽂件,包括以.开头的隐含⽂件
  • -d 将⽬录像⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。如:ls‒d指定⽬录
  • -i 输出⽂件的i节点的索引信息。如ls‒ai指定⽂件
  • -k 以k字节的形式表⽰⽂件的⼤⼩。ls‒alk指定⽂件
  • -l 列出⽂件的详细信息
  • -n ⽤数字的UID,GID代替名称(UID(User Identifier,用户标识符)GID(Group Identifier,组标识符) 是用于标识用户和用户组的数字编号,是 Linux 权限管理机制的核心组成部分。它们通过数字形式而非名称来管理用户和组的权限,系统内部实际通过这些编号来判断用户对文件 / 目录的操作权限。)
  • -F 在每个⽂件名后附上⼀个字符以说明该⽂件的类型,"*"表⽰可执⾏的普通⽂件;"/"表⽰⽬录;"@"表⽰符号链接;"|"表⽰FIFOs;"="表⽰套接字(sockets)。
  • -r 对⽬录反向排序
  • -t 以时间排序
  • -s 在⽂件名后输出该⽂件的⼤⼩。
  • -R 列出所有⼦⽬录下的⽂件。(递归)
  • -1 ⼀⾏只输出⼀个⽂件。

二、pwd命令

  1. 语法: pwd
  2. 功能:显⽰⽤⼾当前所在的⽬录


三、cd命令

  1. 介绍cd指令之前我们先来介绍一下Linux的一个理论知识:路径的认识
  • Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵⽬录树,每个节点都是⽬录或⽂件
  • 其中普通⽂件⼀定是⽬录树的叶⼦节点
  • ⽬录可能是叶⼦(空⽬录),也可能是树上节点
  • 理解路径存在的意义:树状组织⽅式,都是为了保证快速定位查找到指定的⽂件,⽽定位⽂件就需要具有唯⼀性的⽅案来进⾏定位⽂件。其中任何⼀个节点,都只有⼀个⽗节点,所以,从根⽬录开始,定位指定⽂件,路径具有唯⼀性
  • 绝对路径:⼀般从/开始,不依赖其他⽬录的定位⽂件的⽅式
  • 相对路径: 相对于当前⽤⼾所处⽬录,定位⽂件的路径⽅式
  • 绝对路径⼀般不会随着⽤⼾的路径变化⽽丧失唯⼀性,⼀般在特定服务的配置⽂件中经常被使⽤
  • 相对路径因为它的便捷性,⼀般在命令⾏中使⽤较多

2.语法: cd ⽬录名

3.功能:改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下


四、touch命令

  1. 语法: touch [选项]... ⽂件...
  2. **功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件。**常⽤选项:•-a:只修改访问时间 •-c:只修改修改时间
  3. 常用选项:
  • -a:仅修改文件的访问时间(不改变修改时间)。
  • -m:仅修改文件的修改时间(不改变访问时间)。
  • -c:若文件不存在,则不创建(默认会创建新文件)。
  • -d:用指定的日期时间(如 2024-10-01 12:30)更新时间戳,而非当前时间。
  • -t:用特定格式 [[CC]YY]MMDDhhmm[.ss] 指定时间(如 202410011230 表示 2024 年 10 月 1 日 12:30)。

总结:-a/-m 是 "选时间类型",-d/-t 是 "定具体时间",二者搭配才能实现 "指定修改某类时间戳";没 -d/-t 时,默认用 "当前时间"(即 "更新到现在")。


五、mkdir命令

  1. 语法: mkdir [ 选项 ] dirname...
  2. **功能:**在当前⽬录下创建⼀个名为"dirname"的⽬录
  3. 常⽤选项:
  • -p/--parents: 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录(递归创建多级目录时自动补全不存在的中间目录

无-p时:

有-p时:自动创建所有缺失的中间目录


六、rmdir指令和rm指令

(一)rmdir

rmdir是⼀个与mkdir相对应的命令,mkdir是建⽴⽬录,⽽rmdir是删除命令

  1. 语法:rmdir [-p] [dirname]
  2. 适用对象:具有当前⽬录操作权限的所有使⽤者
  3. rmdir 最关键的限制 ------ 如果目录内有任何文件(哪怕是空文件)或子目录,直接删除会报错,必须先清空目录内容才能用 rmdir 删除。
  4. 功能:删除空⽬录
  5. 常⽤选项:
  • -p 当⼦⽬录被删除后如果⽗⽬录也变成空⽬录的话,就连带⽗⽬录⼀起删除。

(二)rm

rm命令可以同时删除⽂件或⽬录

  1. 语法: rm [-f-i-r-v] [dirName/dir]
  2. 适⽤对象:所有使⽤者
  3. 功能:删除⽂件或⽬录
  4. 常⽤选项:

-f 即使⽂件属性为只读(即写保护),亦直接删除

-i 删除前逐⼀询问确认

-r 删除⽬录及其下所有⽂件


七、man指令

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

  1. 语法:man [选项] 命令/配置文件/函数名
  2. 常用选项:
  • -k 根据关键字搜索联机帮助
  • num 只在第num章节查找
  • -a 将所有章节的都显⽰出来,⽐如manprintf它缺省从第⼀章开始搜索,知道就停⽌,⽤a选项,当按下q退出,他会继续往后⾯搜索,直到所有章节都搜索完毕

3. 章节含义:

  • 1:用户可执行的命令
  • 2:系统调用(内核提供的函数)
  • 3:库函数(程序库中的函数)
  • 4:特殊文件(如设备文件)
  • 5:配置文件格式
  • 6:游戏相关
  • 7:杂项说明
  • 8:系统管理员命令

八、cp指令

  1. 语法: cp [ 选项 ] 源⽂件或⽬录 ⽬标⽂件或⽬录
  2. 功能: 复制⽂件或⽬录
  3. 说明:
  • cp指令⽤于复制⽂件或⽬录
  • 如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定 的所有⽂件或⽬录复制到此⽬录中

4. 常⽤选项

  • -f 或 --force 强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在
  • -i 或 --interactive 覆盖⽂件之前先询问⽤⼾
  • -r 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理

九、mv命令

mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move(rename)files,经常⽤来备份⽂件 或者⽬录。

  1. mv [ 选项 ] 源⽂件或⽬录 ⽬标⽂件或⽬录
  2. 功能:
  • 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。
  • 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬ 录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
  • 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录中。

3. 常用选项:

  • -f:如果⽬标⽂件已经存在,不会询问⽽直接覆盖
  • -i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖

十、cat命令

  1. 语法: cat [ 选项 ] [ ⽂件 ]
  2. 功能:查看⽬标⽂件的内容
  3. 常⽤选项:
  • -b 对⾮空输出⾏编号,空⾏不做编号
  • -n 对输出的所有⾏编号
  • -s 不输出多⾏空⾏

十一、more和less指令

(一)more指令

  1. 语法: more [ 选项 ]
  2. 功能:more命令,功能类似cat
  3. 常⽤选项:
  • -n 指定输出⾏数
  • q 退出more

(二)less指令

  • less⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具, 功能极其强⼤
  • less的⽤法⽐起more更加的有弹性,在more的时候,我们并没有办法向前⾯翻,只能往后⾯看
  • 但若使⽤了less时,就可以使⽤[pageup][pagedown]等按键的功能来往前往后翻看⽂件,更 容易⽤来查看⼀个⽂件的内容
  • 除此之外,在less⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜
  1. 语法: less [ 参数 ] ⽂件
  2. 功能:less与more类似,但使⽤less可以随意浏览⽂件,⽽more仅能向前移动,却不能向后移动,⽽ 且less在查看之前不会加载整个⽂件。
  3. 选项:
  • -i 忽略搜索时的⼤⼩写
  • -N 显⽰每⾏的⾏号
  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • n 重复前⼀个搜索(和上次方向相同)

例:用 /error 找到一个结果后,按 n 会找下一个 error

  • N 反向重复前⼀个搜索(和上次方向相反)

例:用 /error 找到一个结果后,按 N 会找上一个 error

  • q 退出 less 查看模式(回到命令行)

例如: 使用 less -N temp.txt 命令查看 temp.txt 文件内容,然后在 less 的交互界面中,通过输入 /Linux 来向下搜索文件中包含 "Linux" 字符串的内容。


十二、head和tail命令

head与tail就像它的名字⼀样的浅显易懂,它是⽤来**显⽰开头或结尾某个数量的⽂字区块,**head⽤来显⽰档案的开头⾄标准输出中,⽽tail想当然尔就是看档案的结尾。

(一)head命令

  1. 语法: head[参数]... [⽂件]...
  2. 功能: head⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏。
  3. 选项: -n <行数> 显示的行数

例如:

(二)tail命令

  1. tail 命令从指定点开始将⽂件写到标准输出。使⽤tail命令的-f选项可以⽅便的查阅正在改变的⽇志⽂件,tail-f filename会把filename⾥最尾部的内容显⽰在屏幕上,并且不断刷新,使你看到最新的⽂件内容。
  2. 语法: tail 必要参数 [ ⽂件 ]
  3. 功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。
  4. 选项: -f 循环读取; -n<行数> 显⽰⾏数

模拟动态日志查看功能:


head和tail结合运用:例如我们如何显示文件的[180, 200]行的内容


十三、date指令

date 命令用格式显示时间的方法很简单,核心是通过 + 后面跟格式符号 来定义显示样式,每个符号代表不同的时间部分。

使用时,直接把想要的格式符号按顺序用 + 拼接即可,符号之间可以加任意分隔符(如 :-_ 或文字)。

1、常用格式符号及示例:

  • %Y:四位年份(如 2023)
  • %m:两位月份(01-12)
  • %d:两位日期(01-31)
  • %H:24 小时制小时(00-23)
  • %M:分钟(00-59)
  • %S:秒(00-59)

2、在设定时间方面

  • date -s //设置当前时间,只有root权限才能设置,其他只能查看
  • date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
  • date -s 01:01:01 //设置具体时间,不会对⽇期做更改
  • date -s "01:01:01 2008-05-23″ //这样可以设置全部时间
  • date -s "01:01:01 20080523″ //这样可以设置全部时间
  • date -s "2008-05-23 01:01:01″ //这样可以设置全部时间
  • date -s "20080523 01:01:01″ //这样可以设置全部时间

3、时间戳

  • 时间->时间戳:date +%s
  • 时间戳->时间:date -d @1508749502
  • Unix时间戳(英⽂为Unixepoch,Unixtime,POSIXtime 或 Unixtimestamp)是从1970年1⽉1 ⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

4、举例


十四、cal指令

cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。"阳 历"⼜名"太阳历",系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名"西历"。

1、命令格式: cal 参数 [年份]

2、功能:⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份和年份

3、常用选项:

  • -3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历
  • -j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)
  • -y 显⽰当前年份的⽇历

4、举例


十五、find 、 which、whereis 指令

(一)find指令

  • Linux下find命令在⽬录结构中搜索⽂件,并执⾏指定的操作
  • 即使系统中含有⽹络⽂件系统(NFS),find命令在该⽂件系统中同样有效,只你具有相应的权限
  • 在运⾏⼀个⾮常消耗资源的find命令时,很多⼈都倾向于把它放在后台执⾏,因为遍历⼀个⼤的⽂件系统可能会花费很⻓的时间(这⾥是指30G字节以上的⽂件系统)

**1、语法:**find pathname -options

2、功能:⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)

3、常用选项

  • -name 按照⽂件名查找⽂件

(二)which指令

1、功能: 搜索系统指定的命令

2、举例:

(三)whereis指令

1、功能:⽤于找到程序的源、⼆进制⽂件或⼿册

3、常用选项:

  • **-b:**仅查找二进制文件(可执行程序)
  • **-m:**仅查找手册页(man page)
  • **-s:**仅查找源代码文件

2、举例:


十六、alias、grep指令

(一)alias指令

**1、功能:**设置命令的别名

2、基本用法: alias 别名='实际指令'

2、举例:

(二)grep指令

**1、语法:**grep [ 选项 ] 搜寻字符串⽂件

2、功能: 在⽂件中搜索字符串,将找到的⾏打印出来

3、常用选项:

  • -i :忽略⼤⼩写的不同,所以⼤⼩写视为相同
  • -n:顺便输出⾏号
  • -v:反向选择,亦即显⽰出没有'搜寻字符串'内容的那⼀⾏

4、举例:


十七、zip、unzip、tar指令以及rzsz工具

(一)zip指令

**1、语法:**zip [选项] 压缩包名.zip 要压缩的文件/目录

**2、功能:**将⽬录或⽂件压缩成zip格式

3、常用选项:

  • -r:递归处理,将指定⽬录下的所有⽂件和⼦⽬录⼀并处理

4、举例:

(二)unzip指令

**1、语法:**unzip [选项] 压缩包名.zip

**2、功能:**解压zip压缩包

3、常用选项:

  • -d 目录:指定解压到目标目录
  • -l :列出压缩包内容,不解压

3、举例:

(三)rzsz

1、rzsz 是 Linux 系统中一套基于 Zmodem 协议的文件传输工具集 ,主要用于通过终端(如 SSH 连接)在本地机器与远程服务器之间传输文件。它包含两个核心命令:rz(接收文件,本地→服务器)和 sz(发送文件,服务器→本地),因操作简单、无需额外配置而被广泛使用。

2、核心功能与优势

  • 双向传输 :支持从本地上传文件到服务器(rz),也支持从服务器下载文件到本地(sz)。
  • 终端集成:无需额外工具,只要终端软件(如 Xshell、SecureCRT、iTerm2 等)支持 Zmodem 协议即可使用。
  • 断点续传:传输中断后可继续传输(部分终端支持),适合中等大小文件(几 MB 到几十 MB)。
  • 跨平台兼容:在 Windows、macOS、Linux 系统的终端中均可使用。

3、安装方法

大部分 Linux 发行版默认不预装 rzsz,需手动安装:

bash 复制代码
# CentOS/RHEL 系统(使用 yum)
sudo yum install -y lrzsz

# Ubuntu/Debian 系统(使用 apt)
sudo apt update && sudo apt install -y lrzsz

安装完成后,输入 rz --versionsz --version 验证是否安装成功(显示版本信息即表示可用)。

4、详细用法

(1) rz 命令:从本地上传文件到服务器

  • **功能:**将本地电脑的文件发送(上传)到当前登录的 Linux 服务器
  • 基本用法: 在服务器终端中输入 rz 并回车,触发本地文件选择窗口
  • 步骤示例:

(2)sz 命令:从服务器下载文件到本地

  • 功能:将服务器上的文件发送(下载)到本地电脑。
  • 基本用法sz 文件名1 文件名2 ...(指定要下载的文件路径)。
  • 步骤示例

(四)tar指令

1、tar 是 Linux 系统中最常用的归档压缩工具 ,主要用于将多个文件或目录打包成一个文件(归档),并可选择压缩以节省空间。它支持多种压缩算法,且能保留文件权限、时间戳等元数据,是备份和文件传输的核心工具。

2、基本概念

  • 归档(Archive) :将多个文件 / 目录合并成一个文件(如 archive.tar),不压缩,仅打包。
  • 压缩(Compress) :在归档基础上使用压缩算法(如 gzip、bzip2)减小文件体积,生成如 archive.tar.gzarchive.tar.bz2 等格式。

**3、核心语法:**tar [选项] 目标文件名.tar[.压缩格式] 源文件/目录

4、常用选项:

  • c:创建新的归档文件(打包)。
  • x:从归档文件中提取文件(解包)。
  • f:指定归档文件名(必须放在选项最后,紧跟文件名)。
  • z :使用 gzip 压缩 / 解压(生成 .tar.gz 格式,压缩率中等,速度较快)。
  • j :使用 bzip2 压缩 / 解压(生成 .tar.bz2 格式,压缩率高,速度较慢)。
  • J :使用 xz 压缩 / 解压(生成 .tar.xz 格式,压缩率最高,速度最慢)。
  • v:显示操作过程(verbose,可选,方便查看进度)。
  • t:查看归档文件中的内容(不解压)。
  • C:指定解压目录(仅用于解包时)。
  • --exclude:排除指定文件 / 目录(仅用于打包时)。

5、场景示例

  • 打包(仅归档,不压缩)
  • 打包并压缩(常用格式:gzip 压缩(.tar.gz 或 .tgz))
  • 查看归档文件内容(不解压)
  • 解压到当前目录
  • 解压到指定目录
  • 打包时排除文件 / 目录

6、总结

tar 是 Linux 中功能强大的归档压缩工具,核心记住:

  • 打包压缩:tar -[z/j/J]cvf 目标文件 源文件
  • 解压:tar -[z/j/J]xvf 归档文件 [-C 目标目录]
  • 查看内容:tar -[z/j/J]tvf 归档文件

根据需求选择压缩算法(日常用 z 最普遍),即可高效处理文件打包与备份。


总结

指令比较多,得下去好好使用一番,练练手,熟能生巧。

相关推荐
zzzsde3 小时前
【Linux】linux基础指令入门(1)
linux·运维·学习
uxiang_blog3 小时前
Linux下如何在vim里使用异步编译和运行?
linux·vim·asynctasks.vim·asyncrun.vim
leellun3 小时前
在Centos上安装Python指定版本
linux·运维·centos
ouliten4 小时前
cuda编程笔记(27)-- NVTX的使用
笔记·cuda
用户31187945592184 小时前
CentOS 7 安装 bzip2-libs-1.0.6-13.el7.x86_64.rpm 的详细步骤
linux
ZLRRLZ4 小时前
【Linux操作系统】进程控制
linux·运维·服务器
我想吃余4 小时前
Linux的Ext文件系统:硬盘理解和inode及软硬链接
linux·运维·电脑
今天只学一颗糖4 小时前
Linux学习笔记--查询_唤醒方式读取输入数据
笔记·学习
Kay_Liang5 小时前
数据仓库入门:从超市小票看懂数仓
数据仓库·笔记·数据分析