云计算入门之linux系统配置及服务管理第二章:文件管理

温馨提示:熟能生巧!多练才熟!

一、linux目录结构

1、WINDOWS/LINUX目录对比:

Windows: 以多根的方式组织文件(分区比较多,例如C盘、D盘,E盘等): C:\ D:\ E:\

Linux: 以单根的方式组织文件 (可以添加多个磁盘,但统一都归属于根分区)/

2、简介/:/目录结构: FSH (Filesystem Hierarchy Standard)

[root@tianyun ~]# ls /

bin dev lib media net root srv usr

boot etc lib64 misc opt sbin sys var

cgroup home lost+found mnt proc selinux tmp

3、图示

4、目录功能:

bin 普通用户使用的命令 /bin/ls, /bin/date

sbin 管理员使用的命令 /sbin/service

dev 设备文件 /dev/sda,/dev/sda1

root root用户的HOME

home 存储普通用户家目录

lost+found fsck修复时,存储没有链接的文件或目录

proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态

usr 系统文件,相当于C:\Windows

/usr/local 软件安装的目录,相当于C:\Program

boot 存放的系统启动相关的文件,例如kernel,grub(引导装载程序)

etc 配置文件(系统相关如网络/etc/sysconfig/network

lib 库文件Glibc

lib64 库文件Glibc

tmp 临时文件(全局可写:进程产生的临时文件)

var 存放的是一些变化文件,比如数据库,日志,邮件....

==设备(主要指存储设备)挂载目录==

media 移动设备默认的挂载点

mnt 手工挂载设备的挂载点

二、文件管理

1、文件类型(理解)

(1)、类型

- 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)

d 目录文件(蓝色)

b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1

c 设备文件(字符设备)打印机,终端 /dev/tty1

l 链接文件(淡蓝色)

s 套接字文件

p 管道文件

(2)示例:

查看各式各样的文件类型。你能找出几种呢?

[root@tianyun ~]# ll -d /etc/hosts /bin/ls /home /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log /run/dmeventd-client

-rwxr-xr-x. 1 root root 117616 Nov 20 2015 /bin/ls

srw-rw-rw- 1 root root 0 Mar 14 2017 /dev/log

brw-rw---- 1 root disk 8, 0 Mar 14 09:03 /dev/sda

crw--w---- 1 root tty 4, 1 Mar 14 09:03 /dev/tty1

lrwxrwxrwx. 1 root root 22 Dec 21 01:40 /etc/grub2.cfg -> ../boot/grub2/grub.cfg

-rw-r--r-- 1 root root 392 Feb 22 15:51 /etc/hosts

drwxr-xr-x. 10 root root 4096 Mar 14 11:00 /home

[root@tianyun ~]$ file /etc/hosts

/etc/hosts: ASCII text

root@tianyun ~]$ file /bin/ls

/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

[root@tianyun ~]$ file /dev/sda

/dev/sda: block special

[root@tianyun ~]$ file /dev/tty1

/dev/tty1: character special

[root@tianyun ~]$ file /etc/grub2.cfg

