作者:gc(at)sysin.org,主页:www.sysin.org,转载请保留出处。
说明:以下方法也同样适用于 Linux。
常规版
创建文件:
1 2 3 4
| echo ' #!/bin/bash ls -ahlF ' > /usr/local/bin/ll
|
赋予执行权限:
1
| chmod +x /usr/local/bin/ll
|
写入环境变量(可选配置,默认不需要):
1
| echo 'alias ll="/usr/local/bin/ll"' >> ~/.bashrc
|
1
| echo 'alias ll="/usr/local/bin/ll"' >> ~/.zshrc
|
效果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| ~ % ll total 40 drwxr-xr-x+ 15 sa staff 480B 7 9 21:48 ./ drwxr-xr-x 5 root admin 160B 1 1 2020 ../ -r-------- 1 sa staff 9B 5 28 02:55 .CFUserTextEncoding [email protected] 1 sa staff 10K 6 30 19:47 .DS_Store drwx------ 2 sa staff 64B 7 9 21:48 .Trash/ -rw------- 1 sa staff 1.4K 6 30 20:50 .zsh_history drwx------ 7 sa staff 224B 7 9 21:48 .zsh_sessions/ drwx------+ 8 sa staff 256B 7 9 22:59 Desktop/ drwx------+ 3 sa staff 96B 5 28 02:55 Documents/ drwx------+ 3 sa staff 96B 5 28 02:55 Downloads/ [email protected] 60 sa staff 1.9K 7 3 06:06 Library/ drwx------+ 4 sa staff 128B 6 30 06:11 Movies/ drwx------+ 3 sa staff 96B 5 28 02:55 Music/ drwx------+ 4 sa staff 128B 6 30 06:09 Pictures/ drwxr-xr-x+ 4 sa staff 128B 5 28 02:55 Public/
|
高级版:以数字显示权限
这里我们把命令叫做 lll
命令:
1
| ls -lahF | awk '{k=0;s=0;for(i=0;i<=8;i++ ){k+=((substr($1,i+2,1)~/[rwxst]/)*2^(8-i))}j=4;for(i=4;i<=10;i+=3){s+=((substr($1,i,1)~/[stST]/)*j);j/=2}if(k){printf("%0o%0o ",s,k)}print}'
|
创建文件
在使用 cat EOF 中出现 $ 变量通常会直接被执行,显示执行的结果。若想保持 $ 变量不变需要使用 \ 符进行注释。
1 2 3 4
| cat > /usr/local/bin/lll <<EOF #!/bin/bash ls -lahF | awk '{k=0;s=0;for(i=0;i<=8;i++ ){k+=((substr(\$1,i+2,1)~/[rwxst]/)*2^(8-i))}j=4;for(i=4;i<=10;i+=3){s+=((substr(\$1,i,1)~/[stST]/)*j);j/=2}if(k){printf("%0o%0o ",s,k)}print}' EOF
|
赋予执行权限:
1
| chmod +x /usr/local/bin/lll
|
写入环境变量(可选配置,默认不需要):
1
| echo 'alias lll="/usr/local/bin/lll"' >> ~/.bashrc
|
1
| echo 'alias lll="/usr/local/bin/lll"' >> ~/.zshrc
|
效果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $ lll 0200 total 440 0755 drwxr-xr-x+ 31 sa staff 992B 11 4 14:16 ./ 0755 drwxr-xr-x 5 root admin 160B 5 27 18:41 ../ 0400 -r-------- 1 sa staff 9B 5 27 18:42 .CFUserTextEncoding 0644 [email protected] 1 sa staff 18K 11 4 12:45 .DS_Store 0755 drwxr-xr-x 5 sa staff 160B 11 4 11:05 .SwitchHosts/ 0700 drwx------ 2 sa staff 64B 11 4 11:50 .Trash/ 0755 drwxr-xr-x 3 root staff 96B 10 19 09:45 .config/ 0600 -rw------- 1 sa staff 13K 11 4 14:07 .viminfo 0600 -rw------- 1 sa staff 21K 11 4 14:15 .zsh_history 0644 -rw-r--r-- 1 sa staff 3.6K 11 4 14:15 .zshrc 0700 [email protected] 5 sa staff 160B 10 21 15:25 Applications/ 0700 [email protected] 47 sa staff 1.5K 11 4 14:24 Desktop/ 0700 [email protected] 4 sa staff 128B 10 30 11:54 Documents/ 0700 [email protected] 80 sa staff 2.5K 11 4 13:14 Downloads/ 0700 [email protected] 66 sa staff 2.1K 11 4 08:45 Library/ 0700 drwx------+ 4 sa staff 128B 5 27 18:43 Movies/ 0700 drwx------+ 6 sa staff 192B 10 28 12:48 Music/ 0700 drwx------+ 4 sa staff 128B 5 27 18:51 Pictures/ 0755 drwxr-xr-x+ 4 sa staff 128B 5 27 18:41 Public/
|
如果文章中使用的内容和图片侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有用,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!