Linux的基本目录及功能
Linux文件命令 - 图1
Linux文件及目录取名规则
可长达255个字符
除了/外,其他字符都合法
有些特殊字符最好不用,如空格符、制表符、退格符和字符:?,@#¥&()|;’’””<>等
避免使用+-或.作为普通文件名的第一个字符(以.开头的文件或目录是隐藏的)
大小写敏感

Linux常用文件和目录操作命令

一般命令格式为:cmd [options] [arguments]
pwd:显示当前目录的完整路径
cd:切换当前目录至目标目录
cd ~进入用户主目录
cd -返回进入此目录之前所在目录
cd ..返回上级目录
cd ../..返回上两级目录
mkdir:建立目录
-m 权限值,可指定目录权限(r、w、x或4、2、1)
-p 路径名,若指定路径不存在或不完整,加上此选项后系统将自动建立好那些尚不存在的目录,即可以一次建立多个目录
rmdir:删除空目录
-p 递归删除目录,当子目录被删除后其父目录为空时,也一同被删除
-v 显示指令执行过程
ls:查看目录
-R 显示目录树形结构
-a 显示所有文件,包括隐藏文件
-i 显示文件结点号
-l 显示文件详细信息(可将ls -l缩写为ll)
chmod:设定权限
chmod [ugoa][+-=][rwxugo]<文件名或目录名>
人员标识:(u)属主 (g)同组 (o)其他人 (a)所有人员
设定方法:+:增加权限 -:删除权限 =:分配权限,同时删除旧的权限
权限字符:r(读)w(写)x(执行)u(与属主权限相同)g(与同组用户权限相同)o(与其他用户权限相同)
chown:改变文件或目录的所有人
chown -R [[用户][.群组]] [文件或目录]
touch:生成新的空文件或更改现有文件的时间
-a:改变文件的读取时间
-m:改变文件的修改时间
cp:复制文件或目录
cp [参数]<源路径><目标路径>
-f:文件在目录路径存在时直接覆盖
-i:当文件存在时提示是否覆盖
-R:递归自制
-b:生成覆盖文件的备份
-a:保持文件原有属性
rm:删除文件或目录 (程序员必备指令rm -rf /手动狗头23333)(rm指令执行时需万分小心,避免删除某些重要文件)
-d:删除肯仍有数据的目录(仅限超级用户)
-f:略过不存在的文件,不显示任何信息,删除任何文件都不需确认
-i:进行任何删除操作前必须先确认
-r/R:递归的删除目录下面文件及子目录下文件即删除该目录下所有目录及文件
-v:详细显示进行的步骤
mv:移动文件或将文件改名
mv [选项] 源文件名或目录 目标文件名或目录
-b:若需覆盖文件,则先进性备份
-f:force 强制的意思,若目标文件已经存在,不会询问,直接覆盖
-i:若目标文件已经存在,询问是否覆盖
-u:若目标文件已经存在,且源文件更新,才会移动、覆盖
ln:对目标文件建立链接
ln [参数] 源文件 链接文件
-f:链接时先将与目标文件同名的文件删除
-d:允许系统管理员创建对目录的硬链接,默认不允许
-i:在删除与目标文件同名的文件时先进行询问
-n:在进行软连接时,将目标文件视为一般的文件
-s:创建软链接,若不加此参数则创建硬链接
-v:在链接之前显示其文件
-b:在创建链接时将可能被覆盖或删除的文件进行备份
tar:打包和解包
tar [options] object1 object2 …
-A:新增打包文件到已存在的打包文件中
-c:创建一个新的tar打包文件
-C:切换到指定目录
-d:记录文件的差别
-r:添加文件到已经打包的文件
-t:显示打包文件的内容
-x:从打包文件中提取文件
-f:输出结果到指定打包文件
-p:保留所有文件权限
-v:在处理文件时显示文件
-z:输出重定向到gzip解压文件
gzip:压缩与解压缩
gzip [options] … [file]… ==>压缩
gunzip/gzip -d [file]… ==>解压缩
-c:把压缩后的文件输出到标准输出设备,不改变原始文件
-d:解压缩文件,等效于gunzip
-f:强行压缩文件,不理会文件名或硬链接是否存在以及该文件是否为符号链接
-r:递归处理,将指定目录下所有文件及子目录一并处理
-l:列出压缩文件的相关信息
-t:测试压缩文件是否准确无误
-v:显示执行过程
-n:压缩文件时,不保存原来的文件名及时间戳
-N:压缩文件时,保存原来的文件名及时间戳
-q:不显示警告信息
-num:num为1-9数字,-1压缩速度最快,压缩比最低,-9压缩速度最慢,压缩比最高,系统缺省值为-6
gzip通常与tar命令结合使用:压缩打包(tar -czvf)解压释放(tar -zxvf)
locate:从/var/lib/mlocate数据库中查找文件 mlocate数据库默认每天更新一次,可用updatedb立即更新一次
find:用于在文件树中查找文件,并作出相应的处理
find path -option [-print] [-exec -ok commend] {}\
path:find命令所查找的目录路径(如果不指定目录,则从当前所在目录开始搜索)
-print:find命令将匹配到的文件输出到标准输出
-exec:find命令对匹配的文件执行该参数给出的shell命令
-ok:和-exec作用相同,只不过以一种更加安全的模式来执行shell命令,执行每个命令前,都会给定提示,让用户决定是否执行
-name:按照文件名来查找文件
-type:按照文件类型来查找文件
-perm:按照文件权限来查找文件
—user:按照文件属主来查找文件
-group:按照文件所属组来查找文件
-mtime -n +n:按照文件的更改时间来查找文件,-n表示更改时间在n天内,+n表示文件更改时间在n天前
-nogroup:查找无有效所属组的文件,即该文件所属组在/etc/groups中不存在
-nouser:查找无有效属主的文件,即该文件的属主在/etc/passwd/中不存在
-newer file1 ! file2:查找更改时间比file1新但比file2旧的文件
cat:查看文件内容、创建文件、文件合并
cat [-n] 文件:查看文件内容,加-n则可以对所有输出的行数编号
cat > <文件名>:创建文件,创建文件后按ctrl+Z组合键结束
cat file1 file2 file3>file:将多个文件内容合并到一个新文件中
more:文件内容或输出查看工具
+num:从第num行开始显示
-num:定义屏幕大小,为num行
+/pattern:从pattern前两行开始显示
-c:从顶部清屏然后显示
-d:提示Press space to continue, ‘q’ to quit. 禁用响铃
-l:忽略Ctrl+l(换页)字符
-p:通过清除窗口而不是滚屏来对文件进行换页。和-c相似
-s:把连续的多个空行显示为一行
-u:把文件内容中的下划线去掉退出more的指令是q
less:查看文件内容
-c:从顶部刷新屏幕,并显示内容,而不是通过底部滚动完刷新
-f:强制打开文件,二进制文件显示时不提示警告
-i:搜索时忽略大小写;除非搜索串中包含大写字母
-l:搜索时忽略大小写;除非搜索串中包含小写字母
-m:显示读取文件的百分比
-M:显示读取数据的百分比、行号及总行数
-N:在每行前输出行号
head:显示文件内容的前几行
head -n 行数值 文件名
*tail:显示文件内容的最后几行

tail -n 行数值 文件名

命令通配符(主要用于用户方便描述目录或文件)
:匹配任何字符任何数目的字符(不能匹配到首字符是”.”的文件或目录名)
?:匹配单一数目任何字符
[ ]:匹配[ ]之内的任意一个字符
{ }:匹配{ }之内的任意一个字符串
[! ]:匹配除了[! ]之外的*任意一个字符

Linux文件命令 - 图2
image.png