首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux ./命令和sh命令

在Linux操作系统中,./命令和sh命令都是用于执行脚本或程序的,但它们的工作方式和应用场景有所不同。

./命令

基础概念

./命令用于执行当前目录下的可执行文件。这里的.代表当前目录,而/则是路径分隔符。当你使用./scriptname时,系统会在当前目录中查找名为scriptname的可执行文件并尝试运行它。

相关优势

  • 明确性:使用./可以明确指出要执行的文件位于当前目录。
  • 安全性:避免了执行系统路径中的同名文件,减少了意外执行错误程序的风险。

类型与应用场景

  • Shell脚本:通常用于执行.sh结尾的Shell脚本文件。
  • 二进制程序:也可以用于执行编译后的二进制可执行文件。

示例代码

假设你有一个名为hello.sh的Shell脚本,内容如下:

代码语言:txt
复制
#!/bin/bash
echo "Hello, World!"

首先,你需要给予脚本执行权限:

代码语言:txt
复制
chmod +x hello.sh

然后,你可以使用./命令来执行它:

代码语言:txt
复制
./hello.sh

sh命令

基础概念

sh命令是Bourne shell的缩写,用于执行Shell脚本。当你使用sh scriptname时,系统会调用sh解释器来运行指定的脚本文件。

相关优势

  • 兼容性sh命令通常指向系统的默认Shell解释器,具有良好的兼容性。
  • 灵活性:可以在不改变文件权限的情况下执行脚本。

类型与应用场景

  • 跨平台脚本:适用于需要在不同Unix-like系统中运行的脚本。
  • 快速测试:无需修改文件权限即可执行脚本,适合快速测试脚本功能。

示例代码

使用sh命令执行上述hello.sh脚本:

代码语言:txt
复制
sh hello.sh

遇到的问题及解决方法

问题1:权限不足

如果你尝试执行一个脚本但收到“Permission denied”错误,可能是因为脚本没有执行权限。

解决方法

代码语言:txt
复制
chmod +x scriptname

问题2:找不到文件

如果你收到“No such file or directory”的错误,可能是因为指定的文件不存在于当前目录或指定的路径不正确。

解决方法

  • 确认文件名拼写正确。
  • 使用ls命令检查文件是否存在于当前目录。

问题3:解释器错误

如果脚本开头没有指定正确的解释器路径(如#!/bin/bash),可能会遇到解释器找不到的问题。

解决方法

  • 确保脚本第一行指定了正确的Shell解释器路径。

通过理解这两个命令的区别和应用场景,你可以更有效地在Linux环境中管理和执行脚本文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux nohup命令输出日志_nohup运行sh文件

这不得不找到了一个Linux命令:nohup (二)基本用法 nohup command [arg … ] [ & ] 拿python test.py 为例子 一般我们运行命令是直接:python test.py.../start.sh >> /usr/local/node/output.log 2>&1 & 该命令是把nohup的log输出到/usr/local/node/output.log 这个文件中 2).../start.sh 该命令是把nohup的log直接输出到当前目录下并保存为nohup.log (四)查看运行的后台进程 1)当我们把进程运行到后台后,我们再找回的时候,就需要用到: ps -aux|...grep start.sh a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分 用ps -def | grep查找进程很方便,最后一行总是会grep自己 用grep...-v参数可以将grep命令排除掉 ps -aux|grep start.sh| grep -v grep 2)查看使用某端口的进程 netstat -ap|grep 8090 3)查看到进程id之后,

