Linux本质上就是一个文件系统。Linux文件系统是操作系统组织、存取、保存数据的一种
手段。整体采用层级式的倒状目录结构。
/
:根目录
/bin:主要存放系统普通指令
/boot:主要存放系统的引导程序
/dev:存放硬件设备对应的文件(Linux应用开发阶段,访问其中的文件)
/etc:存放系统和应用程序的配置文件(如:profile)
/home:家目录,存放当前系统下所有用户对应的目录。
/lib:存放系统和应用程序的依赖库。
/proc:存放系统运行时的运行信息。
/usr:是软件的默认安装路径。
/var:存放缓存、备份文件。
/cdrom:光驱挂载点(通常用于挂载光盘)
/mnt:用于系统文件系统的挂载目录,举例:/mnt/hgfs可用于挂载共享目录,/mn t/udisk可用于挂载U盘..
/sbin:用于存放一些特权指令,通常只有系统管理员(root)才能执行。
/
)为参考点描述的路径。//windos系统
D:/xxx/xxx
//linux系统
cd /A/B1/C1
./
)为参考点描述的路径。cd ./c1 --相对路径,等价于
cd c1
d
:目录(文件夹)
-
:普通文件
l
:符号链接(类似于Windos中的快捷方式)
c
:字符设备文件,通常用于与字符设备(如串口、终端等)进行交互
b
:块设备文件(大容量磁盘等),用于与块设备(如硬盘、U 盘等)进行交互
s
:套接字文件,用于进程间通信
p
:管道文件,用于进程间通信
pwd:查看当前所在目录的绝对路径
ls:显示指令路径(默认为当前路径)下的文件或目录
ls [选项] 文件或目录的路径
常用选项:-a
:显示所有文件或目录(隐藏文件或目录,linux中隐藏目录文件以.
开头)
-l
:长格式显示文件详细信息
-r
:将文件以相反次序排序(英文字母)
-t
:将文件以修改时间的先后次序排序
提示:多个参数可同时出现,也可以指定具体的目录路径
ls -a -l -t -r
//等价于
ls -altr
ls ./
//等价于
ls
ls /mnt/hgfs/linux
cd:切换目录
cd 目录路径
常用写法:
cd ~
:切换到当前登录用户的家目录。比如:若当前登录用户为st
,cd ~
就会切 换到/home/st
下,等价于cd /home/st
。
cd -
:返回上一次操作的工作目录
cd /
:切换到根目录下
cd ./
:切换到当前目录下,无实意
cd ../
:切换到上一级目录,等价于cd ..
cd ../../
:切换到上两级目录,等价于cd ../..
mkdir:创建空目录(目录和文件夹等价)
mkdir [选项] [多级目录]/目录
支持批量创建和指定路径
选项:
-n
:从头开始显示(识别换行符)
rmdir 说明:删除空目录,仅限空目录。支持批量删除
rmdir 空目录路径
touch说明:创建文件,如果文件已存在,则更新其访问和修改时间。
touch 文件路径 --可以指定文件路径,未指定则在当前路径下。
rm
说明:
删除目录:需要借助选项-r
递归删除,可为空目录也可为非空
删除文件:无需借助选项-r
,如果加了也无妨
rm -r
提示:递归删除。先由外向内找,直至找到空目录;再由内向外删除。
文件删除,直接删除就可以了,目录删除或者目录 + 文件删除,需要使用选项 -r
进行 递归删除。另外,使用rm -f
可以强制删除文件或目录,不进行确认提示,但使用时需 谨慎,因为删除后数据无法恢复。
cp
说明:
复制文件或者目录(相当于拷贝+粘贴)
实现文件或者目录的重命名
cp [选项] 被复制的目录或文件路径 目的地址
选项:-r
:递归复制,复制目录中所有内容,包括目录和文件
-i
:如果目的路径下已存在同名文件,会交互提示
提示:当目的地提供的是同一个文件时,触发重命名。
mv
说明:
移动文件或者目录(剪切+粘贴)
重命名文件或目录
mv [选项] 被移动的目录或文件路径 目的地址
提示:被移动文件名与目的文件名不一致,就相当重命名
mv aa.txt ../b --移动。将aa.txt移到目录b
mv aa.txt ../b/bb.txt --移动+重命名。将aa.txt移到目录b,并重命名
mv aa.txt bb.txt --重命名
cat
说明:查看文件内容,适合查看较小文件
cat [选项] 文件路径
选项:-n
:显示行号
举例:
cat /proc/cpuinfo
cat -n /proc/cpuinfo
more
说明:分页查看文件内容,文件较大时使用
操作:空格键:
向下翻一页
回车键:
向下翻一行
Q/q:
退出
无法上翻页,比较鸡肋
less
说明:分页查看文件内容,文件较大时使用,功能比more
强大
less [选项] 文件路径
选项:-M
:显示当前行的范围
操作:空格键:
向下翻一页
B/b键:
向上翻一页
方向键:
向上/下翻一行
Q/q:
退出
head/tail
说明:查看文件的头部/尾部内容(默认10行)
head/tail [选项] 文件路径
选项:-n
:从头开始显示(识别换行符)
head/tail -n 5 /proc/cpuinfo --等价于
head/tail -5 /proc/cpuinfo --显示前/后5行
grep
说明:搜索文件内容,在文件中查找指定的字符序列
grep [选项] 要查找的字符序列 文件路径 --等价于
grep [选项] `要查找的字符序列` 文件路径
选项:-n
:显示行号
-c
:统计搜索到行的数量(返回数值)
-i
:忽略大小写搜索,针对英文
grep -ni apicid /proc/cpuinfo
显示行号和忽略大小写,等价于
grep -ni `apicid` /proc/cpuinfo
grep -c `apicid` /proc/cpuinfo
数量不可混用,冲突
特殊匹配:
^:行首匹配:匹配以指定字符序列开头的
grep -n '^cp' /proc/cpuinfo -- 解释:匹配以cp开头的字符序列
$
:行尾匹配:匹配以指定字符序列结尾的
grep -n '[0-9]$' /proc/cpuinfo -- 解释:匹配以0~9的任意单个数字结尾
的序列 [A-Za-z0-9]
find
说明:查找文件或目录(递归)。从磁盘找精确,性能低,速度慢
find 检索路径 [选项] 参数
选项:name
:按名称查找(区分大小写)
iname
:按名称查找(不区分大小写)
size
:按照文件大小查找,默认一个单位(1单位=512字节),可使用K(KB)、M(MB)、G(GB)
-type
:按文件类型查找(d:目录,f:普通文件,l:符号链接,p:管道文件)
举例:
find ./ -iname text.txt
解释:在当前路径下包括其子目录中查找文件名为test1.txt的文件,文件名忽略大小
写,以路径列表呈现
find /bin -size +3M
解释:在/目录下包括其子目录中查找文件大小超过3MB的文件,这里的 “+”表示超过
(字节数:1024 * 3 * 1024)
find /bin -size +3
解释:在/目录下包括其子目录中查找文件大小超过3个单位的文件,这里的 “+”表示超
过 (字节数:512 * 3)
find /bin -size -3M
解释:在/目录下包括其子目录中查找文件大小不超过3MB的文件,这里的 -”表示不超
过 (字节数:1024 * 3 * 1024)
locate
说明:快速查找文件或目录,从数据库查找,准确性低,性能高。该指令是从文件系统的 数据库中查找,新创建的文件还没有在数据库中建立索引,用该指令是找不到的。
选项: -c
:统计文件个数,返回的是一个数字
-i
:忽略大小写
which
说明:快速检索
which 指令名
echo
说明:将指定字符串输出到设备上,常用于将内容写入文件
echo "字符串" > | >> 文件路径
说明:>
表示覆盖写入,会清空原文件内容;>>
表示追加写入,会在原文件内容后面 添加新内容
(管道)
说明:将前一个指令执行的结果作为后一个指令执行的条件(了解)
举例:
ls -l | grep ".txt$" // 以详细列表的形式显示文件名称为.txt结尾
的文件
find /dev -type c | grep "2$" // 查找/dev下文件类型为c的以2结尾的所有文
件