Linux 基础-新手必备命令概述

常见执行 Linux 命令的格式是这样的:

命令名称 [命令参数] [命令对象]

注意,命令名称、命令参数、命令对象之间请用空格键分隔。
命令对象一般是指要处理的文件、目录、用户等资源,而命令参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用 --- 作为前缀。

系统工作

  1. echo:用于在 shell 编程中打印 shell 变量的值,或者直接输出指定的字符串。
  2. date:显示或设置系统时间与日期。
  3. reboot:重新启动正在运行的 Linux 操作系统。
  4. poweroff:关闭计算机操作系统并且切断系统电源。
  5. wget:用来从指定的 URL下载文件。wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget 会不断的尝试,直到整个文件下载完毕。
  6. ps:将某个时间点的进程运作情况撷取下来,可以搭配 kill 指令随时中断、删除不必要的程序。ps 命令可以查看进程运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等情况。使用 ps -l 则仅列出与你的操作环境 ( bash) 有关的进程而已;使用 ps aux 观察系统所有进程。
  7. top:动态观察进程的变化。
  8. pstreepstree -A 列出目前系统上面所有的进程树的相关性。
  9. pidof:查找指定名称的进程的进程号 id 号。
  10. kill:删除执行中的程序或工作,后面必须要加上 PID (或者是 job number),用法:killall -signal 指令名称/PIDkill 可将指定的信息送至程序,预设的信息为 SIGTERM(15),可将指定程序终止,若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 job 指令查看。

系统状态检测

  1. ifconfig:于配置和显示 Linux 内核中网络接口的网络参数。
  2. uname:打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等),-a--all:显示全部的信息。
  3. uptime:打印系统总共运行了多长时间和系统的平均负载。uptime 命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
  4. free:显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区,-m:以MB为单位显示内存使用情况。
  5. who:显示目前登录系统的用户信息。执行 who 命令可得知目前有那些用户登入系统,单独执行 who命令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个 X 显示器。
  6. last:显示用户最近登录信息。单独执行 last 命令,它会读取 /var/log/wtmp 的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。
  7. history:显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。
  8. sosreport 命令:收集并打包诊断和支持数据

文件与目录管理

  1. pwd 命令:以绝对路径的方式显示用户当前工作目录。
  2. cd 命令:切换工作目录至 dirname。 其中 dirName 表示法可为绝对路径或相对路径。~ 也表示为 home directory 的意思,.则是表示目前所在的目录,.. 则表示目前目录位置的上一层目录。
  3. cp, rm, mv:复制、删除与移动文件或目录 。
  4. ls:显示文件的文件/目录的名字与相关属性。-l 参数:长数据串行出,包含文件的属性与权限等等数据 (常用)。
  5. touch:有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
  6. file:用来探测给定文件的类型。file 命令对文件的检查分为文件系统、魔法幻数检查和语言检查 3 个过程

文件内容查阅与编辑

文件内容查阅命令如下:

  • cat:由第一行开始显示文件内容
  • tac:从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl:显示的时候,顺道输出行号!
  • more:一页一页的显示文件内容
  • less:与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head:只看头几行
  • tail:只看尾巴几行
  • od:以二进制的方式读取文件内容!

文件内容查阅命令总结:

  • 直接查阅一个文件的内容可以使用 cat/tac/nl 这几个命令;
  • 需要翻页检视文件内容使用 more/less 命令;
  • 取出文件前面几行 (head) 或取出后面几行 (tail)文字的功能使用 headtail 命令,注意 headtail 都是以『行』为单位来进行数据撷取的;

文本内容编辑命令如下:

  1. tr:可以用来删除一段讯息当中的文字,或者是进行文字讯息的替换。
  2. wc:可以帮我们计算输出的讯息的整体数据。
  3. stat:用于显示文件的状态信息。stat 命令的输出信息比 ls 命令的输出信息要更详细
  4. cut:可以将一段讯息的某一段给他『切』出来,处理的讯息是以『行』为单位。
  5. diff:在最简单的情况下,比较给定的两个文件的不同。如果使用 “-” 代替“文件”参数,则要比较的内容将来自标准输入。diff 命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。

打包压缩与搜索

  1. tar:利用 tar 命令可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。注意打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?这源于 Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar 命令),然后再用压缩程序进行压缩(gzip bzip2 命令)。
  2. grep:(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)一种强大的文本搜索工具,能够使用正则表达式搜索文本,并把匹配的行打印出来。grep 它是分析一行信息, 若当中有我们所需要的信息,就将该行拿出来。用法:grep [-acinv] [--color=auto] '搜寻字符串' filename
  3. which:查找命令的完整文件名。用法:which [-a] commanda : 将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称。find 命令是根据『PATH』这个环境变量所规范的路径,去搜寻命令的完整文件名。
  4. find:用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。用法举例:在 /home 目录及其子目录下查找以 .txt 结尾的文件名 find /home -name "*.txt"
  5. whereis/locatewhereis 只找系统中某些特定目录底下的文件而已, locate则是利用数据库来搜寻文件名,两者速度更快, 但没有实际搜寻硬盘内的文件系统状态。

常见命令图解

这个思维导图记录了常见命令,有利于索引,来源Linux基础命令(01)【Linux基础命令、ip查看、目录结构、网络映射配置】

参考资料

  • 新手linux命令必须掌握命令
  • 鸟哥的Linux私房菜 基础篇 第四版
  • Linux基础命令(01)【Linux基础命令、ip查看、目录结构、网络映射配置】