77个常用Linux命令和工具

时间:2023-12-16 20:19:56

77个常用Linux命令和工具

Linux管理员不能单靠GUI图形界面吃饭。这就是我们编辑这篇最实用Linux命令手册的原因。这个指南是特别为Linux管理员和系统管理员 设计的,汇集了最有用的一些工具做为他们日常维护的参考手册。通过学习这些简单的工具,那些原本害怕命令行的人也可以变成一个脚本高手,从而通过执行 kernal命令和shell命令来最大限度的发挥linux的作用。请善用我们的指南,有任何Linux方面的问 题或者需要寻找相关答案请务必到我们 的TechTarget中国服务器论坛来发帖子交流。

  alias

  用一个被定义好的与某命令关联的缩略名来运行一个命令或者一系列UNIX命令。

  如何在LINUX下实用alias命令。

  apt-get

  Apt-get是一个用来自动更新DEBIAN系统,获取然后安装DEBIAN补丁包/程序的工具。

  如果在UBUNTU服务器上用”aptitude“和”apt-get”来管理程序。

  理解Debian的归档和apt-get。

  使用apt-get来更新你的Debian机器。

  Aspell
  GNU Aspell是一个免费开源的拼写检查器,它被设计来替代Ispell。它可以当作一个字库来使用,也可以做为一个单独的拼写检查器。

  如何使用Aspell来检查拼写。

  AWK, Gawk

  这是一个用来处理文本的编程语言工具。AWK工具的语言有很大一部分借鉴了在许多领域常用的shell编程语言,当然AWK的语法在很大程度上都是自己原创的。

  学习如何使用AWK工具

  Gawk是AWK编程语言在GNU项目下的版本。

bzip2

  这是一个用来高比率压缩和解压缩文件的简便快速的开源程序。

  如何在LINUX下使用bzip2.

  更多的关于使用bzip2压缩程序的使用说明。

  cat

  一个UNIX/LINUX命令,原来读取,更改或者合并文本文件,最常被用来显示文件内容。

  如何在LINUX下用CAT命令显示文件内容。

  一篇关于cat命令能做些什么的文章。

  cd

  CD命令用来在LINUX下改变当天目录,可以方便地在几个目录见跳转。它和MS-DOS中的CD和CHDIR命令很相似。

  查看更多关于如何使用CD命令来改变目录的内容。

  chmod

  Chmod用来gi*对一个或者多个文件的访问模式(权限)。只有一个文件的所有人或者特权用户可以更改这个权限。

  查看关于使用chmod命令更改文件访问权限的例子。

  chown

  Chown命令用来更改文件或者组的所有权,还有批量更改一个目录下的所有对象所有权的选项,另外还能查看正在进行修改属性的对象的相关信息。

  学习如何用chown命令更改文件所有权。

  cmp

  Cmp工具用来对比两个文件的内容,并且将结果用标准格式输出。默认地,如果两个文件完全相同,cmp将不返回任何结果;如果两个文件不同,第一个发生不同之处的字节数和行数将做为结果被返回。

  查看IBM使用cmp命令的例子。

  comm

  Comm命令用来选择两个已排序的文件的公共行。输入结果分为三栏,从左到右依次为:只在文件1中的行,只在文件2中的行,和既在文件1又在文件2中的行。

  关于用comm命令对比行的更多信息。

  关于使用comm命令的详细指南。

  cp
  Cp命令用来复制文件和目录,并且如果目标目录是不同的名字,可以将整个目录同步复制到目的地。

  查看如果用cp命令复制LINUX文件和目录。

  cpio

  Cpio命令用来将文件复制进出归档存储器及目录,一个文件所包含的关于它们的附加信息,例如它们的文件名、所有人、更改时间和访问权限。归档位置可以是磁盘中的其它文件,或者一盒磁带。Cpio有三种操作模式,比tar命令更高效。

  学习如果用cpio命令执行一个unix到linux迁移的文件移动。

  查看如何用cpio命令备份文件。

  CRON

  CRON是一个LINUX系统进程,它可以在指定的时间运行一个程序。要使用CRON,用户必须准备一个文本文件,包含有什么程序将在什么时间用CRON执行的信息。然后,crontab命令时间程序就被用来加载这个描述了CRON任务的文本文件,从而执行CRON。

  使用CRON命令在指定的时间执行命令。

