
正文
linux文件读取命令 linux 读文件
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux file命令详解
linux系统下file命令用于查询文件类型。平时我们判定一个文件的类型通常是通过该文件的扩展名,而file命令是通过详细阅读文件内容,找到特征量来判定文件类型。下面是file命令的具体内容:
1、file命令判定文件类型的顺序:
查询Device,Directory,Symbolic等特殊文件
查询压缩文件
查询tar文件
基于Magic数据库文件的查询
查询ASCII,UNICODE等类型的文本文件
如果以上都不符合,则文件为二进制文件
2、原理:
file命令通过读取保存着各种文件特性的数据库信息和被判定文件进行匹配,数据库文件保存在/etc/magic、/usr/share/misc/file/magic或其他位置。
0string\177ELFELF
4byte0invalidclass
4byte132bit
5byte1LSB
16leshort2executable
3、magic文件由4部分组成:
偏移量
数据类型
值
输出字符串
magic文件的更多格式信息可以通过manmagic来查看。
以上就是小编今天的分享了,希望可以帮助到大家。
相关问答
Q1: linuxfile两次读
多次打开同一文件与O_APPEND:
1、在linux系统下,一个进程中两次打开同一个文件,然后分别读取,这里可以猜想一下它最终的会出现什么情况?我的猜想是----第一种是fd1和fd2分别读(这个意思是对同一文件读操作的时候,文件描述符fd1和fd2分别从一个文件里面读取到相同的内容);第二张是接续读(这个意思是,文件描述符fd1和fd2,在文件描述符fd1读取一个位置,也就是文件指针指向的一个位置,第二个文件描述的文件指针会接着上次文件指针指向的位置继续往后面移动,通俗的讲,就是读取到的文件内容不一样
Q2: Linux 文件&目录相关命令简介
此处要介绍linux文件读取命令的相关命令共有29个
关于文件与目录管理的命令有9个linux文件读取命令,分别是 cd 、 ls 、 pwd 、 mkdir 、 rmdir 、 cp 、 rm 、 mv 、 touch
关于文件与目录权限的命令有6个linux文件读取命令,分别是 chown 、 chgrp 、 chmod 、 umask 、 chattr 、 lsattr
关于文件查看与寻找的命令有14个,分别是 cat 、 tac 、 nl 、 more 、 less 、 head 、 tail 、 od 、 which 、 whereis 、 locate 、 find 、 file 、 updatedb
在linux中,有5个特殊目录:
在 ls -l 命令的输出内容中,显示出每一个文件或目录的一些常见属性,例如:
在上述的属性中,第一栏 drwxr-xr-x 为该文件的权限栏,该块共有10个字符组成。其中第一个字符显示该文件的类型,共有7种文件类型:
其余9个字符分为三组,第一组代表文件拥有者的权限,第二组代表文件拥有组的权限,第三组代表其他用户的权限
三组中每组又有三个字符,分别代表这 rwx 权限,也就是读,写,执行权限。当权限不存在时,系统会以 - 填充该位。
SUID
该权限仅作用于文件,主要用途是让使用者临时拥有文件所有者的权限,仅对可执行的二进制文件有用,对脚本无效,在文件所有者的x权限上生效,存在时x权限变为小写s,当x权限本身不存在时,显示大写S
SGID
当该权限作用在文件上时,主要用于是让使用者拥有该文件群组的权限;如果该权限作用在目录上时,主要是让新建的文件或者目录的所属组为当前目录的所属组,在文件群组的x权限上生效,存在时x权限变为小写s,当x权限本身不存在时,显示大写S
作用于文件
作用于目录
SBIT
该权限仅作用于目录,主要用途是让使用者在该目录创建了新文件或目录时,仅有该使用者或root才有权利删除该文件,在文件其他用户的x权限上生效,存在时x权限变为小写t,当x权限本身不存在时,显示大写T
以上三个特殊权限的配置与一般权限配置类似,只不过在需要配置特殊权限时,chmod后跟四位权限信息即可(需要注意的是,在配置特殊权限时要保证对应的位置上有x权限,否则将会显示大写的字母来标识无效)
一、让使用者能进入某目录成为『可工作目录』的基本权限为何?
二、使用者在某个目录内读取一个文件的基本权限为何?
三、让使用者可以修改一个文件的基本权限为何?
四、让一个使用者可以创建一个文件的基本权限为何?
五、让使用者进入某目录并运行该目录下的某个命令之基本权限为何?
Q3: Linux常用命令以及解释
1.cd/home/fleety/Diagserver/log
cd到指定linux文件读取命令的目录
2.tail -f day.log
实时读取指定目录下的日志(一直中linux文件读取命令,不停止)
3.grep -a 'mdtId' day.log 或 grep -v 'mdtid' day.log
指定条件下查找mdtid文件的记录
4.tar -zcvf day.log.tgz day.log 或 tar -zcvf day.log.tgz
分别是四个参数
x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的linux文件读取命令,所以解压时需要用 gunzip 解压
v : 显示详细信息
f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz
5.mkdir -p/home/fkeety/Diagserver/log
在home下建一个fleeety的子目录linux文件读取命令,在fleety下建一个DiagServer的子目录,在DiagServer建一个log的子目录
6.mv day.log day.log.bak
mv,移动文件到另一个文件,备份
7.rm -rf day.log
删除这个文件
8.vi day.log
打开或新建day.log文件,并将光标置于第一行首
9.pwd
显示工作目录
10. In -s aa bb
为bb文件在aa文件上建立一个同步的链接
11.unzip day.log.zip
解压到当前目录下
12. find/home/fleety/Diagserver -name ' zwyc' -print**
查找名称为XXX的内容并打印
13.ssh -l root 180.168.34.250 -p 9222
root权限连接主机,端口是9222
14.telnet 192.168.0.22 23
建立远程tcp连接
15. sed -n '100.2720p'1159857_20150506_2159857_20150506_2_2
将字符串'100,2720p' 写入文件15..._2文件里 并重定向到15..._2_2文件里
16.chmod fleety.fleety aaa
给fleety.fleety设置权限
17.chown 755 aaa
给aaa 添加
7 拥有者有 读取,写入,执行权限
7 组用户有 读取,写入,执行权限
5 其linux文件读取命令他用户有 读取,执行权限
18.cp -r /home/fleety/Diagserve/log ./
将log文件下的所有内容 复制到当前目录下
19.ftp 192.168.0.218 21
ftp模式连接远程主机 ,服务器会询问用户名和密码
20.more day.log
查看day.log日志,分页形式打开, more 一页页显示文件内容 空白键下一页 b键上一页
21.ps -ef
查看系统进程
22.top
主要用于查看进程的相关信息,同时它也会提供系统平均负载,cpu 信息和内存信息
Q4: Linux中source命令的使用方式
source 命令 是一个内置的 shell 命令 ,用于从当前shell会话中的文件读取和执行命令。source命令通常用于保留、更改当前shell中的环境变量。简而言之,source一个 脚本 ,将会在当前shell中运行execute命令。
source命令可用于:
刷新当前的shell环境
在当前环境使用source执行Shell 脚本
从脚本中导入环境中一个Shell函数
从另一个Shell脚本中读取变量
source命令的语法
source命令它需要一个文件,如果提供了参数,那么将用作传递脚本的位置参数。
source FILENAME [ARGUMENTS]
也可以使用.替代source命令:
. FILENAME [ARGUMENTS]
如何使用source命令
1. 刷新当前的shell环境
可以在当前的shell环境中定义一个别名。为ls -al定义一个别名为ll:
[root@localhost ~]# echo "alias ll='ls -al'" ~/.bashrc
在~/.bashrc文件中定义完别名,可以使用source命令刷新当前shell环境:
[root@localhost ~]# source ~/.bashrc
现在可以使用ll别名列出当前目录里所有文件了,包括隐藏文件。
2. 在当前环境使用source执行Shell脚本
Shell脚本不知道你在当前Shell环境中定义的变量。source命令可用于在当前会话中执行你的Shell脚本。
下面在定义一个变量:
[root@localhost ~]# website=. linux probe.com
创建一个脚本:
[root@localhost ~]# vim web.sh
#!/bin/bash
echo $website
使用source在当前shell会话中执行它:
[root@localhost ~]# source web.sh
当使用sh运行脚本时,找不到环境中定义的变量:
3. 从脚本中导入环境中一个Shell函数
首先创建一个脚本,定义一个函数:
[root@localhost ~]# vim func.sh
#!/bin/bash
foo(){
echo "test function!"
}
要在当前的shell会话中导入上述脚本的功能,使用下面命令:
[root@localhost ~]# source func.sh
下面在终端中执行以下func.sh脚本中的foo函数试试:
[root@localhost ~]# foo
test function!
source完脚本之后,可以看到在当前回话的终端中可以执行脚本里面的函数。
4. 从另一个Shell脚本中读取变量
首先创建带有一些变量的shell脚本,请输入:
[root@localhost ~]# vim var.sh
#!/bin/bash
a=1
b=2
c=3
再创建一个脚本,该脚本读取上一个脚本var.sh中的变量:
[root@localhost ~]# vim read.sh
#!/bin/bash
source ~/var.sh
echo $a
echo $b
echo $c
在脚本中首先使用source将var.sh中的变量到处到当前回话,然后echo显示变量值。下面执行read.sh看一下:
5. 读取并执行命令
source命令可以从文件读取和执行命令。下面的一个文本文件中带有两个命令,使用source命令运行该文件,看看是否会执行里面的命令。
下面创建一个文件cmd.txt,保存两个命令:
[root@localhost ~]# cat cmd.txt
ip ad
date
下面使用source执行这个文件:
[root@localhost ~]# source cmd.txt
总结
source命令在当前shell中执行脚本,而exec命令在新的shell中运行。
关于linux文件读取命令和linux 读文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








