首页 > 系统服务 > 详细

Linux文件管理

时间:2018-06-25 19:54:01      阅读:253      评论:0      收藏:0      [点我收藏+]

Linux文件管理
======================================

(参考于千锋教育教学笔记)

 

1,文件管理之:创建/复制/移动/删除

==创建

文件创建:touch

[root@aminglinux ~]# touch file1                      //如果有file1文件,则修改时间;如果没有,则建立一个新的文件file1

[root@aminglinux ~]# touch file2 file3

[root@aminglinux ~]# touch /root/file10
[root@aminglinux ~]# touch /root/{file5,file6}
[root@aminglinux ~]# touch file{11..20}           //创建“file11-file20” 10个文件
[root@aminglinux ~]# touch file{a..h} /           /创建“filea-fileh” 7个文件
[root@aminglinux ~]# touch aming{a,b,c,d}  //相当于 touch aminga,amingb,amingc,amingd

目录创建: mkdir(make directories)

[root@aminglinux ~]# mkdir dir1
[root@aminglinux ~]# mkdir dir2 dir3
[root@aminglinux ~]# mkdir /root/dir{4,5}

[root@aminglinux ~]# mkdir -v dir{6..10}                         //-v:为每个创建的目录打印一条消息
mkdir: 已创建目录 "dir6"
mkdir: 已创建目录 "dir7"
mkdir: 已创建目录 "dir8"
mkdir: 已创建目录 "dir9"
mkdir: 已创建目录 "dir10"

[root@aminglinux ~]# mkdir -pv dir11/dir1/dir1           //-p:创建一大串级联目录
mkdir: 已创建目录 "dir11"
mkdir: 已创建目录 "dir11/dir1"
mkdir: 已创建目录 "dir11/dir1/dir1"

==复制 cp (copy files and directories)
用法:cp [选项]... [-T] 源文件 目标文件
 或:cp [选项]... 源文件... 目录
 或:cp [选项]... -t 目录 源文件...

[root@aminglinux ~]# cd
[root@aminglinux ~]# mkdir dir{1,2}
[root@aminglinux ~]# cp -v anaconda-ks.cfg /root/dir1
"anaconda-ks.cfg" -> "/root/dir1/anaconda-ks.cfg"
[root@aminglinux ~]# cp -v anaconda-ks.cfg /root/dir1/aming.txt
"anaconda-ks.cfg" -> "/root/dir1/aming.txt"
[root@aminglinux ~]# ls /root/dir1
aming.txt anaconda-ks.cfg

[root@aminglinux ~]# cp -r /etc /root/dir1                              //-r:递归复制目录
[root@aminglinux ~]# ls dir1
aming.txt anaconda-ks.cfg etc

[root@aminglinux ~]# cp -v anaconda-ks.cfg /root/dir2       //-v:解释正在做什么
"anaconda-ks.cfg" -> "/root/dir2/anaconda-ks.cfg"
[root@aminglinux ~]# cp 1.txt !$                                     //!$ :引用上一命令最后一个参数
cp 1.txt /root/dir2

[root@aminglinux ~]# cp -rv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/passwd /etc/hostname /root/dir2           
//复制多个文件到目录

"/etc/sysconfig/network-scripts/ifcfg-ens33" -> "/root/dir2/ifcfg-ens33"
"/etc/passwd" -> "/root/dir2/passwd"
"/etc/hostname" -> "/root/dir2/hostname"

[root@aminglinux ~]# \cp -rv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/passwd /etc/hostname /etc/hosts .      //复制多个文件到你现在所在这个目录
"/etc/sysconfig/network-scripts/ifcfg-ens33" -> "./ifcfg-ens33"
"/etc/passwd" -> "./passwd"
"/etc/hostname" -> "./hostname"
"/etc/hosts" -> "./hosts"
[root@aminglinux ~]# pwd .                    //. 就是你现在所在的目录
/root

[root@aminglinux ~]# cp -r /etc /tmp
[root@aminglinux ~]# cp -rf /etc /tmp
cp:是否覆盖"/tmp/etc/fstab"? y
cp:是否覆盖"/tmp/etc/crypttab"? y
cp:是否覆盖"/tmp/etc/resolv.conf"? y
[root@aminglinux ~]# \cp -r /etc /tmp             // \:转义字符

[root@aminglinux ~]# cp -rv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
"/etc/sysconfig/network-scripts/ifcfg-ens33" -> "/etc/sysconfig/network-scripts/ifcfg-ens33.bak"
[root@aminglinux ~]# cp -rv /etc/sysconfig/network-scripts/{ifcfg-ens33,ifcfg-ens33.bak}
cp:是否覆盖"/etc/sysconfig/network-scripts/ifcfg-ens33.bak"? y
"/etc/sysconfig/network-scripts/ifcfg-ens33" -> "/etc/sysconfig/network-scripts/ifcfg-ens33.bak"

