linux文件和目录处理命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件和目录处理命令相关的知识,希望对你有一定的参考价值。
ls-list directory contents
-a:列出当前目录下所有文件和目录,包括隐藏文件(不常用的文件)
-A:列出当前目录下所有文件和目录,包括隐藏文件,但不包括.和..
-d:仅列出当前目录
-f:直接列出目录内容,不进行排序,默认按照文件名排序
-h:以MB,GB显示目录内容,需要与-l配合使用
-i:列出每个文件的inode
-l:以长格式列出目录内容
cd-change directory
~:进入用户 的主目录
-:返回进入本目录之前所在的目录
mkdir - make directories 创建不存在的目录。
常用选项-p 递归创建目录
[[email protected] ~]# ll /data1/
-rw-r--r-- 1 root root 15 5月 5 02:40 1.html
[[email protected] ~]# mkdir -p /data1/cine/var/logs
[[email protected] ~]# ll /data1/cine/var/
drwxr-xr-x 2 root root 4096 5月 24 05:02 logs
[[email protected] ~]# mkdir /data1/
mkdir: 无法创建目录"/data1/": 文件已存在
rmdir - remove empty directories 删除一个空的目录
[[email protected] ~]# rmdir /data1
rmdir: 删除 "/data1" 失败: 目录非空
pwd - print name of current/working directory 查看当前目录或工作目录
touch - change file timestamps 更改文件时间戳(文件存在),若不存在则创建文件
mv - move (rename) files 移动文件或更改文件名称
[[email protected] ~]# mv user.log /data1/ #移动
[[email protected] ~]# ll /data1/
-rw-r--r-- 1 root root 0 5月 10 03:19 user.log
[[email protected] data1]# mv user.log 1.log #更名
[[email protected] data1]# ll
drwxr-xr-x 3 root root 4096 5月 24 05:02 cine
[[email protected] data1]# mv -b /root/users.log ./1.log # 常用选项-b 覆盖前进行备份
mv:是否覆盖"./1.log"? y
[[email protected] data1]# ll
-rw-r--r--. 1 root root 427 11月 26 06:24 1.log
-rw-r--r-- 1 root root 0 5月 10 03:19 1.log~
[[email protected] data1]# mv -f /root/a.log ./1.log # -f 直接覆盖
You have mail in /var/spool/mail/root
[[email protected] data1]# ll
-rw-r--r--. 1 root root 591618 11月 22 2017 1.log
[[email protected] data1]# mv -i 1.html 1.log #-i 交互式询问是否覆盖
mv:是否覆盖"1.log"?
rename - Rename files
rename 源字符串 目标字符串 需要更改的文件
[[email protected] data1]# rename 1 user 1.*
[[email protected] data1]# ll
-rw-r--r-- 1 root root 15 5月 5 02:40 user.html
-rw-r--r--. 1 root root 591618 11月 22 2017 user.log
-rw-r--r-- 1 root root 0 5月 10 03:19 user.log~
rename支持通配符和正则表达式。
basename - strip directory and suffix from filenames显示文件名和目录名
dirname - strip non-directory suffix from file name显示文件或目录路径
[[email protected] ~]# dirname nfs
.
[[email protected] ~]# dirname /etc/init.d/nfs
/etc/init.d
tree - list contents of directories in a tree-like format.以树状结构列出指定目录下的文件和子目录的文件
常用选项-L 数字指定列出目录树的深度
[[email protected] ~]# tree -L 1 /
/
├── bin
├── root
├── sbin
├── tmp
├── usr
├── var
rm - remove files or directories 删除文件或目录
常用选项
-f 忽略不存在的文件,常用的。
-r 常用于删除目录(包括目录中的文件和子目录),非常危险。
[[email protected] var]# rm -f logs #删除一个目录会报错,未加-r
rm: 无法删除"logs": 是一个目录
[[email protected] var]# rm -rf logs #加入-r后删除了目录和目录下的output.log了
[[email protected] var]# ll
总用量 0
[[email protected] var]#
cp - copy files and directories 复制文件和目录
常用选项
-a相当于-pdr
-p连同文件属性一并复制
-d若文件为链接文件,则复制连接文件的属性
-r递归复制,常用于目录
-i交互式询问,当目标文件存在时是否被覆盖
[[email protected] ~]# cp output.log /data1/cine/var #只复制文件
[[email protected] ~]# ll /data1/cine/var/
总用量 4
-rw-r--r-- 1 root root 48 5月 24 16:12 output.log
[[email protected] ~]# mkdir yang #为复制目录做准备
You have mail in /var/spool/mail/root
[[email protected] ~]# touch yang/test.txt
[[email protected] ~]# cp yang /data1/cine/var #复制目录,不加-r
cp: 略过目录"yang"
[[email protected] ~]# ll /data1/cine/var/
总用量 4
-rw-r--r-- 1 root root 48 5月 24 16:12 output.log
[[email protected] ~]# cp -r yang /data1/cine/var/ #辅助目录,加入-r后
You have mail in /var/spool/mail/root
[[email protected] ~]# ll /data1/cine/var/
总用量 8
-rw-r--r-- 1 root root 48 5月 24 16:12 output.log
drwxr-xr-x 2 root root 4096 5月 24 16:14 yang
[[email protected] ~]#
file - determine file type查看文件类型
[[email protected] ~]# file output.log
output.log: UTF-8 Unicode text
[[email protected] ~]# file /etc/init.d/nfs
/etc/init.d/nfs: POSIX shell script text executable
[[email protected] ~]# file /bin/
[[email protected] ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
以上是关于linux文件和目录处理命令的主要内容,如果未能解决你的问题,请参考以下文章
Linux系列教程——Linux常用命令之文件和目录处理命令