上课内容:

文件系统结构元素

创建和查看文件

复制、剪切和删除文件

/

├── bin -> usr/bin :存放二进制文件,供所有用户使用的命令,系统启动即会用到的程序

├── boot :存放系统的启动文件、内核文件vmlinuz,引导加载器grub

├── dev:存放系统的设备文件,包括块设备和字符设备

├── etc :存放系统的配置文件,常用的/etc/passwd、/etc/shadow、/etc/issue、/etc/profile、/etc/bashrc 

├── home:存放每个用户的家目录

├── lib -> usr/lib:库文件

├── lib64 -> usr/lib64

├── media:挂载目录,一般挂载移动设备

├── mnt:挂载目录

├── opt

├── proc:伪文件,输出内核和进程信息相关的参数,如/proc/cpuinfo

├── root:root的家目录

├── run:

├── sbin -> usr/sbin:管理员权限的二进制命令存放目录

├── srv

├── sys:伪文件目录,预设系统的硬件性能参数

├── testdir

├── testdirsysroot

├── tmp:存放临时文件

├── usr:相当于第二个/

└── var:变量文件,如/var/log、/var/www


文件和目录被组织成一个单根倒置的树结构

文件目录从跟“/”开始

严格区分大小写

以.开头的是隐藏文件

文件系统的分层遵循FHS标准


linux下的文件类型

-:普通文件

d:目录文件

b:块设备文件

c:字符设备文件

s:套接字文件

l:链接文件

p:管道文件

显示当前所在的目录

pwd


绝对路径:

以正斜杠开始

完整的文件的位置路径

可用于任何想指定一个文件名的时候

相对路径:

不以斜线开始

指定相对于当前工作目录或某目录的位置

可以作为一个简短的形式指定一个文件名


cd:更改目录

-:返回上次访问目录

~:家目录

~NAME:NAME的家目录

.:当前目录

..:上级目录

ls

-a

-l 

-d 

-S:有大到小排列显示

-R:目录递归显示

文件通配符

*:匹配零或多个字符

?:匹配任意一个字符

[0-9]

[a-z]

[A-Z]

[^aaa]

[:digit:]

[:alpha:]

[:upper:]

[:lower:]

[:alnum:]

[:space:]

文件通配符一般使用在搜索或显示的查找文件名上


练习

  1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录

ls /var/l*[0-9]*[[:lower:]]

2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录

ls /etc/[[:digit:]]*[^[:digit:]]

3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录

ls /etc/[^[:alpha:]][[:alpha:]]*

4、显示/etc目录下所有以m开头以非数字结尾的文件或目录

ls /etc/m*[^[:digit:]]

5、显示/etc目录下,所有以.d结尾的文件或目录

ls -d /etc/*.d 

6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录

ls /etc/[mnrp]*.conf


查看文件状态

stat

acesstime:访问时间,读取文件内容

modifytime:修改时间,文件内容发生改变

changetime:改变时间,元数据发生改变

三个时间戳,atime或mtime的改变都会伴随着ctime的改变


touch

-a 

-m 

复制文件和目录

cp [opsitons] SOUR... DEST

-r 

-v 

-p 

-i 

-f 

别名

alias

在shell中修改只对当前shell有效,退出登录后将失效,药效永久有效需要更改配置

配置文件路径是/etc/profile、/etc/bashrc、~/.bashrc

修改完配置文件后不会立刻生效,正常需要重新登陆才生效,要想立刻生效可执行

./path/to/config_file

如:

vim /etc/bashrc:修改别名

source /etc/bashrc:刷新配置文件

. /etc/bashrc:刷新配置文件

mv

rm 

-r 

-f 

-i

mkdir

-p 

-v 

作业

2只显示指定目录的隐藏文件 

[root@Centos7 ~]# ls -d .*

.   .bash_history  .bash_profile  .cache   .cshrc  .esd_auth      .lesshst  .tcshrc

..  .bash_logout   .bashrc        .config  .dbus   .ICEauthority  .local    .viminfo             

3只显示指定目录下目录(不看文件)

[root@Centos7 ~]# ls -d */

Desktop/  Documents/  Downloads/  Music/  Pictures/  Public/  Templates/  Videos/