Ubuntu 常用指令

45 阅读7分钟

简介

本篇文章用于总结Ubuntu 系统中常用的一些指令,方便日后查找及使用。下面是本文会涉及到的指令的简述:

  • sudo:授权
  • vim:编辑
  • mv:移到
  • rm:删除
  • mkdir:创建文件夹
  • touch:创建文件
  • cat:查看文件和合并文件内容
  • tail:查看文件末尾内容
  • head:查看文件开头内容
  • ps:显示运行进程状态
  • grep:搜索指定字符串
  • kill:终止进程
  • nohup:后台运行

sudo

sudo一词代表 superuser do(超级用户执行)

暂时授予root 级别超级用户权限,从而允许他们执行通常被限制为root 用户的操作

# 常放在指令最前方
sudo <command>

vim

Vim是一款强大的文本编辑器,常用于命令行界面,它具有丰富的功能和快捷键,用于编辑和处理各种文本文件

vim filename

Vim非常强大,有很多功能和快捷键用于提高编辑效率。如果想深入了解,可以查阅 Vim 官方文档Vim 菜鸟教程

mv

用于将文件或目录从一个位置移动到另一个位置,或者对文件或目录进行重命名

mv [option] source destination

其中,source表示要移动或重命名的文件或目录的原路径;destination表示文件或目录移动后的目标路径,可以是文件名、目录名或路径

mv命令一些常用的选项:

  • i:移动或重命名文件时,如果目标文件已存在,则提示用户是否覆盖
  • v:在移动或重命名文件时显示详细信息,例如每个文件的名称和目标路径
  • u:只有当目标文件不存在或源文件比目标文件新时才执行移动或重命名操作

rm

用于删除文件或目录

rm [option] file

其中,file表示要删除的文件或目录的名称或路径

rm命令一些常用的选项:

  • i:删除文件或目录时提示用户确认操作
  • r:递归地删除目录及其内容
  • f:强制删除文件或目录,不提示用户确认操作
  • v:在删除文件或目录时显示详细信息,例如每个文件的名称和目标路径

如果要删除目录,则需要使用-r选项

mkdir

用于创建新目录

mkdir [option] directory_name

其中,directory_name表示要创建的新目录的名称或路径

mkdir命令一些常用的选项:

  • p:递归地创建多个目录,即使中间的目录不存在也不会报错
  • m:设置新创建目录的权限模式

touch

用于创建新文件或者更新已有文件的时间戳。如果文件不存在,则touch命令会创建一个新文件,如果文件已经存在,则touch命令会更新文件的时间戳

touch [option] filename

其中,filename表示要创建或更新时间戳的文件名称或路径。

touch命令一些常用的选项:

  • a:只更新文件的访问时间
  • m:只更新文件的修改时间
  • c:如果文件不存在,则不创建新文件,不输出任何信息
  • r:使用指定文件的时间戳更新指定文件的时间戳

cat

用于显示文件内容

cat [option] file

其中,file表示要显示内容的文件名称或路径

cat命令一些常用的选项:

  • n:在输出中显示行号
  • b:在输出中只显示非空行的行号
  • s:压缩连续空行,只显示一个空行
  • E:在每行末尾显示一个 $ 符号
  • T:将制表符显示为 ^I

需要注意的是,cat 命令将整个文件的内容一次性输出到终端,如果文件很大,可能会导致终端卡顿或崩溃。可以使用 less 或者 more 命令来分页显示文件内容

# 合并多个文件的内容并创建一个新文件
cat file1 file2 > newfile

tail

用于查看文件末尾的内容,默认显示文件的最后 10 行内容,可以使用选项来指定要显示的行数

tail [option] file

其中,file表示要查看内容的文件名称或路径

tail命令一些常用的选项:

  • n:显示文件末尾的 n 行内容
  • f:实时追踪文件的增长,显示文件最新追加的内容
  • F:类似于-f选项,但是在文件被删除或移动后仍然可以跟踪它

需要注意的是,tail -f 命令会一直运行,直到手动停止。如果需要退出 tail -f 命令,可以按下 Ctrl+C

head

head命令用于显示文件的前几行内容。与tail命令相对应,head命令默认显示文件的前 10 行内容,也可以通过选项来指定要显示的行数

ps

用于显示当前运行的进程信息

ps [options]

ps命令一些常用的选项,例如:

  • a:显示所有用户的所有进程
  • u:以用户为基础显示进程状态的详细信息
  • x:显示没有控制终端的进程信息
  • aux:以用户为基础显示所有进程的更详细的信息
  • e:显示所有用户的进程信息,包括没有控制终端的进程
  • f:以树形结构显示进程信息
  • ef:显示所有用户的所有进程,包括进程的详细信息

需要注意的是,ps 命令只能显示当前运行的进程信息,无法显示已经结束的进程信息

grep

用于在文件或输入流中查找指定模式的字符串并显示匹配行

grep [options] pattern [file ...]

其中,pattern表示要查找的字符串模式,file表示要查找的文件名称或路径,可以指定多个文件

grep命令一些常用的选项:

  • i:忽略大小写
  • n:在输出中显示行号
  • v:只显示不匹配的行
  • r:递归搜索指定目录下的所有文件

kill

用于向进程发送信号以控制进程的状态(即终止进程)

kill [options] pid

其中,pid表示要发送信号的进程 ID,可以指定多个进程 ID

进程 ID可以通过ps指令查看,如果需要查看特定进程 ID,再借助于grep指令

# 与 kill -15 pid 等效
kill pid

# 使用 SIGTERM 信号终止进程
kill -15 pid

# 使用 SIGKILL 信号立即终止进程
kill -9 pid

# 使用进程名称来一次性终止多个进程
pkill process_name

# 使用进程名称来一次性立即终止多个进程
killall process_name

注意:在终止进程时要小心,尤其是在使用SIGKILL信号时,因为它会立即终止进程而不会给进程执行清理的机会。通常情况下,首先尝试使用SIGTERM信号,然后再考虑使用SIGKILL信号

nohup

用于在后台运行命令并将其输出重定向到指定文件,即将后续的命令设置为不受终端关闭影响的后台任务

# 后台运行命令
nohup command &

nohup command [args] > output_file 2>&1 &

其中,command表示要后台运行的命令,args表示命令的参数,output_file表示要将命令的输出重定向到的文件名,2>&1表示将标准错误输出重定向到标准输出,&也表示在后台运行命令

使用nohup命令后,即使关闭了终端或注销了用户,命令仍然可以在后台继续运行,并将输出重定向到指定文件。如果没有将输出重定向到文件,则默认将输出重定向到nohup.out文件中

注意:如果在运行nohup命令时不加上&,终端将被命令的输出和状态信息所占用,将无法再输入其他命令。这可能会导致终端变得不可用,直到运行的命令完成或中断

小结

本文罗列了本人常会使用到的Ubuntu指令,本文的目的便是方便使用时查阅,如有遗漏欢迎评论区指出,会陆续加上~~