Linux基础:第02天笔记
内容提要
- 文件系统
- 目录操作
- 文件操作
文件系统
Linux本质上就是一个文件系统,Linux文件系统是做系统组织,存取,保存数据的一种手段。整体采用层级式的倒状目录结构。
倒树状结构中的目录
/:根目录,Linux中的绝对路径就是从这个开始的
/bin:主要存放系统的普通指令
/boot:主要存放系统的引导程序
/dev:存放硬件设备对应的文件(二阶段重点)
/etc:存放系统和应用程序的配置文件(profile)
/home:家目录,存放当前系统下所有用户对应的目录
/lib: 存放系统和应用程序依赖的库文件
/proc:存放系统运行时的运行信息
/var:存放缓存,备份文件
/cdrom:光驱
/mnt:用于系统文件系统的挂载目录
/sbin:用于存放特权指令
路径的概念<重点>
-
绝对路径:以根路径(
/
)为参考点描述的路径,称之为绝对路径举例:
cd /home/yueqian
–任意地方都可以切换
-
相对路径:以当前目录(
./
)为参考点描述的路径称之为相对路径举例:
`cd /home` --绝对路径
`cd ./yueqian` --相对路径,必须是当下路径下才可以切换,不能任意切换(/home 下必须要存在一个yueqian目录)
`cd yueqian` --相对路径,推荐这种写法
Linux系统文件类型
说明:
d:目录(文件夹)
-:普通文件
l:文件的快捷方式
c:字符设备文件
b: 块设备文件
s: 表示套接字文件
p:表示管道文件
目录操作
在终端中使用指令来操作目录
指令
语法:
指令[选项] [操作的文件或者目录]
注意:语法中加入[ … ],就代表内容可选
-
pwd:查看当前所在目录的绝对路径
-
ls:
-
-a 显示所有(包含隐藏文件)文件或目录
-
-l 显示所有的文件或者目录的详细信息列表
-
-r 将文件以相反次序显示(原定是依照英文字母次序显示)
-
-t 将文件以创建时间的先后次序显示。
说明:多个参数可以同时出现,如:
ls -l -t -r ----> ls -ltr
将所有文件或者目录按照时间倒序排序并以列表的形式显示(时间越大越靠前)我们也可以指定具体的目录进行访问
ls /mnt/hgfs/linux
-
3.cd:切换目录
格式:
cd 目录
注意:cd 不能跟文件路径,应该跟文件夹(目录)路径。
cd中的特殊写法:
cd ~
:切换到当前家目录下的用户目录如下,比如:cd ~,就会切换到/home/st,等价于cd /home/st
cd -
:返回上一次操作的工作目录(类似于上一步)cd /
: 切换到根目录下cd ./
:切换到当前目录下cd ../
: 切换到上一级目录,等价于cd..
cd ../../
:切换到上上一级目录,等价于cd ../..
- mkdir:创建空目录
语法:
mkdir //文件夹路径
举例:
说明:可创建多个文件夹
参数:
-
rm-p:可以创建多次文件夹
语法:
mkdir -p //多层文件夹路径
示例:
- rmdir: 删除空目录,仅限于删除空目录
语法:
rmdir // 空文件夹路径
- touch:创建文件
语法:
touch //文件路径
- rm:删除文件或者文件夹(注意:文件夹需要递归删除)
语法:
rm [选项] 文件/文件夹路径
选项:
-i
:给出交互提示可以输入yes/no
-f
:强制删除不提示
-r
:递归删除
举例 :
说明:文件删除,直接删除就可以,目录删除 - r 递归删除
- cp: 复制文件或者文件夹(注意:复制文件夹需要递归复制,这里的复制其实就是拷贝加粘贴)同名默认是覆盖
语法:
cp [选项] 被复制的目录/文件路径 目的地址
选项:
-r
:递归复制,复制文件夹中的所有(拷贝文件夹)
-i
:如果目的地路径下已经存在同名目录或者文件,会交互提示
举例:
-
mv:移动文件/目录(重命名文件/目录)
语法:
mv 被移动给的文件/目录路径 目的地文件/目录路径
说明:被移动文件名与目的地文件名不一致,相当于重命名了
举例:
mv aa.txt ../b --移动
mv aa.txt ../b/bb.txt --移动+重命名
mv aa.txt cc.txt --重命名
cp -ri aa.txt ../b/cc.txt --复制+重命名
说明:重命名其实是移动和拷贝在特殊情况下的产物
文件操作
指令
- cat:查看文件内容
- 执行权限:所有用户
语法:
cat [选项] 文件
选项:
-
-n:显示文件行号
范例:
cat /proc/cpuinfo cat -n /proc/cpuinfo
- more: 分页查看文件内容
- 执行权限:所有用户
语法:
more 文件/文件路径
- 操作:
- 空格键:向下翻动一页
- 回车键:向下翻动一行
- Q键:推出查看
-
less:分页查看文件内容
-
执行权限:所有用户
-
语法:
less [选项] 文件/文件路径
选项:
-M:显示当前行的范围
操作:
空格键:向下翻动一页
B:向上翻动一页
方向上下:向上,向下翻动一行
Q:退出
4.head:查看文件的头部内容(默认10行)
执行权限:所有用户
语法:
head [选项] 文件/文件类型
选项:
-n: 从头开始显示n行内容(识别换行符)
范例:
head -n 5 /proc/cpuinfo --等价于 head -5 /proc/cpuinfo
- tail:查看文件的尾部内容(默认10行)、
执行权限:所有用户
语法:
tail [选项] 文件/文件路径
选项:
-n:从尾开始显示n行内容(识别换行符)
范例:
tail -n 5 /proc/cpuinfo --等价于 tail -5 /proc/cpuinfo
- grep: 搜索文件内容,在文件中查找指定的字符序列(字符串)
执行权限:所有用户
语法:
grep [选项] 要查找的字符序列 文件/文件路径 --或者 grep [选项] '要查找的字符序列' 文件/文件路径
选项
-n :显示行号(number)
-c:统计搜索到的行的数量(count)
-i:忽略大小写搜索
范例:
grep -ni 'procesor' /proc/cpuinfo //显示行号和忽略大小写,在文件cpuinfo中查找procesor
特殊匹配
^:行首匹配
范例:
grep -n '^001' demo01.c --在demo01.c中匹配001开头内容
&:行尾匹配
范例:
grep -n '[0-7][0-9]' demo01.c --在demo01.c中匹配以00-79结尾的内容
-
find:查找文件或目录(递归查找),从头硬盘找,精确性高,性能低
执行权限:所有用户
语法
find 检索路径 [选项] 参数
选项:
-name:按照名称查找
-iname:忽略大小写按名称查找
-size:按照文件大小搜索,默认1个单位是512Bytes
-type: 按照文件类型查找(d,f,l,p,s…)
范例:
find ./ -iname test.c -- 在当前目录中查找文件名称为test.c的文件,文件名忽略大小写 find ./ -size +3M -- 在当前目录中查找文件大小超过3M(1024*1024*3(Bytes))的文件,这里的“+”表示大于 find ./ -size -3M -- 在当前目录中查找文件大小不超过3M的文件,这里的“-”表示小于 find ./ -size +3 -- 在当前目录中查找文件大小超过3个单位(3 * 512(Bytes))的文件,这里的“+”表示大于
-
locate:快速查找文件或目录,从数据库查找,准确性低,性能高。
说明:该指令是从文件系统的数据库中查找,确定是新创建的文件没有在数据库中建立索引,用该指令找不到。
执行权限:所有用户
语法
locate [选项] 文件/目录
选项:
-c:统计(count)
-i:忽略大小写
范例:
locate -i test.c
注意:默认情况下updatedb每天更新一次,我们可以手动更新。指令:
updatedb
-
which:快速索引指令位置
执行权限:所有用户
语法:
which 指令名称
范例:
which ls
-
echo:将指定字符串输出在设备上
执行权限:所有用户
语法:
echo 字符串
范例:
echo "yueqian is good" > yueqian.txt //将yeuqian is good 输出到yueqian.txt echo "yueqian is good" >> yueqian.txt //将yeuqian is good 追加到yueqian.txt
解释:
① > 覆盖式写入,就是覆盖文件中本来的内容(不保留原本的内容)
② >> 追加式写入,就是在原本文件内容末追加内容(保留原本的内容)
-
-
-
l管道:将前一个指令执行的结果作为后一个指令执行的条件
执行权限:所有用户
范例
ls -l | grep "demo01.c" // 以详细列表的形式显示文件名称为demo01.c的文件 find /dev -type c | grep "2$" // 查找/dev下文件类型为c的以2结尾的所有文件
存储转换
1Byte(字节) = 8bit(位)
1KB = 1024Byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024G
-