在Linux操作系统中,一切皆文件,不像Windows有文件、注册表、设备管理器等等,Linux里所有的都是文件,本文学习目标:
1.文件查看
2.目录的创建
3.目录的删除
4.文件的复制
5.文件的移动
6.通配符
一、文件查看
需要掌握三个命令:
pwd 显示当前目录名称
cd 更改当前的操作目录
ls 查看当前目录下的文件
pwd 命令较简单,仅仅是显示当前在哪个目录中
cd 的作用是跳转,比如想从C盘跳转到D盘就需要用到cd命令
ls 作用比较大,类似于文件管理器,可以查看文件的名称、权限、类型、修改时间等。
1.ls的使用格式:
ls [选项,选项,…] 参数
常用参数:
举个例子:
后面的时间代表文件的最后修改时间,-后面的rw代表文件的权限,r是可读,w是可写,图里面没地方写了就写在下面吧。
这里的 ls -l 查看的是当前文件夹下的所有文件,-l 是用长格式显示
ls -l -r -t:查看当前目录下文件,以长格式显示,用逆序输出显示,以时间为基准逆序显示(如果不加这个默认是以文件名逆序显示)
其他的命令以此类推,再次不一 一演示了。
而且以上的命令可以简写为ls -lrt
ls -lartR: 显示当前文件夹下所有文件,包含隐藏文件,以时间为基准逆序显示,递归显示,以长格式显示输出。
2.cd命令:
可以理解为跳转,假设现在在根目录下,要跳转到某一个文件夹下,可以使用cd +文件路径,就可以实现跳转到目标文件夹下,对目标文件夹下的文件进行操作。类似于在Windows中双击点开文件夹的操作。
相对路径:从当前文件夹出发改变的路径叫做相对路径
绝对路径:从根目录文件夹出发改变的路径叫绝对路径
二、文件的创建
mkdir 建立目录
在当前目录下建立文件a:mkdir a 或者 mkdir ./a
在根目录下建立文件a:mkdir /a
建立多个目录:mkdir a b c d e //在当前目录下创建a,b,c,d,e五个文件
创建多级目录:mkdir /a/b/c //在当前目录下创建a,a中创建b,b中创建c
mkdir -p /a/b/c/d //在a中创建b,b中创建c,c中创建d
touch a :创建文件atouch file{1…10} :创建 file1 ~ file10 共10个文件touch 建立文件
三、文件的删除
rmdir 文件的删除
只能用于删除空白目录,如果目录下有任何文件都不能进行删除
rm -r 删除非空文件
删除目录,即使目录非空。
rm -r /a:
删除a目录,如果a目录中有b目录,他会提示你是否进入目录b?按y进入,如果b中有目录c同理,以此类推,每一级都要确认,当全部确认完就可以删除了。如果中间进入到某一步发现不想删除了,可以按Ctrl + C来结束命令。
rm -r -f /a :删除根目录下的文件a,即使a非空也连同a目录下的所有文件一并删除rm -r -f 删除非空文件(不提示)
在使用rm命令的时候一定要反复检查,确保不能有任何错误,因为他是不提示删除,故具有一定的危险性,比如rm -r -f / a,即在 / 和 a 中间多了一个空格,就会默认先执行rm -r -f /,也就是删除根目录下所有文件。然后才是删除a文件夹。
四、文件复制
cp 文件复制命令
cp -r /root/a /tmp:把根目录下的 文件a 复制到 tmp目录 中。
(因为cp单独使用时只能复制文件,如果需要复制目录的话需要增加选项-r)
touch /filea
cp /filea /tmp :创建文件filea,然后复制文件filea到tmp目录下
cp -v /filea /tmp : 复制filea文件到tmp文件夹下,并显示复制过程
cp -p /filea /tmp : 复制filea文件到tmp文件夹下,并连同修改时间也不修改地复制
cp -a /filea /tmp : 复制filea文件到tmp文件夹下,并连同权限、修改时间、属主也不修改的复制
五、文件移动
mv /filea /fileb : 把根目录下的 filea文件 改名为 fileb文件。mv /fileb /tmp : 把 fileb文件 移动到 tmp文件 中。mv /tmp/fileb /filec :把 tmp文件夹 下的 fileb文件 移动到 根目录 下并改名为 filecmv 文件移动
因为改名再Linux底层逻辑里就是移动,所以移动和改名是一个逻辑,
比如1.当中根目录下有filea,但是没有fileb,而且是从根目录往根目录移动,
所以就实现了改名。
2.由于1.的操作,现在根目录里有fileb文件了,同样根目录下有tmp文件,
所以就实现了移动。
3.由于1.2.的两步操作,tmp文件夹下有fileb文件,但是根目录下没有,
所以实现的是先移动到根目录再改名为filec文件。
六、通配符
cd tmptouch filea fileb filec fileabcmkdir -p dira dirb dirc //创建文件dira,dirb,dirc,并忽略文件重名cp -v file* ///把当前目录下所有以file开头的文件复制到根目录下
* 全部文件