linux代码中
⑴ linux中如何用代码将/etc目录以tar.gz的格式压缩到/tmp中
命令:tar -czvf /tmp/etc.tar.gz /etc
tar.gz格式其实是表示先以tar格式进行打包,再以gzip格式对打包后的tar文件进行压缩。
目前可以直接运行tar命令进行打包加压缩,具体格式如下:
tar -cz 目标文件名.tar.gz -f 源目录或文件
可以加-v参数在打包过程中看到详细打包过程,即:
tar -czv 目标文件名.tar.gz -f 源目录或文件
参数解释:
-c:创建tar包
-z:以gzip格式压缩文件
-f:输出文件
⑵ linux内核源代码怎么看
一般在Linux系统中的/usr/src/linux*.*.*(*.*.*代表的是内核版本,如2.4.23)目录下就是内核源代码(如果没有类似目录,是因为还没安装内核代码)。另外还可从互连网上免费下载。注意,不要总到http://www.kernel.org/去下载,最好使用它的镜像站点下载。请在http://www.kernel.org/mirrors/里找一个合适的下载点,再到pub/linux/kernel/v2.6/目录下去下载2.4.23内核。 代码目录结构 在阅读源码之前,还应知道Linux内核源码的整体分布情况。现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络等组成。Linux内核源码的各个目录大致与此相对应,其组成如下(假设相对于Linux-2.4.23目录): 1.arch目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。 2.include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下。 3.init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件。这是研究核心如何工作的好起点。 4.mm目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下。 5.drivers目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound。 6.ipc目录包含了核心进程间的通信代码。 7.moles目录存放了已建好的、可动态加载的模块。 8.fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录。 Kernel内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下。 9.net目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面。 10.lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下。 11.scripts目录包含用于配置核心的脚本文件。 12.documentation目录下是一些文档,是对每个目录作用的具体说明。 一般在每个目录下都有一个.depend文件和一个Makefile文件。这两个文件都是编译时使用的辅助文件。仔细阅读这两个文件对弄清各个文件之间的联系和依托关系很有帮助。另外有的目录下还有Readme文件,它是对该目录下文件的一些说明,同样有利于对内核源码的理解。 在阅读方法或顺序上,有纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行;所谓横向,就是按模块进行。它们经常结合在一起进行。对于Linux启动的代码可顺着Linux的启动顺序一步步来阅读;对于像内存管理部分,可以单独拿出来进行阅读分析。实际上这是一个反复的过程,不可能读一遍就理解。⑶ 在linux中如何在代码中实现shell中实现的功能
(1)建立一个目录 mkdir -p /var/run/fruinfo/
(2)新建并编辑这个文件 /var/run/fruinfo/LCHAS
文件里面写入N,这个N每次都不同,可以在执行脚本时候定义,然后保存退出
(3)建立一个目录 mkdir -p /var/run/frus/
(4)新建编辑这个文件 /var/run/frus/slot
文件里面写入X,这个X每次都不同,可以在执行脚本时候定义,然后保存退出
⑷ 在linux中代码放在哪个目录
一般来说,放在/bin目录里,但也不是绝对,你可以用echo $PATH来查看
环境变量。他显示你的环境变量。里面是可执行代码文件。
还可以用which命令来查看命令代码的存放位置。比如:which cp 系统就会显示cp命令存放的目录位置,当然系统为了防止用户修改,数据都加密了,看到的都是乱码。如果您需要查看源代码,则:shell的源代码在GNU的fileutils-4.1.tar.gz包里。更多Linux介绍可查看《Linux命令大全”。
⑸ linux 中常用的代码~
这个是最常用的最基础的命令
su
su命令是最基本的命令之一,常用于不同用户间切换。例如,如果登录为 user1,要切换为user2,只要用如下命令:
$su user2
然后系统提示输入user2口令,输入正确的口令之后就可以切换到user2。完成之后就可以用exit命令返回到user1。
su命令的常见用法是变成根用户或超级用户。如果发出不带用户名的su命令 ,则系统提示输入根口令,输入之后则可切换为根用户。
如果登录为根用户,则可以用su命令成为系统上任何用户而不需要口令。
pwd
pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。
cd
cd命令不仅显示当前状态,还改变当前状态,它的用发跟dos下的cd命令基本一致。
cd ..可进入上一层目录
cd -可进入上一个进入的目录
cd ~可进入用户的home目录
ls
ls命令跟dos下的dir命令一样,用于显示当前目录的内容。
如果想取得详细的信息,可用ls -l命令, 这样就可以显示目录内容的详细信息。
如果目录下的文件太多,用一屏显示不了,可以用ls -l |more分屏显示 。
find
find命令用于查找文件。这个命令可以按文件名、建立或修改日期、所有者(通常是建立文件的用户)、文件长度或文件类型进行搜索。
find命令的基本结构如下:
$find
其中指定从哪个目录开始搜索。指定搜索条件。表示找到文件怎么处理。一般来说,要用-print动作,显示 整个文件路径和名称。如果没有这个动作,则find命令进行所要搜索而不显示结果,等于白费劲。
例如,要搜索系统上所有名称为ye的文件,可用如下命令:
$find / -name ye -print
这样就可以显示出系统上所有名称为ye的文件。
tar
tar最初用于建立磁带备份系统,目前广泛用于建立文件发布档案。可用如下方法建立tar档案:
$tar cvf
例如,如果要将当前目录中所有文件存档到ye.tar中,可用如下命令:
$tar cvf ye.tar *.*
要浏览档案内容,将c选项变成t。如果要浏览ye.tar档案中的内容,可用如下命令:
$tar tvf ye.tar
要取出档案内的内容,将c选项变成x。如果要将ye.tar档案中的内容取到当前目录中,可用如下命令:
$tar xvf ye.tar
gzip
gzip命令用于压缩文件。 例如,如果要将ye.txt文件压缩,可用如下命令:
$gzip ye.txt
这样就可以压缩文件并在文件名后面加上gz扩展名,变成文件ye.txt.gz。
解压缩文件可用gzip -d命令实现:
$gzip -d ye.txt.gz
这样就可以解压缩文件并删除gz扩展名。除此之外还可以用gunzip命令来解 压缩文件,效果跟用gzip -d命令一样。
旧版的tar命令不压缩档案,可用gzip压缩。例如:
$tar cvf ye.tar *.txt
$gzip ye.tar
则可建立压缩档案ye.tar.gz。
新版的tar可以直接访问和建立gzip压缩的tar档案,只要在tar命令中加上z 选项就可以了。例如:
$tar czvf ye.tar *.txt
生成压缩档案ye.tar.gz,
$tar tzvf ye.tar *.txt
显示压缩档案ye.tar.gz的内容,而
$tar xzvf ye.tar *.txt
取出压缩档案ye.tar.gz的内容。
mkdir
这个命令很简单,跟dos的md命令用法几乎一样,用于建立目录。
cp
cp命令用于复制文件或目录。
cp命令可以一次复制多个文件,例如:
$cp *.txt *.doc *.bak /home
将当前目录中扩展名为txt、doc和bak的文件全部复制到/home目录中。
如果要复制整个目录及其所有子目录,可以用cp -R命令。
rm
rm命令用于删除文件或目录。
rm命令会强制删除文件,如果想要在删除时提示确认,可用rm -i命令。
如果要删除目录,可用rm -r命令。rm -r命令在删除目录时,每删除一个文件或目录都会显示提示,如果目录太大,响应每个提示是不现实的。这时可以用 rm -rf命令来强制删除目录,这样即使用了-i标志也当无效处理。
mv
mv命令用于移动文件和更名文件。例如:
$mv ye.txt /home
将当前目录下的ye.txt文件移动到/home目录下,
$mv ye.txt ye1.txt
将ye.txt文件改名为ye1.txt。
类似于跟cp命令,mv命令也可以一次移动多个文件,在此不再赘叙。
reboot
重启命令
halt
关机命令
⑹ linux环境下的C语言代码中如何通过键盘输入数值为变量赋值
第一种方法数组内容自定义 #include <stdio.h> main() { int a[10],n,i; scanf("%d",&n); for(i=0;i<10;i++)scanf("%d",&a[i]); for(i=0;i<10;i++)if(n==a[i])break; if(i==10)printf("no found"); else printf("%d",i); system("PAUSE"); } 第二种方法数组内容已定义 #include <stdio.h> main() { int a[10]={0,1,2,3,4,5,6,7,8,9},n,i; scanf("%d",&n); for(i=0;i<10;i++)if(n==a[i])break; if(i==10)printf("no found"); else printf("%d",i); system("PAUSE"); }
⑺ 源代码放在linux里,怎么访问
1、首先源代码放在linux里的访问源码路径,一般路径都是在根目录下的/usr/src下,其中linux-***代表版本号。
2、其次确定当前系统的版本,hostnamectl可以查看当前系统信息。
3、最后可以看到,每个driver目录都有一个Kcongif目录可支持裁剪。