date

  Date命令用来设置系统日期和时间。另外还有个有用的地方就是在用脚本文件工作的时候可以输出/打印当前时间信息。

  来自IBM的一系列关于用date命令设置日期和时间的例子。

  declare

  Declare命令用来声明变量,赋予变量属性,或者更改变量属性。

  用delcare命令声明变量的例子。

  df

  Df命令用来显示某文件(做为命令的参数)所在的文件系统的可用磁盘空间。如果不跟文件名做为参数,则显示整个文件系统的可用磁盘空间。

  更多关于使用df命令显示可用磁盘空间的信息。

  echo

  Echo用来重复或者将一个字符串写到标准输出。

  更多关于在shell脚本中使用echo命令的信息。

  enable

  Enable命令用来停止或者启动打印机队列设备。

  如何使用enable命令来启动LP打印机的例子。

  env

  Env用来为执行命令设置环境,或者显示当前环境和它的参数。

  用env命令更改环境的例子。

  eval

  Eval命令可以计算几个参数然后求出一个单独的命令,在生成这些参数的状态。

  关于用eval命令求出参数结果的更多信息。

  exec

  Exec命令用来输入命令替代正在运行的母进程。这个命令将输入的参数做为一个或者多个子进程来执行。

  更多关于用exec替换母进程的例子。

  exit

  Exit命令用来终止一个脚本,然后返回值给母进程。

  更多用exec终止脚本运行的例子。

  expect

  Expect命令用来和脚本中另一个相互作用的进程通话,并且等待响应,经常用来在一个字符串中找到特定匹配的字符。

  用expect寻求响应。

  export

  Export命令用来将文件转换成另一种格式。一旦一个文件被转换了,它就可以被支持这个格式的程序访问。

  关于用export命令从数据库中导出数据的例子。

find

  Find命令用来在目录树中寻找符合某种条件的文件,包括name,type,exec,size,mtime和user等参数做为条件。

  用find命令迅速定位文件

  for, while

  For和while用来执行或者重复循环满足条件的一系列动作。

  用for命令循环执行选项动作。

  用while命令循环执行选项动作。

  free

  Free命令用来显示空闲和已使用的物理内存大小及系统的交换分区大小,以及kernel使用的缓存大小。

  学习如果用free命令来优化计算机的内存使用。

  gawk
  请看 AWK.

  grep

  Grep命令用来寻找包含某字符串的文件,还可以将字符串用指定的值替换。这是在LINUX下搜索文件的一个好办法。

  用grep搜索文件的例子。

  gzip

  Gzip是GNU环境中用来压缩文件的开源程序,能将服务器上的网页在后台压缩,然后在浏览器上解压缩显示。

  现在还被广泛用于流媒体文件的压缩,可以同时合并并压缩多个流媒体文件。

  用gzip压缩文件的例子。

  ifconfig

  Ifconfig用来配置网络接口。它在启动时被用来设置网络接口。之后,它一般只有在排错或者系统调整的时候才会被用到。

  用ifconfig配置网络的例子。

  用ifconfig查找linux的网络配置问题。

  ifup

  Ifup用来配置网络接口并且启动一个网络连接。

  关于ifup命令配置网络接口的更多信息。

  ifdown

  Ifdown命令用来关闭一个网络接口和禁用一个网络连接。

  关于用ifdown命令关闭网络的更多信息。

  less, more

  Less命令使管理员可以回滚浏览配置和错误日志文件,将文本文件一次显示一屏,可以方便地在文件中前后移动。比其它命令更加灵活。

  查看几个用less命令查看的不同文件。

  和less命令类似,more命令可以将文件一次显示一屏,但是在前后移动查看文件方面没有less方便。

  查看一个用more命令显示文本的例子。

  locate, slocate

  Locate命令用来读取一个或多个数据库,然后将和目标参数匹配的文件名输出。

  用locate迅速搜索文件/目录。

  和locate命令一样,slocate,或者叫安全的locate,提供了索引和快速搜索文件的方法,同时还能安全的存储文件权限和所有人信息,这样没有被授权的用户将无法查看这些文件。

  一个用slocate命令安全快速索引文件的例子。

  lft

  Lft命令和traceroute类似,用来确定连接路由,但是它提供了更多用来为连接排错或者查找box/系统位置的信息。它能显示路由数据包和文件类型。

  用lft命令查看路由数据包的更多信息。

