linux系统从unix系统演化而来,不仅继承了unix系统稳定,还因为开源获得了广泛的生态软件。在服务器端拥有很大的市场份额,尤其是这些年X86和虚拟化的快速发展,使得linux更加广泛应用于各行各业。但linux始终是基于字符终端的命令管理方式,使得不少小伙伴觉得学习起来有些困难。其实,这样学习完下面两类命令,也可以算是正式入门了。
1、日常使用命令日常使用的命令也是使用频率较高的命令,也是入门汉必须掌握的命令。详细列举如下:
- pwd:显示当前目录,就是让你知道自己目前处在哪个文件路径下;
- cd:更换当前目录,就是更改你的位置到目标文件路径下。这里要注意,linux的文件系统没有盘符,一切都是采用树形结构的挂载点。“/”表示根文件挂载点,其他文件挂载点都在根的下面;
- ls:查看目录下的文件清单,就好比打开文件夹可以看到文件清单;
- help:帮助系统,这个是非常有用的一个命令。当你不记得命令该如何使用时,你就可以在命令后面加上“--help”参数。当然如果要更详细的帮助,linux还提供了man和info两个命令。其中man可以查看linux中的指令帮助、配置文件帮助和编程帮助。而info工具则可显示更完整的GNU信息。
- find:查找系统,这个也是非常常用的命令,类似于文件搜索。如果文件已经打开,要搜索文件里的字符,则可以使用“/” 来搜索;
- cat:连接文件并打印到标准输出设备上,默认是打印到屏幕上,那就相当于显示文件的内容;
- ps: 显示当前进程的状态,这个类似于windows查看当前正在运行的进程。
- netstat:查看网络连接,这个命令在windows中也存在。就是查看当前所有的网络连接。
- rm:删除文件或文件夹,默认是删除文件,如果加“-r“参数表示删除文件夹。如果加“-f”表示强制删除无需确认。
- diff:比较两个文件,这个命令会将两个文件逐行进行比较。如果两个文件完全相同,则该命令没有任何输出。如果有不同,该命令会列出两个文件不同的地方。类似word程序里面的文件比较功能。
- mkdir:新建文件夹,这个很好理解,就是建立一个空文件夹。
- vi:文本编辑器(vim也是一种),类似于windows的记事本程序。用它可以创建、修改配置文件。
- mv:移动文件,这个也很好理解,类似windows下的剪切功能,源文件不保留。
- CP:复制文件,这个类似于windows下的复制功能,源文件保留。
- more:分页显示,这要是针对文本信息过长的文件,通过more命令可以每次只显示一页。按回车继续显示下一页。
- RPM:管理rpm软件,这个命令类似于windows的添加删除程序功能。可以用它来查询、安装、卸载各个RPM软件。
- | :管道符,这个竖线其实不算命令,是一个拼接命令的连接符号。可以实现两个命令的复合使用,达到特殊的效果。比如ps -ef | grep apache ,就是在系统进程列表中查找是否有apache的进程。以此可以确认apache是否正常运行。
学会这些日常使用命令,你就可以将windows上常用的操作都完整的在linux上复现。
2、性能管理命令系统运行起来后,很多人都关心系统的运行性能。在windows上可以打开任务管理器来查看,而linux则需要学会使用以下命令来查看。
- top :动态地查看进程,通过这个命令,我们可以清楚地知道哪些进程占用CPU较多。
- Kill:终止指定的进程,这个命令结合前面的top或者ps命令,可以选择性终止掉异常的经常。
- free:查看内存情况,这个命令可以查看到系统内存的使用情况,包括总内存、已经使用的内存和空闲的内存。
- df:查看文件系统及硬盘状态,这个命令可以查看到文件系统所在硬盘分区的总容量、已使用容量和剩余容量。类似windows的磁盘管理。
- vmstat:监控系统资源,通过它可以查看到cpu、内存、swap、io等的状态,以此可以了解到当前系统中到底哪个环节占用系统较多。
- netstat:查看网络连接,这个命令在windows中也存在。就是查看当前所有的网络连接。
- iostat:查看系统IO的状态,这个命令可以查看到磁盘的读写速率和cpu的运行情况。
- ifstat:查看网络接口的状态,这个命令会统计网络接口的活动状态,包括上传速率和下载速率。
- ifconfig:查看网络接口配置,这个命令可以查看网络接口上配置的IP地址和掩码,和windows的ipconfig有相同的功效。
- tail:显示文件或管道数据的末尾部分,这个命令非常实用,经常被工程师们用来实时监控日志文件。
linux系统的命令非常之多,如果只是日常使用,学习上面的基础命令就可以应对了。如果想要真正深入掌握linux,那还是建议去培训学习RHCE,这样会更加全面和系统些。