linux文件操作

1.查看文件内容
相关命令:cat、tac、head、tail、more、less

cat格式:cat [options] file1 file2
主要参数:
-n:对所有行编号
-b:和-n类似,不对空白行编号
-s:当遇到连续2行以上空白行时,就代换为一行空白行
实例:
[root@localhost ~]# cat -n conf
     1  login:***/***@***
     2  port:12347
而tac命令和cat类似,实际就是cat反过来写,所以是逆序显示文件内容。
实例:
[root@localhost ~]# tac conf
port:12347
login:***/***@***

head命令用于查看一个文本文件的开头部分;而tail命令则用于显示文本文件的尾部
格式:head/tail [options] filename
主要参数:
-n num:显示文件开头/结尾的num行
实例:
[root@localhost ~]# head -n 5 a.c
#include
#include
#include

int main()

tail还有个-f选项。当显示文件后十行内容变化后,自动显示新增的文件内容。这一条命令非常有用,尤其在监控日志文件时,可以在屏幕上一直显示新增的日志信息。

more/less命令用来浏览超过一页的文件。不同的是more让画面在显示满一页时暂停,按空格健继续显示下一个画面,或按Q键停止显示。less命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。当要结束浏览时,只要在less命令的提示符“:”下按Q键即可。

2.查看文件类型
命令:file
格式:file [-options] filename
主要参数:
-v:显示版本信息
-z:探测压缩过的文件类型
-f name:从文件name中读取要分析的文件名列表
实例:
[root@localhost ~]# file conf
conf: ASCII text
[root@localhost ~]# file server.c
server.c: ISO-8859 C++ program text, with CRLF, CR, LF line terminators

3.创建目录
命令:mkdir
格式:mkdir [options] dirname
主要参数:
-m:设定模式
实例:
[root@localhost ~]# mkdir -m 777 test
[root@localhost ~]# ls -l|grep test
drwxrwxrwx 2 root root   4096 08-16 17:04 test

4.删除文件或目录
相关命令:rm
格式:rm [options] name
主要参数:
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
实例:
[root@localhost ~]# rm -rf test

5.文件移动
相关命令:mv
格式:mv [options] source target
主要参数:
-i :交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
-f :禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。

6.文件复制
相关命令:dd、cp
cp
格式:cp [options] source target
主要参数:
-a :该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
-d :拷贝时保留链接。
-f ;删除已经存在的目标文件而不提示。
-i :和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。
-p :此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
-r :若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
-l :不作拷贝,只是链接文件。

dd是Linux/UNIX下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
格式:dd [options]
主要参数:
指定数字的地方若以下列字符结尾乘以相应的数字:
b=512, c=1, k=1024, w=2, xm=number m

if=file 输入文件名,缺省为标准输入。
of=file 输出文件名,缺省为标准输出。
ibs=bytes 一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。
obs=bytes 一次写 bytes 个字节(即一个块大小为 bytes 个字节)。
bs=bytes 同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。
cbs=bytes 一次转换 bytes 个字节,即转换缓冲区大小。
skip=blocks 从输入文件开头跳过 blocks 个块后再开始复制。
seek=blocks 从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)
count=blocks 仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。
实例:
把第一个硬盘的前 512 个字节存为一个文件:
dd if=/dev/hda of=disk.mbr bs=512 count=1

7.文件比较
相关命令:cmp、diff
cmp 比较两个文件的内容并报告不同的第一个字符。
格式:cmp [  -l |  -s ] File1 File2
-l 对于每个不同,(小写字母 L)显示十进制的字节数和八进制的不同字节。
-s 只返回退出值。值0指示相同的文件;值1指示不同的文件;值2指示不可访问的文件或缺少选项。
diff
格式:diff [options] source target
主要参数:
-a 将文件作为文本文件处理
-b 忽略空格所造成的不同
-I 忽略大小写
8.创建文件链接
相关命令:ln
格式:ln [options] source dist
主要参数:
-f : 链结时先将与 dist 同档名的档案删除
-d : 允许系统管理者硬链结自己的目录
-i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软连结时,将 dist 视为一般的档案
-s : 进行软链结(symbolic link)
-v : 在连结之前显示其档名
-b : 将在链结时会被覆写或删除的档案进行备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
--help : 显示辅助说明
--version : 显示版本
实例:
将档案 yy 产生一个 symbolic link : zz
ln -s yy zz

9.文件查找
相关命令:find,locate,whereis,which
格式:find [path] [options] [expression]
path指定搜索路径,若不指定,则默认当前目录。
主要参数:
[expression]
-name filename :查找名为filename的文件
-print         :输出搜索结果
-group groupname :按组来查找
-mtime    -n +n  :按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime     -n +n :按文件访问时间来查GIN: 0px">
-user     username :按文件属主来查找
-group groupname   :按组来查找
-mtime    -n +n    :按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime     -n +n   :按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime     -n +n   :按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-size n            :搜索文件大小是n个block的文件

locate 是用来通过文件名搜索文件的工具,它的用法也比较简单。locate 的应用,首先要通过updatedb建立索引数据库然后才能应用;如果您新安装了软件或者存放了新的文件,也要先运行updatedb命令,以生成最新索引库。
用法:locate 文件名
我们要先运行updatedb;
[root@localhost ~]# updatedb
举例: 我们要找vsftpd.conf文件都位于哪个位置;
[root@localhost ~]# locate my.so

whereis 是来寻找命令的二进制文件,同时也会找到其帮助文件;
比如我们不知道fdisk工具放在哪里,我们就可以用whereis fdisk 来查找;
[root@localhost ~]# whereis fdisk
fdisk: /sbin/fdisk /usr/share/man/man8/fdisk.8.gz

which 和where 相似,只是我们所设置的环境变量中设置好的路径中寻找
比如
[root@localhost ~]# which fdisk
/sbin/fdisk

10.文件创建
相关命令:touch
实例:
touch file1.txt 更新file1.txt的存取和修改时间
touch -c file1.txt 如果file1.txt不存在,不创建文件
touch -r ref_file file1.txt 更新file1.txt的时间戳和ref+file相同
touch -t 0811142234.50 file1.txt 设定文件的时间错为08年11月14日22点34分40秒

11.列举文件
相关命令:ls
常用:ls -l

12.修改文件权限
相关命令:chown、chmod
实例:
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
 chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
 chmod -R lamport:users *
 给文件file1增加执行权限
 chmod +x file1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

omyligaga

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值