linux操作系统的应用层可以细分为两层:1.系统服务层(包括GUI shell、CUI shell、cron、ftp、远程登录openssh等由init调用的服务)2.系统命令和用户应用。
linux系统开机后最终会由GUI shell服务或CUI shell(bash、ksh、csh等)服务为用户提供一个运行程序的界面。用户在这个界面上可以运行linux提供的基本命令和其他程序。为了更好地管理好linux系统,就必须对常用的基本命令功能和用法有所了解。
linux命令通用语法为:命令名称 [命令选项] [命令参数]
其中的“命令选项”和“命令参数”都是可选的,命令的用法可以用man命令或info命令查看。命令选项就是命令的功能选项,命令参数一般指命令的操作的对象,linux的一切皆文件故常见命令都是以文件为参数。通常对文件的基本操作有:增、删、改、查。当然有些命令会对多个文件进行增删改查操作从而实现一定的功能。linux命令通过对各种文件的操作最终实现了系统的管理功能如:cpu管理(包括软件管理、进程管理和用户管理三方面,多用户多任务实现)、内存管理(proc文件系统)、磁盘管理(分成磁盘管理、fs管理、文件管理三个层次)、网络管理、声卡管理、显卡管理、键盘管理等。对所有的linux命令用户可以从要实现的系统功能角度进行分类。linux的所有常用命令都可在PATH环境变量提供的目录下查到。
为实现磁盘管理(包括文件系统和文件管理)功能,linux提供了很多命令,用户可以对文件的各个属性进行增删改查操作(包括文件名称,类型,权限,路径,用户,用户组,文件系统等)来学习和记忆,具体划分如下:
1.对文件的“增”操作,常见的有以下命令:mkdir、touch、vi|vim(vi可以算用户应用,跟emacs、gedit类似)、输出重定向符 > 、>>、cp、cpio、ln、mknod、mksock、mkiosfs、mkfs、mke2fs、fdisk、compress、gzip、bzip2、tar、dump等
2.对文件的“删”操作,常见的有以下命令:rmdir(只能删除空文件夹)、rm
3.对文件的“改”操作,常见的有以下命令:cd、mv、chmod、chown、chgrp、chattr、vi、>、>>、cut、wc、sort、seq、xargs、mount、umount等
4.对文件的“查”操作,常见的有以下命令:ls、echo、pwd、uname、cat、tac、more、less、head、tail、od、lsattr、find、grep、sed、awk、vi、du、df、dd、fcheck、zcat、bzcat等
注:对于文件的所属磁盘和文件系统这两个特性,可以通过分区和格式化的过程来记忆(fdisk、mkfs、fcheck、mount)
为实现cpu管理(软件管理、进程管理、用户管理)功能,linux也提供了相应的命令,具体记忆方法如下:
1.软件管理:rpm、yum、apt、源码编译安装等(需注意linux版本和依赖的问题)
2.进程管理:ps、pstree、top、kill、crontab、at等
3.用户管理:useradd、userdel、passwd、usermod、chage、groupadd、groupdel、groupmod、gpasswd、finger、su、sudo、who、w、write、wall等(需关注passwd、shadow、group等相关文件)
为实现内存管理功能,linux也提供了相应的命令(大多数都是查proc文件系统信息),具体如下:uname、dmsg、date、time等
为实现网络管理功能,linux也提供了相应的命令(解决网络问题的思路是从硬件层到软件层,即涉及到了网络设备文件、网卡配置、网络用户等相关文件),具体如下:ping、ifconfig、netstat、hostname
为实现键盘管理功能,linux也提供了相应的命令,具体如下:read
其他功能的管理命令用到时再查就好。