/etc/grub2.cfg: broken symbolic link to `../boot/grub2/grub.cfg'

[root@tianyun ~]$ file /home

/home: directory

[root@tianyun ~]$ file /run/dmeventd-client

/run/dmeventd-client: fifo (named pipe)

注意:通过颜色判断文件的类型是不一定正确的!!!Linux系统中文件是没有扩展名!!!

2、    文件管理(重点)

(1).改变目录

1. 文件管理:cd 改变目录 绝对路径和相对路径

--------------------------------------------

cd 绝对路径 cd /home/alice cd ~alice

cd 相对路径 cd Desktop/abc cd .. cd .

===========================================

cd 专用:

cd - 返回上次目录

cd 直接回家(进入root用户的家目录~)

===========================================

文件路径(有难度)

需求

你要在哪儿创建文件?

你要将什么文件复制到什么地方?

你要删除什么地方的什么文件?

你如何表达,文件在计算机中的位置。

目录树形结构图

思考题

/home/alice/file1 和 /home/bob/file1 是不是同一个文件。

/abc/file5 和 abc/file5 是同一个文件吗?

原理

绝对路径: 从/开始的路径 /home/alice/file1

相对路径: 相对于当前目录开始 a.txt  ./a.txt    ../bob/b.txt

[假如:此时在目录/home/alice]

实验1

# useradd alice

# touch /home/alice/file1

# touch ~/file2

# touch ~alice/file3

实验2

# pwd

# mkdir abc

# touch ../file3

# touch file4

# touch abc/file5

2.创建文件

==创建文件 touch 

-------------------------------------------

# touch file1.txt //无则创建,有则修改时间

# touch file3 file4

# touch /home/file10.txt

# touch /home/file5 file6

# touch /home/{zhuzhu,gougou}

# touch file{1..20}

# touch file{a..c}

# touch yang{a,b,c} //{}集合,等价touch yanga yangb yangc

3.创建目录

目录 mkdir    -v 详细 -p 递归

------------------------------

# mkdir dir1

# mkdir /home/dir2 /home/dir3

# mkdir /home/{dir4,dir5}

# mkdir -v /home/{dir6,dir7} //显示详细信息,遍历

# mkdir -v /home/dir8/111/22

# mkdir -pv /home/dir8/111/222 //包括其父母的创建,不会有任何消息输出

# mkdir -pv /home/{yang/{dir1,111},tianyun}

4.复制

==复制 cp -r 目录 -v 详细 -f 强制

----------------------------------

Usage: cp [OPTION]... [-T] SOURCE DEST

# cd

# mkdir /home/dir{1,2}

# cp -v install.log /home/dir1   //-v 显示详细信息

# cp -v install.log /home/dir1/yang.txt

# cp -rv /etc /home/dir1    //-r 拷贝文件夹

# cp -v install.log /home/dir90 //没有/home/dir90

# cp -v install.log /home/dir2

# cp -v anaconda-ks.cfg !$

# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/grub.conf /home/dir2 //将多个文件拷贝到同一个目录

# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/grub.conf /etc/hosts .

# cp -r /etc /tmp

# cp -rf /etc /tmp    //-f, --force 强制

# cp -r /etc /tmp

cp到底是何方神圣?

[root@tianyun ~]# type -a cp

cp is aliased to `cp -i'

cp is /bin/cp

实战案例

路径太长,怎么办?(tab自动补全,如果没有补全,请查看该目录下有没有此文件)

[root@tianyun ~]# cp -rv /etc/sysconfig/network-scripts/{ifcfg-eth0,ifcfg-eth0.bak}

在原来的名字后面增加文字?

[root@tianyun ~]# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0{,-org}

更改名字。

[root@tianyun ~]# cp -rv /etc/sysconfig/network-scripts/{ifcfg-eth0,xu-eth0}

5.移动

==移动 mv

Usage: mv [OPTION]... [-T] SOURCE DEST

# mv file1 /home/dir3 将file2移动到/home/dir3

# mv file2 /home/dir3/file20 将file2移动到/home/dir3,并改名为file20

# mv file4 file5 将file4重命名为file5,当前位置的移动就是重命名

6.删除

==删除 rm -r 递归 -f force强制 -v 详细过程    *通配符

--------------------------------------------

示例1:删除/home/dir1

# cd /home

# rm -rf dir1

-r 递归

-f force强制

-v 详细过程

示例2:

[root@tianyun ~]# mkdir /home/dir10

[root@tianyun ~]# touch /home/dir10/{file2,file3,.file4}

[root@tianyun ~]# rm -rf /home/dir10/* //不包括隐藏文件

[root@tianyun ~]# ls /home/dir10/ -a

. .. .file4

示例3:

[root@tianyun ~]# rm -rf file*

[root@tianyun ~]# rm -rf *.pdf

7.查看文件内容

推荐查看的文件

/bin/date

/etc/hosts

/etc/sysconfig/network

/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/passwd

/etc/shadow

/etc/group

/etc/grub2.cfg

/etc/resolv.conf

/etc/profile //设置系统环境变量

/etc/bashrc //影响bash shell环境

/var/log/messages //系统主日志文件

/var/log/secure //跟安全相关的日志如ssh登录,本地登录...

cat全部

cat

-n 显示行号

-A 包括控制字符(换行符/制表符)

linux $

