一、目录操作命令
1、ls:查看当前或指定目录下的内容
[root@localhost ~]# ls -lh /
每个目录的作用:
2、cd:change directory,切换所在目录,是Shell内置命令,所有用户都可执行
a、特殊符号:
~:代表用户的家目录(或者只输入cd也会回到家目录)
-(减号):上次所在的目录
.:当前目录
..:上级目录
b、路径
绝对路径:以根目录为参照物,从根目录开始,一级一级进入目录
相对路径:以当前目录作为参照物,进行目录查找
3、pwd:显示当前目录
[root@localhost bin]# pwd
4、mkdir:make directories,创建目录,命令所在路径为/bin/mkdir,所有用户都可执行
选项:-p——递归创建目录
[root@localhost ~]# mkdir -p 123/456/567
注意
:命令参数前通常没有/,否则目录就不是创建在当前目录,而是根目录下
5、rmdir:remove empty directories,删除空目录(注意只能删除空目录),命令所在路径为/bin/rmdir,该命令不常用,通常使用rm来删除目录和文件
选项:-p——递归删除目录
rmdir -p 123
使用rm删除:r表示删除目录,f表示强制删除不必询问,该命令一定要小心使用,因为一旦删除就找不回来了,但是可以预装extundelete来实现文件找回
[root@localhost ~]# rm -rf 123
Tip
:
1️⃣如果要一次删除多个文件,只需要使用空格将要删除的文件隔开即可
rm -rf 123 234
2️⃣如果要清空文件夹,需要使用通配符:
rm -rf /tmp/*
二、文件操作命令
1、touch:创建空文件或者修改文件时间(若文件不存在则创建文件,若文件存在则会修改文件最后一次的修改时间),命令所在路径/bin/touch,所有用户均可执行,用来修改文件的时间戳
[root@localhost ~]# touch 123
Tip
:编辑文件的一种方式,使用>>,输出重定向,会将前面命令的输出结果追加写入后面的文件中(若文件不存在则创建文件后写入前面命令的输出结果,如果文件存在,则将前面命令的输出结果追加到文件的内容中去),示例:echo 本来是将内容输出到屏幕上,有了>>则会将输出结果写入到123这个文件中去
[root@localhost ~]# echo 11111111111111 >> 123
2、stat:查看文件或文件系统的详细信息,可以看到文件的三个时间,所在路径/usr/bin/stat,所有用户可执行
Tip
:Linux中不记录文件的创建时间
3、cat:查看文件内容,不适合查看大文件,因为内容展示不全
Tip
:man——查看命令的帮助文档
man cat
4、more:分屏显示文件内容,more中常用的交互命令有:
空格键:向下翻页
b:向上翻页
回车键:向下滚动一行
/字符串:搜索指定的字符串
q:退出
[root@localhost ~]# more install.log
5、less:分行显示文件内容,向上箭头上翻,向下箭头下翻
[root@localhost ~]# less install.log
6、head:显示文件开头内容,选项-n——从文件开头开始向后显示的行数,默认展示10行
[root@localhost ~]# head -n 20 install.log
7、tail:显示文件尾部内容
[root@localhost ~]# tail install.log
8、ln:在文件之间建立链接,命令所在路径为/bin/ln,所有用户可执行
在Linux中文件名称保存的位置在上级目录的block块中,举例来说/root目录下有文件abc,则/root目录对应的block中会保存abc这个文件的文件名和abc这个文件的INode信息,在查找abc这个文件的时候会根据其INode信息找到该文件的block位置然后找到文件内容,也就是说在Linux中文件夹的block中保存的是该文件夹下的文件的名字和INode信息,文件的block中保存的是该文件的内容,因此我们在找一个文件的时候需要先找其父目录,直到找到根目录,根目录的INode号是固定的值2:
命令格式:
ln [选项] 源文件 目标文件
选项:
-s:建立软链接。如果不加"-s",则默认建立硬链接文件
-f:强制,如果目标文件已经存在,则删除目标文件后再建立链接文件
示例:
1️⃣创建硬链接:建立硬链接文件,目标文件没有写文件名,会和原名一致,也就是/root/cangls和/tmp/cangls是硬链接文件,也可以执行目标文件名
touch cangls #在/root下创建文件
ln /root/cangls /tmp/ #创建硬链接
硬链接的特征:建立硬链接的两个文件的INode号是相同的,在创建好之后不好区分哪个是硬链接哪个是源文件,在删除硬链接的文件时,block块删除与否取决于引用计数是否为1
2️⃣创建软链接:类似于Windows中的快捷方式
touch cde #/root下创建文件
ln -s /root/cde /tmp/cde_s #创建软链接
软链接会用箭头指向源文件的位置,且INode号不同,引用计数不会增加
软链接的特征:使用软链接一定要使用绝对路径
,删除软链接的源文件是会直接将block删除的(软链接不会增加引用计数),这也是为什么删除源文件后软链接不能使用的原因能
三、目录和文件都能操作的命令
1、rm:强大的删除命令,不仅可以删除文件,也可以删除目录,命令所在路径/bin/rm,所有人可执行
命令格式
rm [选项] 文件或目录
选项:
-f:强制删除
-i:交互删除,每删除一个文件都会询问用户
-r:递归删除,可以删除目录(无论删除文件还是目录都可以带上该参数)
2、cp:复制文件和目录,命令所在路径/bin/cp,所有用户可执行
命令格式:
cp [选项] 源文件 目标文件
选项:
-a:相当于-dpr选项的集合,会使目标文件和源文件完全相同,包括文件属性
-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
-i:询问,若目标文件已经存在,则会询问是否覆盖
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
-r:递归复制,用于复制目录
3、mv:剪切(移动文件或改名),命令所在路径/bin/mv,所有用户可执行,源文件和目标文件在同一个目录下时就是改名
命令格式:
mv [选项] 源文件 目标文件
选项:
-f:强制覆盖,如果目标文件已经存在,则不询问直接覆盖
-i:交互移动,若目标文件已存在,则询问用户是否覆盖(默认)
-v:显示详细信息