一.linux系统结构

首先我们学习linux的系统结构,linux系统中一切皆文件!

由上图,可以看到linux是一个倒树结构 linux中所有的东西都是文件 这些文件都在系统顶级目录“/” /就是根目录 /目录以下为二级目录这些目录都是系统装机时系统自动建立的 二级目录的作用 /bin ##二进制可执行文件也就是系统命令 /sbin ##系统管理命令存放位置 /boot ##启动分区,负责系统启动 /dev ##设备管理文件 /etc ##大多数系统管理文件 /home ##普通用户的家目录 /lib ##32位系统库文件存放位置 /lib64 ##64位系统库文件存放位置 /media ##系统临时设备挂点
/mnt ##系统临时设备挂载点 /run ##系统临时设备挂载点 /opt ##第三方软件安装位置 /proc ##系统信息 /root ##超级用户家目录 /srv,/var ##系统数据 /sys ##系统管理,主要是关于内核的 /tmp ##系统临时文件存放位置 /usr ##系统用户相关信息数据及用户自定义软件存放位置

二.文件的寻址

绝对路径 文件在系统的真实位置,文件名字以“/”开头 相对路径 文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值 说说我对绝对路径和相对路径的理解: 以收货地址为例,收货地址一般会写成学校。若店家也在中国,则地球亚洲中国是默认成分,可以省略。绝对路径就是从最开始说,地球亚洲中国市区学校。相对路径如有相同的父目录则可以省略不写,这里写市区**学校。

三.文件的管理

1.touch 建立文件或修改文件时间戳 touch file ##创建文件 gedit 只有在root权限下才可以使用,普通用户不可以用。

2.mkdir 建立目录

mkdir directory ##创建目录 -p ##上级目录不存在自动建立 mkdir -p test/linux 递归创建分级目录: test目录下有linux目录 错误做法: mkdir test linux test linux ##创建两个目录 mkdir test/liunx ##报错

3.rm 删除

rm -f ##强行删除不提示 -r ##删除目录 rm file 删除文档file,会提示你是否确定删除:y是 n否 rm -r test 删除目录test,会提示你是否确定删除:y是 n否 每次都会提示,不想被提示加-r。 rm -fr * 删除当前目录下的所有文档和目录

4.cat|head|tail 查看文件内

cat|head|tail ##文件内容查看命令

cat file ##查看file文件内容

head -n 5 file ##查看file文件前五行的内容

tail -n 3 file ##查看file文件后三行的内容

5.cd 切换工作目录

cd directory ##切换工作目录到指定目录

cd - ##切换工作目录到之前所在目录

cd ~ ##切换到自己的家目录

cd ~usernmae ##切换到指定用户家目录

cd .. ##进入到当前目录的上级目录

6.ls 列出目录或文件信息

ls ##如果后面没有目标那么默认目标为当前目录 ls direcory|filename ##列出文件或目录内容 ls -d direcotry ##列出目录本身 ls -l filename|dorectory ##列出文件或目录里面内容的属性 ls -ld directory ##列出目录本身属性 ls -a ##显示目录中的所有内容,包括以"."开头的隐藏文件 ls -R ##第归显示目录中的内容

7.cp 文件复制

cp是新建文件的过程

cp file file1 file2 ... directory ###把file file1 file2 复制到 directory中

cp file test ###建立test文件模板为file

cp -r directory direcotry1 ###复制目录

cp之后原文件依旧存在

8.mv 移动或重命名

cp和mv的区别: cp是一个新建的过程,而mv是一个重命名或移动的过程

mv file file1 direcotry ##移动file file1到directory中 mv 存在文件 不存在文件 ##重命名文件

mov之后原来文件不存在

四.正则表达式

  •   ###匹配0到任意字符
    

? ###匹配单个字符 [[:alpha:]] ###匹配单个字母 [[:lower:]] ###匹配单个小写字母 [[:upper:]] ###匹配单个大写字母 [[:digit:]] ###匹配单个数字 [[:alnum:]] ###匹配单个数字或字母 [[:punct:]] ###匹配单个符号 [[:space:]] ###匹配单个空格 mv * test ##将当前目录下的所有文件或者目录移动到test目录下,警告test无法移动到test下 (mv:cannot move 'test' to a subdirectory of itself,'test/test') {}表示不存在的或者存在的 {1..9} ###1-9 {a..f} ###a-f {1,3,5} ###135 {a,c,e} ###a c e {1..3}{a..c} ###1a 2a 3a 2a 2b 2c 3a 3b 3c touch file{1..4} ##file1 file2 file3 file4 touch file{a..c} ##filea fileb filec touch file{1..3}{a..c} ## []表示存在的 [A-C] ###aA bB cC [a-c] ###aA或者bB或者c [1-3] ###1或者2或者3 [145] ###1或者4或者5 [^abc]|[!abc] ###除了a并且除了b并且除了c rm -rf file[!a] 删除filea以外的文件 ~ ###当前用户家目录 ~username ###指定的用户家目录 ~+ ###当前目录 ~- ###当前目录之前所在目录

. ###当前目录 .. ###当前目录的上一级