####Linux系统结构###
- Linux是一个倒树型结构,最大的目录名称叫做根目录 “/”。
- Linux最大目录下的二级目录有:
/bin ##二进制可执行文件,系统常规命令
/boot ##启动目录,存放系统自动启动文件,内核,初始化程序
/dev ##系统设备管理文件
/etc ##大多数系统配置文件存放路径
/home ##普通用户家目录
/lib ##函数库
/lib64/ ##64位函数库
/media ##临时挂载点
/mnt ##临时挂载点
/run ##自动临时设备挂载点
/opt ##第三方软件安装路径
/proc ##系统硬件信息和系统进程信息
/root ##超级用户家目录
/sbin ##系统管理命令,通常只有root可以执行
/srv ##系统数据目录
/var ##系统数据目录
/sys ##内核相关数据
/tmp ##临时文件产生目录
/usr/ ##用户相关信息数据
####文件管理命令###
1.文件的建立 touch filename
touch file{1..8} ##建立了八个名字分别为file1,file2,...,file8的文件 { }代表了一个集合
touch file[1..8] ##建立了一个名为file[1..8]的文件夹
stat命令可以查看文件的时间戳
注意:
touch不但可以建立文件也可以修改文件的时间戳时间戳分为:
(1)atime:文件内容被访问的时间标识
(2) mtime:文件内容被修改的时间标识
(3) ctime:文件属性或文件内容被修改的时间标识
2.目录的建立 mkdir directory
mkdir -p dir1/dir2/dir3/... ## -p 表示建立递归目录,如果上级目录不存在时自动建立
3.文件和目录的删除 rm filename目录的删除 ##文件的删除 , rm -r directory ##目录的删除
rm -f filename ## -f = force 表示强制删除并且不提示
rm -rf directory ## -r 表示递归删除目录及其之下的所有文件
rm -rf * ## * 表示当前目录下的所有文件及其目录。 此命令表示删除当前目录下的所其目命令参数的使用,不需要注意先后 顺序
【附加知识点:/tmp/* 表示根下的tmp下的所有文件】
4.文件编辑
vim filename ——> 按[i]进入insert模式 ——> 编辑文件内容 ——> 按[esc]退出insert模式 ——> :wq退出保存
5.vim的异常退出
当vim异常退出时会生成.file.swp文件
当再次打开此文件时会出现以下情况:
E325: ATTENTION
Found a swap file by the name ".hello.swp"
owned by: root dated: Tue Jul 17 20:34:50 2018
file name: ~root/Desktop/hello
modified: YES
user name: root host name: localhost.localdomain
process ID: 3597
While opening file "hello"
Swap file ".hello.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
只读打开 继续编辑 恢复数据 删除 退出 退出
无论按[O] (E) (R) (Q) (A) 任何一个都不会删除.swp文件
那么再次打开hello文件是还会出现以上界面,直到按(D),.swp文件被删除。vim恢复正常工作
6.文件的复制
cp 源文件 目的地文件
cp -r 源文目录 目的地目录
cp 源文件1 源文件2 目的地目录 ##目的地目录必须存在
cp -r 源目录1 源目录2 目的地目录 ##目的地目录必须存在
注意:目录之间的复制要加 -r ,否则复制不了。无论目录中是否有文件存在。
7.文件的移动
mv 源文件 目的地文件 ##如果目的地文件与源文件在同一磁盘,相当于重命名
mv 源目录 目的地目录
注意:相同磁盘的文件移动只是一个重明名过程,不同磁盘的文件移动是复制删除过程
8.文件的查看
cat file ##查看文件的全部内容
cat -b file ##-b显示行号
less file ##分页浏览
用法:
上|下 ##逐行移动
pageup|pagedown ##逐页移动
/关键字 ##高亮显示关键字,n向下匹配,N向上匹配
v ##进入vim模式 在vim模式中按:wq 退回到less模式
q ##退出
9.文件的寻址
(1)相对路径: 和当前系统所在位置相同时,之前的相同的目录的名称(即,系统当前所在目录的名称)就可以被忽略。不能以 “/” 开头,如果相对路径以 “/” 开头的话,就代表根目录下的你要寻找的文件或者目录。此名称前只有空格,在命令执行时系统会自动在操作对象前加入“PWD”所显示的值。 westos就是相对路径
【附加知识点:pwd = print working directory 是指显示当前系统工作目录】
(2)绝对路径:绝对路径是文件在系统的真实准确的位置。此命令是以“/”开头的,绝对路径可以不用管系统现在所在的工作目录。通过绝对路径绝对可以找到 要找的文件。
10.相关命令
(1)<TAB>键 系统中的<TAB>键可以实现命令的自动补齐
可以用来补齐系统中存在的命令,文件名称,和部分命令的参数
当一次<TAB>补齐不了时代表以此关键字开头的内容不唯一,可以用<TAB>X2来列出所有以此关键字开头的内容,可以减少因为拼写而带 来的错误命令。
如果<TAB>键补齐不了要不就是不存在,要不就是关键字开头不唯一。
(2)切换路径 cd 目录名称 ##进入到指定目录中
cd - 目录名称 ##当前目录和当前目录值前所在目录之间的切换
cd ~ ##进入当前用户家目录
cd ~user ##进入user家目录
cd .. ##进入当前目录的上级目录
【附加知识点:“ . ”指的是当前目录,当前位置。 “ .. ”指的是当前目录的上一级目录 】
(3)显示文件信息 ls = list
ls -l file ##查看文件属性
ls (dir) ##查看目录下包含的内容,如果没有括号内的,就表示显示当前位置下的文件属性
ls -d dir ##查看目录本身
ls -a dir ##所有文件保函隐藏的, “ .” 开头的文件是隐藏的文件,“ -A ” 实现了除了.和..的文件的查看
ls -S dir ##查看并且按照文件大小排序
(4)文件的查看
cat ##输出文件全部内容
less ##分页浏览
head file ##默认查看文件前10行
head -n 3 file ##查看文件前3行
tail file ##默认查看文件后10行
tail -n 3 file ##查看文件后3行
tail -f file ##监控文件后10行内容的变化
(5)文件大小统计 wc = work counts
wc -l ##行数
wc -w ##单词数
wc -m ##字符数
wc -c ##字节数
####系统中历史的调用###
history ##查看历史
history -c ##清空当前环境中的历史
!数字 ##调用此行历史比如"!5"时执行历史中地5条命令
!test ##执行以test关键字开头的最近一条历史
ctrl +r +关键字 ##调用历史中最近一条含有此关键字的历史
####在系统中获得帮助####
1.查看命令的用途 whatis 命令 ##查看命令的用途
2.查看命令的用法
命令 --help ##查看命令的基本用法,适用于多数命令
[] ##标示选项可以加也可以不加
... ##标示选项加入的个数任意
<> ##标示选项是必须要加入的
Userage: ##标示命令用法
Opetions: ##对参数的作用做说明
3.man查看命令或文件的说说明手册 man命令 man 5 命令
(1) man的级别
1 #命令
2 #系统调用接口
3 #函数库调用接口
4 #特殊设备文件
5 #系统配置文件
6 #游戏规则说明
7 #包说明
8 #系统管理命令
9 #内核调用规则
(2)man的基本用法
上|下 ##逐行查看
pgup|pgdn ##分页查看
/关键字 ##高亮显示关键字,n向下匹配,N上向匹配 :q ##退出 man -k 字符串 ##下看当前字符串在系统中拥有的man的级别 /usr/share/doc ##系统中所有安装过的软件的帮助文档
####系统中的通用配置符号#####
* ##匹配0到任意字符
? ##匹配单个字符
[[:alpha:]] ##单个字母
[[:lower:]] ##单个小写字母
[[:upper:]] ##单个大写字母
[[:digit:]] ##单个数字
[[:punct:]] ##单个符号
[[:space:]] ##单个空格
[[:alnum:]] ##单个数字或字母
[1-9] #1位,这位是1-9的任意数字
[!3-5] #1位,不是3-5的数字
[^3-5] #1位,不是3-5的数字
[a-z] #1位,a-z的任意字母
{1..3} #3个,1 2 3
{1,4,7} #3个1,4,7这三个数