Linux 私房菜:文件目录管理及常见命令
本文内容精简、整理、摘抄、有感于《鸟哥的Linux私房菜 - 基础篇第四版》第六章 • Linux的文件权限与目录管理。
-
路径(PATH)
- 相对路径:
cd /var/tmp/
,由根目录/
开头 - 绝对路径:不以
/
开头,与相对路径写法相对应
- 相对路径:
-
环境变量(ENVIRONMENT VARIABLE)。由一堆目录组成,不同目录之间用
:
分隔。命令相同的情况下,靠前指定的环境变量配置优先级高。- 查看命令:
echo $PATH
- 配置文件:
/etc/profile
- 立即刷新:
source /etc/profile
- 查看命令:
常用命令
-
文件类型
-
file 文件
,多用于判断是ascii
,data
或binary
文件
-
-
目录相关
-
cd
- change directory,更换目录。可以是相对路径或者是绝对路径,常见的有:-
.
,表示当前目录 -
..
,进入上一层目录 -
-
,返回前一个工作目录 -
~[user]
,进入当前用户(或指定user用户)的家目录,不指定~
也可以返回家目录
-
-
pwd
- print work directory,显示当前工作目录-
pwd [-P]
,显示实际路径而非链接路径
-
-
mkdir
- make directory,创建目录-
mkdir [-mp] 目录名称
。-m
指定目录所属权限;-p
同时创建多级目录
-
-
rmdir
- remove directory,删除空目录(被删目录不能含其它子目录及文件)-
rmdir [-p] 目录名称
。-p
参数可同时删除上级空目录
-
-
-
文件目录管理
-
ls [-aAdfFhilnrRSt] [--color={never,auto,always}] [--time={mtime,atime,ctime}] [--full-time] 文件或目录
- list,列出列表。参数较多,请用man ls
查看更多详细用法,大部分情况下用ll
能满足日常使用(等价于ls -al
)-
-a
含全部隐藏文件 -
-A
含隐藏文件但不含.
和..
这两个目录 -
-h
以可读形式(KB,GB)展示文件大小,默认为Byte -
-l
以每行长串输出展示数据 -
-r
自然排序输出结果的反向 -
-R
连同子目录文件一同输出 -
-S
以文件大小排序 -
-t
以时间排序
-
-
touch [-acdmt] File
- 创建文件 -
cp [-adfilprsu] source*(一个或多个来源文件或目录) destination(目标文件或目录)
- copy,复制-
-a
完全相同复制 -
-i
出现覆盖询问 -
-p
连同源文件属性(权限、用户、时间)一起复制 -
-r
递归复制文件目录 -
-s
快捷方式形式复制(软连接) -
-l
硬连接 -
-u
目标不存在才复制,或存在但mtime
较旧
-
-
rm [-fir] 文件或目录
- remove,删除-
-f
忽略警告 -
-i
删除询问 -
-r
递归删除
-
-
mv [-fiu] source*(一个或多个来源文件或目录) directory(目标目录)
- move,移动或重命名-
-f
强制覆盖 -
-i
覆盖询问 -
-u
目标对象存在且mtime
较旧的情况下才更新
-
-
-
文件内容查阅
-
cat [-AbEnTv] File
,Concatenate,从第一行开始显示文件全部内容-
-b
显示行号(不含空白行) -
-n
显示行号(包含空白行)
-
-
tac
,相对应上面的cat
命令,反向从最后一行开始显示文件全部内容 -
nl [-bnw] File
,类同于上面两个命令 ( 暂无说明 ) -
more File
,一页页向下翻阅查看文件-
space空格键
翻页 -
b 或 ctrl + b
往回翻页 -
enter确认键
翻行 -
/字符串
向下搜索 -
:f
显示文件名和当前末尾行的行数 -
q
退出
-
-
less File
,类似于more
但功能更强大,同样用于翻阅查看文件-
space空格键 或 page down
翻页 -
b 或 ctrl + b 或 page up
往回翻页 -
enter确认键
翻行 -
/字符串
向下搜索 -
?字符串
向上搜索 -
n
搜索匹配的下一个 -
N
搜索匹配的前一个 -
:f
显示文件名、当前显示行范围、byte大小和百分占比等 -
g 或 home
跳到文件开头 -
G 或 end
跳到文件末尾 -
q
退出
-
-
head [-n num] File
,取出前面几行-
head -n 100 info.log
,取出前100行 -
head -n -100 info.log
,取出不包括最后100行的所有行
-
-
tail [-n num] File
,取出后面几行-
-f
侦测文件输出 -
tail -n 100 info.log
,取出后100行 -
tail -n +100 info.log
,取出100行以后的所有行
-
-
od [-t acdfox] File
,非纯文档文本读取命令( 暂无说明 )
-
-
文件预设权限
-
umask [-S] [-num]
,显示当前用户在新建文件或目录时的权限默认值 -
umask -num
,修改当前用户在新建文件或目录时的权限默认值
-
-
文件隐藏属性
-
chattr [+-=][ASacdistu] 文件或目录
,配置文件隐藏属性-
+
增设属性 -
-
删减属性 -
=
赋值属性 -
a
只能追加数据不可修改删除 -
i
文件不能删除修改添加改名等
-
-
lsattr [-adR] 文件或目录
,显示文件隐藏属性-
a
包括隐藏文件 -
d
仅列出目录属性 -
R
包含子目录
-
-
-
脚本文件搜寻
-
which [-a] command
,搜寻该command的执行档所在位置 -
whereis -[lbmsu] 文件或目录
,在指定目录搜索文件或目录-
l
列出指定目录 -
b
只找binary文件 -
m
只找在manual路径下的文件 -
s
只找来源文件 -
u
只找不在上面三种类型中的其它文件
-
-
locate [-iclSr] keyword
,根据指定数据库/var/lib/mlocate/mlocate.db
搜索,可用updatedb
命令更新-
i
忽略大小写 -
c
输出统计数量 -
l
后面接数量,表示输出几行 -
S
展示数据库信息
-
-
find [PATH] [option] 文件或目录(支持正则匹配)
,功能比较强大和丰富,具体请用man find
查看,常见的option选项有:-
[-{mtime,atime,ctime} {+,-}n]
,与时间相关的帅选 -
[-{user,group,nouser,nogroup}]
,与拥有者或群组相关的过滤 -
[-{name,size,type}]
,与文件名、大小、类型有关的参数
-
-
重点回顾
重点回顾欢迎关注我的个人公众号:超级码里奥
如果这对您有帮助,欢迎点赞和分享,转载请注明出处