linux 命令使用2--sort
1. 简介
以行为单位对文本文件的内容进行排序,将结果显示在标准输出,比较原则是从行首字符向后,依次按 ASCII 码值进行比较,最后按升序输出。如果 file 参数指定多个文件,那么 sort 命令将这些文件纵向连接起来,当作一个文件进行排序。
不加任何选项时,将对整行从第一个字符开始依次向后直到行尾按照 ASCII 码值做升序排序。
2. 选项说明
- -n:
--numeric-sort
按数值大小排序
- -r:
--reverse
逆向输出排序结果(降序排序)
- -k:
-key=POS1[,POS2]
以第 POS1 栏到 POS2 栏排序,默认到最后一栏
- -t:
--field-separator=SEP
指定排序时使用的分隔字符,sort命令默认字段分隔符为空格和Tab
3. 实例
3.1. 按照cpu降序排序:
ps aux|head -1;ps auxw|sort -rn -k3
|
1
2
3
4
5
6
7
|
zhancj@iZbp10j40ovkbwx9an9ppuZ:~$ ps aux|head -1;ps auxw|sort -rn -k3 |head -5USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 13338 6.0 1.1 2640268 92228 ? Ssl 2021 20668:50 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-driver=cgroupfs --hostname-override=iz2zeabl8ta0jq1nd850igz --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.2 --resolv-conf=/run/systemd/resolve/resolv.confroot 14082 3.4 4.1 573712 337000 ? Ssl 2021 11680:40 kube-apiserver --advertise-address=172.16.207.15 --allow-privileged=true --authorization-mode=Node,RBAC --client-ca-file=/etc/kubernetes/pki/ca.crt --enable-admission-plugins=NodeRestriction --enable-bootstrap-token-auth=true --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key --etcd-servers=https://127.0.0.1:2379 --insecure-port=0 --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key --requestheader-allowed-names=front-proxy-client --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt --requestheader-extra-headers-prefix=X-Remote-Extra- --requestheader-group-headers=X-Remote-Group --requestheader-username-headers=X-Remote-User --secure-port=6443 --service-account-key-file=/etc/kubernetes/pki/sa.pub --service-cluster-ip-range=10.96.0.0/12 --service-node-port-range=1-65535 --tls-cert-file=/etc/kubernetes/pki/apiserver.crt --tls-private-key-file=/etc/kubernetes/pki/apiserver.keyroot 19940 2.2 0.2 279352 23588 ? S<sl Aug15 99:35 /usr/local/aegis/aegis_client/aegis_11_35/AliYunDunsystemd+ 10798 1.6 6.3 1298728 519196 ? Ssl 2021 5770:22 consul agent -data-dir=/consul/data -config-dir=/consul/config -server -bootstrap-expect=3 -ui -data-dir=/consul/data -bind=0.0.0.0 -client=0.0.0.0 -advertise=10.244.0.7 -retry-join=consul-server-0.consul-server.default.svc.cluster.local -retry-join=consul-server-1.consul-server.default.svc.cluster.local -retry-join=consul-server-2.consul-server.default.svc.cluster.local -domain=consul -disable-host-node-idroot 14284 1.6 0.8 215000 66268 ? Ssl Jul05 1016:49 kube-controller-manager --allocate-node-cidrs=true --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf --bind-address=127.0.0.1 --client-ca-file=/etc/kubernetes/pki/ca.crt --cluster-cidr=10.244.0.0/16 --cluster-name=kubernetes --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt --cluster-signing-key-file=/etc/kubernetes/pki/ca.key --controllers=*,bootstrapsigner,tokencleaner --kubeconfig=/etc/kubernetes/controller-manager.conf --leader-elect=true --node-cidr-mask-size=24 --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt --root-ca-file=/etc/kubernetes/pki/ca.crt --service-account-private-key-file=/etc/kubernetes/pki/sa.key --service-cluster-ip-range=10.96.0.0/12 --use-service-account-credentials=true |
这句话是为了输出第一行的字段意义:ps aux|head -1;
3.2. 按照内存百分比降序排序:
ps auxw|head -1;ps auxw|sort -rn -k4
|
1
2
3
4
5
6
|
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDsystemd+ 10973 1.3 6.4 1298920 529780 ? Ssl 2021 4623:36 consul agent -data-dir=/consul/data -config-dir=/consul/config -server -bootstrap-expect=3 -ui -data-dir=/consul/data -bind=0.0.0.0 -client=0.0.0.0 -advertise=10.244.0.6 -retry-join=consul-server-0.consul-server.default.svc.cluster.local -retry-join=consul-server-1.consul-server.default.svc.cluster.local -retry-join=consul-server-2.consul-server.default.svc.cluster.local -domain=consul -disable-host-node-idroot 25312 0.0 6.4 1019320 526456 ? Sl Aug17 0:45 gunicorn: worker [mage_omp.wsgi:application]systemd+ 10798 1.6 6.3 1298728 519196 ? Ssl 2021 5770:24 consul agent -data-dir=/consul/data -config-dir=/consul/config -server -bootstrap-expect=3 -ui -data-dir=/consul/data -bind=0.0.0.0 -client=0.0.0.0 -advertise=10.244.0.7 -retry-join=consul-server-0.consul-server.default.svc.cluster.local -retry-join=consul-server-1.consul-server.default.svc.cluster.local -retry-join=consul-server-2.consul-server.default.svc.cluster.local -domain=consul -disable-host-node-idsystemd+ 7269 1.3 6.1 1230756 501804 ? Ssl 2021 4592:27 consul agent -data-dir=/consul/data -config-dir=/consul/config -server -bootstrap-expect=3 -ui -data-dir=/consul/data -bind=0.0.0.0 -client=0.0.0.0 -advertise=10.244.0.4 -retry-join=consul-server-0.consul-server.default.svc.cluster.local -retry-join=consul-server-1.consul-server.default.svc.cluster.local -retry-join=consul-server-2.consul-server.default.svc.cluster.local -domain=consul -disable-host-node-idroot 14082 3.4 4.1 573712 337000 ? Ssl 2021 11680:45 kube-apiserver --advertise-address=172.16.207.15 --allow-privileged=true --authorization-mode=Node,RBAC --client-ca-file=/etc/kubernetes/pki/ca.crt --enable-admission-plugins=NodeRestriction --enable-bootstrap-token-auth=true --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key --etcd-servers=https://127.0.0.1:2379 --insecure-port=0 --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key --requestheader-allowed-names=front-proxy-client --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt --requestheader-extra-headers-prefix=X-Remote-Extra- --requestheader-group-headers=X-Remote-Group --requestheader-username-headers=X-Remote-User --secure-port=6443 --service-account-key-file=/etc/kubernetes/pki/sa.pub --service-cluster-ip-range=10.96.0.0/12 --service-node-port-range=1-65535 --tls-cert-file=/etc/kubernetes/pki/apiserver.crt --tls-private-key-file=/etc/kubernetes/pki/apiserver.key |
3.3. 按照内存量降序排序:
ps aux|head -1;ps auxw|sort -rn -k6
|
1
2
3
4
5
6
7
|
zhancj@iZbp10j40ovkbwx9an9ppuZ:~$ ps aux|head -1;ps auxw|sort -rn -k6 |head -5USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDsystemd+ 10973 1.3 6.4 1298920 529780 ? Ssl 2021 4623:37 consul agent -data-dir=/consul/data -config-dir=/consul/config -server -bootstrap-expect=3 -ui -data-dir=/consul/data -bind=0.0.0.0 -client=0.0.0.0 -advertise=10.244.0.6 -retry-join=consul-server-0.consul-server.default.svc.cluster.local -retry-join=consul-server-1.consul-server.default.svc.cluster.local -retry-join=consul-server-2.consul-server.default.svc.cluster.local -domain=consul -disable-host-node-idroot 25312 0.0 6.4 1019320 526456 ? Sl Aug17 0:46 gunicorn: worker [mage_omp.wsgi:application]systemd+ 10798 1.6 6.3 1298728 519196 ? Ssl 2021 5770:24 consul agent -data-dir=/consul/data -config-dir=/consul/config -server -bootstrap-expect=3 -ui -data-dir=/consul/data -bind=0.0.0.0 -client=0.0.0.0 -advertise=10.244.0.7 -retry-join=consul-server-0.consul-server.default.svc.cluster.local -retry-join=consul-server-1.consul-server.default.svc.cluster.local -retry-join=consul-server-2.consul-server.default.svc.cluster.local -domain=consul -disable-host-node-idsystemd+ 7269 1.3 6.1 1230756 501804 ? Ssl 2021 4592:27 consul agent -data-dir=/consul/data -config-dir=/consul/config -server -bootstrap-expect=3 -ui -data-dir=/consul/data -bind=0.0.0.0 -client=0.0.0.0 -advertise=10.244.0.4 -retry-join=consul-server-0.consul-server.default.svc.cluster.local -retry-join=consul-server-1.consul-server.default.svc.cluster.local -retry-join=consul-server-2.consul-server.default.svc.cluster.local -domain=consul -disable-host-node-idroot 14082 3.4 4.1 573712 337000 ? Ssl 2021 11680:46 kube-apiserver --advertise-address=172.16.207.15 --allow-privileged=true --authorization-mode=Node,RBAC --client-ca-file=/etc/kubernetes/pki/ca.crt --enable-admission-plugins=NodeRestriction --enable-bootstrap-token-auth=true --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key --etcd-servers=https://127.0.0.1:2379 --insecure-port=0 --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key --requestheader-allowed-names=front-proxy-client --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt --requestheader-extra-headers-prefix=X-Remote-Extra- --requestheader-group-headers=X-Remote-Group --requestheader-username-headers=X-Remote-User --secure-port=6443 --service-account-key-file=/etc/kubernetes/pki/sa.pub --service-cluster-ip-range=10.96.0.0/12 --service-node-port-range=1-65535 --tls-cert-file=/etc/kubernetes/pki/apiserver.crt --tls-private-key-file=/etc/kubernetes/pki/apiserver.key |
3.4. /etc/passwd 内容以冒号:来分隔,以第三栏至行末尾栏来排序。
cat /etc/passwd | sort -t ':' -n -k3
按照整数排序
zhancj@iZbp10j40ovkbwx9an9ppuZ:~$ cat /etc/passwd | sort -t ':' -n -k3 root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin

浙公网安备 33010602011771号