Linux 指令是用户在 Linux 操作系统中,通过命令行界面(CLI,Command - Line Interface)与系统进行交互、执行各种任务的文本命令。它是 Linux 系统强大功能的重要体现,涵盖文件管理、系统管理、网络操作等多个方面。
查看Linux主机ip:在终端下敲 ifconfig
指令,查看到ip地址.
一、ls指令
- 语法:ls [选项] [目录或文件]
- **功能:**对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。
- 常⽤选项:
- -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命令
- 语法: pwd
- 功能:显⽰⽤⼾当前所在的⽬录
三、cd命令
- 介绍cd指令之前我们先来介绍一下Linux的一个理论知识:路径的认识
- Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵⽬录树,每个节点都是⽬录或⽂件
- 其中普通⽂件⼀定是⽬录树的叶⼦节点
- ⽬录可能是叶⼦(空⽬录),也可能是树上节点
- 理解路径存在的意义:树状组织⽅式,都是为了保证快速定位查找到指定的⽂件,⽽定位⽂件就需要具有唯⼀性的⽅案来进⾏定位⽂件。其中任何⼀个节点,都只有⼀个⽗节点,所以,从根⽬录开始,定位指定⽂件,路径具有唯⼀性
- 绝对路径:⼀般从/开始,不依赖其他⽬录的定位⽂件的⽅式
- 相对路径: 相对于当前⽤⼾所处⽬录,定位⽂件的路径⽅式
- 绝对路径⼀般不会随着⽤⼾的路径变化⽽丧失唯⼀性,⼀般在特定服务的配置⽂件中经常被使⽤
- 相对路径因为它的便捷性,⼀般在命令⾏中使⽤较多
2.语法: cd ⽬录名
3.功能:改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下
四、touch命令
- 语法: touch [选项]... ⽂件...
- **功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件。**常⽤选项:•-a:只修改访问时间 •-c:只修改修改时间
- 常用选项:
-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命令
- 语法: mkdir [ 选项 ] dirname...
- **功能:**在当前⽬录下创建⼀个名为"dirname"的⽬录
- 常⽤选项:
- -p/--parents: 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录(递归创建多级目录时自动补全不存在的中间目录)
无-p时:
有-p时:自动创建所有缺失的中间目录
六、rmdir指令和rm指令
(一)rmdir
rmdir是⼀个与mkdir相对应的命令,mkdir是建⽴⽬录,⽽rmdir是删除命令
- 语法:rmdir [-p] [dirname]
- 适用对象:具有当前⽬录操作权限的所有使⽤者
- rmdir 最关键的限制 ------ 如果目录内有任何文件(哪怕是空文件)或子目录,直接删除会报错,必须先清空目录内容才能用 rmdir 删除。
- 功能:删除空⽬录
- 常⽤选项:
- -p 当⼦⽬录被删除后如果⽗⽬录也变成空⽬录的话,就连带⽗⽬录⼀起删除。
(二)rm
rm命令可以同时删除⽂件或⽬录
- 语法: rm [-f-i-r-v] [dirName/dir]
- 适⽤对象:所有使⽤者
- 功能:删除⽂件或⽬录
- 常⽤选项:
-f 即使⽂件属性为只读(即写保护),亦直接删除
-i 删除前逐⼀询问确认
-r 删除⽬录及其下所有⽂件
七、man指令
Linux的命令有很多参数,我们不可能全记住,可以通过查看联机⼿册获取帮助。
- 语法:man [选项] 命令/配置文件/函数名
- 常用选项:
- -k 根据关键字搜索联机帮助
- num 只在第num章节查找
- -a 将所有章节的都显⽰出来,⽐如manprintf它缺省从第⼀章开始搜索,知道就停⽌,⽤a选项,当按下q退出,他会继续往后⾯搜索,直到所有章节都搜索完毕
3. 章节含义:
- 1:用户可执行的命令
- 2:系统调用(内核提供的函数)
- 3:库函数(程序库中的函数)
- 4:特殊文件(如设备文件)
- 5:配置文件格式
- 6:游戏相关
- 7:杂项说明
- 8:系统管理员命令
八、cp指令
- 语法: cp [ 选项 ] 源⽂件或⽬录 ⽬标⽂件或⽬录
- 功能: 复制⽂件或⽬录
- 说明:
- cp指令⽤于复制⽂件或⽬录
- 如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定 的所有⽂件或⽬录复制到此⽬录中
4. 常⽤选项
- -f 或 --force 强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在
- -i 或 --interactive 覆盖⽂件之前先询问⽤⼾
- -r 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理
九、mv命令
mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move(rename)files,经常⽤来备份⽂件 或者⽬录。
- mv [ 选项 ] 源⽂件或⽬录 ⽬标⽂件或⽬录
- 功能:
- 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。
- 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬ 录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
- 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录中。
3. 常用选项:
- -f:如果⽬标⽂件已经存在,不会询问⽽直接覆盖
- -i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖
十、cat命令
- 语法: cat [ 选项 ] [ ⽂件 ]
- 功能:查看⽬标⽂件的内容
- 常⽤选项:
- -b 对⾮空输出⾏编号,空⾏不做编号
- -n 对输出的所有⾏编号
- -s 不输出多⾏空⾏
十一、more和less指令
(一)more指令
- 语法: more [ 选项 ]
- 功能:more命令,功能类似cat
- 常⽤选项:
- -n 指定输出⾏数
- q 退出more
(二)less指令
- less⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具, 功能极其强⼤
- less的⽤法⽐起more更加的有弹性,在more的时候,我们并没有办法向前⾯翻,只能往后⾯看
- 但若使⽤了less时,就可以使⽤[pageup][pagedown]等按键的功能来往前往后翻看⽂件,更 容易⽤来查看⼀个⽂件的内容
- 除此之外,在less⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜
- 语法: less [ 参数 ] ⽂件
- 功能:less与more类似,但使⽤less可以随意浏览⽂件,⽽more仅能向前移动,却不能向后移动,⽽ 且less在查看之前不会加载整个⽂件。
- 选项:
- -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命令
- 语法: head[参数]... [⽂件]...
- 功能: head⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏。
- 选项: -n <行数> 显示的行数
例如:
(二)tail命令
- tail 命令从指定点开始将⽂件写到标准输出。使⽤tail命令的-f选项可以⽅便的查阅正在改变的⽇志⽂件,tail-f filename会把filename⾥最尾部的内容显⽰在屏幕上,并且不断刷新,使你看到最新的⽂件内容。
- 语法: tail 必要参数 [ ⽂件 ]
- 功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。
- 选项: -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 --version
或sz --version
验证是否安装成功(显示版本信息即表示可用)。4、详细用法
(1) rz 命令:从本地上传文件到服务器
- **功能:**将本地电脑的文件发送(上传)到当前登录的 Linux 服务器
- 基本用法: 在服务器终端中输入
rz
并回车,触发本地文件选择窗口- 步骤示例:
(2)sz 命令:从服务器下载文件到本地
- 功能:将服务器上的文件发送(下载)到本地电脑。
- 基本用法 :
sz 文件名1 文件名2 ...
(指定要下载的文件路径)。- 步骤示例:
(四)tar指令
1、
tar
是 Linux 系统中最常用的归档压缩工具 ,主要用于将多个文件或目录打包成一个文件(归档),并可选择压缩以节省空间。它支持多种压缩算法,且能保留文件权限、时间戳等元数据,是备份和文件传输的核心工具。2、基本概念
- 归档(Archive) :将多个文件 / 目录合并成一个文件(如
archive.tar
),不压缩,仅打包。- 压缩(Compress) :在归档基础上使用压缩算法(如 gzip、bzip2)减小文件体积,生成如
archive.tar.gz
、archive.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
最普遍),即可高效处理文件打包与备份。
总结
指令比较多,得下去好好使用一番,练练手,熟能生巧。