Windows ^M$

more:翻页查看,其后后跟所要查看的文件路径

#more /root/2.txt

head:查看头部,默认前十行

[root@tianyun ~]# head /etc/passwd

[root@tianyun ~]# head -2 /etc/passwd

tail:尾部,默认后十行

[root@tianyun ~]# tail /etc/passwd

[root@tianyun ~]# tail -1 /etc/passwd

[root@tianyun ~]# tail /var/log/messages

[root@tianyun ~]# tail -20 /var/log/messages

[root@tianyun ~]# tail -f /var/log/secure //-f 动态查看文件的尾部

[root@tianyun ~]# tail -F /var/log/secure //-F 动态查看文件的尾部

注:vim, gedit编辑文件时,索引号会改变

grep过滤关键字

grep 针对文件内容进行过滤

# grep 'root' /etc/passwd

# grep '^root' /etc/passwd

# grep 'bash$' /etc/passwd

# grep 'failure' /var/log/secure

8.修改文件内容

1 重定向

[root@tianyun ~]# ll -a > list.txt

2.文件编辑器1

文件编辑器 gedit

3.文件编辑器2

vi, vim, nano

VI 的三个模式

可视模式,按V进入,小v光标自己选取,大V直接选取一行,YYp复制粘贴即可。

ctrl+V,上下选择,然后可以ctrl+>  进行整体缩进。

命令模式

光标定位

光标定位

hjkl              //上下左右

0 $              //行首行尾

gg G //野兽页尾

3G 进入第三行 

/string (n N 可以循环的)    //查找字符,n下一个

文本编辑

文本编辑(少量)

y 复制 yy 3yy ygg yG (以行为单位)

d 删除 dd 3dd dgg dG (以行为单位)

p 粘贴

x 删除光标所在的字符

D 从光标处删除到行尾

u undo撤销

^r redo重做

r 可以用来修改一个字符

进入其它模式

进入其它模式

a 进入插入模式

i 进入插入模式

o 进入插入模式

A 进入插入模式

: 进入末行模式(扩展命令模式)

v 进入可视模式

^v 进入可视块模式

V 进入可视行模式

R 进入替换模式

输入模式

可视块模式

可视块模式:

块插入(在指定块前加入字符): 选择块,I 在块前插入字符, ESC

块替换: 选择块,r 输入替换的字符

块删除: 选择块,d | x

块复制: 选择块,y

扩展命令模式

保存退出

:10 进入第10行

:w 保存

:q 退出

:wq 保存并退出

:w! 强制保存

:q! 不保存并退出

:wq! 强制保存退出

:x 保存并退出 ZZ

查找替换

:范围 s/old/new/选项

:1,5 s/root/yang/          从1-5行的root 替换为yang

读入文件/写文件(另存为)

:w 存储到当前文件

:w /tmp/aaa.txt 另存为/tmp/aaa.txt

:1,3 w /tmp/2.txt

:r /etc/hosts 读入文件到当前行后

:5 r /etc/hosts 读入文件到第5行后

设置环境

临时设置:

:set nu 设置行号

:set ic 不区分大小写

:set ai 自动缩进

:set list 显示控制字符

:set nonu 取消设置行号

:set noic

9.文件基本信息:时间(了解)

时间类型

访问时间:atime,查看内容 //RHEL6会延后修改atime

修改时间:mtime,修改内容

改变时间:ctime,文件属性,比如权限

删除时间:dtime,文件被删除的时间

查询示例

[root@tianyun ~]# ls -l install.log

-rw-r--r-- 1 root root 34793 10-23 13:49 install.log

[root@tianyun ~]# stat install.log

File: “install.log”

Size: 34793 Blocks: 80 IO Block: 4096 一般文件

Device: 802h/2050d Inode: 65282 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2012-10-23 16:53:20.000000000 +0800

Modify: 2012-10-23 13:49:46.000000000 +0800

Change: 2012-10-23 13:49:52.000000000 +0800

ls -l 文件名 仅看的是文件的修改时间

总结:创建、复制、删除、移动、查看、编辑。

作业:

1、完成本章学习的所有内容

2、熟记linux的10个目录功能

3、type、file、stat 3个命令的区别

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容