今天,我来分享一些linux中 如何查看一个文件,以及查看一个文件的各种姿势,以及如何对文件进行复制、移动和删除操作。
file : 查看文件类型
用法:
file将文件分为三类: 文本文件、可执行文件、数据文件
示例:
[root@hac-cent-jef ~]# file 811.c
811.c: C source, UTF-8 Unicode text <------文本文件
[root@hac-cent-jef ~]# file 811
811: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32,BuildID[sha1]=810f839e861a8a1201278148ff83daf638013b6e, not stripped <------二进制可执行文件
[root@hac-cent-jef ~]# file /var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db: data <-----数据文件
cat : (concatenate)由第一行开始显示文件内容
选项:
-b : 为所有行编号,除了空白行
-n : 为所有行编号
-A : 显示文件内容,包括特殊符号
-E : 显示行结束符$
示例:
[root@hac-cent-jef /]# cat document
811.c
812.c
anaconda-ks.cfg
initial-setup-ks.cfg
[root@hac-cent-jef /]# cat -b document
1 811.c
2 812.c
3 anaconda-ks.cfg
4 initial-setup-ks.cfg
[root@hac-cent-jef /]# cat -n document
1 811.c
2 812.c
3
4 anaconda-ks.cfg
5 initial-setup-ks.cfg
[root@hac-cent-jef /]# cat -A document
811.c$
812.c$
$
anaconda-ks.cfg$
initial-setup-ks.cfg$
tac : 与cat正好相反,从最后一行开始显示文件
示例:
[root@hac-cent-jef /]# cat document
811.c
812.c
anaconda-ks.cfg
initial-setup-ks.cfg
[root@hac-cent-jef /]# tac document
initial-setup-ks.cfg
anaconda-ks.cfg
812.c
811.c
head : 显示文件(前N行)
选项:
-n : 显示文件的前n行
示例:
[root@hac-cent-jef /]# head document
811.c
812.c
anaconda-ks.cfg
initial-setup-ks.cfg
[root@hac-cent-jef /]# head -2 document
811.c
812.c
那么,与head对应的就是tail了。
tail : 显示文件内容(后N行)
选项:
-n : 显示文件的后n行
示例:
[root@hac-cent-jef /]# tail document
811.c
812.c
anaconda-ks.cfg
initial-setup-ks.cfg
[root@hac-cent-jef /]# tail -2 document
anaconda-ks.cfg
initial-setup-ks.cfg
more : 一次显示一页文件
操作:
空格键 : 向下翻一页
Enter键 : 向下翻一行
/STRING : 在显示的内容中,查找STRING这个字符串,重复查询一个字符串可按n
:f : 立刻显示文件名以及目前显示的行数
q : 离开more
less : 一次显示一页文件
操作:
空格键 : 向下翻一页
Enter键 : 向下翻一行
/STRING : 在显示的内容中,查找STRING这个字符串,重复查询一个字符串可按n
:f : 立刻显示文件名以及目前显示的行数
q : 离开more
stat : 显示文件或文件系统状态(文件的元数据)
用法:
stat FILE…
在这里,我们有必要了解一下文件的数据:
一般,每个文件都有两种数据,即元数据(medata)和数据(data);
其中,元数据是指文件的属性等信息,而数据指的是文件的内容,而stat命令查看的便是前者:元数据。
元数据有:
示例:查看文件document的元数据
[root@hac-cent-jef /]# stat document
File: ‘document’
Size: 50 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 23 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2018-09-02 00:20:16.810509124 +0800
Modify: 2018-09-02 00:20:13.287441512 +0800
Change: 2018-09-02 00:20:13.372443145 +0800
Birth: -
对于元数据,我们是可以修改其中的一些信息的,比如时间戳
使用touch命令便可修改文件的时间戳;
touch : 创建新存在文件/修改文件时间戳
用法:
touch [option]… FILE…
选项:
-c : 设置当目标文件不存在时,不予以创建
-a : 修改文件时间戳中的最近访问时间(access time)
-m : 修改文件内容的最近修改时间(modify time)
-t STAMP : 将时间戳修改为STAMP指定的时间,格式为:[[cc]YY]MMDDHHmm[.ss]
例:将document的修改时间(modify time)设为2000年06月06日06点06分06秒
[root@hac-cent-jef /]# touch -m -t 200006060606.06 document
[root@hac-cent-jef /]# stat document
File: ‘document’
Size: 50 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 23 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2002-12-01 03:03:03.000000000 +0800
Modify: 2000-06-06 06:06:06.000000000 +0800
Change: 2018-09-02 01:13:22.578429323 +0800
Birth: -
Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
文件管理类命令:cp,mv,rm
cp : 即copy,用于复制文件
其用法有两种:
1)单源复制:
cp [option]... [-T] SOURCE DEST
如上:
book@www.100ask.org:~/test$ cp yang.c yang_2.c
book@www.100ask.org:~/test$ ls
Documents Music var Videos Work yang_2.c yang.c
/*之前yang_2.c是一个空文件,我们用yang.c覆盖它。*/
book@www.100ask.org:~/test$ cp yang.c yang_2.c
book@www.100ask.org:~/test$ cat yang_2.c
#include
int main()
{
printf("hello world!\n");
return 0;
}
book@www.100ask.org:~/test$ cp yang.c Work
book@www.100ask.org:~/test$ cd Work
book@www.100ask.org:~/test/Work$ ls
yang.c
book@www.100ask.org:~/test/Work$ cat yang.c
#include
int main()
{
printf("hello world!\n");
return 0;
}
2)多源复制
cp [option]... SOURCE DEST
或者:
cp [option]... -t DEST SOURCE
若 DEST 不存在或者不是目录,则错误;
选项:
-i : 交互式复制,即在复制之前询问;
-f : 强制复制目标文件;
-r或-R : 递归复制目录及目录下的文件
-d : 复制符号链接文件本身,而不是其指向的文件
-a : 用于归档
–preserve=’STRING’ : 复制时由‘STRING的值’指定保留的元数据,STRING的值及其
对应关系如下:
mode 保留权限
ownerstamp 保留属主和属组
timestamps 保留时间戳
context 安全标签
xattr 扩展属性
links 符号链接
mv : 移动文件或重命名
用法格式同cp
rm: 删除文件
用法:
# rm [option]… FILE…
选项:
-i : 即interective,交互式的删除,删除时询问;
-f : 即force,强制删除;
-r : 即recursive,递归删除;
-rf : 删除目录,此选项危险,请慎用!建议自建回收站:在电脑上选择
一个文件夹作为回收站使用,将要删除的文件移动其中即可。