shell脚本命令

2023-11-17

Shell命令是在类Unix操作系统中使用的命令行解释器(shell)中执行的命令。Shell命令可以用于执行系统命令、操作文件、进行文本处理、管理进程等。以下是一些常见的Shell命令:

1. `ls`:列出当前目录下的文件和文件夹。
2. `cd`:切换当前工作目录。
3. `pwd`:显示当前工作目录的路径。
4. `mkdir`:创建一个新目录。
5. `rm`:删除文件或目录。
6. `cp`:复制文件或目录。
7. `mv`:移动文件或目录,也可用于重命名。
8. `cat`:显示文件内容。
9. `more`:逐页显示文件内容。
10. `less`:与`more`类似,但支持向前和向后翻页。
11. `head`:显示文件的前几行。
12. `tail`:显示文件的后几行。
13. `grep`:在文件中搜索指定的模式。
14. `find`:按照指定条件查找文件。
15. `chmod`:修改文件权限。
16. `chown`:修改文件所有者。
17. `chgrp`:修改文件所属组。
18. `ps`:显示当前运行进程的状态。
19. `top`:实时显示系统中运行的进程和资源占用情况。
20. `kill`:终止指定的进程。
21. `wget`:从网络上下载文件。
22. `tar`:打包和解压文件。
23. `zip`和`unzip`:压缩和解压缩文件。
24. `ssh`:远程登录到另一台主机。
25. `scp`:在本地主机和远程主机之间复制文件。

继续上面的Shell命令介绍:

13. `chmod`:修改文件或目录的权限。
14. `chown`:修改文件或目录的所有者。
15. `chgrp`:修改文件或目录的所属组。
16. `ps`:列出当前运行的进程。
17. `top`:实时显示系统资源使用情况和运行的进程。
18. `kill`:终止指定的进程。
19. `wget`:从网络上下载文件。
20. `curl`:发送HTTP请求并获取响应内容。
21. `tar`:打包和解压文件。
22. `zip`和`unzip`:压缩和解压文件。
23. `ssh`:远程登录到另一台主机。
24. `scp`:在本地主机和远程主机之间复制文件。
25. `echo`:在终端输出文本或变量的值。
26. `export`:设置环境变量。
27. `history`:查看命令历史记录。
28. `alias`:创建命令别名。
29. `sed`:使用正则表达式进行文本处理。
30. `awk`:强大的文本处理工具。
31. `cut`:从文本中提取指定的列。
32. `sort`:对文本进行排序。
33. `uniq`:删除或统计重复的行。
34. `wc`:统计文件或文本的行数、字数和字符数。
35. `grep`:在文本中搜索指定的模式。
36. `tee`:将输出内容同时显示在终端和写入文件。
37. `ifconfig`:显示和配置网络接口信息。
38. `netstat`:显示网络连接和路由表。
39. `ping`:测试与目标主机的连通性。
40. `traceroute`:跟踪数据包的路径。

这只是一小部分常见的Shell命令,Shell在功能和灵活性方面非常丰富。要更多了解每个命令的详细用法和选项,可以使用命令的`man`页(例如:`man ls`)阅读其手册。此外,在互联网上还有许多Shell命令的教程和实例供参考。

 变量叠加: 

[root@localhost ~]$ test=123
[root@localhost ~]$ test="$test"456
[root@localhost ~]$ echo $test
123456
#叠加变量test,变量值变成了123456
[root@localhost ~]$ test=${test}789
[root@localhost ~]$ echo $test
123456789
#再叠加变量test,变量值编程了123456789

 

 readonly a  #只读变量

 

 expr 算数运算符

[root@localhost ~]$ vi computers.sh
#!/bin/bash
a=10
b=20
echo ' '
echo 'a+b= ' `expr $a + $b`
echo 'a-b= ' `expr $a - $b`
echo 'a*b= ' `expr $a \* $b`
echo 'a/b= ' `expr $a / $b`
echo 'a%b= ' `expr $a % $b`

#判断是否相等
if [ $a == $b ]
then
	echo 'a等于b'
else
	echo 'a不等于b'
fi

不支持字符串

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell脚本命令 的相关文章

  • 归档文件系统或格式

    我正在寻找一种文件类型来存储已退役系统的档案 目前 我们主要使用 tar gz 但从 200GB tar gz 存档中查找并提取几个文件是很麻烦的 因为 tar gz 不支持任何类型的随机访问读取规定 在你明白之前 使用 FUSE 安装 t
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • 为什么我收到“无法进行二进制日志记录”的信息。在我的 MySQL 服务器上?

    当我今天启动 MySQL 服务器并尝试使用以下命令进行一些更改时用于 MySQL 的 Toad http www quest com toad for mysql 我收到此消息 MySQL 数据库错误 无法进行二进制日志记录 消息 交易级别
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 从 Python 调用 PARI/GP

    我想打电话PARI GP http pari math u bordeaux fr dochtml gpman html仅从Python计算函数nextprime n 对于不同的n是我定义的 不幸的是我无法得到帕里蟒蛇 http code
  • 在哪里可以找到并安装 pygame 的依赖项?

    我对 Linux 比较陌生 正在尝试安装 python 的 pygame 开发环境 当我运行 setup py 时 它说我需要安装以下依赖项 我找到并安装了其中之一 SDL 然而 其他人则更加难以捉摸 Hunting dependencie
  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • nslookup 报告“无法解析 '(null)': 名称无法解析”,尽管它成功解析了 DNS 名称

    我在 ubuntu 上 并且正在运行 docker 默认桥接网络 我有 Zookeeper kafka 的容器化版本 以及我编写的与 kafka 对话的应用程序 I do a docker exec it
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at

随机推荐