ln

  ln命令可以通过硬连接来创建一个文件名,从而让多个用户共享一个文件。

  Ln创建硬连接文件的例子。

  使用ln命令的更多例子。

  ls

  Ls命令用来列出当前路径的文件和目录,管理员可以用这个命令确定配置文件最后一次被编辑的时间。

  这篇文章也在讨论ls命令。

  用ls命令列出文件和目录的例子。

  man

  做为manual的简写,man命令允许一个用户以指定的方式显示linux系统内置的用户手册,包括命令文档和其它系统功能介绍。

  这篇文章也有关于man命令的讨论。

  查看如果使用man命令。

  查看man命令显示页面格式的例子。

  mc

  这是一个菜单式的shell,为unix系统提供基于文本的文件管理方式。

  用mc管理文件的一个扩展指南。

  more

  请看前面less命令的介绍。

  neat

  Neat是GNOME图形界面下的管理工具,可以让管理员指定设置一块网卡需要的信息,另外还有其它一些功能。

  用neat命令配置一个NTL猫。

  配置unix和linux系统见网络连接时neat发挥的作用。

  netconfig, netcfg

  Netconfig命令用来配置网络,启用网卡并且显示一系列配置所需要提供的信息在屏幕上。

  用红帽子netcfg命令配置网络。

netstat

  Netstat提供了什么协议正在被使用及当前TCP/IP网络连接的信息和统计。一个有用的功能就是能找出什么进程和程序在计算机上被激活并参与了网络通讯。

  用netstat命令查看网络状态的更多信息。

  nslookup

  Nslookup允许用户输入一个主机名然后找到相应的IP地址。也支持相反的通过IP地址找主机名的过程。

  微软的提供的关于如何用NSLOOKUP查找IP地址的更多信息。

  od

  Od用来将二进制文件输出为八进制格式文件来标准化输出。

  用od导出文件的例子。

  更多来自IBM的od命令说明。

  passwd

  Passwd用来更新用户的登陆口令(更改当前密码)。

  一些IBM的关于用passwd更改密码的例子。

  ping

  Ping允许用户验证某个IP地址是否存在及它是否接收请求数据包。可以用来测试网络连通性和响应时间,及用户尝试连接的主机的工作状态。

  IBM的关于用PING验证IP地址的例子。

  ps

  PS用来报告系统当前的进程状态。

  一些ps命令的实例。

  pwd

  Pwd(打印工作目录)命令用来显示当前工作的所在目录。这时一个基本的linux命令。

  学习$path和pwd命令之间的不同。

  用pwd来显示当前的工作目录。

  read

  Read用来从标准输入中读取文本的一行并将输入行的字段的值指定给shell变量用来进一步处理。

  来自IBM的read使用例子。

  RPM

  红帽子包管理器(RPM)是命令行驱动的程序,用来安装,卸载及管理LINUX的软件安装包。

  RPM使用白皮书。

  Yum和RPM的不同。

  用RPM安装软件的例子。

  rsync

  Rsync命令用来将一个磁盘或者文件通过网络同步到另一个磁盘或者文件上。和rcp类似,它也有很多选项可用。

  一篇使用rsync备份数据的文章。

  如何用rsync来备份linux目录。

  screen

  GNU环境下的screen工具是一个终端多窗口程序,用户可以用一个单独的终端窗口俩运行多个应用程序。

  用scrren运行多个窗口和其它相关应用的指南。

  一篇关于使用scrren的说明。

  sdiff
  sdiff命令可以用来对比两个文件的不同之处,然后以并排的格式列出不同点。随后它能合并文件和输入结果到一个输出文件中。

  用sdiff对比文件的例子。

  更多来自IBM的关于sdiff的例子。

  sed

  Sed是一个可以过滤文本的流编辑器,这时它和其它编辑器不同之处。Sed分析输入文本和对它进行的操作然后输出更改的部分。经常用在执行匹配参数的文件的某一部分或菏泽是替代文件中符合指定字符串的某部分。

  用sed执行和替代文件某部分的例子。

  来自IBM的关于使用sed过滤的例子。