4.3K10
  • 常用DOS命令和Linux命令

    R表示正在运行,Z表示僵死状态,N表示 该进程优先值为负 %CPU:进程占用CPU的使用 %MEM:进程使用的物理内存和总内存的百分...linux,包括RedHat、SUSE、Debian等发行版。...//used2为第二行 free2= buffers1 + cached1 + free1 //free2为第二行、buffers1等为第一行 free2:未被使用的buffers 与cache 和未被分配的内存之和...命令模式下,输入:/字符串 比如搜索user, 输入/user 按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串 2. 查看下一个匹配,按下n(小写n) 3....~ 15 Linux命令:vi全局替换方法 语法为 :[addr]s/源字符串/目的字符串/[option] 全局替换命令为::%s/源字符串/目的字符串/g [addr]: 表示检索范围,省略时表示当前行

    1.8K20

    【Linux系列】Shell 命令:`echo ““ > img.sh`及其应用

    在 Linux 操作系统中,文件操作是日常管理工作中不可或缺的一部分。对于系统管理员和开发者来说,掌握如何高效地处理文件是一项基本技能。...命令背后的原理 在 Unix 和 Linux 系统中,文件被视为字节序列。当一个文件被创建时,它被分配了一个初始大小,通常是几个数据块。当你向文件写入数据时,这些数据会填充到文件的数据块中。...使用echo "" > img.sh命令可以快速创建这样的空文件。 5. 测试和开发 在软件开发和测试过程中,可能需要频繁地清空某些文件以模拟不同的运行环境。...结论 echo "" > img.sh是一个简单但功能强大的 shell 命令,它可以帮助我们快速清空文件内容。了解其背后的原理和应用场景,可以使我们在日常的系统管理和开发工作中更加高效。...随着对 Linux 命令行工具的深入学习,我们会发现更多这样的实用命令,它们将极大地提高我们的工作效率。

    10510

    Linux:chattr命令和chgrp命令

    Linux chattr命令 Linux chattr命令用于改变文件属性。 这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式: a:让文件或目录仅供附加用途。.../etc/resolv.conf 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件: chattr +a /var/log/messages Linux chgrp命令 Linux chgrp...命令用于变更文件或目录的所属群组。...--reference=  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。   --version  显示版本信息。...根据指定文件改变文件的群组属性 chgrp --reference=log2012.log log2013.log 输出: 说明: 改变文件log2013.log 的群组属性,使得文件log2013.log的群组属性和参考文件

    1.6K90

    zookeeper命令行(zkCli.sh&zkServer.sh)使用及四字命令

    zookeeper提供了很多方便的功能,方便我们查看服务器的状态,增加,修改,删除数据(入口是zkServer.sh和zkCli.sh)。...还提供了一系列四字命令,方便我们跟服务器进行各种交互,来确认服务器当前的工作情况(这也是服务器监控告警的基础)。...本文所讲的zkCli.sh和zkServer.sh均位于以下目录中: /usr/local/zookeeper-server1 目录分布情况请参考我的另一篇文章: zookeeper集群搭建 - https...dump 列出未经处理的会话和临时节点。 envi 输出关于服务环境的详细信息(区别于 conf命令)。 reqs 列出未经处理的请求 ruok 测试服务是否处于正确状态。...stat 输出关于性能和连接的客户端的列表。 wchs 列出服务器 watch的详细信息。

    2.6K80

    从linux命令行分享文件:bashupload.com和transfer.sh

    但当分享或接收的一端为远程服务器,只有命令行可以操作时,一个能支持在命令行完成分享和下载的工具,就会省下不少麻烦。 下面介绍两个工具。...bashupload.com 简介 借助bashupload.com,可以简单地从命令行上传文件,分析给其他的服务器,桌面和移动设备,最大支持25G。上传的文件会被保存7天,期间可以无限次下载。...浏览器操作 如果传输文件的一端不方便使用命令行,也可以通过浏览器进行上传和下载。 在首页即可上传文件。而上传后得到的下载链接,也可以从浏览器直接打开进行下载。...只要记住网址就行了,具体命令需要的时候,再上官网查即可。 transfer.sh 简介 这个官网看起来更fashion一些。 打开官网,同样在最开始给出了最重要的,上传命令示例。 ?...还可以自定义允许下载的次数和保存时间。 示例 直接使用curl命令即可上传文件,命令执行完成会给出下载的链接。 curl --upload-file .

    4.9K10

    linux每日命令(34):ps命令和pstree命令

    Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。...要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。...使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。...其他实例 可以用 | 管道和 more 连接起来分页查看 命令: ps -aux |more 把所有进程显示出来,并输出到ps001.txt文件 命令: ps -aux > ps001.txt 输出指定的字段...命令: ps -o pid,ppid,pgrp,session,tpgid,comm linux上进程的几种状态 下面内容来源于 https://blog.csdn.net/zy512638348/article

    2.3K30

    Linux命令详解:ping 和 traceroute命令

    Linux命令有很多,今天跟大家介绍常用的两个命令ping 、traceroute命令,按照工具的作用,原理,用法三个维度来理解。 一、ping 1.作用 探测端到端的连通性,包往返时延。...看上图的request和reply包,Identifier BE LE 相同,Identifier一般是发送的进程号。...Timestamp里面记录了传输时间戳和序列号。首先看request包里面的发送时间,和reply包里面的发送时间相同。 ? request中的timestamp字段 ?...输出参数解释:min/avg/max/stddev 前三个好理解,最后一个参数,mac下是stddev,linux下面是 mdev Mean Deviation,代表 ICMP 包的 RTT 偏离平均值的程度...这个包将发包的信息封装到了自己里面,可以和上一个图对比。 3.用法 常规的用法如上面,看下哪一个路径上的延时变大。

    11.1K21

    【Linux】linux工具和命令

    一、Linux常用命令: ls 显示当前目录下的文件 ls-a 显示当前目录下所有文件(包括隐藏文件) ls -l 显示文件和目录的详细资料 (属性,日期,时间,大小等) ls -al...显示所有文件和目录的详细资料 cd.....软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系. yum(Yellow dog Updater, Modifified)是Linux下非常常用的一种包管理器....和Windows文件互传 2.1直接进行拖拽即可 2.2 rz命令进行拷贝 //查看当前服务器安装了那些程序 yum list ​//在root用户下安装该程序 yum -y install...其实这是因为,下载链接其实已经在yum源进行了内置,所以知道去哪里下载,一般Linux操作系统,默认配置的yum源是国外的,访问速度很慢,我们需要替换yum文件,更新yum源(几行命令罢了,直接网上一查即可

    27220

    近日学习笔记:df -h和du -sh命令,查看linux版本,vbm管理工具,su命令,ssh服务升级技巧,source命令

    文章目录 df -h和du -sh区别 df -h查看整个系统中文件系统的使用情况 du -sh *查看当前目录下各个文件及目录占用空间大小 查看Linux系统版本的命令: VirtualBox管理工具...ssh服务升级 BBS-GO的安装 linux + 宝塔面板【进了解】 宝塔界面+数据库+NGINX的安装 source命令 ~目录和/目录的区别 df -h和du -sh区别 (du, disk usage.../configure的作用是检测系统配置,生成makefile文件,以便你可以用make和make install来编译和安装程序。...: wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ---- source命令 source...~目录和/目录的区别 pwd可以打印当前工作目录 * /就是根目录 * ~是指当前用户的家目录 root的~就表示/root tim的~就表示/home/tim 而cd命令不加任何路径可以直接进入~

    2K10

    Linux-mount命令和umount命令 (8)

    -f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。 -n 不把安装记录在/etc/mtab 文件中。 -r 讲文件系统安装为只读。 -v 详细显示安装信息。...-w 将文件系统安装为可写,为命令默认情况。...-t  指定设备的文件系统类型type,(可以省略,自动寻找类型),常见的有: ext2  linux目前常用的文件系统  msdos  MS-DOS的fat,就是fat16  vfat  windows98...noauto 允许/不允许以 –a选项进行安装 dev/nodev 对/不对文件系统上的特殊设备进行解释 exec/noexec 允许/不允许执行二进制代码 suid/nosuid 确认/不确认suid和sgid...-l:  等待卸载设备里的程序退出后再卸载,最好的办法是先用命令 ps aux 来查看占用设备的程序PID,然后用命令kill来杀死占用设备的进程,这样就能umount成功 实例: umount -a

    5K100

    Linux命令(66)——as命令

    1.命令简介 as命令是二进制工具集GNU Binutils的一员,是GNU推出的一款汇编语言编译器集,用于将汇编代码编译为二进制代码,它支持多种不同类型的处理器。...2.命令格式 as [options] 3.选项说明 @file:从文件中读取命令行选项,读取的选项将插入到原始@file选项的位置。 -a[cdghlmns]:开关列表。...必须是整型常量 -f:表示fast,跳过空白和注释预处理; -g,--gen-debug:产生调试信息; --help:显示帮助信息 -I :将目录加入到指令.include...displacements -L,--keep-locals:在符号表中保留本地符号; -o :指定要生成的目标文件 -R:将数据段折叠到代码段 --statistics:打印汇编所用的最大空间和总时间

    16.3K00

    Zookeeper命令行zkCli.sh&zkServer.sh的使用(四)

    上篇博文,我们成功的安装和启动了zookeeper服务器,zookeeper还提供了很多方便的功能,方便我们查看服务器的状态,增加,修改,删除数据(入口是zkServer.sh和zkCli.sh)。...zkServer.sh zookeeper启动成功之后,我们先看一下zkServer.sh提供的主要功能: 查看服务器状态 [yinpeng@slave1 zookeeper-3.4.9]$ ....zookeeper不仅提供了服务端命令,而且提供了客户端命令。 zkCli.sh 使用zkCli.sh可以连接zookeeper,以及在客户端操作zookeeper。 首先,连接zookeeper ....,然后修改node_1_3的数据值和版本号,版本号一致会修改成功,版本号不一致,抛出版本号无效的异常。...我们简单看一下其他的命令: history 打印出最近执行的十个命令 redo cmdno 根据命令编号(可用history查询编号)重新执行以前执行过的命令 close关闭当前连接,可用connect

    3.5K10
    领券