现在很多应用服务都是部署在Linux服务器上,所以开发人员必须要或多或少的掌握一些Linux常用的终端命令来辅助我们日常的开发和维护工作。下面我们来介绍一些常用的命令的使用。 用于查询Linux系统发行版信息的命令行工具,它显示Linux标准基础(LSB)和特定发行版的详细信息,常见的搭配参数如下所示: | 显示所有可用信息(发行版 ID、描述、版本和代号) |
| |
| |
| |
| |
| |
| |
2、pwd
全称是 "print working directory"(打印工作目录),用于显示当前工作目录的完整路径。
3、ls
是 Linux/Unix 系统中用于列出目录内容的核心命令,常见的搭配参数如下所示:
字段解释:
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
| 文件类型和权限(d=目录, -=文件, l=链接) |
| |
| |
| |
| |
12月 29 2013 .bash_profile | |
4、clear
清屏功能,在大多数Linux发行版中,【Ctrl + L】也可以实现清屏功能,效果与 clear 命令相同。
5、touch
在 Linux 系统中用于创建空文件和修改文件时间戳(如果文件存在)。它虽使用简单,但在文件管理、脚本编写和系统维护中应用广泛。
文件创建的文件不存在,touch会创建一个大小为 0 字节的空文件;若文件已存在,仅更新其访问时间(atime)和修改时间(mtime),而不改变文件内容。
6、vi
它通过灵活切换的三种核心模式实现高效文本编辑:
(1)命令模式
命令模式实现的功能是控制光标移动、文本删除、复制粘贴、模式切换等操作。操作的快捷键如下所示:
| 进入插入模式(i:在光标前插入;a:在光标后插入;o:在当前行下新开行) |
| |
| |
| |
| |
| |
7、cp
cp命令用于复制文件或目录
复制文件:cp 源文件 目标文件
复制目录(需加 -r 选项):cp -r 源目录 目标目录
保留文件属性(如时间戳、权限):cp -p 源文件 目标文件
8、mkdir
Linux系统中用于创建目录的核心命令,全称为 "Make Directory",常用选项:
| (递归创建)自动创建缺失的父目录,若目录已存在则忽略,若路径中包含同名文件(非目录)会报错。如mkdir -p /a/b/c 会自动创建 /a、/a/b 和 /a/b/c。 |
| (设置权限)直接指定目录权限(覆盖 umask 默认值);如mkdir -m 750 private 会创建权限为drwxr-x--- 的目录。 |
| (显示详情))输出创建过程的详细信息;如mkdir -v logs 会输出 mkdir: created directory 'logs'。 |
9、mv
Linux 系统中用于移动(剪切)或重命名文件/目录的核心命令,常用选项如下所示:
| (交互式覆盖)目标文件存在时,提示用户确认是否覆盖(默认行为)。如mv -i old.txt new.txt 会询问是否覆盖 new.txt |
| (强制覆盖)直接覆盖目标文件,不提示确认。如mv -f old.txt new.txt 会强制覆盖 new.txt |
| (不覆盖)目标文件存在时,跳过移动操作。如mv -n old.txt new.txt 若 new.txt 存在则跳过。 |
| (显示详情)输出操作过程的详细信息。如mv -v old.txt new.txt 会显示renaming 'old.txt' to 'new.txt' |
| (仅更新)仅当源文件比目标文件新时才覆盖。示例:mv -u old.txt new.txt 若 old.txt 比 new.txt 新则覆盖 |
| (指定目标目录)批量移动文件到指定目录(目标目录在前)。示例:mv -t /dest/ file1 file2 会将 file1 和 file2 移到 /dest/ |
10、cd
cd【全称Change Directory】是Linux系统中用于切换当前工作目录的核心命令,常见的搭配如下所示:
| (用户主目录)快速切换到当前用户的主目录(如 /home/username)。如cd ~ 或 cd 等效。 |
| (上级目录)返回当前目录的父目录。如cd .. 会切换到上一级目录。 |
| (根目录)切换到文件系统的根目录(/)。如cd / 会切换到根目录 |
11、rm
rm【全称Remove】是Linux 系统中用于删除文件和目录的核心命令,常见的搭配如下所示:
| (强制删除)忽略不存在的文件,不提示确认。如rm -f old.txt 会强制删除 old.txt(无提示) |
| (交互式删除)删除前逐一确认。如rm -i file.txt 会询问是否删除 file.txt |
| (递归删除)删除目录及其所有内容(需配合 -f 强制删除)。如rm -rf dir/ 会强制删除 dir/ 及其所有文件/子目录 |
| (显示详情)输出删除过程的详细信息。如rm -v *.log 会显示删除的 .log 文件 |
| (删除空目录)仅删除空目录(等同 rmdir)。如rm -d empty_dir/ 会删除空目录 empty_dir/ |
12、history
它是Linux系统中用于查看和管理命令历史的核心命令。常见的搭配的如下所示:
| (清空历史记录)清空当前会话的历史记录(仅内存,不影响 .bash_history 文件)。如history -c 会清空当前会话历史 |
| (删除特定记录)删除历史记录中指定行号的命令。如history -d 1000 会删除第 1000 条命令 |
| (写入历史文件)强制将内存中的历史记录写入 .bash_history 文件(无需退出 Shell)。如history -w 会将当前会话历史写入文件 |
| (追加历史记录)将当前会话的新命令追加到 .bash_history 文件(不覆盖已有内容)。如history -a 会追加新命令到历史文件 |
| (读取历史记录)从 .bash_history 文件重新加载历史记录到内存(合并)。如history -r 会重新加载历史文件 |
13、df
它是Linux系统中用于检查文件系统磁盘空间占用情况的命令行工具,常见的搭配如下所示:
| 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统。 |
| 以容易理解的格式输出文件系统大小,例如124KB、345MB |
| |
| |
| |
| |
| |
14、cat
是Linux中用于连接文件并打印到标准输出设备的命令,常用于查看文件内容、创建新文件、合并文件等操作。
(1)显示文件内容:直接输出文件内容到终端(适用于小文件)cat myFile.txt。
(2)创建文件:通过重定向输入创建新文件(如 cat > newfile.txt)。
(3)合并文件:将多个文件内容合并到一个文件(如 cat file1.txt file2.txt > combined.txt)。
(4)追加内容:将文件内容追加到现有文件末尾(如 cat file2.txt >> file1.txt)。
常见的搭配参数如下所示:
15、less
less是Linux中用于分页查看文件内容的强大工具,核心功能分页浏览、搜索功能、实时监控和行号显示。
1、基本分页查看 less log.txt 2、less -i file.txt # 忽略大小写搜索 /error # 向下搜索 "error" ?warning # 向上搜索 "warning" n # 重复前一个搜索 N # 反向重复前一个搜索
16、type
它是Linux中用于查询命令类型的内置命令,帮助用户了解命令是 shell 内置命令、外部可执行文件、别名、函数还是关键字。其核心功能包括:
(1)命令类型识别:显示命令是 alias(别名)、keyword(关键字)、function(函数)、builtin(内建命令)、file(外部文件)或 unfound(未找到)。
(2)路径查找:通过 -p 选项显示外部命令的完整路径(如 /usr/bin/ls)。
(3)多类型显示:通过 -a 选项显示所有可能的命令定义(包括别名、函数、文件等)
在Linux 系统中,执行该命令会返回当前终端会话的用户标识符。如下图所示: 用于查找可执行文件路径的常用工具,它根据环境变量PATH中定义的目录顺序搜索指定命令,并输出第一个匹配的绝对路径,其核心功能包括:(1)路径查找:在PATH变量指定的目录中搜索可执行文件,帮助用户确认命令的位置或是否存在。
(2)别名处理:默认会识别命令别名,若需跳过别名直接查找原始命令,可使用 --skip-alias 选项。
常用选项如下所示:
19、man
man用于查看命令帮助文档的核心工具,它提供了系统命令、配置文件、编程函数等的详细说明。
使用man命令名 即可查看特定命令的手册,常见的基础基本用法如下所示:
20、alias
alias命令用于设置指令的别名,即给一组命令取别名,方便使用 ,如给ll-al设置别名为ll,那么设置成功之后,输入ll之后与ll-al效果一致。
alias 别名 = 原来指令名称;需要注意的是别名只在当前的登录下有效。
21、sort
它是Linux系统中用于对文本内容进行排序的核心工具,它以行为单位处理数据,将结果输出到标准输出,默认不修改原文件 。
sort 提供丰富的选项来定制排序行为,常见的如下所示:
| 数值排序,使用-n选项按数字大小排序(sort -n numbers.txt),避免字符串比较导致的错误(如 "10" 在字符串排序中排在 "2" 前) |
| 逆序排列,实现降序输出(如 sort -r data.txt) |
| |
| 字段排序,通过-t指定分隔符(如 -t ',' 以逗号分隔),结合 -k 选择字段(如 -k 2,2 指定第二列),并可指定排序类型(n 数值、r 逆序),例如 sort -t ':' -k 3 -n data.txt 按第三列数值排序 |
| 去重与输出,-u 过滤重复行,-o 将结果写入指定文件(包括原文件) |
22、grep
Linux系统中一个强大的文本搜索工具,它使用正则表达式搜索文本,并将匹配的行打印出来。
grep的基本命令格式为 grep [option] pattern file,用于在一个或多个文件中搜索字符串模板(pattern),并输出匹配的行;如果模板包含空格,则必须用引号引用。搜索结果会输出到标准输出,不会修改原文件内容。grep 支持多种选项来定制搜索行为,如下所示:
23、wc
统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。
语法:wc [选项] 文件,该命令各【选项】含义如下:
24、head
用于显示文件开头部分的内容。默认情况下,它输出文件的前10行,但可以通过选项自定义行数或字节数
head 命令的基本语法: head [选项] [文件]。核心选项包括:
| 指定输出文件的前 N 行(如 head -n 5 file.txt 显示前 5 行) |
| 指定输出文件的前 N 个字节(如 head -c 100 file.txt 显示前 100 字节) |
| |
| |
25、tail
用于显示文件末尾内容,常与head命令对应使用。其核心功能为快速定位文件尾部信息,默认输出末尾10行,支持通过参数控制显示行数、字节数或实时监控文件更新
基本语法:tail [参数] [文件] ;其中参数的含义如下所示: