Daily Record

This is a non-commercial site, is a record of the life of a technology site

SEARCH


Linux常用命令详解:掌握命令行,高效管理你的系统

Linux常用命令详解:掌握命令行,高效管理你的系统

Linux,作为一种自由和开放源代码的操作系统,广泛应用于服务器、桌面计算机、手机、路由器等各种设备中。其强大的命令行界面提供了丰富的功能,使得用户可以轻松地管理系统、文件和网络等。本文将详细介绍Linux中的常用命令,帮助你更好地掌握Linux命令行操作,提高工作效率。

一、文件和目录操作命令

  1. ls命令

ls命令用于列出目录中的文件和子目录。通过 ls命令,你可以快速查看当前目录下的文件和文件夹。

示例

ls  # 列出当前目录下的文件和子目录  
ls -l  # 以长格式显示文件和目录的详细信息,包括权限、所有者、大小等  
ls -a  # 显示所有文件和目录,包括隐藏文件(以.开头的文件)  
ls -R  # 递归地列出所有子目录中的内容
  1. cd命令

cd命令用于切换当前工作目录。通过 cd命令,你可以在文件系统中导航。

示例

cd /path/to/directory  # 切换到指定目录  
cd ..  # 切换到上一级目录  
cd ~  # 切换到用户主目录
  1. pwd命令

pwd命令用于显示当前工作目录的路径。当你不确定当前所在目录时,可以使用 pwd命令查看。

示例

pwd  # 显示当前工作目录的完整路径
  1. mkdir命令

mkdir命令用于创建新的目录。你可以使用 mkdir命令轻松地在文件系统中创建新的文件夹。

示例

mkdir new_directory  # 创建一个名为new_directory的新目录  
mkdir -p dir1/dir2/dir3  # 递归地创建多级目录,如果上级目录不存在,则会自动创建
  1. rmdir命令

rmdir命令用于删除空的目录。请注意,rmdir只能删除空目录,如果目录中包含文件或其他子目录,你需要先删除它们或使用其他命令(如 rm)进行删除。

示例

rmdir empty_directory  # 删除一个名为empty_directory的空目录
  1. cp命令

cp命令用于复制文件或目录。你可以使用 cp命令将文件或目录从一个位置复制到另一个位置。

示例

cp source_file destination_file  # 复制文件到目标位置,并重命名为destination_file  
cp -r source_directory destination_directory  # 递归地复制目录及其内容到目标位置
  1. mv命令

mv命令用于移动或重命名文件或目录。你可以使用 mv命令将文件或目录从一个位置移动到另一个位置,或者重命名文件或目录。

示例

mv old_name new_name  # 重命名文件或目录为new_name  
mv file_or_directory destination_directory  # 移动文件或目录到目标位置
  1. rm命令

rm命令用于删除文件或目录。请注意,在使用 rm命令时要格外小心,因为删除的文件无法恢复。

示例

rm file  # 删除文件  
rm -r directory  # 递归地删除目录及其内容,包括子目录和文件
  1. find命令

find命令用于在文件系统中搜索文件或目录。你可以根据名称、大小、修改时间等条件进行搜索。

示例

find /path/to/search -name "*.txt"  # 在指定路径下搜索所有以.txt结尾的文件
  1. ln命令

ln命令用于创建硬链接或符号链接。硬链接是指向文件数据的指针,而符号链接(也称为软链接)是指向另一个文件或目录的路径。

示例

ln source_file target_link  # 创建硬链接  
ln -s source_file target_link  # 创建符号链接(软链接)

11.vim命令

  1. 打开文件

在终端中输入 vim 文件名 即可打开指定文件。如果文件不存在,Vim将创建一个新文件。
2. 进入插入模式

Vim有多种模式,其中普通模式(Normal mode)和插入模式(Insert mode)最为常用。在普通模式下,按以下键可以进入插入模式:

* `i`:在当前光标位置前插入文本。  * `I`:在当前行的开头插入文本。  * `a`:在当前光标位置后插入文本。  * `A`:在当前行的末尾插入文本。  * `o`:在当前行下方新开一行并进入插入模式。  * `O`:在当前行上方新开一行并进入插入模式。
  1. 保存与退出
* `:w`:保存文件,但不退出Vim。  * `:wq` 或 `ZZ`(两个大写的'Z'):保存文件并退出Vim。  * `:q!`:不保存文件,强制退出Vim。
  1. 光标移动
* `h`、`j`、`k`、`l`:分别代表向左、向下、向上、向右移动光标。  * `w`:移动到下一个单词的开头。  * `b`:移动到上一个单词的开头。  * `0`(数字零):移动到当前行的开头。  * `$`:移动到当前行的末尾。  * `G`:移动到文件的末尾。  * `gg` 或 `1G`:移动到文件的开头。
  1. 删除与复制
* `x` 或 `dl`:删除当前光标下的字符。  * `dd`:删除当前行。  * `yy`:复制当前行。  * `p`:在当前光标位置后粘贴之前复制或删除的内容。
  1. 查找与替换
  • /关键词:在文件中查找关键词,按 n查找下一个,按 N查找上一个。
  • :%s/原字符串/新字符串/g:在全文范围内替换“原字符串”为“新字符串”。
  1. 撤销与重做
  • u:撤销上一步的操作。
  • Ctrl + r:重做上一步被撤销的操作。
  1. 分屏操作
  • :sp:split:水平分割窗口,打开一个新窗口显示当前文件的内容。
  • :vsp:vsplit:垂直分割窗口。
  • Ctrl + w 然后按 hjkl:在分屏之间切换。
  1. 宏录制与执行
  • qa:开始录制宏到寄存器a。
  • 执行一系列操作。
  • q:停止录制。
  • @a:执行寄存器a中录制的宏。
  1. 设置与取消行号
  • :set number:set nu:显示行号。
  • :set nonumber:set nonu:取消显示行号。
  1. 进入可视模式
  • v:进入可视模式,可以选择文本块。
  • V:进入可视行模式,可以选择整行文本。
  • Ctrl + v:进入可视块模式,可以选择矩形文本块。

二、系统信息和管理命令

  1. uname命令

uname命令用于显示系统信息,如内核名称、主机名、内核版本号等。这个命令在排查问题时非常有用。

示例

uname -a  # 显示完整的系统信息,包括内核名称、主机名、内核版本号等
  1. df命令

df命令用于显示磁盘使用情况。你可以使用 df命令查看各个挂载点的磁盘空间使用情况。

示例

df -h  # 以人类可读的格式显示磁盘使用情况,如GB、MB等
  1. du命令

du命令用于估算文件和目录的磁盘使用情况。你可以使用 du命令查看指定文件或目录占用的磁盘空间。

示例

du -sh directory  # 估算目录的总磁盘使用量,并以人类可读的格式显示结果
  1. free命令

free命令用于显示系统的内存使用情况,包括物理内存、交换空间等信息。这个命令可以帮助你监控系统的内存使用情况。

示例

free -h  # 以人类可读的格式显示内存使用情况,如GB、MB等
  1. top命令

top命令用于实时显示系统的运行状态,包括CPU使用率、内存使用率、进程列表等信息。这个命令可以帮助你监控系统性能并找出潜在的性能问题。

示例:直接输入 top即可查看实时系统状态。在 top界面中,你可以按不同的键进行排序、过滤等操作。具体使用方法可以参考 top的帮助文档或相关教程。
6. ps命令

ps命令用于显示当前进程的状态信息。你可以使用 ps命令查看正在运行的进程及其相关信息。

示例

ps aux  # 显示所有用户的所有进程信息,包括进程ID、CPU使用率、内存使用率等详细信息。你可以根据需要对输出进行排序或过滤。例如,使用`ps aux --sort=-%cpu`可以按CPU使用率降序排列进程列表。同样地,你可以使用其他选项对输出进行自定义以满足你的需求。具体使用方法可以参考`ps`的帮助文档或相关教程。
  1. kill命令
    当某个进程出现异常或需要释放资源时,你可以使用 kill命令终止该进程。请注意,在使用 kill命令时要谨慎操作,以免误杀重要进程导致系统崩溃或数据丢失。
    示例:首先,你需要使用 ps命令找到要终止的进程的进程ID(PID)。然后,使用以下命令终止该进程:kill PID。如果进程无法正常终止,你可以尝试使用更强制的方法:kill -9 PID。这将发送一个SIGKILL信号来强制终止进程。但请注意,这种方法可能会导致数据丢失或其他不可预知的问题,因此应谨慎使用。为了更好地管理你的Linux系统,你还可以结合其他命令和工具来完成更复杂的任务。例如,使用 cron来定期执行计划任务、使用 ssh进行远程登录和管理、使用 scprsync进行文件传输等。掌握这些命令和工具将使你能够更高效地管理你的Linux系统并提高工作效率。

三、网络命令

  1. ifconfig命令

ifconfig命令用于配置和显示网络接口信息。通过 ifconfig命令,你可以查看和修改网络接口的配置,如IP地址、子网掩码等。

示例

ifconfig  # 显示所有网络接口的信息,包括IP地址、MAC地址等  ifconfig eth0 down  # 关闭eth0网络接口  ifconfig eth0 up  # 启动eth0网络接口

需要注意的是,在某些Linux发行版中,ifconfig命令已被 ip命令替代。因此,你可能需要使用 ip addrip link等命令来查看和配置网络接口。

  1. ping命令

ping命令用于测试网络连接。通过 ping命令,你可以发送ICMP回显请求到目标主机,以检测网络连接是否正常。

