9. 文件和目录管理
9.1 创建文件(touch)
[zy@localhost Desktop]$ touch zy
[zy@localhost Desktop]$ ls
zy
[zy@localhost Desktop]$ touch zy1 zy2
[zy@localhost Desktop]$ ls
zy zy1 zy2
[zy@localhost Desktop]$
* 匹配任意(通常用于删除)
{} 匹配指定内容
{1..5} 1 2 3 4 5
[zy@localhost Desktop]$ touch zy{1..5}
[zy@localhost Desktop]$ ls
zy1 zy2 zy3 zy4 zy5
[zy@localhost Desktop]$ touch zy*
[zy@localhost Desktop]$ ls
zy1 zy2 zy3 zy4 zy5
[zy@localhost Desktop]$ touch fa*
[zy@localhost Desktop]$ ls
fa* zy1 zy2 zy3 zy4 zy5
[zy@localhost Desktop]$
9.2 文件删除(rm)
remove - rm(默认只能删除文件,不能删除文件夹)
[zy@localhost Desktop]$ rm fa*
[zy@localhost Desktop]$ ls
zy1 zy2 zy3 zy4 zy5
[zy@localhost Desktop]$ rm -i zy1
rm: remove regular empty file ‘zy1’? y
[zy@localhost Desktop]$ ls
zy2 zy3 zy4 zy5
[zy@localhost Desktop]$
[zy@localhost ~]$ rm Templates/
rm: cannot remove ‘Templates’: Is a directory
[zy@localhost ~]$ rm -r Templates/
[zy@localhost ~]$ ls
Desktop Documents Downloads Music Pictures Public Videos
[zy@localhost ~]$
[zy@localhost Desktop]$ ls
aa1 aa2 aa3 aa4 aa5 zy2 zy3 zy4 zy5
[zy@localhost Desktop]$ rm -rf aa*
[zy@localhost Desktop]$ ls
zy2 zy3 zy4 zy5
[zy@localhost Desktop]$ rm -rf zy{2..5}
[zy@localhost Desktop]$ ls
[zy@localhost Desktop]$
9.3 文件复制(cp)
copy cp
[zy@localhost Desktop]$ cp /etc/hosts ./
[zy@localhost Desktop]$ ls
hosts
[zy@localhost Desktop]$
[zy@localhost Desktop]$ cp -i /etc/hosts ./
cp: overwrite ‘./hosts’? y
[zy@localhost Desktop]$ ls
hosts
[zy@localhost Desktop]$
[zy@localhost Desktop]$ ls -lh
-rw-r--r--. 1 zy zy 158 Jan 30 01:43 hosts
[zy@localhost Desktop]$ cp -ia /etc/hosts ./
cp: overwrite ‘./hosts’? y
[zy@localhost Desktop]$ ls -lh
-rw-r--r--. 1 zy zy 158 Jun 7 2013 hosts
[zy@localhost Desktop]$
9.4 文件剪切/移动/重命名
move - mv
[zy@localhost Desktop]$ ls
hosts
[zy@localhost Desktop]$ mv hosts ../
[zy@localhost Desktop]$ ls
[zy@localhost Desktop]$ cd ./../
[zy@localhost ~]$ ls
Desktop Documents Downloads hosts Music Pictures Public Videos
[zy@localhost Desktop]$ ls
hosts
[zy@localhost Desktop]$ mv hosts hostzy
[zy@localhost Desktop]$ ls
hostzy
[zy@localhost Desktop]$
9.5 文件查看
[zy@localhost ~]$ cat ./hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[zy@localhost ~]$
[zy@localhost ~]$ tac ./hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
[zy@localhost ~]$
[zy@localhost ~]$ head /etc/passwd -n 5
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
[zy@localhost ~]$
[zy@localhost ~]$ tail /etc/passwd -n 5
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
zy:x:1000:1000:zy:/home/zy:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
[zy@localhost ~]$
[zy@localhost ~]$ more /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
chrony:x:994:992::/var/lib/chrony:/sbin/nologin
--More--(53%)
[zy@localhost ~]$ less /etc/passwd
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
saslauth:x:995:76:Saslauthd user:/run/saslauthd:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
chrony:x:994:992::/var/lib/chrony:/sbin/nologin
:
$# 4.
[zy@localhost ~]$ cat ./hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[zy@localhost ~]$ wc -c hosts
158 hosts
[zy@localhost ~]$
[zy@localhost ~]$ wc -l hosts
2 hosts
[zy@localhost ~]$
[zy@localhost ~]$ wc -w hosts
10 hosts
[zy@localhost ~]$
[zy@localhost ~]$ wc -L hosts
78 hosts
[zy@localhost ~]$
9.6 创建/删除/查看目录
$# 1. mkdir(创建目录)
[zy@localhost Desktop]$ ls
hostzy
[zy@localhost Desktop]$ mkdir zy
[zy@localhost Desktop]$ ls
hostzy zy
[zy@localhost Desktop]$
[zy@localhost Desktop]$
[zy@localhost Desktop]$ mkdir -p zy1/zy2
[zy@localhost Desktop]$ ls
zy1
[zy@localhost Desktop]$ ls ./zy1
zy2
[zy@localhost Desktop]$
$# 2. rmdir(删除目录)
[zy@localhost Desktop]$ ls
hostzy
[zy@localhost Desktop]$ rmdir hostzy
[zy@localhost Desktop]$ ls
[zy@localhost Desktop]$
[zy@localhost Desktop]$ ls
zy1
[zy@localhost Desktop]$ ls ./zy1
zy2
[zy@localhost Desktop]$ rmdir -p zy1/zy2
[zy@localhost Desktop]$ ls
[zy@localhost Desktop]$
$# 3. 查看目录本身的信息(-d)
[zy@localhost Desktop]$ ls
zy
[zy@localhost Desktop]$ ls -lh zy
tot al 0
-rw-rw-r--. 1 zy zy 0 Jan 30 02:37 zy1
-rw-rw-r--. 1 zy zy 0 Jan 30 02:37 zy2
-rw-rw-r--. 1 zy zy 0 Jan 30 02:37 zy3
-rw-rw-r--. 1 zy zy 0 Jan 30 02:37 zy4
-rw-rw-r--. 1 zy zy 0 Jan 30 02:37 zy5
[zy@localhost Desktop]$ ls -lhd zy
drwxrwxr-x. 2 zy zy 61 Jan 30 02:37 zy
[zy@localhost Desktop]$
9.7 文件查找
9.7.1 find
$# 1.find [文件路径] [参数]
[zy@localhost ~]$ touch zy.txt
[zy@localhost ~]$ touch zt.txt
[zy@localhost ~]$ touch zy.mp3
[zy@localhost ~]$ ls
Desktop Documents Downloads Music Pictures Public Videos zt.txt zy.mp3 zy.txt
[zy@localhost ~]$
[zy@localhost ~]$ su
Password:
[root@localhost zy]
[root@localhost zy]
exit
[zy@localhost ~]$
[zy@localhost ~]$ find ./ -name zy.txt
./zy.txt
[zy@localhost ~]$
[zy@localhost ~]$ find ./ -name "*.txt"
./.cache/tracker/db-version.txt
./.cache/tracker/db-locale.txt
./.cache/tracker/parser-sha1.txt
./.cache/tracker/locale-for-miner-user-guides.txt
./.cache/tracker/locale-for-miner-apps.txt
./.cache/tracker/last-crawl.txt
./.cache/tracker/first-index.txt
./zy.txt
./zt.txt
./1234.txt
[zy@localhost ~]$
[root@localhost zy]
./zy.mp3
[root@localhost zy]
[root@localhost zy]
./1234.txt
[root@localhost zy]
[root@localhost zy]
[root@localhost zy]
[root@localhost zy]
[root@localhost zy]
-atime - + 匹配访问文件的时间 -n指n天以内,+n指n天以前
-mtime - + 匹配修改文件内容的时间 -n指n天以内,+n指n天以前
-ctime - + 匹配修改文件属性的时间 -n指n天以内,+n指n天以前
-atime -5
-mtime -5
-ctime -5
[root@localhost zy]
[root@localhost zy]
[root@localhost zy]
[root@localhost zy]
./zy.txt
./zt.txt
./1234.txt
[root@localhost zy]
b 块设备
d 目录
c 字符设备
p 管道
l 链接文件
f 普通文件
[root@localhost zy]
./.bash_logout
./.bash_profile
./.Xauthority
./zy.txt
./zy.mp3
./1234.txt
[root@localhost zy]
+50k 50k以上的文件
-50k 50k以内的文件
50 等于50k的文件
[root@localhost zy]
./
./.cache/imsettings/log.bak
./.cache/event-sound-cache.tdb.localhost.localdomain.x86_64-redhat-linux-gnu
./.local/share/gvfs-metadata/root-5546d320.log
./.bash_history
[root@localhost zy]
9.7.2 locate
$# 2. locate
[root@localhost zy]
/home/zy/zy.txt
[root@localhost zy]
[root@localhost /]
/home/zy/zy.txt
[root@localhost /]
[root@localhost zy]
1
[root@localhost zy]
525
[root@localhost zy]
[zy@localhost ~]$ locate -n 10 "*.txt"
/etc/brltty/brl-ba-all.txt
/etc/brltty/brl-bd-all.txt
/etc/brltty/brl-bl-18.txt
/etc/brltty/brl-bl-40_m20_m40.txt
/etc/brltty/brl-ec-all.txt
/etc/brltty/brl-ec-spanish.txt
/etc/brltty/brl-eu-all.txt
/etc/brltty/brl-lb-all.txt
/etc/brltty/brl-lt-all.txt
/etc/brltty/brl-mb-all.txt
[zy@localhost ~]$
[zy@localhost ~]$ locate -i zy.TXT
/home/zy/zy.txt
[zy@localhost ~]$
find是去硬盘找文件,locate只在本地locate数据库中查找文件索引
本地locate数据库需要手动更新 -updatedb
[zy@localhost ~]$ touch zy.html
[zy@localhost ~]$ locate zy.html
[zy@localhost ~]$
[zy@localhost ~]$ ls
1234.txt Documents Music Public zt.txt zy.mp3
Desktop Downloads Pictures Videos zy.html zy.txt
[zy@localhost ~]$ find zy.html
zy.html
[zy@localhost ~]$
[root@localhost zy]
Database /var/lib/mlocate/mlocate.db:
9,682 directories
122,725 files
5,921,091 bytes in file names
2,719,820 bytes used to store database
[root@localhost zy]
[root@localhost zy]
[root@localhost zy]
[root@localhost zy]
Database /var/lib/mlocate/mlocate.db:
9,682 directories
122,726 files
5,921,104 bytes in file names
2,719,826 bytes use
[zy@localhost ~]$
[zy@localhost ~]$ locate ./ "zy.*"
[zy@localhost ~]$
[zy@localhost ~]$ locate /home/zy/
/home/zy/.ICEauthority
/home/zy/.Xauthority
/home/zy/.mozilla/extensions
/home/zy/.mozilla/plugins
[zy@localhost ~]$
[zy@localhost ~]$ locate "/home/zy/zy.*"
/home/zy/zy.c
/home/zy/zy.cpp
/home/zy/zy.html
/home/zy/zy.mp3
/home/zy/zy.txt
[zy@localhost ~]$
[zy@localhost ~]$ locate "/home/zy/Desktop/"
/home/zy/Desktop/zy.html
/home/zy/Desktop/zy1.mps
/home/zy/Desktop/zy2.mps
[zy@localhost ~]$
9.7.3 grep
$# 3. grep(文件内容查找)
[zy@localhost ~]$ grep zy /etc/passwd
zy:x:1000:1000:zy:/home/zy:/bin/bash
[zy@localhost ~]$
[zy@localhost ~]$ grep "zy" /etc/passwd
zy:x:1000:1000:zy:/home/zy:/bin/bash
[zy@localhost ~]$
[zy@localhost ~]$ grep -c "var" /etc/passwd
17
[zy@localhost ~]$
[zy@localhost ~]$ grep -i "Zy" /etc/passwd
zy:x:1000:1000:zy:/home/zy:/bin/bash
[zy@localhost ~]$
[zy@localhost ~]$ grep -n "zy" /etc/passwd
41:zy:x:1000:1000:zy:/home/zy:/bin/bash
[zy@localhost ~]$
[zy@localhost ~]$ grep -v "zy" /etc/passwd -n
37:avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
38:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
39:ntp:x:38:38::/etc/ntp:/sbin/nologin
40:tcpdump:x:72:72::/:/sbin/nologin
42:apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
[zy@localhost ~]$