文件管理命令
1.ls命令:
- 英文原意:list directory contents
- 功能描述:用来显示指定目录内的文件列表,可通过选项控制显示内容的详细程度和颜色高亮等
- 所在路径:/bin/ls
- 命令格式:ls [OPTION]… [FILE]…
- 常用选项:
**-a:**显示指定目录内的所有内容(包含隐藏文件和特殊目录)
**-l:**显示每一个文件的详细信息(权限、所有者、所属组、修改时间等),可缩写为ll,即ll为ls -l的别名。
**-h:**显示文件大小时,使用最合适的单位显示(例:4万万 ==> 4亿),常以-lh形式出现。
**-d:**用来显示目录本身信息,而不显示目录内的文件列表,常以-ld形式 出现
**-i:**显示文件索引节点号(inode),每个文件都拥有一个独一无二的索 引节点号,但根据内容的修改,可能会改变。
一个文件存储于分区时,会有两部分数据,内容数据以及属性相关数据。
属性相关数据:
①inode{文件权限、类型、归属(归属用户,归属组)
即文件元数据 时间(被访问时间、内容被修改时间、属性/权限被 修改时间)}
②文件唯一标识号
文件名存储在目录文件中
ls -l的七列信息:
-rw-------. 1 root root 1267 Sep 16 20:48 anaconda-ks.cfg
① ② ③ ④ ⑤ ⑥ ⑦
①类型和文件权限:
结尾的”.”代表这个文件是在SELinux开启时创建的,或创建后开启了 SELinux。只有创建文件时SELinux不开启才没有标记。
总长度十位,第一位代表文件类型:
-:普通文件{文本、压缩包、配置文件…}
file [FILE] #查询文件详细类型
d:目录文件
b:块设备文件{存储类设备} 如:U盘
c:字符设备文件:{传输数据类的设备}——输入输出设备
l:软链接文件:——快捷键{快捷方式}
②引用计数
③文件所有者(特指用户)
④文件所属组
⑤文件大小
⑥时间日期
⑦文件名
2.cd命令
- 英文原意:Change the shell working directory
- 功能描述:切换到指定的目录下
- 所在路径:属于shell内置命令,没有路径
- 命令格式:cd DIRECTORY…
特殊目录
- ~ 切换到当前所在用户的家目录下
- - 切换到刚才所在目录
- . 当前目录
- … 切换到上一级目录(父目录)
3.pwd 命令
- 英文原意:print name of current/working directory
- 功能描述:显示当前所在路径
- 所在路径:/bin/pwd
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
4.mkdir 命令
- 英文原意:make directories
- 功能描述:创建目录
- 所在路径:/bin/mkdir
- 命令格式:mkdir [OPTION]… DIRECTORY…
- 常用选项:
- -p:递归创建多级目录
- -v:显示命令执行时的流程
- 结合使用:-pv
[root@localhost ~]# mkdir /data/text/
mkdir: 无法创建目录"/data/text/": 没有那个文件或目录
[root@localhost ~]# mkdir -p /data/text/
5. rm 命令
- 英文原意:remove files or directories
- 功能描述:删除指定文件或者目录
- 所在路径:/bin/rm
- 命令格式:rm [OPTION]… FILE…
- 常用选项:
- -i:删除已有文件或目录之前先询问用户
- -f:不询问,强制删除
- -r:递归处理,将指定目录下的所有文件与子目录一并处理
- 近义词命令:
- rmdir 删除指定的空目录
rm无所不能。rm -rf /* #删除根下所有文件,危险操作!
6.touch命令:
- 英文:change file timestamps
- 功能:用于把已有文件的时间标签更新为系统当前时间(默认方式)用来创建新的文件(若访问文件不存在,先创建后touch)
- 路径:/bin/touch
- 格式:touch 【OPTION】…FILE…
- 常用选项:都是对时间进行修改的,略
- 批量创建文件:
# 括号中要是连续的数字或字母,代表每次从括号中取出一个字母代表.txt的前缀:a.txt b.txt......z.txt
$ touch {a..z}.txt
$ touch a{0..9}
# 批量创建目录:括号中要是连续的数字或字母。
$ mkdir abc{1..9}
7.stat命令:显示文件详细信息
-f选项:file system
查看的是文件所在分区文件系统。
8.cat命令
- 英文:concatenate files and print on the standard out put
- 功能:查看文件内容。自动滚屏:每一页覆盖前一页,即只显示最后一页。
- 路径:/bin/cat
- 格式:cat [OPTION]…[FILE]…
- 选项:
- -n:为每一行内容进行编号(从1开始)
- -b:类似于-n,会主动忽略掉空白行(显示但不为其编号)
# 补充
# 将双引号里的内容输出到显示器上。
$ echo "Hello world"
# 输出重定向符号:修改字符要输出的目标,将本来要在屏幕显示的信息输出到指定文件里。
$ echo “Hello world”>a.txt
>:覆盖式重新定向写入{执行单个尖括号时,一定要确认文件对象}
>>:追加式重新定向写入
#多文件合并
cat a.txt x.txt>c.txt
9.more命令:分页显示文件内容。
- 格式:more + filename
- 交互命令:
- 空格 向下翻页
- B 向上翻页
- 回车 逐行阅读
more不支持pgup和pgdn翻页
10.less命令:分页显示文件内容。
增加了查询功能
- 交互命令:
- 空格 向下翻页
- B 向上翻页
- 回车 逐行阅读
- / + 关键词 查询指定关键词,并高亮显示。
- N #快速定位下一个关键词所在位置
less支持pgup和pgdn翻页
11.head命令
- 英文原意:output the first part of files
- 功能描述:显示指定文件的开头内容(默认显示前10行)
- 所在路径:/usr/bin/head
- 命令格式:head [OPTION]… [FILE]…
- 常用选项:
- -n:显示指定文件的前n行(num代表数字)
head -n num a.txt
或
Head -num a.txt
- -n:显示指定文件的前n行(num代表数字)
num填写负数,会将全文除去倒数n行后显示,不要选择负数为n。
12.tail命令
功能:显示文件的最后N行
# 显示文件的最后五行
$ tail -n 5 a.txt
$ tail -5 a.txt
额外功能:监控文件尾部变化
# 执行此命令会进入到窗口不可编辑模式
# 一旦文件尾部添加东西,就会显示。一般用来监控日志的变化。
$ tail-f a.txt
$ tailf a.txt
13.复制粘贴
- 格式:
$ cp -a 源文件 目标位置
$ cp 源文件 目标位置 #复制文件到指定位置
$ cp /root/a.txt/tmp /tmp
$ cp 源文件 目标位置/新文件名 #复制文件到指定位置并重命名
- 选项:
- -r #复制目录时,连同目录内的所有子文件一并复制到目标位置。(递归复制)
- -p 复制时,保留文件的所有权限等属性信息。包括访问时间
- -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或 目录连接的原始文件或目录
- -a:以上三个三合一,使用这个就行。
14.剪切粘贴
格式:
$ mv 源文件 目标位置
$ mv 源文件 目标位置/新文件名
$ mv 当前位置/源文件 /当前位置/新名称 #改名
案例:
$ mv /root/a.txt /tmp #将/root目录内的a.txt文件移动到/tmp目录内