shutdown

  Shutdown是一个用来关机的命令,它还可以通过增加参数如-h来在关机后终止操作系统,加-r来重启。

  用shutdown命令关机或者终止一台计算机。

  slocate
  请看locate部分。

  Snort

  Snort是一个开源的网络入侵检测系统,还可以通过抓包来监控网络流量,它检查每个数据包来侦测危险的负载或者可疑的数据。它是基于libpcap.

  用snort阻止黑客。

  更多来自红帽子的snort使用说明信息。

  sort

  用来将文本行按字母顺序或者数字数序排序;支持多个关键字做为排序依据。

  用sort将行排序的例子。

  更多的关于多关键字排序的例子。

  sudo

  Sudo允许系统管理员赋予特定用户在root级别运行某个命令的权限,并记录所有命令和参数。

  一个用sudo命令赋予用户权限的指南。

  SSH

  SSH是一个用来安全地远程登陆计算机的命令行界面,常被网管用来远程控制服务器。

  一篇用SSH安全远程登陆的指南。

  tar

  Tar程序可疑用来把多个文件压缩成一个档案,或者将一个档案解压缩成多个文件。

  用tar创建档案文件的例子。

  TOP

  TOP是一系列网络协议,用来提供进程信息,它能显示系统中占用内存最大的任务。TOP可以根据CPU使用率,内存使用率和运行时间等条件来排序任务。

  用TOP监控系统进程。

  tr

  用来从一个文本流中替换或者删除字符,并写入标准输出,但是不接受文件名做为参数-仅支持标准输入。

  来自IBM的关于用tr命令替换字符的例子。

  traceroute

  Traceroute跟踪并记录两台计算机间通过互联网通讯的路径,对于网络/路由器故障排除很有用。就算域不工作或者不存在了,通过IP也可以来跟踪路由。

  用traceroute来诊断网络故障的指南。

uname

  Uname显示当天操作系统的名称,并能输入相关系统信息。

  用uname查看当前曹组系统信息的例子。

  uniq
  A tip from IBM on removing redundant lines with uniq.

  Uniq用来对比文件中的行,并且删除/报告每个重复的行。

  用uniq命令删除重复行。

  来自IBM的用uniq删除重复行的文章。

  vi

  VI是一个文本编辑器,允许用户只用键盘来控制系统,而不需要鼠标或者其它输入工具。

  一个完成的VI使用向导,用键盘来控制系统。

  vmstat

  Vmstat用来获取系统内容的快照,报告诸如进程,内存,页面文件和CPU状态等信息。对管理员来说,这时迅速确定系统故障的好办法。

  如何用vmstat时刻监控LINUX的性能状态。

  用vmstat查看系统内存使用的例子。

  wc

  Wc用来计算文件中的字符数,行数和字节数,如果选择多个文件也能计算多个文件中的相应对象数量。

  来自IBM的用wc计算字符数的例子。

  wget

  Wget是一个用来从http,https和ftp网站上获取文件的网络工具。它并非工作在交互模式下,在用户注销后仍然可以在后台运行。它能在本地创建远程站点的副本,也能重新创建原始站点。

  用wget创建镜像站点的例子。

  while

  请看for。

  whoami

  Whoami用来输出当前登陆用户的用户名到标准输出。

  来自IBM的关于用whoami查找当前登陆帐号信息的例子。

  xargs

  Xargs从标准输入读取,创建并执行指定命令。输入中的空行将被忽略。

  来自IBM的关于用xargs运行命令的例子。