linux 查看u盘中的文件,[如何在Linux中运行U盘中的文件]

12-674-png_6_0_0_135_587_620_379_892.979_1262.879-1103-0-670-1103.jpg

我今天写了一个简单的脚本,并使用chmod + x路径向脚本添加了可执行权限,然后将其放置在U盘中. 运行时,我发现执行权限已消失,因此我直接在U盘中使用chmod + x路径给U脚本添加了权限,但是当我使用ls进行查看时,我仍然没有权限. 怎么了? ? ?

img_3_1412805009_4115408440_26.jpg

将U盘的脚本再次复制到桌面并添加权限. 使用ls查看权限. 但是当我复制到U盘时,权限消失了吗? ? ?使用chmod + x路径还是chmod + 777path均无效. 在U盘上直接执行脚本的想法行不通吗?

f6f73566227b5a2b74298fa55d662129.png

考虑了很长时间,我终于尝试了sh命令,因为无法分配可执行权限的问题导致无法使用./命令执行脚本,并且sh命令可以在不添加的情况下执行可执行权限.

aec4026adc387f2a782c04a77b294c9d.png

打开一个子外壳,以读取和执行fileName中的命令. fileName文件需要“执行权限”. 如果脚本是在U盘中执行的,则由于不能将执行权限添加到U盘中的脚本中,因此需要在脚本文件的第一行中添加指定的脚本标识符“#!/ Bin / sh”,否则执行无效.

sh命令是Shell命令语言解释器. 执行命令从标准输入中读取或从文件中读取(在当前bash环境中,它读取并执行fileName中的命令,而fileName文件不能具有“执行权限”). 通过用户输入命令与内核通信! Bourne Again Shell(即bash)是由Free Software Foundation(GNU)开发的shell,它是Linux系统中的默认shell. Bash不仅与Bourne Shell兼容linux如何进入u盘,而且还继承了C Shell和Korn Shell的优势.

使用命令sh xxx.sh直接运行脚本文件,并且可以在不添加可执行权限的情况下执行sh命令. 如果要将参数传递给脚本文件,则可以在以后直接添加linux如何进入u盘,例如: sh xxx.sh 1 23. 在脚本文件中使用$ 1,$ 2和$ 3来获取1、2、3. 分别

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/ruanjian/article-164268-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux读取U盘或者移动硬盘序列号并获取U盘或者移动硬盘分区名。基本原理如下: 当有外置 USB 插入的时候,会产生 /proc/scsi/usb-storage 目录,并在其产生数字文件(形如 1 2 3 4),此文件存储了设备相关信息。 相应的 /sys/class/scsi_device/ 目录会有 scsi 设备的目录(ide 硬盘默认无子目录,sata硬盘默认有子目录),以数字开头(形如 1:0:0:0 2:0:0:0) 这个数字与前面 /proc/scsi/usb-storage目录的相对应,子目录表示sata硬盘。比如 /sys/class/scsi_device/2:0:0:0/device/block 有USB设备,从该目录下得到U盘或者移动硬盘的分区名,比如sda1。 该demo实现了上述过程,先检查 /proc/scsi/usb-storage 目录,看是否有u盘或者移动硬盘接入,如果有则读取u盘或者移动硬盘的序列号,然后在/sys/class/scsi_device/目录下逐级查找,直到找到u盘或者移动硬盘的分区。 完整代码,可直接编译和测试,嵌入式环境下也是适应的。 在linux测试如下,id表示序列号,sdb1表示是分区名称: # ./a.out udisk dev num:0 udisk id:055CE21B ret:0 dev num:0 found dir:0:0:0:1 found dev dir:0:0:0:1,full path:/sys/class/scsi_device/0:0:0:1 sub founction found dir:sda found sd device dir:sda,full path:/sys/class/scsi_device/0:0:0:1/device/block/sda found dir:0:0:0:2 found dev dir:0:0:0:2,full path:/sys/class/scsi_device/0:0:0:2 sub founction found dir:sdb found sd device dir:sdb,full path:/sys/class/scsi_device/0:0:0:2/device/block/sdb found sd sub device dir:sdb1 found dir:0:0:0:0 found dev dir:0:0:0:0,full path:/sys/class/scsi_device/0:0:0:0 sub funciton Open Directory /sys/class/scsi_device/0:0:0:0/device/block Error:No such file or directory get name return:0,disk name:sdb1 # 因为有的USB设备会有好几个,比如把CD和U盘集成到一起,就会出现上面的情况,有多个子目录去查找。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值