1. 简介
Aix和Linux都是Unix操作系统的一种。虽然它们有很多相似之处,但在一些细节上有一些不同点。本文将比较两个系统中的常用命令,以此来探究它们之间的差异。
2. 目录结构
2.1 Aix目录结构
Aix的目录结构是一棵树形结构,/是根目录,下面有许多子目录,每个子目录下又可以包含子目录。其中比较重要的目录及其功能如下:
/bin
:包含了一些最基本的命令,如ls
和cp
。
/usr/bin
:包含了一些用户级别的应用程序。
/etc
:包含一些系统的配置文件。
/dev
:包含了一些设备文件,如/dev/sda
。
/lib
:包含了一些库文件。
Aix的文件系统中,所有的设备和文件都是节点,每个节点都有一个唯一的节点号。
在Aix中,可以通过lsdev
命令来列出所有的设备,并通过mkdev
来创建自定义的设备。
$ lsdev
crw-rw-rw- 1 root system 16, 0 Oct 15 17:19 dump
drwxr-xr-x 2 root system 256 Oct 15 17:19 hd1
drwxr-xr-x 2 root system 256 Oct 15 17:19 hd2
lrwxrwxrwx 1 root system 7 Oct 15 17:19 hdisk0 -> scsi0
lrwxrwxrwx 1 root system 7 Oct 15 17:19 hdisk1 -> scsi1
lrwxrwxrwx 1 root system 7 Oct 15 17:19 hdisk2 -> scsi2
crw-rw-rw- 1 root system 13, 0 Oct 15 17:19 hdiskpower0
crw-rw-rw- 1 root system 10, 0 Oct 15 17:19 hvc0
2.2 Linux目录结构
Linux的目录结构和Aix比较相似,/同样是根目录,而其他目录的功能也基本相同。
/bin
:包含了一些最基本的命令,如ls
和cp
。
/usr/bin
:包含了一些用户级别的应用程序。
/etc
:包含一些系统的配置文件。
/dev
:包含了一些设备文件,如/dev/sda
。
/lib
:包含了一些库文件。
在Linux中,同样可以通过lsblk
命令来列出所有的设备,但并不能通过命令直接创建自定义的设备,需要在内核中进行编译配置。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 55.9G 0 disk
├─sda1 8:1 0 953M 0 part /boot
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 55G 0 part
├─vg1-root 253:0 0 46.5G 0 lvm /
├─vg1-swap 253:1 0 2G 0 lvm [SWAP]
└─vg1-home 253:2 0 6.4G 0 lvm /home
3. 命令比较
3.1 文件操作命令
文件操作是Unix系统中比较基础的操作,下面比较一些常见的文件操作命令。
3.1.1 ls
ls
是目录内容的列表命令,用于显示指定目录下的文件和子目录。在Aix中,ls
命令不支持-h
选项,需要使用du -k
来查看文件的大小。在Linux中,ls
命令支持-h
选项,可以将文件大小以人类可读的方式显示。
$ ls -l data.txt
-rw-r--r-- 1 test staff 14 Oct 15 17:19 data.txt
$ ls -lh data.txt
-rw-r--r-- 1 test staff 14B Oct 15 17:19 data.txt
$ du -k data.txt
4 data.txt
3.1.2 cp
cp
是复制文件的命令,可以将一个文件复制到另一个文件或目录中。在Aix中,cp
命令默认不保留文件的所有权和权限信息,需要加上-p
选项来保留这些信息。而在Linux中,cp
命令默认会保留文件的所有权和权限信息。
$ cp a.txt b.txt
$ ls -l a.txt b.txt
-rw-r--r-- 1 test staff 35 Oct 15 17:19 a.txt
-rw-r--r-- 1 test staff 35 Oct 15 17:19 b.txt
$ cp -p a.txt c.txt
$ ls -l a.txt c.txt
-rw-r--r-- 1 test staff 35 Oct 15 17:19 a.txt
-rw-r--r-- 1 test staff 35 Oct 15 17:19 c.txt
3.2 网络操作命令
网络操作是Unix系统中非常重要的一块内容,下面比较一些常见的网络操作命令。
3.2.1 ping
ping
是测试网络连接情况的命令,可以用于检测网络连接是否正常。在Aix中,ping
命令不支持-c
选项,需要手动中断程序来停止ping。而在Linux中,ping
命令支持-c
选项,可以指定ping的次数。
$ ping www.baidu.com
$ ping -c 4 www.baidu.com
3.2.2 netstat
netstat
是查看网络状态的命令,可以查看当前系统中的网络连接状态。在Aix和Linux中,netstat
命令的输出格式有所不同。
$ netstat
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 192.168.1.100.62080 172.217.167.195.80 ESTABLISHED
$ netstat -tulpn
tcp6 0 0 :::22 :::* LISTEN 1093/sshd
udp6 0 0 :::123 :::* 743/chronyd
4. 结论
本文对Aix和Linux下的部分常用命令进行了比较,从目录结构和命令使用两个方面进行了分析。可以看到,在大多数情况下,Aix和Linux都有相似的目录结构和命令使用方式,但在一些细节上则存在不同。为了在两个系统之间快速切换,需要熟悉两个系统下的共性和差异,从而更好地使用它们。