引言:
操作系统是软件的一类。 主要作用是协助用户调度硬件工作,充当用户和计算机硬件之间的桥梁。
尽管图形化是大多数人使用计算机的第一选择,但是在Linux操作系统上多数都是使用的:命令行在开发中,使用命令行形式,效率更高,更加直观,并且资源占用低,程序运行更稳定。
无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:command [-options] [parameter]
command: 命令本身
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等
注:语法中的 [ ],表示可选的意思
废话不多说:直接开始介绍:
命令大全
0. ls
- 列出目录下的内容
ls
命令是Linux中最常用的命令之一,它用于列出指定目录的内容,包括文件和子目录。语法细节: ls [-l -a -h] [Linux路径] :-a -l -h 是可选的选项 ,Linux路径是此命令可选的参数
常用参数:
-
-l
:以长格式列出目录内容,显示详细信息。 -
-a
:列出所有文件,包括隐藏文件(以"."开头的文件)。 -
-h
:将文件大小以人类可读的格式显示(如K、M、G)。 -
-R
:递归地列出目录内容,包括子目录中的内容。 -
-t
:按修改时间排序文件。
示例:
# 当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容
ls
# 列出所有文件,包括隐藏文件
ls -a
# 以长格式和人类可读的大小显示文件
ls -lh
# 按时间排序列出文件
ls -lt
# 按时间排序列出根目录下的文件
ls -lt /
下面同理
1. pwd
- 展示当前工作目录
pwd
命令用于显示当前用户所处的工作目录的完整路径。
无参数
示例:
# 打印当前工作目录
pwd
2. cd
- 切换目录
cd
命令用于切换工作目录。
语法:cd [Linux路径]
常用参数:
- . :表示当前目录,比如 cd ./Desktop 表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致
-
..
:返回上一级目录,cd ../.. 切换到上二级的目录。 -
~:切换到当前用户的主目录。
示例:
# 切换到 /usr 目录
cd /usr
# 切换到当前目录下的bin目录内
cd ./bin
# 返回上一级目录
cd ..
# 切换到主目录
cd ~
3. mkdir
- 创建目录
mkdir创建新的目录(文件夹)
mkdir来自英文:Make Directory 语法:mkdir [-p] Linux路径
- 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
- -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
常用参数:
-
-p
:递归创建目录,即创建嵌套目录时自动创建父目录。表示自动创建不存在的父目录,适用于创建连续多层级的目录
示例:
# 创建一个名为 test 的目录
mkdir test
# 在根目录下递归创建目录 /hz/mn/up/666
mkdir -p ~/hz/mn/up/666
4. touch
- 创建空文件
touch
命令用于创建空文件,或更新现有文件的时间戳。
无常用参数
示例:
# 创建一个名为 newfile.txt 的空文件
touch newfile.txt
# 更新现有文件 mn.txt 的时间戳
touch mn.txt
5. cat
- 显示文件内容
cat
命令用于查看文件内容,尤其适用于查看短文件。
语法:cat Linux路径
常用参数:
-
-n
:显示行号。
示例:
提前通过vim命名向文件插入多行内容 hello world
# 显示文件 mn.txt 的内容
cat mn.txt
# 显示带行号的文件内容
cat -n mn.txt
6. more查看文件内容
more
命令同样可以查看文件内容,同cat不同的是:
cat是直接将内容全部显示出来
more支持翻页,如果文件内容过多,可以一页页的展示
无常用参数
示例:
# 查看Linux内置的一个文件 路径 /etc/services
more /etc/services
在查看的过程中,通过空格翻页
通过q退出查看
7. cp
- 复制文件或目录
cp
命令用于复制文件或目录。
语法: cp [ ] 参数1 参数2
常用参数:
-
-r
:用于复制文件夹使用,表示递归 -
-i
:在覆盖现有文件时提示确认。 -
-v
:显示正在复制的文件。 -
参数1: Linux路径,表示被复制的文件或文件夹
-
参数2: Linux路径,表示要复制去的地方
示例:
# 复制文件 file1.txt 到 /tmp 目录
cp file1.txt /tmp/
# 递归复制目录 dir1 到 /tmp 目录
cp -r dir1 /tmp/
# 显示复制过程
cp -v file1.txt /tmp/
注:复制文件夹,必须使用-r选项,否则不会生效
8. mv
- 移动或重命名文件
mv
命令既可以用于移动文件,也可以用于重命名文件。
语法: mv [] 参数1 参数2
- 参数1,Linux路径,表示被移动的文件或文件夹
- 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
常用参数:
-
-i
:在覆盖现有文件时提示确认。 -
-f
:强制移动文件,不提示确认。
示例:
# mn.txt文件移动到hz文件下
mv mn.txt hz/
# mn.txt 移动到 hz.txt下
mv mn.txt hz.txt
# hz文件移动到mn文件下
mv hz mn
# 将文件 file1.txt 移动到 /tmp 目录
mv file1.txt /tmp/
# 重命名文件 file1.txt 为 file2.txt
mv file1.txt file2.txt
# 强制移动文件,覆盖已有文件
mv -f file1.txt /tmp/
9. rm
- 删除文件或目录
rm
命令用于删除文件或目录。
rm命令来自英文单词:remove 语法:
语法:rm 【-r -f】参数1 参数2 ...参数N
常用参数:
-
-r
:用于删除文件夹。 -
-f
:强制删除文件或目录,不提示确认。(普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示 所以一般普通用户用不到-f选项) -
参数1、参数2、......、参数N 表示要删除的文件或文件夹路径,按照空格隔开
示例:
# 删除文件 newfile.txt
rm newfile.txt
# 递归删除目录 mn 及其内容
rm -r mn
# 强制删除文件,不提示确认
rm -f file1.txt
补充:
rm命令支持通配符 *,用来做模糊匹配
- 符号* 表示通配符,即匹配任意内容(包含空),示例:
- test*,表示匹配任何以test开头的内容 *test,表示匹配任何以test结尾的内容
- *test*,表示匹配任何包含test的内容
示列: 删除所有以test开头的文件或文件夹
注:rm是一个危险的命令,特别是在处于root(超级管理员)用户的时候。 请谨慎使用。 忒别是:
如下命令,请千万千万不要在root管理员用户下执行:
rm -rf /
rm -rf /* (一定要熟练掌握!!!牢记!!
多练)不要随意使用这个想试试就在虚拟机试试吧!!!
10.whic - 查找命令的程序文件
whic 命令查看所使用的一系列命令的程序文件存放在哪里
无常用参数:
示例:
# which cd
# which pwd
11. find - 用于查找指定的文件
1) find命令 - 按文件名查找文件
语法:find 起始路径 -name "被查找文件名"
2) find命令 - 通配符
同上,只是被查找文件名,支持使用通配符 * 来做模糊查询。
3) find命令 - 按文件大小查找文件
语法:find 起始路径 -size +|-n[kbg]
- +、- 表示大于和小于
- n 表示大小数字
- kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
示列:
# 查找文件名叫做:test的文件,从根目录开始搜索
find / -name “test”
# 查找所有以test开头的文件
find / -name “test*“
# 查找小于10KB的文件
find / -size -10k
12. grep
- 搜索字符串
grep
命令用于在文件或输出中搜索特定字符串。
语法: grep [ ] 关键字 文件路径
- 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用” ”将关键字包围起来
- 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
常用参数:
-
-i
:忽略大小写。 -
-r
:递归搜索目录中的文件。 -
-n: 表示在结果中显示匹配的行的行号。
示例:
# 在文件中搜索字符串 "hello"
grep "hello" file1.txt
# 忽略大小写搜索
grep -i "hello" file1.txt
# 递归搜索目录中的文件
grep -r "hello" dir1/
13. wc - 数量统计
可以通过wc命令统计文件的行数、单词数量等
语法:wc [ ] 文件路径
常用参数:
- -c,统计bytes数量
- -m,统计字符数量
- -l,统计行数
- -w,统计单词数量 参数,文件路径,被统计的文件,可作为内容输入端口
示列
# 不带选项 统计文件
wc file.txt
# 统计字节数
wc -c file.txt
#统计字符数
wc -m file.txt
#统计行数
wc -l file.txt
#统计单词数
wc -w file.txt
14. | - 管道符
将管道符左边命令的结果,作为右边命令的输
无参数
示列
# 过滤ls的结果
ls | grep file.txt
只找路径带有/usr/hz的结果
find / -name “test” | grep “/root/hz”
# 嵌套使用
cat file.txt | grep hello| grep 1
15. vi\vim - 编辑器
vi/vim是Linux和Unix系统上最基本的文本编辑器,具有强大的功能和灵活性。vim是vi编辑器的加强版,不仅兼容vi的所有命令
vi\vim编辑器的三种工作模式
简单概括一句使用操作;
vim + 文件路径 进入到命令模式 -> 可以按 i 只是当前光标位置进入输入模式,此时可以按我们windows上文档一样操作了,内容编辑完成后 按 ESC就是你左上角键退回到命名模式 此时按 冒号:进入底线模式 加wq保存并且退出就可以了,有时候强制退出就q!就可以了
示列
# 使用:vim hello.txt,编辑一个新文件,执行后进入的是命令模式
vim hello.txt
# 在命令模式内,按键盘 i ,进入输入模式
# 在输入模式内输入:hello heZheng
# 输入完成后,按esc回退会命令模式
# 在命令模式内,按键盘 : ,进入底线命令模式
# 在底线命令内输入:wq,保存文件并退出vi编辑器
# 看看文件内容
cat hello.txt
下面详解:
1)、vi/vim的基本模式
vi/vim主要有三种模式:如上图片:命令模式(Command Mode)、输入模式(Insert Mode)和底线命令模式(Command-Line Mode,也称为末行模式)。
- 命令模式:这是vi/vim的默认模式。在命令模式下,用户输入的任何字符都被视为命令,而非文本输入。此模型下,不能自由进行文本编辑,例如,按下
i
键会切换到输入模式,x
键会删除当前光标所在处的字符,dd
键会删除当前行,yy p复制当前行等等操作。 - 输入模式:在输入模式下,用户可以正常输入文本。按下
Esc
键可以从输入模式切换回命令模式。输入模式的进入方式有多种,如i
在当前光标位置前插入文本,a
在当前光标位置后插入文本,o
在当前行的下一行插入新文本。 - 底线命令模式:底线命令模式通常用于执行文件保存、退出等命令。在命令模式下按下
:
键可以进入底线命令模式。常用命令包括:w
保存文件,:q
退出vim,:wq
保存并退出vim。
2)、vi/vim的基本操作
命名模式
默认的模式,可以通过键盘快捷键控制文件内容
如果需要通过vi/vim编辑器编辑文件,通过如下命令:vi 文件路径 vim 文件路径,vim兼容全部的vi功能,后续全部使用vim命令
- 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
- 如果文件路径表示的文件存在,那么此命令用于编辑已有文件
命令模式快捷键(可以自己试试)
输入模式
通过命令模式进入,可以输入内容进行编辑,按esc退回命令模式
编辑模式没有什么特殊的,进入编辑模式后,任何快捷键都没有作用,就是正常输入文本而已。 需要记住的,就是:通过esc,可以退回到命令模式中即可。
底线命令模式
通过命令模式进入,可以对文件进行保存、关闭等操作
在命令模式内,输入: ,即可进入底线命令模式,支持如下命令:
16. ifconfig
- 显示网络接口信息
ifconfig
命令用于配置和显示网络接口的相关信息。
常用参数:
-
up
:启用网络接口。 -
down
:禁用网络接口。
示例:
# 显示所有网络接口的状态
ifconfig
# 禁用 eth0 接口
ifconfig eth0 down
# 启用 eth0 接口
ifconfig eth0 up
16. clear
- 清屏
clear
命令用于清除终端屏幕的显示内容。Ctrl + l 也可以的
无常用参数
示例:
# 清空终端屏幕
clear
17. echo
- 输出字符串
echo
命令用于在终端输出字符串,也可以用于将数据重定向到文件。
无常用参数
示例:
# 输出一行文本
echo "Hello, World!"
# 将字符串写入文件
echo "Hello, File!" > file1.txt
18. tail
- 查看文件尾部内容
tail
命令用于查看文件的最后几行内容,默认显示最后10行。
常用参数:
-
-n
:指定显示的行数。 -
-f
:持续监视文件内容的变化,特别适合用于查看实时日志文件的更新。
示例:
# 查看文件的最后10行
tail hello.txt
# 查看文件的最后5行
tail -n 5 hello.txt
# 持续监视日志文件的内容
tail -f hello.txt
19. service
- 管理系统服务
service
命令用于启动、停止、重启或查看系统服务的状态。
常用参数:
-
start
:启动服务。 -
stop
:停止服务。 -
restart
:重启服务。 -
status
:查看服务状态。
示例:
# 启动nginx 服务
service nginx start
# 停止nginx 服务
service nginx stop
# 重启nginx 服务
service nginx restart
# 查看服务状态
service nginx status
还有一些后面在补充啦!!!! 准备实习~~~待续~~~~~~~~~~
大家一起加油!!