Linux命令flksl 查看文件内容的Linux命令
linux里面有很多以 .d 结尾的目录,d 代表什么意思?daemon or dir?
linux里面有很多以 .d 结尾的目录,.d是表示directory,目录的意思。
创新互联建站于2013年成立,是专业互联网技术服务公司,拥有项目成都做网站、网站制作、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元京口做网站,已为上家服务,为京口各地企业和个人服务,联系电话:18982081108
在Linux系统中通常为了保持对原有配置方式的兼容,而增加的.d结尾目录,如: /etc/X11/xorg.conf 这原本是个文件,现在也有了一个/etc/X11/xorg.conf.d这样的目录,显卡驱动的相关设置原本是放在/etc/X11/xorg.conf这个文件中的,现在为了配置文件的简洁和灵活性,可以将配置按照情况分配,放到/etc/X11/xorg.conf.d中,像“规则”一样的方式来添加,系统会自动去这个/etc/X11/xorg.conf.d里面去找这些规则并按照规则进行设置。这样可以保持之前相对于之前的/etc/X11/xorg.conf方法的兼容性。
linux 下怎么确定SD 是哪个盘
最好的方法,就是先别用你的menu.list了
可以先在Linux下面,用root执行fdisk -l
看看有没有windows格式的分区..
假如你看到有/dev/sda5是windows的分区...那么可以试试把(hd0,n)里面的分区号n换成 5-1=4(因为sda从1开始编号,hd从0开始编号). 再试试...
然后
进入grub之后,直接按C进入命令行模式
还是输入下面两行..
rootnoverify (hd0,3) //回车
chainloader +1 //回车
然后输入boot回车即可..
能进去就是找到了,进不去的话,ctl+ALt+DEl重启,再来一次
按照这个方法,你再修改下分区号,就是(hd0,3),把3替换成别的,挨个试试,从0开始试。。。
能进去的话,再修改你的/boot/grub/menu.list文件的动西就OK了..
PS:我记得应该是有这个文件的..menu.lst或者menu.list...我用的也是fedora,从10-13我都用过,fedora 14我就不知道了....就算没有的话,修改grub.conf也应该可以的..
楼下在说啥,支持NTFS为啥要重新编译内核,feodra的内核自动默认就是支持NTFS和FAT32的。。。
(hd0,3)是一种硬盘分区的表示方法,代表的是,第一块硬盘的第3个分区,从0开始计算的,比如c盘就是hd(0,0)。还有一种表示方法,用sd表示,比如sda4表示的是和(hd0,3)同样的分区,a就是第一块硬盘,4就是分区号,从1开始计算的,所以C盘一般就是sda1。
fdisk 是Linux下的一个分区工具,一般用来查看分区。fdisk -l就是查看所有分区的详细信息,给你看下我的fdisk -l的输出:
[root@myhost ksl]# fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x624aa2e0
Device Boot Start End Blocks Id System
/dev/sda1 * 63 16852184 8426061 7 HPFS/NTFS
/dev/sda2 16852185 156296384 69722100 f W95 Ext'd (LBA)
/dev/sda5 16852248 67617584 25382668+ b W95 FAT32
/dev/sda6 67617648 109563299 20972826 b W95 FAT32
/dev/sda7 109563363 110221964 329301 83 Linux
/dev/sda8 110222028 111860594 819283+ 83 Linux
/dev/sda9 111860658 128648519 8393931 83 Linux
/dev/sda10 128648583 156296384 13823901 83 Linux
linux下exec 函数第一个参数和第二个参数的区别
哪里写的这些...好乱阿..
先解释下基本的:
int main(argc,char * argv[])
main的参数,就是命令行参数.
比如你的可执行文件是test,你希望在程序执行时传入IP地址,那么可以这样:
./test 127.0.0.1
此时,argc =1,argv[1]是就是指向"127.0.0.1"指针(命令参数全部当作字符串来处理的)。
而 argv[0]就代表第一个参数,这里对应的就是"./test"。
argc和argv在mian里面都是可以使用的,出了main的范围就不能使用了。
再来说你提出的第一个地方,exec的问题。
exec实际上包含了一组函数,execl, execlp, execle, execv, execvp, execvpe
具体使用方法,你man execv就可以得到这些函数的使用方法。
exec函数的作用是,产生一个新进程,结束当前进程(具体执行的操作是复制当前进程的一部分数据和权限,然后根据参数启动一个新的进程)。
exec这组函数执行时候,需要提供的参数包括:一个可执行程序的路径,传递给可执行程序的参数。(这里的参数,与刚才说到的main的参数含义相同。)
说到这里应该明白了吧...就一个。
我不知道你要hello world干什么...照你意思给写了个.
第一个,就是你贴出来的代码改动一点点(我这边运行有点问题):
#include stdio.h
main(int argc,char* argv[])
{
int i=0
while(i=argc)
{
printf("arguement %d : %s ",i,argv[i]);
printf("\n");
i++;
}
}
运行程序:
$gcc test.c -o test
$./test hello world
输出结果:
[ksl@myhost WGX]$ ./test hello world
Arguement 0:./test
Arguement 1:hello
Arguement 2:world
Arguement 3:(null)
然后第二个,使用exec的例子,我用execl吧..
文件名是test1.c
#include stdlib.h
#include stdio.h
#include unistd.h
void main(int argc,char *argv[])
{
printf("This is not exec...");
execl("./test","hello","world",NULL);
//如果exec执行正常,下面的printf将不会被执行
//因为当前进程已经结束,./test将被执行
printf("exec error");
}
输出结果:
[ksl@myhost WGX]$ ./test1
Arguement 0:hello
Arguement 1:world
Arguement 2:(null)
后者并没输出"./test"....就是exec启动的程序,其命令行参数中只有参数.(我也不晓得原因...=.=||)
网站标题:Linux命令flksl 查看文件内容的Linux命令
标题网址:http://cdiso.cn/article/dosiiig.html