本文是常用的 Linux 命令的学习总结,建议及时收藏,防止下次又要查很久。欢迎交流 😃
常用 Linux 命令的基本使用
命令 | 英文 | 作用 |
---|---|---|
ls | list | 查看当前文件夹下的内容 |
pwd | print work directory | 查看当前所在文件夹 |
cd 目录名 | change directory | 切换文件夹 |
touch 文件名 | touch | 如果文件不存在,新建文件 |
mkdir 目录名 | make directory | 创建目录 |
rm 文件名 | remove | 删除指定的文件名 |
clear | clear | 清屏 |
小技巧:ctrl + shift + =
放大终端窗口的字体;ctrl + -
缩小终端窗口的字体。
Linux 终端命令格式
终端命令格式(参数间需要有空格隔开):
command [-options] [parameter]
command
:命令名;[-options]
:选项parameter
:参数
[]
表示可选。
查询命令帮助信息
可用两种方式查询命令的帮助信息:
–help
command --help
显示 command
命令的简要帮助信息。两个 -
为固定格式。
man
man command
查看 command
命令的使用手册。man 是 manual 的缩写。
使用 man
时的操作键:
操作键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏,与空格键类似 |
q | 退出 |
文件和目录常用命令
首先介绍一个小技巧。按 上/下
光标键可在曾经使用过的命令间切换。想要退出选择且不想执行当前选中的命令可以按 ctrl+c
。
下面对一些基本的命令进行扩展介绍。
ls 命令说明
在 Linux 下,如果文件名前面有 .
则为隐藏文件,需要 -a 参数才能显示
ls 常用选项
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件详细信息 |
-h | 配合 -l 以人性化方式显示文件大小,单独使用无效 |
我们使用命令 ls -l
展示:
第一列的 d 表示是否为目录,蓝色为目录且第一列为 d,白色为文件且第一列为 -。
注意 ls -l -h
与 ls -lh
等价。
ls 通配符的使用
当目录下文件及文件夹过多时,使用 ls 的结果会挤满整个屏幕。我们可以使用通配符筛选想要的文件或文件夹。
通配符 | 含义 |
---|---|
* | 代表任意个数个字符 |
? | 代表任意一个字符,至少 1 个 |
[] | 表示可以匹配字符组中的任意一个 |
[abc] | 匹配 a、b、c 中的任意一个 |
[a-f] | 匹配从 a 到 f 范围内的任意一个字符 |
通配符的使用展示如下:
cd 切换目录
所有目录及文件名对大小写敏感。
命令 | 含义 |
---|---|
cd | 切换到当前用户的主目录(/home/用户目录) |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd … | 切换到上级目录 |
cd - | 可在最近两次工作目录间切换 |
绝对路径前需要加 /
或 ~
表示根目录,相对路径前不需要加 /
或 ~
。
创建和删除操作
touch
若文件不存在,创建空白文件,若文件存在,可以修改文件的末次修改时间。
mkdir
-p
可以递归创建目录。新建目录不能与当前目录或文件同名。展示如下:
rm
删除文件或目录。与图形界面不同,rm 命令删除后不可恢复。
选项 | 含义 |
---|---|
-f | 强制删除,忽略不存在的目录,无需提示 |
-r | 递归删除目录下所有内容,删除文件夹时需加此参数 |
rm 也可像 ls 一样与通配符使用。
拷贝和移动文件
tree
格式为 tree [目录名]
以树状图列出文件目录结构。-d 表示只显示目录。
cp
将文件或目录复制到另一个目录中,格式为 cp 源文件 目标文件
。其中,当文件名不发生改变时,目的路径只需填写路径,无需加文件名:
选项 | 含义 |
---|---|
-i | 覆盖文件前进行提示 |
-r | 递归复制,与 rm -r 相同 |
mv
格式为 cp 源文件 目标文件
,移动文件或目录无需加选项。如果源文件和目的文件的路径相同,文件名不同,则为重命名。-i 为覆盖前进行提示。
查看文件内容
cat
格式为 cat 文件名
,可将文件的完整内容一次显示出来,文件内容较少时使用。
选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
more
格式为 more 文件名
,可分屏显示,文件内容较多时使用,与 man
命令操作相同。
grep
grep 是文本搜索工具。
选项 | 含义 |
---|---|
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行(求反) |
-i | 忽略大小写 |
展示如下:
当搜索的字符串中有空格时,需要加双引号:
允许进行模式查找,即正则表达式查找。这里只对常用的两种模式进行介绍。
参数 | 含义 |
---|---|
^a | 行首,搜索以 a 开头的行 |
ke$ | 行尾,搜索以 ke 结束的行 |
展示如下:
其他
echo 文字内容
在终端中显示参数指定的文字,通常和重定向一起使用。在创建文件的同时可以填写文件内容。
重定向 > 和 >>
>
表示输出,覆盖原有内容>>
表示追加,将内容追加到文件末尾
与 echco
联合使用:
管道 |
可将一个命令的输出通过管道作为另一个命令的输入。
例如 ls -lha ~ | more
将家目录下的所有文件分屏显示。
还可用 ls -lha ~ | grep vi
过滤结果:
远程管理常用命令
关机/重启
格式为 shutdown 选项 时间
,当选项为 -r 时表示重启,否则为关机。如果时间设为 now
则为立即关机,否则默认 1min 后关机。+10
表示 10min 后关机。22:20
表示今天 22:20
关机。
日常使用服务器时不要直接关机,应该重新启动。
其他命令
查找文件
find 命令的格式为 find [路径] -name "*.py"
是查找指定路径下扩展名为 .py 的文件,包括子目录,可使用通配符。若不指定目录则在当前目录下搜索 find -name ""
。
搜索桌面目录下,文件名包含 1
的文件:
find -name "*1*"
搜索桌面目录下,文件名包含 .txt
的文件:
find -name "*.txt"
搜索桌面目录下,以 1
开头的文件:
find -name "1*"
打包和压缩
在不同的操作系统中,常用的打包压缩方式是不同的:
- Windows 常用 rar
- Mac 常用 zip
- Linux 常用 tar.gz
打包/解包
tar 是 Linux 中常用的备份工具,可以把一系列文件打包到大文件夹中,也可以把一个打包的大文件,恢复成一系列文件。注意,tar 命令不进行压缩。
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径…
# 解包
tar -xvf 打包文件.tar
我们通过实践对其过程进行讲解:
首先删除桌面下的所有内容,便于观察文件的变化过程:rm -r *
。
然后创建 3 个空文件:
touch 01.py
touch 02.py
touch 03.py
对三个文件进行打包,有多个文件时用空格分开:
tar -cvf py.tar 01.py 02.py 03.py
用 ls -hl
查看结果:
创建 tar 目录,将打包文件放入其中:
mkdir tar
mv py.tar tar
最后进行解包:
tar -xvf py.tar
压缩和解压缩
gzip
tar 与 gzip 命令结合可实现打包和压缩。gzip 压缩 tar 打包后的文件,扩展名一般用 xxx.tar.gz。在 tar 命令中加选项 -z 可自动调用 gzip。
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径…
# 解压缩文件
tar -zxvf 打包文件.tar.gz
我们用上面打包的文件进行扩展。首先对三个文件进行压缩打包:
tar -zcvf py.tar.gz *.py
发现压缩文件的大小为 130B,远小于打包文件的 4.0K。
接下来我们创建文件夹,将压缩包放入文件夹,然后解压缩:
mkdir gz
mv py.tar.gz gz
cd gz
tar -zxvf py.tar.gz
完成解压缩。
bzip2
和 tar 结合实现打包和压缩,与 gzip 用法一样且效果差不多,扩展名为 xxx.tar.gz。tar 的 -j 选项可自动完成这个功能。
# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径…
# 解压缩文件
tar -jxvf 打包文件.tar.bz2
可以使用 -C 选项解压缩到指定目录,目录必须存在,gzip 和 bzip2 都可使用。
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
软件安装
通过 apt 安装/卸载软件
可以安装/卸载/更新软件包
# 1.安装软件
$ sudo apt install 软件包
# 2.卸载软件
$ sudo apt remove 软件名
# 3.更新已安装的包
$ sudo apt upgrade
配置软件源
Linux 常用命令总结就是这些啦,及时收藏防止下次又要找很久了。