示例

ping www.example.com  # 测试与www.example.com的连接是否正常
  1. traceroute命令

traceroute命令用于追踪数据包在网络中的传输路径。通过 traceroute命令,你可以查看数据包从源主机到目标主机经过的路由器节点。

示例

traceroute www.example.com  # 追踪到www.example.com的网络路径

需要注意的是,在某些Linux发行版中,traceroute命令可能需要以root权限运行。此外,你还可以使用 tracepath命令来实现类似的功能。

  1. netstat命令

netstat命令用于显示网络连接、路由表和网络接口信息。通过 netstat命令,你可以查看当前活动的网络连接、监听的端口以及网络服务的状态。

示例

netstat

需要注意的是,在某些Linux发行版中,netstat命令可能已被 ss命令替代。因此,你也可能需要使用 ss命令来查看网络连接和端口信息。

  1. wget命令

wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。“wget” 这个名称来源于“World Wide Web”与“get”的结合。所谓自动下载,是指用户只需指定一个URL或相对路径并给出必要的参数,wget将自动处理下载细节,如选择镜像站点、拉取文件、处理错误等。

示例

wget http://www.example.com/file.zip  # 下载指定URL的文件
  1. curl命令

curl是一个常用的命令行工具,用来向Web服务器发送请求。它的名称代表客户端的URL工具。它的功能非常强大,支持多种协议,包括HTTP、HTTPS、FTP等,并且支持多种请求方式,如GET、POST等。

示例

bash复制代码curl http://www.example.com  # 发送GET请求到指定的URL  curl -X POST -d 'param1=value1¶m2=value2' http://www.example.com/post  # 发送POST请求到指定的URL

四、权限和所有权命令

  1. chmod命令

chmod命令用于改变文件或目录的权限。Linux系统中的每个文件和目录都有相应的权限,可以通过 chmod命令来修改。

示例

chmod 755 file  # 设置文件权限为755,即所有者有读/写/执行权限,组有读/执行权限,其他用户有读/执行权限
  1. chown命令

chown命令用于改变文件或目录的所有者和所属组。在Linux系统中,每个文件和目录都有一个所有者和所属组,可以通过 chown命令来修改。

示例

chown username:groupname file  # 更改文件的所有者为username,所属组为groupname

五、软件包管理命令(以Debian/Ubuntu为例)

  1. apt-get命令

apt-get是Debian及其衍生版中用于处理包的命令行工具,是自动下载软件包并安装或更新软件包的工具。它可以自动解决软件包之间的依赖关系,并建议需要安装哪些软件包以满足依赖关系。

示例

sudo apt-get update  # 更新软件包列表  sudo apt-get install package-name  # 安装指定的软件包  sudo apt-get remove package-name  # 卸载指定的软件包  sudo apt-get upgrade  # 升级所有已安装的软件包到最新版本
  1. dpkg命令

dpkg是Debian软件包管理器,用于安装、构建、删除和管理Debian软件包。主要是对本地的Debian软件包进行管理,不解决依赖关系。

示例

dpkg -i package.deb  # 安装本地的.deb软件包  sudo dpkg -r package-name  # 卸载指定的软件包

六、其他常用命令

  1. grep命令

grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。在Linux系统中,grep命令常用于在文件中搜索包含特定模式的行。

示例

grep "pattern" file  # 在文件中搜索包含特定模式的行
  1. sed命令

sed是一种流编辑器,用于对输入流(文件或管道)进行基本的文本转换。它可以执行简单的文本转换任务,如替换文本、删除行等。

示例

sed 's/old/new/' file  # 将文件中的old替换为new
  1. awk命令

awk是一种强大的文本处理工具,主要用于模式扫描和文本/数据提取。它常用于从文本文件中提取有用的信息,并进行格式化输出。

示例

awk '{print $1}' file  # 打印文件中的第一列数据

总结:Linux提供了丰富的命令行工具来满足各种系统管理和数据处理需求。掌握这些常用命令将大大提高你在Linux环境中的工作效率。

最近的文章

需求场景: 对接一卡通打印机,然后需要将系统中存储的用户照片和卡面照片合成一张照片传递给前端,由前端进行打印,卡面照片由于显示头像部分为不规则部分,所以下面的工具类把卡的照片作为了前景图片,用户照片作为了背景图片 需要用到的相关类 import javax.imageio.ImageIO; impo…

继续阅读
更早的文章

引言 ADB,全称为Android Debug Bridge,是Android开发中不可或缺的一个工具。通过ADB,开发者可以与Android设备进行通信,执行各种命令以进行应用的安装、调试、文件管理等多种操作。本文将详细介绍ADB的各种命令及其用法,帮助开发者更加高效地利用这一工具。 第一章:AD…

继续阅读