Linux下的非规则文件操作 (linux 非规则)

在Linux系统中,我们可以通过很多命令和工具来对文件进行操作和管理。但是对于一些非规则的文件,比如二进制文件、交叉编译后的可执行文件、压缩文件等,我们需要使用特殊的命令和工具来进行操作。本文将介绍 Linux 系统下的非规则文件操作。

1. 二进制文件操作

二进制文件是指由二进制代码组成的文件,无法通过文本编辑器进行修改。在 Linux 系统中,我们可以使用 hexdump 命令来查看二进制文件的内容。

通过以下命令查看二进制文件 content.bin 的内容:

“`

hexdump -C content.bin

“`

该命令将以十六进制编码的形式显示 content.bin 的内容,如下所示:

“`

00000000 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 0a |Hello World!.|

0000000d

“`

2. 可执行文件操作

交叉编译后的可执行文件在 Linux 系统中运行时,需要对应的库文件支持。如果我们直接在本机运行该文件,可能会出现无法执行的情况。在这种情况下,我们可以使用 ldd 命令来查看该可执行文件需要的库文件。

通过以下命令查看可执行文件 mn 的相关库文件:

“`

ldd mn

“`

该命令将显示 mn 可执行文件需要的库文件,如下所示:

“`

linux-gate.so.1 => (0xb7f4e000)

libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7d5b000)

/lib/ld-linux.so.2 (0xb7f50000)

“`

3. 压缩文件操作

在 Linux 系统中,我们可以使用很多不同的命令和工具来压缩和解压缩文件。其中最常用的工具是 tar 和 gzip。tar 工具可以将多个文件和目录打包成一个文件,而 gzip 则可以对该文件进行压缩。

通过以下命令将目录 /var/log 打包并压缩为文件 log.tar.gz:

“`

tar -czf log.tar.gz /var/log

“`

该命令将创建一个名为 log.tar.gz 的压缩文件,包含了 /var/log 目录下的所有文件和子目录。

通过以下命令解压缩文件 log.tar.gz 并还原成原始的文件目录结构:

“`

tar -xzf log.tar.gz

“`

该命令将把 log.tar.gz 解压缩成原始的文件目录结构,包含了 /var/log 目录下的所有文件和子目录。

Linux 系统下的非规则文件操作需要使用特定的命令和工具,才能够对其进行操作和管理。本文介绍了对二进制文件、交叉编译后的可执行文件、压缩文件的操作。秉承着简洁高效的 Linux 哲学,我们需要多学习和掌握这些命令和工具,才能更加高效地处理我们的文件管理工作。

相关问题拓展阅读:

linux make 出现错误。我有建立文件夹,但是显示没有那个文件还有没有规则,请有经验者指点。

你代码也没有,调用册银堆栈也没有,谁能知道为啥段错误啊,要不然你猜我今天穿什么颜色的衣服?

大神也不敢说自己害缉愤垦莅旧缝驯俯差姿乱沫的代码肯定就没有错误,我猜你的意思是能正确编译吧?

那只能说明你的语法没错,仅此而已,写程序能正确编译只是之一步,后面调试的工作还很漫长。

下面说说怎么调试吧:

看你的系统提示应该还没有打开core输出,在运行程序前打个命令:

ulimit -c unlimited

这样设置之后再运行程序在段错误的时候能虚档core dump,有core之后再gdb ./test core.

core文件一般在你运行程序的目录里,core文件后缀每次不同,后面的你需要自己看看文件名,一般是运行时的PID号。当然如果你的系统core的生成规则被改过,不是默认的,那就问你的系统管理员去找到core文件。

进去后打个bt,看下当前的调用堆栈,然后再看下哪儿出的问题。

当然这样做有个前提,那就是你在编译你的程序时加了-g参数,如果没有,重新去编译下再运行。

如果还是找不出来,再把你的调用堆栈和代码发上来大家看看。

控制面板错误提示

$ gcc -l /usr/src/kernels/2.6.32-鼎川尺沸侔度踌砂穿棘431.11.2.el6.i686/include/linux module.c -o main.exe

module.c:2:24: 错误:linux/init.h:没有那个文件或目录

module.c:3:26: 错误:linux/module.h:没有那个文件或目录

module.c:4: 错误:expected declaration specifiers or ‘…’ before string constant

module.c:4: 警告:数据定义时没有类型或存储类

module.c:6: 错误:expected ‘=’, ‘,’, ‘;’, ‘a’ or ‘__attribute__’ before ‘hello_init’

module.c:12: 错误:expected ‘=’, ‘,’, ‘;’, ‘a’ or ‘__attribute__’ before ‘hello_exit’

module.c:17: 警告:数据定义时没有类型或存储类

module.c:17: 警告:函数声明中出现形参名却未指定类型

module.c:18: 警告:数据定义时没有类型或存储类

module.c:18: 警告:函数声明中出现形参名却未指定类型

$

程序代码如下:

#include

#include

#include

MODULE_LICENSE(“Dual BSD/GPL”);

static int __init hello_init(void)

{

printk(“Hello world/n”);

return 0;

}

static void __exit hello_exit(void)

{

printk(“Bye Corne/n”);

}

module_init(hello_init);

module_exit(hello_exit);

linux-shell正则表达式取非

t=`date +%F`

for i in `find . -name “*.TXT”|grep -v $t`

do

rm -f $i

done

关于linux 非规则的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux下的非规则文件操作 (linux 非规则)