目录
13、查找文件或目录find:采用递归方式2,根据目标的名称、类型、大小等不同属性进行精细查找
1、查看当前工作目录:pwd
2、切换工作目录:cd
3、列表显示目录内容:ls(常规选项,可结合通配符)
命令字 【选项】 【参数】
操作 功能 要执行的对象
-l | #将文件信息属性详细的列出,通常直接使用ll,因为设置了别名 |
-R | #递归显示,比如一个目录下还有文件,则把那个文件也一起显示 |
-d | #查看目录本身信息,不显示目录下的内容 |
-i | #显示inode值 |
-h | #友好显示文件大小 |
-a | #遍历所有文件及目录(l可以显示文件目录开头名称“.”的隐藏文件) |
-A | #根-a唯一不同是不列出当前目录和上一级目录 |
4、文件颜色区别
色数据文件 TXT
绿色 可执行文件
黄色 块设备文件
红色 压缩包
蓝色 文件夹
天蓝色 连接文件(快捷方式)
5、给命令设置别名:alias
临时修改
如图定义一个cdnet 可以简化我们进入目录的操作
删除别名:unalias
永久修改
进入用户目录下的.bashrc文件
如添加一个立即关机操作,然后保存退出就可以了。
注意:
临时修改
-
alias 命令别名 = “命令”
-
unalias 别名命令 删除别名
-
\加命令 原始命令
永久修改
-
在/etc/bashrc 会影响全部
-
/root/.bashrc只影响当前用户
补充:
别名>内部>hash>外部命令(先查找别名在查找内部命令,缓存最后外部)
6、统计目录及文件空间占用情况:du
-h:显示出每一个文件以及大小,单位是KB,MB,GB
-s:显示文件或整个目录的大小,默认单位是KB,但不会把他们显示出来
du -sh * #生产环境常这样搭配使用统计当前目录下所有文件的大小并显示出来,常用于磁盘水位过高的情况
7、创建新目录:mkdir
mkdir /opt/sj #创建目录,注意:父目录必须存在
-p:创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时,递归创建
8、创建空文件:touch
①文件存在:修改文件或者目录的时间属性,包括存取时间和更改时间。
②文件不存在:创建新文件 touch [文件名] touch [文件名] [文件名]
一些高级用法:
touch f{A..Z}.log
-
[123] 取其中之一有就显示没有也无所谓
-
touch f[zhou].log
ls f[zhou].log //四个其中的之一有就全显示
9、复制文件或目录cp
-p:连属性一起复制
-a:保留权限,复制软链接本身,递归复制
-r:递归复制
-f:强制复制,不与用户交互
-i:提醒覆盖
cp另一种高级用法:cp -v file1.txt{,.bak}
10、删除文件或目录:rm
-i:删除文件或目录时提醒用户确认
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
-f:删除文件或目录时不进行提醒,而直接强制删除
常见用法:rm -rf /* 删除空目录:rmdir
11、移动文件或目录/改名:mv
用法:mv [文件名] [目录名] mv [文件名] [文件名]
-i:若指定目录已有同名文件,则先询问是否覆盖旧文件
-f:在 mv 操作要覆盖某已有的目标文件时不给任何指示
当在同一目录下用mv就是改名,如果是跨目录使用mv的话就是移动,相当于剪切的操作
12、查找命令/文件存放目录which
which 命令用于查找 Linux 命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量 PATH 决定(可以执行“echo $PATH”命令查看),这个范围也是 Linux 操作系统在执行命令或程序时的默认搜索路径。
13、查找文件或目录find:采用递归方式2,根据目标的名称、类型、大小等不同属性进行精细查找
不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示
-name 按名称查找:
-size 按大小查找:
-user 按文件属主:
-type 按类型查找:普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)、链接(l)
块设备指的是成块读取数据的设备(如硬盘、内存等),而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)
13.1 Find工具-name参数案列:
find /etc -name "resol.conf"
find /data/ -name ".txt" #查找/data/目录以.txt结尾的文件;
find /data/ -name "[A-Z]" #查找/data/目录以大写字母开头的文件;
find /data/ -name "test" #查找/data/目录以test开头的文件;
13.2 Find工具-size参数案列
find /data/ -size +1M #查文件大小大于1Mb的文件;
find /data/ -size 4M #查文件大小为10M的文件;
find /data/ -size -1M #查文件大小小于1Mb的文件;
-size +4M 表示4M 以上 不包括 4M
-size 4M 表示3M 到4M 且不包括3M
-size -4M 表示3M 以内 包括3M
1G 1024 代表1023M - 1024M 不包括1023M
13.3Find工具-type参数案列:
find /boot -type d
find /data/ -type d #查找/data/目录下的文件夹;
find /data/ ! -type d #查找/data/目录下的非文件夹;
find /data/ -type l #查找/data/目录下的链接文件。
find /data/ -type d|xargs chmod 755 -R #查目录类型并将权限设置为755;
find /data/ -type f|xargs chmod 644 -R #查文件类型并将权限设置为644;
13.4 查找存在的用户的文件
find /home -user 用户名 find /home -user 用户名 -group 组名
设置 find 命令的查找条件时,若需要使用“”或“?”通配符,最好将文件名用双引号括起 来,以避免当前目录下符合条件的文件干扰查找结果
find /boot -size +1024k -a/-o -name "vmlinuz"
使用“-a”“-o”组合两个条件,前者表示两个条件必须同时满足, 后者表示只需满足其中任何一个条件即可
14、创建链接文件:ln
ln 命令用于为文件或目录建立链接文件(类似于 Windows 系统中的快捷方式),提高 用户定位文件或定位目录的效率 链接文件包括软链接和硬链接两种类型,其中软链接又称为符号链接。无论是访问软链接还是硬链接,与直接访问原始文件的效果基本相同
ln -s 创建软链接,相当于创建一个快捷方式
ln 创建硬链接,相当于复制了一份副本
软链接建立时原始文件可以不存在 如果删除源文件之后又重新建立源文件,那么软链接照样可以用 软链接文件的大小就是软链接文件本身的文件名字符长度! 可以给目录做软链接,为了防止目录被删
硬软区别
硬链接不能跨分区建立连接 无法对文件夹创建 删除硬件连接可以继续访问硬链接
软连接可以跨设备 可以支持文件夹 软连接删除源文件不能访问
硬链接:
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard link)
软链接:
除了硬链接以外,还有一种特殊情况。文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(soft link)或者"符号链接(symbolic link)。这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:"No such file or directory"。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。
注:相对路径与绝对路径 建议绝对路径
案列 [root@kgc home]# echo "this is kgc" > demo.txt
[root@kgc home]# ln -s demo.txt test.txt
删除demo.txt 验证
[root@kgc home]# echo "this is kgc" > demo1.txt
[root@kgc home]# echo "this is kgc2" > demo2.txt
[root@kgc home]# ln demo1.txt test2.txt
root@localhost ~]# mkdir /bin/wx
[root@localhost ~]# ln -s /bin/bzip2 /bin/wx/
[root@localhost ~]# ls -lh /bin/wx/bzip2
lrwxrwxrwx 1 root root 10 9 月 16 14:05 /