1.linux的系统结构
类似于 windows 中文件夹的东西在 linux 中叫目录。linux 是一个倒树型结构,linux 中最大的目录是 “/”, 根目录,"/" 目录中的二级目录多为系统在安装过程中建立的。
| 目录 | 功能 |
|---|---|
| /bin | 存放大多数系统命令,所有用户都可以执行的命令,如:cat,mkdir,mv,cp,tar,chmod |
| /sbin | 超级管理员专用目录,包含一些重要的命令shutdown,dump |
| /boot | 存放系统开机时所需要的文件,开机时载入开机管理程序(bootloader)并映像到内存中 |
| /dev | 存放设备的文件,系统设备管理文件 |
| /etc | 存放大多数系统的配置文件 |
| /home | 普通用户的家目录 |
| /lib | 存放系统程序文件,包含C编译程序需要的函数库,是一组二进制文件 |
| /mnt | 零时挂在点,专门挂载文件系统 |
| /opt | 第三方程序安装目录 |
| /proc | 系统硬件信息和进程信息存放位置 |
| root | 超级用户的家目录 |
| /tmp | 临时文件存储 |
| /usr | 包含其他一些重要内容,如:bin,sbin,lib,include等,且bin下还有gcc,python等 |
| /var | 存放系统定义表以便在系统运行改变时备份目录,如cache,ftp,mail,www |
2.相对路径和绝对路径
绝对路径:文件在系统的真实位置,文件名称通常以“/“开头,在系统的任何环境下用绝对路径都可以找到指定的文件,只要文件存在。
相对路径:相对于当前位置的一个名称的简写,不是以“/”开头的文件名称都是相对路径,相对路径只有在相对的位置才能使用。
新建文件file1使用的是绝对路径,新建文件file2使用的是相对路径,其实它们表示同一个位置,都是/root/Desktop位置。
3.文件和目录的常用操作
(1)建立文件和目录
| 命令 | 功能 |
|---|---|
| touch file | 新建文件file |
| touch file{1…5} | 同时新建多个文件 |
| mkdir westos | 新建目录 |
| mkdir -p linux/westos | 新建多层目录 |
(2)删除文件和目录
| 命令 | 功能 |
|---|---|
| rm file | 删除文件但是会询问 |
| rm -f file{1…5} | 强制删除文件不会询问 |
| rm -r westos | 删除目录会有询问 |
| rm -rf linux | 强制删除目录linux |
(3)编辑文件
a. 图形模式
使用gedit filename 进行文件的编辑,如果filename不存在,会新建文件,然后进入图形化模式,操作和windows一样。
b.vim模式
使用vim filename 会进入vim的命令行模式,点击【i】进入插入模式,就可以对文件进行编辑,编辑完成后,按【esc】键退出编辑模式,然后【:wq】退出保存。(关于vim的操作以后会详解)
注意:vim的异常退出
当vim异常退出时会生成.file.swp文件,当再次打开此文件时会出现以下情况:
无论按O(按:q退出),E,R,Q,A,都不会删除.swp文件,那么再次打开文件是还会出现以上界面,按【R】保存之后。在命令行中永久删除.swp文件,这样再次打开后,就不会出现以上情况。
(4)文件和目录的复制
| 命令 | 功能 |
|---|---|
| cp 源文件 目标文件 | 文件的复制 |
| cp -r 源目录 目标目录 | 目录的复制 |
(5)文件的移动
| 命令 | 功能 |
|---|---|
| mv 源文件 目标文件 | 文件的移动 |
| mv 源目录 目标目录 | 目录的移动 |
注意:相同磁盘的移动就是重命名,不同磁盘的移动就是复制删除。
(6)文件内容的查看
a.cat方式
| 命令 | 说明 |
|---|---|
| cat file | 查看文件的全部内容,不显示行号 |
| cat -b file | -b显示行号,对空行不计行号 |
| cat -n file | -n显示行号,对空行记行号 |
b.less方式
| 命令 | 说明 |
|---|---|
| less file | 分页浏览 |
| 上或者下 | 逐行移动 |
| pageup或者pagedown | 逐页移动 |
| /关键字 | 高亮显示关键字,n向下匹配,N向上匹配 |
| v | 进入vim模式,按i进入编辑模式,在vm模式中按:wq退回到less模式 |
| q | 退出 |
c.查看文件某几行
| 命令 | 说明 |
|---|---|
| head file | 查看文件的前10行,默认10行 |
| head -n 3 file | 查看文件的前3行 |
| tail file | 查看文件的后10行 |
| tail -n 3 file | 查看文件的后3行 |
(7)文件属性的查看
| 命令 | 说明 |
|---|---|
| ls | 查看当前路径中所有的文件和目录名称 |
| ls -l file | 长列表显示file属性 |
| ls -d file | 显示目录本身 |
| ls -ld dir | 显示目录的属性 |
| ls -a | 显示所有文件包含隐藏文件 |
| ls -s file | 显示文件大小,单位i是字节 |
| ls -R dir | 递归显示,通常用于目录 |
| ls -S dir | 查看并且按照大小排序 |
4.关于路径的常用命令
| 命令 | 说明 |
|---|---|
| pwd | 显示当前路径 |
| cd 目录名称 | 切换到指定的目录 |
| cd - | 当前目录和当前目录之前所在的目录之间切换 |
| cd ~ | 切换到用户的家目录 |
| cd . | 当前目录 |
| cd … | 进入到目录的上级目录 |
5.通配符
| 通配符 | 说明 |
|---|---|
| * | 匹配0-任意字符 |
| ? | 匹配单个字符 |
| ~ | 匹配当前用户的家目录 |
| ~+ | 当前目录,相当于. |
| ~- | 当前目录之前所在的目录,相当于- |
| [abc] | 一位,有a或b或c |
| [!abc] | 一位,除了a或b或c |
| [^abc | 一位,除了a或b或c |
| [[:alpha:]] | 单个字母 |
| [[:lower:]] | 单个小写字母 |
| [[:upper:]] | 单个大写字母 |
| [[:digit:]] | 单个数字 |
| [[:punct:]] | 单个符号 |
| [[:space:]] | 单个空格 |
| [[:alnum:]] | 单个数字或字母 |
| [[:punct:][:upper:]] | 单个字符或大写字母 |