#linux linux命令概述与常用的文件(夹)处理、查找命令
目录
#linux linux命令概述与常用的文件(夹)处理、查找命令
1、linux命令概述
1.1 字符界面介绍
1.2 命令格式
2、常用的文件(夹)命令
2.1 显示当前目录下内容
2.2 目录处理命令
2.3 文件处理命令
2.4 文件搜索命令
1、linux命令概述
linux命令是linux系统字符界面的操作基础,几乎所有的字符界面操作都是通过输入命令来完成的。
1.1 字符界面介绍
登录linux字符界面时,显示界面类似下图:
其中:
root:当前登录用户,root为管理员
VM_18_178_centos:主机名,不同计算机不一样
~:当前所在的目录("~"表示为当前用户的、的家目录)
#:超级用户提示符,如果为普通用户则这个符号为$
1.2 命令格式
命令 [选项] [参数]
参数:
-a 相当于 -all
-l 相当于 -long list
-h 相当于 -human(人性化)
……
有多个选项可以组合在一起(个别不遵守),可以参考下面列出的命令示例。
2、常用的文件(夹)命令
2.1 显示当前目录下内容
ls [选项] [文件目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息 (可以用ll)
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode(i节点,文件的id号)
显示的内容为
权限 引用计数 所有者 所有组 文件大小(单位字节) 最后一次修改时间 文件名
注:ls -lh 可以显示k字节的文件大小
linux中的隐藏文件以.开头
权限:r 读 w 写 x可执行
例如: -rw-r--r--(centos 7后面会有一个".",代表ACL权限)
第一个“-”表示文件类型(- 普通文件 d 目录 l 软连接文件),之后每三位为一组,代表其所有者、所有组、其他人的权限
-:该文件为一个普通文件
rw-:所有者(关于用户组的概念,会在之后写博客介绍)的权限,可读可写
r--:所有组的权限
r--:其他人的权限
例如:
2.2 目录处理命令
1、建立目录:mkdir (make directories)
格式: mkdir (-p) [目录名]
-p 递归创建,可以直接创建多层目录
例如: mkdir -p handsom/antony (当handsome目录不存时,会自动创建)
2、切换目录:cd (change directory)
格式 cd [目录]
cd ~ (可以直接用cd) 进入当前用户的root目录
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
补充:
相对路径:参照当前所在目录进行查找,如:cd ../usr/local/src/
绝对路径:从根目录开始指定,一级一级的递归查找,在任何目录下都能进入指定位置,如:cd /etc/
在输入的时候可以按两下Tab案件自动进行路径补全
3、查询所在目录位置:pwd (print working directory)
4、删除空目录:rmdir (remove empty directory)
格式:rmdir [目录]
此命令只能删除空文目录。
5、删除目录或文件:rm (remove)
格式:rm -rf [目录或文件]
选项:
-r 删除目录
-f 强制
使用rm -rf可以删除所有文件或目录。
注意:使用不可运行rm -rf / 命令,此命令会把所有linux的文件删除,即传说中的“删库跑路”。
2.3 文件处理命令
1、复制命令:cp (copy)
格式:cp [选项] [原文件或目录] [目标目录]
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr
2、剪切或改名目录:mv (move)
格式:mv [原文件或目录] [目标目录]
功能描述:同一目录改名,不同目录剪切
3、链接命令: ln (link)
(1)、硬链接:
1、拥有相同的i节点和存储block块,可以看作是同一个文件
2、可通过i节点识别
3、不能跨分区
4、不能针对目录使用
(2)、软链接:
1、类似windows快捷方式
2、软链接拥有自己的i节点和block块,但是数据中只保存原文件的文件名和i节点号,并没有实际的文件数据
格式:ln (-s) [原文件] [目标文件]
功能描述:生产链接文件
选项:-s 创建软链接,不加则创建硬链接
注意:创建软链接时,原文件一定要写绝对路径
例如:
2.4 文件搜索命令
1、文件搜索命令 locate
优点:搜索速度块
缺点:只能按照文件名搜索
格式: locate [文件名]
搜索时会从/var/lib/mlocate下保存locate数据库里面搜索(此数据库大概每天更新一次,可以使用updatedb命令强制更新数据库)
搜索时按照/etc/updatedb.conf配置文件搜索,其中
PRUNE_BIND_MOUNTS = “yes”#开启搜索限制
PRUNEFS = #搜索时,不搜索这里的文件系统
PRUNENAMES = #搜索时,不搜索的文件类型
PRUNEPATHS = #搜索时,不搜索的路径
2、搜索命令的命令 whereis
格式:whereis [命令名]
搜索命令所在路径以及帮助文档所在位置
选项:
-b:只查找可执行文件
-m:之查找帮助文档
注:which查找时,不会显示命令帮助文档位置,如果有别名,则会显示其别名
cd 命令无法查找到,因为其为linux内置命令
3、文件搜索命令 find
格式:find [搜索范围] [选项] [搜索条件]
例如:find / -name install.log
选项:
-name 按文件名查找
-iname 搜索的文件名不区分大小写
-user 按所有者搜索
-nouser 查找没有所有者的文件(搜索的内容多为垃圾文件,可以删除,但有两个例外:文件由内核产生的,不经过系统目录,如proc和sys目录下的部分文件;外来文件,从别的系统、设备拷贝过来的文件)
-mtime 按修改文件时间搜索
-10:10天内修改的文件
10:10天前当天修改的文件
+10:10天前修改的文件
例如:find /var/log +10
-atime 文件访问时间
-ctime 改变文件属性时间
-size 按文件大小搜索
+文件大小 大于这个文件大小的文件
-文件大小 小于这个文件大小的文件
文件大小 等于这个文件大小的文件
注意:文件大小为千字节的时候单位用小写的“k”,为兆字节的时候用大写的“M”,否则会报错,如果不写单位,则默认的单位为数据块(硬盘的扇区,每个扇区512字节)
例如:find /var/log +20k
-inum 按i节点搜索
例如:find /var/log 262421
-a and 逻辑语,可以按多个搜索条件搜索,多个条件都需要满足
-o or 逻辑语,可以按多个搜索条件搜索,多个条件只需满足一个
例如: find /etc -size +20k -a -size -50k
-exrc [命令] -lh {} \; find查找到的结果交给这里的命令来处理(查找到的文件并没有显示详细信息,可在这里用ls -l 来显示详细信息)
例如:find /etc -size +20k -exec ls -lh {} \ ;
注意:避免大范围搜索,会非常耗费系统资源;find是在系统当中搜索符合条件的文件名(搜索到的文件名和搜索的完全一致)。如果需要匹配使用通配匹配符,通配符是完全匹配。
4、搜索字符串命令 grep
在文件当中匹配符合条件的字符串
格式:grep [选项] [字符串] [文件名]
选项:
-i 忽略大小写
-v 排除指定字符串,取反
例如:grep -v "size" anaconda-ks.cfg
注:搜索文件名时需要匹配,则需要使用通配符,需要完全匹配;搜索内容时,需要使用正则表达式
5、linux中的通配符:
* 匹配任意多个内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
关于linux的更多内容,可以到查看,会持续更新。