Shell脚本学习:常用命令与实例解析

需积分: 10 1 下载量 130 浏览量 更新于2024-07-25 收藏 101KB DOC 举报
"这篇文档是针对初学者的shell学习指南,包含了大量常用shell命令的解释和示例,有助于快速掌握shell脚本编写的基础知识。" 在Linux或Unix系统中,shell是用户与操作系统交互的界面,它允许用户通过命令行执行操作。以下是一些重要的shell命令及其用途: 1. `clear`:清空终端屏幕,使界面变得整洁。 2. `cd`:改变工作目录。`cd ..`将返回上一级目录,`cd $MYPATH`则会进入由环境变量$MYPATH指定的目录。 3. `ls -l`:列出当前目录中的文件和目录,包括详细信息,如权限、大小和日期。 4. `ls -al`:列出所有文件,包括隐藏文件(以`.`开头的文件)。 5. `whoami`:显示当前登录的用户名。 6. `cd mydir`:进入名为`mydir`的目录。 7. `cd my*`:如果只有一个以`my`开头的目录,将进入该目录(通配符`*`用于匹配多个字符)。 8. `tar cvf ddd.tar abc.* defghi`:创建一个名为`ddd.tar`的归档文件,包含`abc.*`和`defghi`文件或目录。 9. `tar xvf ddd.tar`:解压缩`ddd.tar`文件。 10. `rm -rf mydir`:删除`mydir`目录,不进行确认提示,小心使用,因为这将永久删除目录及其内容。 11. `grep abc *.pc`:在所有`.pc`文件中查找包含`abc`的行。 12. `grep -c abc *.txt`:统计所有`.txt`文件中包含`abc`的行数。 13. `grep -i abc *.txt`:大小写不敏感地查找所有`.txt`文件中包含`abc`的行。 14. `set | grep TL_ABC`:在环境变量中搜索包含`TL_ABC`的条目。 15. `diff abc.txt /usera/def.txt`:比较两个文件`abc.txt`和`/usera/def.txt`的差异。 16. `find . -name "abc*"`:在当前目录及其子目录中查找以`abc`开头的文件。 17. `cp -p abc.txt /mydir/abc_d.txt`:复制`abc.txt`到`/mydir`目录下,并保留原有属性。 18. `ps -ef | grep UserA`:列出属于`UserA`的所有进程。 19. `shellABC.sh > abc.log`:将`shellABC.sh`脚本的输出重定向到`abc.log`文件,覆盖原有内容。 20. `shellABC.sh >> abc.log`:追加`shellABC.sh`脚本的输出到`abc.log`文件。 21. `exit`:退出当前shell会话。 22. `su - userABC`:切换到`userABC`用户身份。 23. `last`:显示最近的登录记录。 24. `Esc + K`:重复上一次输入的命令,多次`k`可向上浏览历史命令。 25. `Esc + i` 和 `Esc + x`:编辑命令行,`i`用于插入模式,`x`用于删除。 26. `ipcs -oq | grep 5000`:查看消息队列,过滤出与5000相关的条目。 27. `make`:根据当前目录下的`Makefile`自动编译源代码。 28. `man sighold` 和 `man socket`:查看函数`sighold`和`socket`的定义。 29. `cat abc.txt`:显示`abc.txt`文件的全部内容。 30. `more abc.txt`:分页查看`abc.txt`文件内容。 31. `vi abc.txt`:使用`vi`编辑器编辑`abc.txt`文件。 32. `netstat -i`:显示网络接口的状态。 33. `netstat -r`:查看路由表信息。 34. `alias pss='ps -ef | grep abc'`:创建别名`pss`,方便快速执行`ps -ef | grep abc`命令。 35. `PS1='$PWD>'`; export PS1:设置命令提示符显示当前目录。 36. `set -o vi`:启用vi编辑模式,使得在命令行可以使用vi的快捷键。 37. `cp /dev/null abc.log`:清空`abc.log`文件内容。 38. `source ~/.profile`:更新`~/.profile`文件,无需重新登录即可生效。 39. `set | grep ABC` 或 `env`:查看包含`ABC`的环境变量。 40. `who | wc -l`:统计当前在线用户数量。 41. `pwd`:显示当前工作目录。 42. `ipcs -oq`:查看消息队列的状态。 43. `tail -f abc`:持续监控`abc`文件的尾部,当文件有新内容时实时显示。 这些命令是shell脚本编程和日常系统管理的基础,熟练掌握它们能极大地提高工作效率。通过实践和练习,你可以更深入地理解这些命令,并利用它们来解决各种问题。