linux中read如何从文件读取数据?
可以使用如下代码来实现:
注意:以下实例省略了错误处理。
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
typedef struct
{
char name;
int age;
} Person;
int main(int argc, char **argv)
{
// open
int fd = open("name.file", O_RDWR|O_CREAT, 0666);
// write
Person zhang3;
memset((void*)&zhang3, 0x00, sizeof(Person));
strcpy(zhang3.name, "zhang3");
zhang3.age = 42;
write(fd, (void*)&zhang3, sizeof(Person));
// lseek
lseek(fd, 0, SEEK_SET);
// read
Person li4;
memset((void*)&li4, 0x00, sizeof(Person));
read(fd, (void*)&li4, sizeof(Person));
printf("%sn", li4.name);
printf("%dn", li4.age);
// close
close(fd);
return 0;
}
linux下如何查看文件路径?
答,linux 获取文件路径的方法如下;
步骤1、打开linux系统,在linux的桌面的空白处右击。
步骤2、在弹出的下拉选项里,点击打开终端。
步骤3、在终端里面输入cd 命令进入到一个目录,接着输入【pwd】。
步骤4、然后回车就可以看到文件具体的路径的信息了。
linux系统怎样查看文件夹下有多少文件和文件夹?
文件数限制:系统所能生成的总的文件数受系统所剩节点数限制,执行tune2fs -l /dev/sda1(目录所在的分区) |grep inodes可以查看剩余节点数在一台ext3的系统中执行,结果为 Free inodes: 845504目录数限制:RHEL4.3中,在同一个路径下,一级子目录的个数限制为31998 。
如果你的应用生成的目录可能会超过这个数,那要注意进行目录分级。
例如,如果目录名为数字的话,可以将数字除以10000后的整数值做为父目录名(/data/1/13892);如果是目录名为字幕的,可以用前几个字符来做为父一级目录(/data/ab/abcdefg)等等。想了解更多linux相关,可以看下《linux就该这么学》这本书。
linux下查看文件类型的三种方法?
1、首先我们以管理员身份(root)登录系统,在系统界面窗口处,输入命令mount,可以看到/dev/sda1 on / type ext3 表示sda1 的文件系统是 ext3 的类型。
2、第二种方式,我们输入命令df -lhT命令,可以在返回的结果内查看到,/dev/sda1 ext3 表示文件类型为ext3类型。
3、第三种方式,我们输入命令file -s /dev/sda1 可以在返回的结果内发现,文件类型为ext3类型。
4、可以对系统内/etc/fstab 文件。进行查看。我们执行命令cat /etc/fstab。可以在文件内容内找到文件类型为ext3类型。
linux系统怎么在文件夹里搜索文件?
方法 1:使用 find 命令在 Linux 中搜索文件和文件夹
find 命令被广泛使用,并且是在 Linux 中搜索文件和文件夹的著名命令。它搜索当前目录中的给定文件,并根据搜索条件递归遍历其子目录。
它允许用户根据大小、名称、所有者、组、类型、权限、日期和其他条件执行所有类型的文件搜索。
运行以下命令以在系统中查找给定文件。
# find / -iname "sshd_config"
/etc/ssh/sshd_config
运行以下命令以查找系统中的给定文件夹。要在 Linux 中搜索文件夹,我们需要使用 -type 参数。
# find / -type d -iname "ssh"
/usr/lib/ssh
/usr/lib/go/src/cmd/vendor/golang.org/x/crypto/ssh
/usr/lib/go/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh
/etc/ssh
使用通配符搜索系统上的所有文件。我们将搜索系统中所有以 .config 为扩展名的文件。
# find / -name "*.config"
/usr/lib/mono/gac/avahi-sharp/1.0.0.0__4d116c78973743f5/avahi-sharp.dll.config
/usr/lib/mono/gac/avahi-ui-sharp/0.0.0.0__4d116c78973743f5/avahi-ui-sharp.dll.config
/usr/lib/python2.7/config/Setup.config
/usr/share/git/mw-to-git/t/test.config
/var/lib/lightdm/.config
/home/daygeek/.config
/root/.config
/etc/skel/.config
使用以下命令格式在系统中查找空文件和文件夹。
# find / -empty
使用以下命令组合查找 Linux 上包含特定文本的所有文件。
# find / -type f -exec grep "Port 22" '{}' ; -print
# find / -type f -print | xargs grep "Port 22"
# find / -type f | xargs grep 'Port 22'
# find / -type f -exec grep -H 'Port 22' {} ;
方法 2:使用 locate 命令在 Linux 中搜索文件和文件夹
locate 命令比 find 命令运行得更快,因为它使用 updatedb 数据库,而 find 命令在真实系统中搜索。
它使用数据库而不是搜索单个目录路径来获取给定文件。
locate 命令未在大多数发行版中预安装,因此,请使用你的包管理器进行安装。
数据库通过 cron 任务定期更新,但我们可以通过运行以下命令手动更新它。
$ sudo updatedb
只需运行以下命令即可列出给定的文件或文件夹。在 locate 命令中不需要指定特定选项来打印文件或文件夹。
在系统中搜索 ssh 文件夹。
# locate --basename 'ssh'
/etc/ssh
/usr/bin/ssh
/usr/lib/ssh
/usr/lib/go/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh
/usr/lib/go/src/cmd/go/testdata/failssh/ssh
/usr/lib/go/src/cmd/vendor/golang.org/x/crypto/ssh
在系统中搜索 ssh_config 文件。
# locate --basename 'sshd_config'
/etc/ssh/sshd_config
方法 3:在 Linux 中搜索文件使用 which 命令
which 返回在终端输入命令时执行的可执行文件的完整路径。
当你想要为可执行文件创建桌面快捷方式或符号链接时,它非常有用。
which 命令搜索当前用户而不是所有用户的 $PATH 环境变量中列出的目录。我的意思是,当你登录自己的帐户时,你无法搜索 root 用户文件或目录。
运行以下命令以打印 vim 可执行文件的完整路径。
# which vi
/usr/bin/vi
或者,它允许用户一次执行多个文件搜索。
# which -a vi sudo
/usr/bin/vi
/bin/vi
/usr/bin/sudo
/bin/sudo
方法 4:使用 whereis 命令在 Linux 中搜索文件
whereis 命令用于搜索给定命令的二进制、源码和手册页文件