欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux文件与目录管理常用命令

程序员文章站 2022-07-14 10:20:17
...

目录与路径

符号含义

.	表示当前目录
.. 	表示上一层目录
-	表示前一个目录
~	表示用户所在的家目录

目录操作

cd:切换目录
pwd:显示当前目录
mkdir:创建一个新目录
rmdir:删除一个空目录

路径变量打印

echo $PATH

当运行某个命令时,比如 pwd,系统是根据PATH的配置去PATH定义的目录下查找名为pwd的可运行档, 如果存在多个pwd可运行档,则先找到的那个被执行。

文件与目录管理

显示文件列表

ls 
ls -la //常用的参数,列出全部文件和对应的文件属性权限等
ls -la /tmp/   后面可加路径,此命令列出tmp目录下的文件列表,默认是显示当前目录

复制

cp 源文件 目标目录或文件
关键参数
-i 若目标文档已存在,会咨询是否覆盖(常用)
-a 相当于-pdr(常用)
-p 连同文件属性一起复制,而非使用默认属性
-d 若源文档为连结档的属性,则复制连结档属性而非文件本身
-r 递回持续复制,用于目录的复制

删除

rm 
-r 递回删除,常用于删除目录
-f 忽略不存在的文件
-i 删除前咨询是否动作

移动或重命名

mv 一个或多个源目录|文档 已存在的目录  //移动
mv 源目录|文档 当前未存在的目录|文档  //重命名
关键参数:
-f 直接覆盖
-i 询问后覆盖

内容查看

一次性打印显示

cat 从第一行开始显示内容
参数:
-n 显示行号
-A 显示处隐藏的特殊字符

翻页显示

less 文档名
命令操作:
空白键  向下翻一页
[pagedown] 向下翻一页
[pageup] 向上翻一页
/字串   向下搜寻
?字串   向上搜寻
n     向下查找
N     向上查找 
q     离开 less 这个程序

数据截取

head -n 10 filename 显示前10行的内容
tail -n 10 filename 显示后10行的内容
head -n 20 filename | tail -n 10 显示第1120行的内容

新建文件或修改文件时间

mtime 文件的内容被修改时,该时间会更新
ctime 文件的状态改变时,比如权限和属性,就会更新这个时间 
atime 文件的内容被取用时,比如使用cat去读取文档,就会更新这个时间 
touch filename //新建文档
touch -t 1911250310 filename //修改文档时间为 2019/11/25 3:10

默认权限和隐藏权限

默认权限 umask
Linux文件与目录管理常用命令
这里的默认权限为022,表示要被去掉权限对应的数字,即群组和其他人的W权限被拿掉了,新建目录或文件时,会按照默认权限赋予对应的属性。

创建文件时:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
创建目录时:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x

Linux文件与目录管理常用命令
隐藏属性

chattr [options] filename 配置隐藏属性
关键参数:
+ 添加特殊参数
- 移除特殊参数
= 配置一定,且仅有后面接的参数
a 该文件只能添加数据,不能删除也不能修改数据,只有root才能配置该属性
i 该文件不能被删除、改名、配置连结,也无法写入或新增数据,只有root能配置
显示隐藏属性:
lsattr [-adR] filename
-a 显示隐藏档的属性
-d 如果接的是目录,仅列出目录本身的属性而非目录内的档名;
-R 列出子目录的数据

Linux文件与目录管理常用命令
查看文件类型

file filename

查找命令和文件

查找命令名

which [command]
举例:
root@kali:/tmp# which ls
/usr/bin/ls

查找文件名 whereis,locate和find

whereis 只用于搜索程序名
-b 二进制文件
-m man说明文件
-s 源代码文件
举例:
root@kali:~# whereis ifconfig
ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
locate filename
locate etc/sh 查找etc目录下以sh开头的文件

whereislocate都是基于数据库查找的,所以速度比较快,但却不是实时的,可以通过命令updatedb更新数据库。

find 路径 参数 动作
选项参数
-name filename 搜寻文件名称为filename的文件           
-type TYPE 文件类型有正规文件f,装置文件b、c,目录d,连结档l,socket(s)
-perm mode 搜寻文件权限等于mode的文件
举例:
find /tmp/ -name test 查找tmp目录下名为test的文件
find /tmp/ -name "*one*" 查找tmp目录下包含one字眼的文件
find /root/ -perm 777 查找根目录下权限为777的文件
基于时间查找:
find /tmp/ -mtime 4 查找4-5天那一天被改动过的文档
find /tmp/ -mtime +4 查找5天前被改动过的文档
find /tmp/ -mtime -4 查找4天内被改动的文档
find /tmp/ -newer test 查找比tmp目录下比test还要新的文档

Linux文件与目录管理常用命令

参考文章

鸟哥的Linux私房菜