[root@aminglinux ~]# cp -rv /etc/sysconfig/network-scripts/ifcfg-ens33{,-org}
"/etc/sysconfig/network-scripts/ifcfg-ens33" -> "/etc/sysconfig/network-scripts/ifcfg-ens33-org"
[root@aminglinux ~]# cp -rv /etc/sysconfig/network-scripts/{ifcfg-ens33,sambo-ens33}
"/etc/sysconfig/network-scripts/ifcfg-ens33" -> "/etc/sysconfig/network-scripts/sambo-ens33"

==移动 mv {move (rename) files}
用法:mv [选项]... [-T] 源文件 目标文件
 或:mv [选项]... 源文件... 目录
 或:mv [选项]... -t 目录 源文件...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
示例:
移动文件
[root@aminglinux ~]# mv 1.txt /root/dir3                           //将1.txt移动(move)到/root/dir3
[root@aminglinux ~]# mv 2.txt /root/dir3/file1                  //将2.txt移动(move)到/root/dir3,并改名为file1
[root@aminglinux ~]# mv 3.txt 5.txt                               //将3.txt重命名(rename)为5.txt

移动目录
[root@aminglinux ~]# ls
dir1 dir2 dir3
[root@aminglinux ~]# mv dir1 dir4                         //将dir1重命名(rename)为dir4
[root@aminglinux ~]# ls
dir2 dir3 dir4
[root@aminglinux ~]# mv dir2 dir3                            //将dir2移动到dir3
[root@aminglinux ~]# ls
dir3 dir4
[root@aminglinux ~]# ls dir3
dir2

==删除 rm (remove files or directories)
用法:rm [选项]... 文件...
Remove (unlink) the FILE(s)

示例:
[root@aminglinux ~]# mkdir /tmp/test/123
[root@aminglinux ~]# rm -rv /tmp/test/123/                   //-r:递归地删除目录及其内容
rm:是否删除目录 "/tmp/test/123/"?y
已删除目录:"/tmp/test/123/"

[root@aminglinux ~]# mkdir /tmp/test/123
[root@aminglinux ~]# rm -rfv /tmp/test/123/              //-f:强制删除
已删除目录:"/tmp/test/123/"

[root@aminglinux ~]# mkdir /root/dir10
[root@aminglinux ~]# touch /root/dir10/{file1,file2.file3,.file4}
[root@aminglinux ~]# rm -rf /root/dir10/*              //*不包括隐藏项目
[root@aminglinux ~]# ls -a /root/dir10
. .. .file4

[root@aminglinux ~]# rm -rf file*
[root@aminglinux ~]# rm -rf *.txt

注意事项:
rm -rf 命令后面不能加“/",否则它会把你的系统文件全部删除。

2.文件管理之:查看文件内容
===(cat,tac,more,less,head,tail)
cat : concatenate files and print on the standard output
(连接文件并在标准输出上打印)
tac: concatenate and print files in reverse
(反向连接并打印文件)

more : 用于查看一个文件的内容,后面直接跟文件名。当看完一屏后按空格键继续看下一屏。
但看完所有内容后就会退出。如果你想提前退出,只需按 ‘q’ 键即可。

less :用来查看一个文件的内容,后面直接跟文件名。比more好在可以上翻,下翻。
空格键同样可以翻页,而按 ‘j’ 键可以向下移动(按一下就向下移动一行),
按 ‘k’ 键向上移动。
more和less :可以按一下 ‘/’ 键,然后输入一个word回车,这样就可以查找这个word了。
如果是多个该word可以按 ‘n’ 键显示下一个。另外你也可以不按 ‘/’ 而是按 ‘?’
后边同样跟word来搜索这个word,唯一不同的是, ‘/’ 是在当前行向下搜索,
而 ‘?’ 是在当前行向上搜索。

head: 后直接跟文件名,则显示文件的前十行。如果加 -n 选项则显示文件前n行。
tail: 后面直接跟文件名,则显示文件最后十行。如果加-n 选项则显示文件最后n行。
-f : 动态显示文件的最后十行,如果文件是不断增加的,则用-f 选项。一般用于查看动态日志文件。

示例:
[root@aminglinux test]# cat -n passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
15 systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

[root@aminglinux test]# tac passwd
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash

[root@aminglinux test]# head -n 5 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

[root@aminglinux test]# tail -n 2 passwd
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

Linux文件管理

原文:https://www.cnblogs.com/sambo510/p/9225857.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!