-
linux系统结构
liunx是一个倒数型结构,最大的目录名称叫“/”(根目录) -
linux系统中的二级目录
/bin ##二进制可执行文件,系统常规命令
/boot ##启动目录,存放系统自动启动文件,内核,初始化程序
/dev ##系统设备管理文件
/etc ##大多数系统配置文件存放路径
/home/子目录 ##普通用户家目录
/lib ##函数库
/lib64/ ##64位函数库
/media ##临时挂载点
/mnt ##临时挂载点
/run ##自动临时设备挂载点
/opt ##第三方软件安装路径
/proc ##系统硬件信息和系统进程信息
/root ##超级用户家目录
/sbin ##系统管理命令,通常只有root可以执行
/srv ##系统数据目录
/var ##系统数据目录
/sys ##内核相关数据
/tmp ##临时文件产生目录
/usr/ ##用户相关信息数据
3.文件管理命令
a.文件的建立
touch test
## 注意的事项:touch 不但可以建立文件也可以修改文件的时间戳
时间戳分别为:
atime:文件内容被访问的时间标识
mtime:文件内容被修改的时间标识
ctime:文件属性或内容被修改的时间标识
**使用stat +“文件名” 查看当前文件的状态
b.目录的建立
命令建立 | 被删除目录 |
---|---|
mkdir | directory |
mkdir -p | dir1/dir2/dir3 |
需要注意的是, -p 建立递归目录时,当上层目录不存在会自动建立 |
(1)下图为建立单个的目录
(2)下图为建立多个目录
注意建立递归目录时,在命令之后要加 “-p”
C. 文件的删除
rm desk
此处删除文件时,系统会提醒是否要删除,点“y”即可删除
rm -f desk , -f = force 表示强制删除不提示
d.目录的删除
删除命令 | 被删除目录 | 删除目录原因 |
---|---|---|
rm -r | directory | -r表示递归删除也就是删除目录本身和里边所有的内容 |
rm -f -r | directory | 删除目录不提示 |
rm -rf rm -fr | directory | 注意的是在命令参数使用过程中 -a -b -c= -abc,-cab顺序是不需要注意的 |
(1)在删除目录时候直接 “-r” 系统是会提醒的,直接按Y就可以删除
(2)下图为直接删除目录,而且系统是不会提醒的
e.编辑文件
<1>gedit
gedit file ## 必须有图形 ##
<2>vim
vim file -----> 按【i】键进入insert模式--------> 书写内容 ---------> 按【esc】退出insert模式 --------> 按 “:wq” 退出保存
(1)打出命令
(2)进入编辑模式后 点击【i】进入insert模式,编辑文件内容
(3)编辑好文件之后按【esc】退出编辑模式,按 :wq 退出并保存此文件
**** 注意事项 vim异常退出时会产生.file.swp文件
当再次打开文件会出现以下状况;当再次打开此文件时会出现以下情况:
file name: ~kiosk/Desktop/hello
modified: YES
user name: kiosk host name: foundation0.ilt.example.com
process ID: 31820
If this already, delete the swap file “.desk.swp” <<<此文件中存放大是未保存的数据
Swap file “.hello.swp” already exists!
[O]pen Read-Only, (E)dit anyway, ®ecover, (D)elete it, (Q)uit, (A)bort:
只读打开 继续编辑 恢复数据 删除swap文件 退出 退出
无论按[O] (E) ® (Q) (A) 任何一个都不会删除.swp文件
那么再次打开hello文件是还会出现以上界面直到按(D),.swp文件被删除
vim恢复正常工作
所以一般按D的情况下 可以有效解决vim异常退出状况
f.文件的复制
<1>
复制命令 | 初始文件 | 目的地文件 |
---|---|---|
cp | 源文件 | 目的的文件 |
需要注意的是源文件1,源文件2 是不可以复制到 目的地文件的
<2>
复制命令 | 复制目录 | 目的地目录 |
---|---|---|
cp -r | 源目录 | 目的地目录 |
<3> cp 源文件1 源文件2 目的地目录 ##目的地目录必须存在
<4> cp -r 源目录1 源目录2 目的地目录 ##目的地目录必须存在
g.文件的移动
<1> mv 源文件 目的地文件 ## 重命名过程
<2> mv 源目录 目的地目录
#注意:
相同磁盘的文件移动只是一个重命名过程
不同磁盘的文件移动是复制删除过程
h.文件查看
查看命令 | 文件名称 | 注释 |
---|---|---|
cat | file | 查看文件的全部内容 |
cat -b | file1 | -b显示行号不包含空行 |
cat -n | file2 | -n显示行号包含空行 |
<1> 下图为“-b”显示行号不包括空格
<2> 下图文为"-n" 显示行号包括空格
less file 分页浏览
用法
上 /下 | 逐行移动 |
---|---|
pageup/pagedown | 逐页移动 |
/关键字 | 高亮显示关键字,n向下匹配,N向上匹配 |
v | 进入vim模式,在vim模式中按“:wq”退回到less模式 |
q | 退出 |
head 和 tail 用法
命令 | 文件 | 查看文件 |
---|---|---|
head | file | 查看文件前10行 |
head -n 3 | file | 查看文件前3行 |
tail | file | 查看文件后10行 |
tail -n 3 | file | 查看文件后3行 |
<1> head 用法
<2> tail 用法
i.文件的寻址
1.文件的地址分为:
相对路径:
相对与当前系统所在目录的一个文件名称的简写,
此名称省略了系统当前所在目录的名称
此名称不以“/”开头
此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值
绝对路径:
绝对路径是文件在系统的真实位置
此命令是以“/”开头的
此命令在命执行时系统不会考虑现在所在位置的信息
注意:
当操作对象是 对象1 空格 对象2 时,
这两个对象之间没有任何关系
豆角 茄子 ##这是2个对象
豆角茄子 ##这是一个对象
j.自动补齐
《TAB》
系统中的《tab》键可以实现命令的自动补齐。
可以补齐系统中存在的命令,文件名称,和部分命令的参数
当一次《tab》补齐不了时代表以此关键字开头的内容不唯一
可以用《tab》X2来列出所有以此关键字开头的内容
<2> 切换路径
cd | 目录名称 | 进入到指定目录中 |
---|---|---|
cd - | 当前目录和所在之前目录的切换 | |
cd ~ | 进入到当前用户的家目录 | |
cd ~user | 进入到当user用户的家目录 | |
cd . . | 进入到当前目录的上级目录 |
<3> 查看
命令 | 文件或目录 | 查看文件或者目录的信息 |
---|---|---|
ls -l | file | 文件的属性 |
ls | dir | 目录中包含的内容 |
ls -d | dir | 目录本身 |
ls -a | dir | 所有文件包含隐藏的 |
ls -S | dir | 查看并且排序按照大小排序 |
ls -s | file/dir | 查看文件大小 |
<4> 文件大小的统计
wc -l | 行数 |
---|---|
wc -w | 单词数 |
wc -m | 字符数 |
wc -c | 字节数 |
wc | 所有的数 |
l. 系统中的历史调用
命令 | 查看文件 |
---|---|
history | 查看历史 |
history -c | 清空当前环境中的历史 |
!数字 | 调用此前的历史 比如!3 调出历史中的第五条命令 |
!desk | 执行以desk关键字开头的最近一条历史 |
ctrl +r +关键字 | 调用历史中最近含有此关键字的历史![]() |
m. 在系统中获得帮助
<1> 查看命令的用途
whatis+命令 查看命令的用途
<2> 查看命令的用法
用法 - -help 查看命令的基本用法
[] 标示选项可以加也可以不加
… 标示选项加入的个数任意
<> 标示选项是必须要加入的
Userage: 标示命令用法
Opetions: 对参数的作用做说明
<3> 查看命令或文件的说明手册
man 命令
此图为vim命令的说明
man 的级别
1 #命令
2 #系统调用接口
3 #函数库调用接口
4 #特殊设备文件
5 #系统配置文件
6 #游戏规则说明
7 #包说明
8 #系统管理命令
9 #内核调用规则
进入到此界面后
上|下 ##逐行查看
pageup|pagedown ##分页查看
/关键字 ##高亮显示关键字,n向下匹配,N上向匹配
:q ##退出
man -k 字符串 查看当前字符串在系统中拥有的man界别
n.系统中的通用配置符号
(1)
* 匹配0到任意字符
? 匹配单个字符
[[:alpha:]] 单个字母
[[:lower:]] 单个小写字母
[[:upper:]] 单个大写字母
[[:digit:]] 单个数字
[[:punct:]] 单个符号
[[:space:]] 单个空格
[[:alnum:]] 单个数字或字母
[[:punct:][:upper:]] 单个符号或单个大写字母
(2)
[ 1 - 9 ] ##1位,这位是1-9的任意数字
[ 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这三个数
~ #当前用户家目录
~username #指定用户的家目录
~+ #当前目录
~- #进入当前目录之前所在目录(olddir)