前言
本文将为大家介绍Linux操作系统中的常用命令和操作。这些命令对于初学者和Linux用户都非常重要,掌握它们将大大提高在Linux环境下的工作效率。
一、Linux是什么?
Linux是一款开源的类Unix操作系统,其具有高度的可定制性和灵活性,适用于各种计算机和设备,从个人计算机到大型服务器和嵌入式系统。由于其安全性、稳定性和丰富的软件资源,Linux已成为企业和组织的首选操作系统,同时也是科研和学术界的热门选择。Linux的开放源代码促进了全球协作和创新,形成了一个不断发展和进步的生态系统。
二、Linux 常用命令
1.特殊符号
在Linux系统中,有一些特殊符号用于表示特定的路径或目录,通过使用这些特殊符号,我们可以方便地引用和导航到不同的目录和文件。
- . :当目录或文件名以
.
开始时,表示它是一个隐藏的文件;路径以.
开始时,表示当前路径 - .. :表示当前目录的上一级目录,即父目录
- ~ :表示当前用户的home目录,也就是用户的个人主目录
- / :表示根目录,它是整个文件系统的起始点
2.快捷方式
在Linux终端中,有一些快捷方式可以提高命令行的效率和便利性。
- Tab键:自动补全和提示。按下Tab键可以自动补全命令或文件路径,如果输入的命令或路径是唯一的,按下Tab键会自动补全整个命令或路径。如果有多个匹配项,按下Tab键会显示可能的补全选项,方便选择。
- history命令 :显示历史执行记录。通过输入
history
命令,可以显示当前终端会话中执行过的历史命令记录。这对于回顾之前执行过的命令或者查找某个特定命令非常有用,可以使用上下方向键在历史命令中进行浏览,并使用回车键重新执行选中的命令。
3.常用操作命令
(1) 显示目录内容:ls(list files)命令
ls(list files)命令用于显示目录中的文件和子目录。以下是几个常用的选项:
- ls:显示目录中的文件和子目录
- ls -a:显示所有文件及目录,包括隐藏文件(以.开头的文件和目录)
- ls -l:以长格式显示文件信息,包括文件名称、文件类型、权限、拥有者、文件大小等。可以使用ll命令作为ls -l的别名
(2) 切换目录:cd(change directory)命令
cd(change directory)命令用于在终端中切换目录。以下是几个常用的目录引用符号:
- ~ :表示用户的home目录,即个人主目录
- . :表示目前所在目录,也就是当前工作目录
- .. :表示目前目录位置的上一层目录,即父目录
使用cd命令时,可以加上目录路径来切换到指定的目录。例如,cd /path/directory会将当前工作目录切换为/path/directory。如果只输入cd命令而不加目录路径,会将当前工作目录切换至用户的home目录。
(3) 创建、删除:
mkdir(make directory)命令、touch命令和rm(remove)命令用于在终端中进行文件和目录的创建、删除操作。
-
mkdir(make directory)命令:用于创建目录
- mkdir -p:确保父目录名称存在,不存在则创建
-
touch命令:创建一个空文件
-
rm(remove)命令:用于删除一个文件或目录
- rm -f:强制直接删除,无需用户确认
- rm -r:将目录及以下所有递归逐一删除
(4) 复制、移动:
mv(move file)命令和cp(copy file)命令用于在终端中进行文件和目录的复制、移动操作。
-
mv(move file)命令:用于文件或目录改名,或将文件或目录移入其它位置
-
cp(copy file)命令:用于复制文件或目录
- cp -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
(5) 文件内容查看:
cat(concatenate)命令、more命令和tail命令用于在终端中查看文件内容。在查看文件内容时,要根据文件大小和内容选择合适的命令和选项,以便高效地获取所需信息。
-
cat(concatenate)命令:用于连接文件并打印到标准输出设备上(适合小文件内容查看)
-
more命令:类似cat命令,会以一页一页的形式显示,翻页结束自动退出(适合大文件查看),按space键翻下一页,按b往回上一页
-
tail命令:用于查看文件的结尾部分内容
- tail -n:用于显示行数,默认为10,即显示10行的内容
- tail -f:用于实时显示文件动态追加的内容。会把文件里的最尾部的内容显示在屏幕上,并不断刷新,只要文件有更新,就可以看到最新的文件内容
(6) 打包与解包命令:
打包与解包: 在Linux系统中,我们经常需要对文件进行打包和解包操作。这时,我们可以使用tar命令来完成这些任务。tar命令是一个强大的工具程序,常用于备份文件,并允许用户加入或解开备份文件内的文件。
-
tar命令的基本语法如下:
- tar [选项] [文件...]
-
常用的选项包括:
- -c 或 --create:用于建立新的备份文件
- -x 或 --extract 或 --get:用于从备份文件中还原文件
- -v 或 --verbose:用于显示指令执行过程,方便查看打包或解包的进度和结果
- -f <备份文件> 或 --file=<备份文件>:用于指定备份文件的名称
示例(这个命令会将file1、file2和file3打包成一个名为archive.tar的备份文件,并显示打包的过程):
bash
tar -cvf archive.tar file1 file2 file3
打包压缩与解包解压缩: 在打包备份或解包的过程中,还可以通过指定压缩算法对打包的文件进行压缩,以节省存储空间。同样地,在解压的时候也需要指定相应的算法来解压文件。
-
tar命令支持多种压缩算法,其中常用的包括gzip算法。要使用gzip算法进行压缩或解压,可以添加以下选项:
- -z 或 --gzip 或 --ungzip:通过gzip指令处理备份文件。
示例(这个命令会将file1、file2和file3打包成一个名为archive.tar的备份文件,并使用gzip算法进行压缩,生成archive.tar.gz文件,并显示打包压缩的过程):
bash
tar -czvf archive.tar.gz file1 file2 file3
(7) 其他:
- | 管道命令:将前一个命令执行的结果作为内容交给下一个命令处理,可以形成多级管道操作。例如,命令1 | 命令2:将命令1的结果通过命令2做进一步的处理。
- echo命令:用于内容的输出,将内容输出到console控制台上。
- > 输出重定向(覆盖)命令 :command > file :执行command然后将输出的内容存入file,file内已经存在的内容将被新内容覆盖替换。
- >> 输出重定向(追加)命令 :command >> file :执行command然后将输出的内容存入file,新内容追加在文件末尾。
4.常用系统命令
(1) 时间、日期查看:
- date命令:用来显示或设定系统的日期与时间,格式设定为一个加号后接数个标记
- cal(calendar)命令:用于显示当前或指定日期的公历
(2) 内存、磁盘使用率查看:
- free命令:用于显示内存状态。会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等
- df(disk free)命令:用于显示目前在linux系统上的文件系统磁盘使用情况统计
(3) 进程查看:
- ps(process status)命令:用于显示当前进程的状态
- jps命令:JDK自带的命令,用于查看本机运行的Java进程情况
5.vi / vim 文本编辑器
vi/vim是一款功能强大的文本编辑器,广泛应用于Unix和类Unix操作系统,也支持Windows等其他平台。它采用命令行界面,拥有插入模式、命令模式和可视模式三种主要模式。vi/vim具备搜索替换、语法高亮、自动缩进等强大编辑功能,同时允许用户定制快捷键和行为。
(1) 打开与新建文件:
-
vim / path / file
- 如果文件不存在,则新建文件,编辑器左下角提示 new file
- 如果文件存在,则打开文件,进入命令模式
(2) vim编辑器3种工作模式:
-
命令模式(Command mode):
- 所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能
- 不能自由进行文本编辑
-
输入模式(Insert mode):
- 编辑模式、插入模式
- 可以对文件内容进行自由编辑
-
底线命令模式(Last line mode):
- 以 : 开始,通常用于文件的保存、退出
(3) 命令模式<- ->输入模式:
- i :进入到编辑输入模式后,定位到当前光标前面
- o :进入到编辑输入模式后,在当前行的后面添加一行空行
- 输入模式下按ESC退回到命令模式
(4) 命令模式<- ->底线命令模式:
-
在命令模式下,输入 : 进入底线命令模式
-
常用的底线命令:
- : q 退出
- : w 保存
- : wq 保存退出
- : wq! 强制保存退出
-
命令模式下按shift + zz ,可以实现快速的保存退出
(5) vim基本操作命令:
-
光标移动:
- 方向键控制移动
- 翻页 pageup pagedown
- 行首(home 或 0) 行尾(end 或 $)
- 跳到文件最后一行 G
- 跳到文件第一行 gg
-
复制粘贴:
-
复制:
- yy:复制光标当前所在行内容
- nyy:复制当前行往下 n 行
-
粘贴:
- p:当前行的下一行粘贴
- P:当前行的上一行粘贴
-
-
删除、撤销:
-
删除:
- dd:删除光标所在当前行内容
- ndd:删除当前行往下 n 行
-
撤销、反撤销:
- u:撤销上一步的操作
- ctrl + r:反撤销
-
6.权限管理命令
在Linux系统中,权限管理是一项至关重要的任务。为了有效地控制文件和目录的访问权限,以下是一些常用的权限管理命令:
- chmod(change mode)命令:用于修改文件或目录的权限设置。例如,chmod 755 file:设置文件所有者为可读/可写/可执行权限,同组用户和其他用户为可读/可执行权限。
- chown(change owner)命令:用于改变文件或目录的所有者。例如,chown user:group file:将文件的所有者更改为user,所属组更改为group。
- chgrp(change group)命令:用于改变文件或目录的所属组。例如,chgrp group file:将文件的所属组更改为group。
7.网络相关命令
在Linux系统中,网络相关命令也是非常常用的。以下是一些常用的网络相关命令:
- ping命令 :用于测试网络连接是否正常。例如,ping www.google.com:向Google发送一个ICMP回显请求,检查网络是否连通。
- ifconfig(interface configuration)命令:用于查看和配置网络接口。例如,ifconfig -a:显示所有网络接口的信息。
- netstat(network statistics)命令:用于显示网络连接、路由表、接口统计等网络相关信息。例如,netstat -tuln:显示所有监听中的TCP/UDP端口。
- ssh(secure shell)命令:用于远程登录到其他Linux系统。例如,ssh user@host:使用用户名user登录到主机host。
8.磁盘操作命令
Linux系统中,磁盘操作也是常见的任务之一。以下是一些常用的磁盘操作命令:
- fdisk命令:用于创建、删除、查看磁盘分区。例如,fdisk -l /dev/sda:列出/dev/sda磁盘上的所有分区信息。
- mkfs(make filesystem)命令:用于在分区上创建文件系统。例如,mkfs.ext4 /dev/sda1:在/dev/sda1分区上创建一个ext4文件系统。
- mount命令:用于挂载文件系统到目录上。例如,mount /dev/sda1 /mnt:将/dev/sda1分区挂载到/mnt目录上。
- umount命令:用于卸载已挂载的文件系统。例如,umount /mnt:卸载/mnt目录上的文件系统。
9.系统监控与性能分析命令
在Linux系统中,监控系统和性能分析也是非常重要的任务。以下是一些常用的系统监控与性能分析命令:
- top命令:用于实时显示系统中各个进程的资源占用状况
- ps aux命令:用于查看所有进程的详细信息
- vmstat命令:用于显示虚拟内存统计信息
- iostat命令:用于显示磁盘I/O统计信息
- sar命令:用于收集、报告和保存系统活动信息
- mpstat命令:用于显示多处理器的统计信息
- pidstat命令:用于显示进程的CPU、内存、I/O等资源的占用情况
- perf命令:用于性能分析和调优,支持硬件和软件性能事件的采样和分析
总结
本文介绍了Linux操作系统中的一些常用命令和操作,包括特殊符号、快捷方式、常用操作命令、常用系统命令、vi/vim文本编辑器使用指南、权限管理命令、网络相关命令、磁盘操作命令以及系统监控与性能分析命令等。掌握这些命令和操作将大大提高你在Linux环境下的工作效率,希望本文能对大家有所帮助。