linux文件操作

文件操作包括创建文件、查看文件、复制文件、移动文件、删除文件,接下来详细介绍每种操作。

1. 创建文件

用户通过touch命令可以创建一个空白文件,也可以设置文件、属性,具体如下所示。

[root@localhost ce]# touch  qf.txt

#查询更改时间
[root@localhost ce]# ll  qf.txt

-rw-r--r--. 1 root root 0 6月   4 00:36 qf.txt

#添加
[root@localhost ce]# echo  "www.qq.com" >> qf.txt

[root@localhost ce]# ll  qf.txt

-rw-r--r--. 1 root root 11 6月   4 00:37 qf.txt

#更改时间
[root@localhost ce]# touch  -d   "2018-03-30 16:41" qf.txt

[root@localhost ce]# ll  qf.txt

-rw-r--r--. 1 root root 11 3月  30 2018 qf.txt

[root@localhost ce]# ls  -l  qf.txt

-rw-r--r--. 1 root root 11 3月  30 2018 qf.txt

[root@localhost ce]#

查看qf.txt文件的属性,文件时间为16:41。用echo命令写入新的内容到qf.txt文件中,再次查看,文件时间已经变为16:42。添加“-d”参数可以修改文件时间。

2. 查看文件

(1)cat命令

用户使用cat命令可以查看内容较少的文件,添加“-n”参数可以显示行号,添加“-A”参数显示不可显示控制字符(换行符/制表符)。使用cat命令查看hosts文件,具体如下所示。

[root@localhost ce]# cat  /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@localhost ce]#

使用cat命令查看内容较多的文件时,整个文件的内容从上到下滚动显示,用户来不及阅读内容,就到达了文件末尾。为了避免该问题,用户可以使用more命令查看较长的文件。

(2)more命令

more命令以逐页的方式显示文件内容,用户可以通过空格键向下翻一页,b键向上翻一页,具体如下所示。

[root@localhost ce]# more /etc/profile

# /etc/profile


# System wide environment and startup programs, for login setup

# Functions and aliases go in /etc/bashrc


# It's NOT a good idea to change this file unless you know what you

# are doing. It's much better to create a custom.sh shell script in

# /etc/profile.d/ to make custom changes to your environment, as this

# will prevent the need for merging in future updates.


pathmunge () {

    case ":${PATH}:" in

        *:"$1":*)

            ;;

        *)

            if [ "$2" = "after" ] ; then

                PATH=$PATH:$1

            else

                PATH=$1:$PATH

            fi

    esac

}


--More--(33%)

(3)less命令

less 命令也是对文件或其他输出进行分页显示,可用 pageup、pagedown与键盘方向键来上下翻看文件,查找文件内容比more更容易,最后按q键退出。

(4)head命令

有些配置文件内容很多,但真正需要查看的内容只有前几行,head命令可以查看文件前几行的内容,添加“-n”参数显示文件的前n行,具体如下所示。

[root@localhost ce]# head    /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

(5)tail命令

用户使用tail命令可以查看文件后几行的内容,例如,用户对日志文件更关心最新的内容,需要从后往前查看。tail命令添加“-n”参数显示文件的后n行,添加“-f ”参数可以查看动态文件,具体如下所示。

[root@localhost ce]# tail  -l   /etc/passwd

sssd:x:991:985:User for sssd:/:/sbin/nologin

setroubleshoot:x:990:984::/var/lib/setroubleshoot:/sbin/nologin

saned:x:989:983:SANE scanner daemon user:/usr/share/sane:/sbin/nologin

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

liu:x:1000:1000:liu:/home/liu:/bin/bash

(6)grep命令

用户使用grep命令可以对文件内容进行过滤、搜索关键词,从而快速找到所需内容,具体如下所示。

[root@localhost ce]# grep  'root'  /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

上述命令表示显示含有root的行。

[root@localhost ce]# grep  '^root'  /etc/passwd

root:x:0:0:root:/root:/bin/bash

[root@localhost ce]#

上述命令表示显示以root开头的行。

[root@localhost ce]# grep  'bash$'  /etc/passwd

root:x:0:0:root:/root:/bin/bash

liu:x:1000:1000:liu:/home/liu:/bin/bash

[root@localhost ce]#

上述命令表示显示以bash结尾的行。

3. 复制文件

用户使用cp命令可以复制文件,其语法格式如下。

cp file1(源文件) file2(目标文件)

cp命令除了复制单个文件之外,还可以复制整个目录,创建链接文件,对比新旧文件而予以更新,具体如下所示。

[root@ce~]# touch abc.txt

[root@ce ~]# echo "aaa" > abc.txt

[root@ce~]# cat abc.txt

aaa

[root@ce ~]# touch abd.txt

[root@ce ~]# echo "abb" >abd.txt

[root@ce ~]# cat abd.txt 

abb

[root@ceu ~]# cp abc.txt abd.txt 

cp:是否覆盖"abd.txt"? y

[root@ce ~]# cat abc.txt 

aaa

[root@ce ~]# cat abd.txt 

Aaa

文件目录较长时,可以用花括号括起不同的部分,具体如下所示。

[root@ce ddd]# cp -rf /aaa/bbb/ccc/ddd/a /aaa/bbb/ccc/ddd/a.bak

[root@ce ddd]# cp -rf /aaa/bbb/ccc/ddd/{a,a.bak}

4. 移动文件

mv命令可以移动或者重命名文件或目录,具体如下所示。

mv file1(源文件) file2(目标文件)

如果将一个文件移动到一个已经存在的目标文件中,则目标文件的内容将被覆盖。mv与cp的结果不同,cp对文件进行复制,文件个数增加,mv类似于文件“搬家”,文件个数并不增加,具体如下所示。

[root@ce ~]# ls  

linux.txt

[root@ce ~]# mv linux.txt qiangfeng.txt

[root@ce ~]# ls

qiangfeng.txt

5. 删除文件

rm命令可以删除文件,其语法格式如下。

rm file2(目标文件或目录)

若删除目录,就需要添加“-r”参数,“-f ”参数可以跳过验证直接执行删除操作,具体如下所示。

[root@ce qf]# ls

linux.txt

[root@ce qf]# rm linux.txt 

rm: remove regular empty file 'linux.txt'? y //按y键回车

使用“rm -rf ”需要格外小心,root用户不会收到提示,一旦执行命令,目录和文件肯定被删掉。脚本删除要使用绝对路径,可降低误删的概率。

如果用户使用此命令删除了根目录,整个系统就会瘫痪。一旦在工作中手误执行了此命令,后果将会非常严重。不过CentOS 7有相应的提示,避免发生重大事故,具体如下所示。

[root@qfedu qianfeng]# rm -rf /

rm: 在"/" 进行递归操作十分危险

rm: 使用 --no-preserve-root 选项跳过安全模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值