一切皆为文件。
linux的文件系统结构:
所有文件都被一个超级大的文件夹(目录direcory)包裹,这个目录叫根目录/
根目录下目录介绍
/usr:存放安装的软件
/usr/bin(/bin):用户命令
/usr/sbin(/sbin):系统管理命令
/usr/local(/opt):自定义软件的安装位置
/etc:系统和软件的配置文件
/var:存放可变数据(日志文件)
/run:存放进程数据,关机后销毁
/home:普通用户的个人数据和配置的存放目录
/root:root用户的个人数据和配置的存放目录
/boot:系统启动所需要的文件
/tmp:(缓存)临时文件目录,默认自动删除10天内tmp未使用的文件
/dev:硬件设备的映射目录,用于对硬件设备的操作
绝对路径和相对路径:
绝对路径从根目录开始的路径
查看绝对路径
pwd
●相对路径中的特殊符号:
. pwd显示当前工作目录
.. 当前目录上一级目录
~ 用户家目录
●linux系统的文件名区分大小写。后缀名不代表文件类型。
●隐藏文件通过在文件名加上.实现
文件和目录的创建和删除:
创建文件:
touch
创建文件file和隐藏文件.shadowfile
-a:显示隐藏文件
删除文件:
rm
也可以输入y或n。如果不输入,文件不会被删除。(删除操作默认不删除)
-f:对于询问默认使用y回答(跳过询问)
rm -f
创建目录
mkdir
-p:创建多级目录
mkdir -p dir/dir1/dir2
删除目录
rm -d (删除目录,不询问)
递归删除目录
rm -r
移动所在目录:
cd
cd ..返回上一级
cd ~:返回当前用户的家目录
复制和移动文件或者目录
复制文件
cp 原路径 目的地
复制目录
cp -r 源目录 目的地
移动文件或者目录
mv 原路径 目的地
cp命令默认不保留原始文件的状态信息,mv命令默认保留原始文件的状态信息
shell终端拓展匹配文件名:
shell支持可拓展编程,可以通过一些字符快速批量操作一些文件
*:0个或者是任意多个字符
?:任意一个字符
??:任意两个字符
?a?:三个字符,第二个字符一定是a
[abc]:一个字符,只能是a,b,c中的任意一个
[^abc]:一个字符,不能是abc任意一个
大括号扩展
{m..p}生成mnop序列
大括号拓展常用于文件创建, 其他多用于查询操作或对已存在的文件进行操作
shell变量:
filename=myfile
echo file
echo ${filename} ${}获取变量的值
调用其他命令的输出:
转移字符:
\:输出字符
空格:输出字符空格
n:换行
t:制表符



