linux下调用popen执行命令,然后调用fgets读取命令输出,大部分命令可以执行,执行某条命令时fgets挂住起码你的代码有一个漏洞:第一次进入while时 , !feof(pipe)是在判断谁?说明你对feof()这个函数并没有掌握,它必须在逻辑上“紧跟”在读文件动作之后才能正确生效,这第一次是“紧跟”在哪个读动作之后?到了文件结尾处就更可笑了:经while(!feof(pipe))判断文件还没有结束,比如说文件中还剩一个最后的'\n' , 可是体中的if(fread(c,1,1,pipe)==1)中的fread函数还能读到什么?细节我就不说了,太长 。建议把
while(!feof(pipe)){
if(fread(c,1,1,pipe)==1){
result[i++]=c;
if(c==0)
break;
}
}
这一段改成
while(fread(c,1,1,pipe),!feof(pipe)){
result[i++]=c;
//if(c==0)//这两句考虑一下吧,文件中有0吗?不可能有0,所以逻辑就有问题 , 建议删除
//break;
}
一试 。
linux下用什么命令更改文件的读写执行权限?查看文件权限的语句:\x0d\x0a在终端输入:\x0d\x0als -l xxx.xxx (xxx.xxx是文件名)\x0d\x0a那么就会出现相类似的信息,主要都是这些:\x0d\x0a-rw-rw-r--\x0d\x0a一共有10位数\x0d\x0a其中: 最前面那个 - 代表的是类型\x0d\x0a中间那三个 rw- 代表的是所有者(user)\x0d\x0a然后那三个 rw- 代表的是组群(group)\x0d\x0a最后那三个 r-- 代表的是其他人(other)\x0d\x0a然后我再解释一下后面那9位数:\x0d\x0ar 表示文件可以被读(read)\x0d\x0aw 表示文件可以被写(write)\x0d\x0ax 表示文件可以被执行(如果它是程序的话)\x0d\x0a- 表示相应的权限还没有被授予\x0d\x0a现在该说说修改文件权限了\x0d\x0a在终端输入:\x0d\x0achmod o w xxx.xxx\x0d\x0a表示给其他人授予写xxx.xxx这个文件的权限\x0d\x0achmod go-rw xxx.xxx\x0d\x0a表示删除xxx.xxx中组群和其他人的读和写的权限\x0d\x0a其中:\x0d\x0au 代表所有者(user)\x0d\x0ag 代表所有者所在的组群(group)\x0d\x0ao 代表其他人,但不是u和g (other)\x0d\x0aa 代表全部的人 , 也就是包括u,g和o\x0d\x0ar 表示文件可以被读(read)\x0d\x0aw 表示文件可以被写(write)\x0d\x0ax 表示文件可以被执行(如果它是程序的话)\x0d\x0a其中:rwx也可以用数字来代替\x0d\x0ar ------------4\x0d\x0aw -----------2\x0d\x0ax ------------1\x0d\x0a- ------------0\x0d\x0a行动:\x0d\x0a 表示添加权限\x0d\x0a- 表示删除权限\x0d\x0a= 表示使之成为唯一的权限\x0d\x0a当大家都明白了上面的东西之后 , 那么我们常见的以下的一些权限就很容易都明白了:\x0d\x0a-rw------- (600) 只有所有者才有读和写的权限\x0d\x0a-rw-r--r-- (644) 只有所有者才有读和写的权限 , 组群和其他人只有读的权限\x0d\x0a-rwx------ (700) 只有所有者才有读 , 写,执行的权限\x0d\x0a-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限\x0d\x0a-rwx--x--x (711) 只有所有者才有读 , 写 , 执行的权限,组群和其他人只有执行的权限\x0d\x0a-rw-rw-rw- (666) 每个人都有读写的权限\x0d\x0a-rwxrwxrwx (777) 每个人都有读写和执行的权限
linux的常用命令有哪些呢???希望带上解释Linux常用命令大全
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
推荐阅读
- 索尼xperiaz是什么cpu,索尼xz cpu
- linuxoracle连接慢,oracle连接慢等了10秒钟
- java归一化代码,orgin归一化处理
- 解谜游戏觉醒索菲亚,索菲亚的复苏迷宫
- vb.net读取文件名 vbs 获取文件名
- 可以插u盘的电视机怎么用,能放u盘的电视机
- pg建数据库,pg数据库创建schema
- 安卓手机植入ios14系统,给安卓机装苹果系统
- 包含vb.netxor算法的词条