linux 命令基础 第一章

152 阅读4分钟

文件属性解释

drwxr-xr-x 3 root root 16 7月 21 12:03 aa

d是目录    rwxr-xr-x 权限(三个一组)   3 连接数为3

root 这个文件属于root     root这个文件属于root组

16 7月 21 12:03 文件最后一次修改的时间   aa文件名

ls

ls -l 长格式显示 ,文件属性比较详细 ls -l 等于 ll

ls -a 显示所有文件 包括 隐藏文件 且 包括 . ..  

ls -A 显示所有文件 包括 隐藏文件不包括 . ..

ls -d 只显示当前目录的属性

ls -h 人性化显示(加了文件大小的单位)

ls -R 递归显示

ls -S 以文件容量大小排序

ls -i 显示indoe号

(ls不单独使用,单独使用会显示文件夹下所有文件)

通配符

? 任意单个字符

* 任意长度的任意字符

{1..10} 1到10 10个数 {1..100} {a..z}

例:

x*  以x开头的文件

*.conf  以.conf为结尾的文件

(ls可配合通配符过滤需要的文件)

alias 别名

可以将复杂的命令简单化

模式:alias  自行定义的命令='常用的复杂命令'

单独使用alias会显示所有的别名命令

别名>内部>hash>外部

删除别名:unalias 

du (disk use)

查看文件或目录 占用磁盘的空间大小

-a 分开显示每个文件的大小

-s 显示当前文件夹的 总大小

(a和s不能同时使用)

面试题:

统计 /etc 目录 下 第一层文件夹占用多少磁盘空间?

du -d 1 目录

-d 代表目录层数

1 代表目录层数的第一层

#du /etc/ -d 1

mkdir 创建空文件夹

-p 递归创建文件夹

-v 显示详细过程

touch 创建文件

如果当前文件夹下没有同名的文件

touch 文件名  #创建文件

如果没有同名的文件 :刷新修改此文件的时间

软连接硬连接

创建软连接

Ln    -s      源文件(夹)路径     目标文件夹路径

(一定要使用绝对路径)

创建硬连接

Ln   源文件(夹)路径     目标文件夹路径

cp 复制

cp   要复制的文件     要放置复制文件的位置/可以重命名

-f 有相同文件时强制覆盖不提醒

-i 有相同文件时覆盖提醒

-p 保留文件的源权限

-r 递归处理,将指定目录下的文件与子目录一并处理

-a 保留权限 更强大 包括连接文件的属性也可以保留

mv 移动&改名

格式:

mv  文件1  文件2 #将源文件名(文件1)改为目标文件名(文件2)

mv  文件  目录   #将文件移动到目标目录中

which 找命令的位置

which  文件

例: which bash #查看bash的绝对路径

面试题:

我磁盘空间满了,我删除了一个 5G 的文件 但是空间没有增加5G ,怎么处理?

1. 有别人 占用了这个文件

2.杀掉打开这个文件的进程

find 查找文件

优点:

1.默认递归查询

2.它是真的去硬盘上一个一个文件给你找(实时)

3.查找条件巨多

4.精确查找

缺点:慢

基本格式:find  查找范围  查找条件表达式

(如果不写范围代表默认当前目录)

表达式 :

一.按查找文件名字查找

-name  文件名称

二.按文件大小查找文件 -size        k M G

#查找boot目录下大于1024k的文件

(文件大小不加加减号是一定的范围,单位越精确越好)

范围公式:

前面的数字 减去1

1024 -1 1023k 到 1024k

1-1 1字节 到 1M

三.按文件属主查找 属主:文件的拥有者 -user

#找到boot目录下属于mzs用户的文件

四.按文件类型查找 -type f (普通文件) d(目录) c(字符文件) b(块设备)

#找到boot下的普通文件

五.按照 indoe号查找 -inum     要先知道indoe号

[root@localhost data]#ls -i

9243885 1.txt 9243846 bigfile 9243860 zwz.txt

[root@localhost data]#find -inum 9243885

./1.txt

六.按照目录层级查找文件   -maxdepth level         -mindepth level

#只看boot第二层

七.天数查找文件 -mtime

[root@localhost data]#find /boot/ -mtime +7 -type f -size +1M -delete

#找到 7天以上 且文件类型为普通文件 且大于1M的文件 并且 加上处理动作 删除

八.处理动作

默认是:

  1. print 输出屏幕让你看一下
  2. ls 显示详细信息
  3. delete 直接删除
  4. ok 连接符 会询问
  5. exec 连接符 不会询问

find -name "*.txt" -ok mv {} /mnt \;

找到名字以txt结尾的文件

-ok 处理动作 连接 前面后面的命令 会询问你要不要这样处理

mv {} 代指前面 find找到的文件 /mnt 移动到的目录 \;固定格式

不删除,移动文件

find -name '*.txt' -ok mv {} /mnt \;

会询问

find -name '*.txt' -exec mv {} /mnt \;

不会询问