Linux - Linux常用命令
文件处理命令:
ls:查询目录中的内容
- ls [选项] [文件或者目录]
选项
- -a 显示所有文件,包括隐藏文件
- -l 显示详细信息(ll)
- -d 查看目录本身的属性而非子文件 ls /etc/
- -h 人性化的方式显示文件大小
- -i 显示inode,也就是i节点,每个节点都有ID号
- 默认当前目录下的文件列表
ls -l:drwxr-xr-x . 1 root root 800 Sep 16 00:19 logs
drwxr-xr-x . 1 root root 800 Sep 16 00:19 logs 文件类型和权限 ACL权限 硬链接引用计数 所有者 所属组 文件大小 最后修改时间 文件名
mkdir:建立目录 make directory
mkdir -p [目录名]
- -p 递归创建
cd:切换所在目录 change directory
pwd:显示当前目录
rm:删除目录或文件
rm [文件或者目录]
- -r 删除目录
- -f 强制删除
- rm -rf 文件或者目录] 递归强制删除所有目录
copy:复制命令
copy [源文件或者目录] [目标文件]
- -r 复制目录,默认是复制文件
- -p 连带文件属性复制
- -d 若源文件是链接文件,则复制连接属性
- -a 相当于 -rpd
mv
- mv [源文件或者目录] [目标文件]
touch:创建文件
cat:查看文件内容
软链接
ln -s [源文件] [目标文件]
- -s 创建软链接
- 类似Windows快捷方式
- 软链接拥有自己的i节点和Block块,但是数据块中只保存源文件的文件名和i节点号,并没有实际的文件数据
- lrwxrwxrwx l 软链接 软链接的文件权限都是 777
- 修改任意一个文件,另一个都会改变
- 删除源文件,软链接不能使用
- 软链接源文件必须写绝对路径
文件搜索命令
locate
- 在后台数据库中按文件名搜索,速度比较快
- 数据保存在
/var/lib/mlocate
后台数据库,每天更新一次 - 可以
updatedb
命令立刻更新数据库 - 只能搜索文件名
/etc/updatedb.conf
建立索引的配置文件- PRUNE_BIND_MOUNTS = “yes” 全部生效,开启搜索限制
- PRUNEFS 不搜索的文件系统
- PRUNENAMES 忽略的文件类型
- PRUNEPATHS 忽略的路径 /tmp
whereis
- 搜索命令所在路径以及帮助文档所在位置
whereis 命令名
whereis ls
- -b 只查找可执行文件
- -m 只查找帮助文件
which
- 可以看到别名
which ls
- 能看到的都是外部安装的命令
- 无法查看Shell自带的命令,如
which cd
环境变量
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
- 定义的是系统搜索命令的路径
- echo $PATH
find
- 文件搜索命令
- find [搜索范围] [搜索条件]
按名称搜索
避免大范围的搜索,会非常消耗系统资源
find / -name aaa.log
2.通配符
- find是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
通配符
*
匹配任意内容?
匹配任意一个字符[]
匹配任意一个中括号内的字符
find . -name “ab[cdef]”
- -i
不区分大小写
find / -iname A.log
- -user
按所有者进行搜索
find /root -user root
find /root -nouser
按时间搜索
find /nginx/access.log -mtime +5
参数 | 含义 |
---|---|
atime | 文件访问时间 |
ctime | 改变文件属性 |
mtime | 修改文件内容 |
参数 | 含义 |
---|---|
-5 | 5天内修改的文件 |
5 | 5天前当前修改的文件 |
+5 | 5天前修改的文件 |
按大小搜索
k小写,M大写
find . -size 100k
参数 | 含义 |
---|---|
-8k | 小于8K |
8k | 等于8K |
+8k | 大于8K |
+8M | 小于8M |
按i节点搜索
find . -inum 123456
综合应用
find /tmp -size +10k -a -size -20k
- 查找/etc目录下,大于10KB并且小于20KB的文件
- -a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个就可以
find /tmp -size +10k -a -size -20k -exec ls -lh {} \;
exec 对上个命令的结果进行操作
grep
- 在文件当中匹配符合条件的字符串
grep “10” access.log
-i
忽略大小写-v
排除指定字符串
- find命令,在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
- grep命令 在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配
帮助命令
man 命令 获取指定命令的帮助
man ls
查看ls的帮助
还没有评论,来说两句吧...