一、Linux目录
1.Linux目录结构简洁
(1)Windows:以多根的方式组织文件 C:\ D:\ E:\
(2)Linux以单根的方式组织文件 /
2.Linux 目录结构视图
pwd 命令显示当前目录
(1)bin: (binary 二进制)执行命令都在这里,比如给用户改密码等等;bin 普通用户使用的命令 /bin/ls, /bin/data;sbin 管理员使用的命令 /sbin/service;
(2)boot:启动文件,与计算机启动相关的文件都会独立的放在这里;
(3)dev:设备文件,键盘、鼠标、光驱、显示器等等; /dev/sda, /dev/sda1;
(4)etc:配置文件,就像一个机器上面有很多按钮,每个按钮有不同的功能,按不同按钮,机器就做不一样的事情,而etc里面的文件就是“控制按钮”;
(5)home:存储普通用户家目录(来装用户自己的文件);用户之间是不能随便看的,用户之间是隔离开的,用来区别不同用户的隐私;
(6)root:root用户的home,除了root账号,超级管理员可以进去,其他用户都进不去;(以超管身份一登录进去,就是在/root下);
(7)run:系统运行时所需文件;
(8)sbin:与bin(普通用户使用命令)一样都是命令文件,区别就是sbin是管理员用的特权命令;
(9)tmp:存放临时文件目录,所有用户对该目录均可以读写;
(10)usr:应用程序放置目录;
(11)var:存放系统执行过程经常改变的文件,例如:日志等等;
二、Linux文件和目录管理示范
1. 文件类型
(1) ls :列出目录内容
(2) ls -l :列出详细信息
(3)常见类型:
常见类型:
-:普通文件(文本文件,二进制文件,压缩文件,电影,图片…具体再细分);
d:目录文件(文件夹 蓝色 centos7);
(4)非常见类型
非常见类型:
b:设备文件(块设备)存储设备硬盘,U盘 /dev/sda,/dev/sda1;
c:设备文件(字符设备)打印机,终端 /dev/tty1;
l:链接文件(淡蓝色 centos7);
s:套接字文件;
p:管道文件;
2. 文件管理命令
ctrl + l:清屏
Tab键:自动补全
Linux 命令语法
cd: 改变目录
ls:列出目录
pwd:打印当前路径
…
命令(空格)选项(空格)参数
ls -l /:长格式显示根下的详细内容
ls /:默认显示根目录的内容
参数必加,选项可以不选
空格很重要
(1) 改变目录
cd 绝对路径或相对路径
cd : change directory 切换目录
例如:
cd /:去根目录
cd 绝对路径 cd /home/alice : 去往根(/)下的home下
的alice目录
(2) 创建文件
创建文件 touch
touch 文件路径和名字
例如:(绝对路径)
touch /mnt/vr1:在根下的mnt目录下创建vr1文件
(3)创建目录
mkdir 路径和目录名
例如:(假设管理员已经在/下创建了aaa目录里面还有bbb)
在 /aaa/bbb下创建c1文件夹:
mkdir /aaa/bbb/c1
=======================
mkdir -p /a1/b1/c1
mkdir -p (parent): 父系,当创建目录没有上一级时,自动创建
mkdir -pv /aa/{bb/{cc,dd},ee}
-p 创建多级目录,目录存在时不会给出目录存在的提示信
息,而是若目录已经存在,则不创建;若是不存在,则创建新
目录
-v 显示创建目录过程信息
(4) 复制
copy
cp 源文件路径 目标文件夹:把该源文件复制一份到了目
标文件夹下,与move(源文件不复制直接移动到目标文件
夹)是不一样的
例如:把 /a2/b2/c2/下的ccc文件复制到a2目录
cp /a2/b2/c2/ccc /a2
=======================
cp -r 的作用是递归,可复制目录,如果复制目录必须加此选项(recursion)
例如:把根(/)下的a1目录复制到桌面上
cp -r /a1 /root/桌面
====================
cp -rv 6.txt 7.txt //-v 会显示过程
cp - rfn //r 递归复制,f强制,n不提示
(5) 移动
语法:move
mv 源文件路径 目标文件路径
(“剪切”)
例如:(假设 在根(/)下已经存在着a3目录,a3中有
b3目录,b3下有c3,c3下有xxx,xxx目录下有c文件)
将 【/a3/b3/c3/xxx/c】c文件移动到桌面上
- mv /a3/b3/c3/xxx/c /root/桌面
=============================
例如:(在根(/)下有a1目录,a1下有b1,b1下有c1,
c1目录下有dddd文件)将dddd文件移动到/tmp(tmp里面没
有d222文件)
- mv /a1/b1/c1/dddd /tmp/d222 (移动dddd文件会重命名成d222)
【ls /tmp 查看一下效果】
================
mv /tmp/d222 /tmp/d3 (d222重命名成d3)
==============
可以尝试着用移动mv,这样系统就找不着了(相较于删除
rm -rf /* :太危险了,坚决不能搞!!!)
(6) 删除
- 语法:
- rm -rf 文件或目录的路径:无提示地强制递归删除文件
- rm -rf /a1/b1/c1:把c1删除掉
- rm -rf /a1/*:删除a1目录下的所有东西
- 也可以一条指令删除多个指定的文件或目录:rm -rf /a1/ccc /a1/vvv
- 删除的东西不会在回收站里面
//注意文件名前面有有一个.代表是隐藏文件(隐藏文件以.开头)
touch /home/dir10/{file1,file2,.file3}
rm -rf /home/dir10/* //删除不了隐藏文件
ls -a /home/dir10
rm - rf /home/dir10/.file3 这样就可以删除隐藏文
件.file3了
(7)查看文件内容
cat 文件路径:查看文件全部具体内容
- cat全部
- more翻页:空格翻篇,回车换行【实践理解】
- head头部
head -6 /c 看c文件的前6行
- tail尾部
- grep过滤关键字:过滤出文件中想要查找的字
例如:
grep a /c:列出c文件中含有“a”的内容
(8) 修改文件内容
(1)重定向:> 覆盖;>> 追加
重定向是将屏幕输出的内容写进文件里面
- 例:ls / > /c:把ls / 命令生成的内容都写到 > 根(/)目录下的c文件里面
- 只有是能够输出正确的信息的指令,就都可以使用 > 把命令产生的结果输入到文件里面
(2)文件编辑器之图形文件编辑器 gedit (g – graphic )
例如:
gedit /abc:若没有abc文件会帮你创建,并且打开,就可
以在图形化的界面下,编辑文件内容了
(3)文件编辑器之vi,vim(vim是vi的升级版)
a.VI的三个模式
这里是引用
- 输入 i 进入edit mode(编辑模式),按ESC退出回到command mode(命令行模式);
- 输入v (V ^v)进入visual edit mode(可视化模式),或者切换回命令行mode【双箭头】;
- 输入:进入extended command mode ,按enter 回command mode;
- yy:复制(命令行模式)
- y:复制(可视化模式)
- p:粘贴
- 数字 + dd:删除多行(命令行模式)
- 可视化模式,删除一个d就行
- 数字 + yy:复制多行
- u:撤销(undo)
- x:删除某行的某个字符
b.命令模式
- 光标定位(了解)
shift
光标定位:(命令模式)
hjkl //左下上右
0 $ //行首行尾
gg G //页首页尾
3G //进入第三行(数字 + G)
/string (n N可以循环的) //查找字符,按n键选下一个(重要)
[/+要查找的字符,然后enter确定之后,颜色标
深,接着按n向下查找,N向上查找(/属于末行模式的一个功能)]
- 文本编辑(命令模式)
yy 复制
dd 删除
p 粘贴
u undo撤销
- 进入其他模式(由命令模式进入其他的)
a 进入插入模式(光标所在下一个字符)
i 进入插入模式(原地)
o 进入插入模式(另起一行)
A 进入插入模式(行尾插入)
: 进入末行模式(扩展命令模式)
v 进入可视模式
ESC 返回命令模式
c.扩展命令模式(:)
保存退出:
:w 保存
:q 退出(前提已经保存了,:q!不保存强制退出)
:wq 保存并退出
================
查找替换
:范围 s/原内容/新内容/全局
:1,5 s/root/qianqian/g //从1-5行的root替换成qianqian
=================
读入文件/写文件(另存为)
:w /tmp/aaa.txt //另存为/tmp/aaa/txt
=================
设置环境
:set nu 设置行号
:set list 显示控制字符
:set nonu 取消设置行号
- :set nu :把行号显示出来
- :wq:保存内容并退出
- :q!:无保存内容强制退出
d.可视化模式(理解选取的重要性)
可视
可视 行
- 可以选取
- v
- V
- ^V