查看当前shell的种类
-
查看当前发行版可以使用的shell:
chao@chao:~$ cat /etc/shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
-
查看当前使用的 shell :
chao@chao:~$ echo $0
bash
-
查看当前用户(默 认)使用的shell:
chao@chao:~$ echo $SHELL
/bin/bash
-
环境变量中shell的匹配查找
chao@chao:~$ env | grep SHELL
SHELL=/bin/bash
-
口令文件中 shell的匹配查找
chao@chao:~$ cat /etc/passwd | grep chao
chao:x:1000:1000:chao,340,6733,6733:/home/chao:/bin/bash
-
查看当前进程
chao@chao:~$ ps
PID TTY TIME CMD
4507 pts/0 00:00:00 bash
8688 pts/0 00:00:00 ps
-
先查看当前shell的pid,再定位到此 shell进程
chao@chao:~$ echo $$
4507
chao@chao:~$ ps -ef |grep 3052
chao 8710 4507 0 15:30 pts/0 00:00:00 grep --color=auto 3052
-
附:一条命令即可实现:
chao@chao:~$ ps -ef |grep `echo $$` |grep -v grep |grep -v ps
chao 4507 4505 0 09:30 pts/0 00:00:00 bash
find命令查找文件
-
过滤错误信息
由于find命令会输出很多无意义的无权限信息等,使得最终查找的文件根本不能在结果中找到。解决方案是将错误信息重定向到 /dev/null 中,以此来获取简明的查找信息。
// 错误信息
$ find ./ -name '*ssh*' -type f
输出:
./run/sshd.pid
find: ‘./run/lvm’: Permission denied
find: ‘./run/lock/lvm’: Permission denied
find: ‘./run/initramfs’: Permission denied
// 没有错误信息,更加简明
$ find ./ -name '*ssh*' -type f 2>/dev/null
输出:
./run/sshd.pid
-
-name匹配
在find命令中,-name选项后面接的表达式是通配符表达式,不是正则表达式。
通配符表达式是一种简单的模式匹配语法,它可以用来匹配文件名或路径名中的特定字符串。通配符表达式中常用的两个特殊字符是*和?,分别表示匹配任意长度的任意字符和匹配任意单个字符。
例如,-name "*.txt"表示查找文件名以.txt结尾的所有文件,而-name "file?.txt"表示查找文件名为fileX.txt(其中X可以是任意字符)的所有文件。
在find命令中,如果需要使用正则表达式来匹配文件名或路径名,可以使用-regex选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)