linux文件和目录处理命令

  1. ls-list directory contents

    -a:列出当前目录下所有文件和目录,包括隐藏文件(不常用的文件)

    -A:列出当前目录下所有文件和目录,包括隐藏文件,但不包括.和..

    -d:仅列出当前目录

    -f:直接列出目录内容,不进行排序,默认按照文件名排序

    -h:以MB,GB显示目录内容,需要与-l配合使用

    -i:列出每个文件的inode

    -l:以长格式列出目录内容

  2. cd-change directory

    ~:进入用户 的主目录

    -:返回进入本目录之前所在的目录

  3. mkdir - make directories 创建不存在的目录。

    常用选项-p 递归创建目录

    [root@www1 ~]# ll /data1/

    -rw-r--r-- 1 root root 15 5月   5 02:40 1.html

    [root@www1 ~]# mkdir -p /data1/cine/var/logs

    [root@www1 ~]# ll /data1/cine/var/

    drwxr-xr-x 2 root root 4096 5月  24 05:02 logs

    [root@www1 ~]# mkdir /data1/

    mkdir: 无法创建目录"/data1/": 文件已存在

  4. rmdir - remove empty directories 删除一个空的目录

    [root@www1 ~]# rmdir /data1

    rmdir: 删除 "/data1" 失败: 目录非空

  5. pwd - print name of current/working directory 查看当前目录或工作目录

  6. touch - change file timestamps 更改文件时间戳(文件存在),若不存在则创建文件

  7. mv - move (rename) files 移动文件或更改文件名称

    [root@www1 ~]# mv user.log /data1/                   #移动

    [root@www1 ~]# ll  /data1/

    -rw-r--r-- 1 root root    0 5月  10 03:19 user.log

    [root@www1 data1]# mv user.log 1.log                #更名

    [root@www1 data1]# ll

    drwxr-xr-x 3 root root 4096 5月  24 05:02 cine

    [root@www1 data1]# mv -b /root/users.log ./1.log  # 常用选项-b 覆盖前进行备份

    mv:是否覆盖"./1.log"? y

    [root@www1 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~

    [root@www1 data1]# mv -f /root/a.log ./1.log         # -f 直接覆盖

    You have mail in /var/spool/mail/root

    [root@www1 data1]# ll

    -rw-r--r--. 1 root root 591618 11月 22 2017 1.log

    [root@www1 data1]# mv -i  1.html 1.log                 #-i 交互式询问是否覆盖

    mv:是否覆盖"1.log"?

  8. rename - Rename files

    rename 源字符串  目标字符串  需要更改的文件

    [root@www1 data1]# rename 1 user 1.*

    [root@www1 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支持通配符和正则表达式。

  9. basename - strip directory and suffix from filenames显示文件名和目录名

  10. dirname - strip non-directory suffix from file name显示文件或目录路径

    [root@www1 ~]# dirname nfs

    .

    [root@www1 ~]# dirname /etc/init.d/nfs

    /etc/init.d

  11. tree - list contents of directories in a tree-like format.以树状结构列出指定目录下的文件和子目录的文件

    常用选项-L 数字指定列出目录树的深度

    [root@www1 ~]# tree -L 1 /

    /

    ├── bin

    ├── root

    ├── sbin

    ├── tmp

    ├── usr

    ├── var

  12. rm - remove files or directories 删除文件或目录

    常用选项

    -f 忽略不存在的文件,常用的。

    -r 常用于删除目录(包括目录中的文件和子目录),非常危险。

    [root@www1 var]# rm -f logs                #删除一个目录会报错,未加-r

    rm: 无法删除"logs": 是一个目录

    [root@www1 var]# rm -rf logs                #加入-r后删除了目录和目录下的output.log了

    [root@www1 var]# ll

    总用量 0

    [root@www1 var]#

  13. cp - copy files and directories   复制文件和目录

    常用选项

    -a相当于-pdr

    -p连同文件属性一并复制

    -d若文件为链接文件,则复制连接文件的属性

    -r递归复制,常用于目录

    -i交互式询问,当目标文件存在时是否被覆盖

    [root@www1 ~]# cp output.log /data1/cine/var        #只复制文件

    [root@www1 ~]# ll /data1/cine/var/

    总用量 4

    -rw-r--r-- 1 root root 48 5月  24 16:12 output.log

    [root@www1 ~]# mkdir yang                                    #为复制目录做准备

    You have mail in /var/spool/mail/root

    [root@www1 ~]# touch yang/test.txt

    [root@www1 ~]# cp yang /data1/cine/var                #复制目录,不加-r

    cp: 略过目录"yang"

    [root@www1 ~]# ll /data1/cine/var/

    总用量 4

    -rw-r--r-- 1 root root 48 5月  24 16:12 output.log

    [root@www1 ~]# cp -r yang /data1/cine/var/            #辅助目录,加入-r后

    You have mail in /var/spool/mail/root

    [root@www1 ~]# 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

    [root@www1 ~]#

  14. file - determine file type查看文件类型

    [root@www1 ~]# file output.log

    output.log: UTF-8 Unicode text

    [root@www1 ~]# file /etc/init.d/nfs

    /etc/init.d/nfs: POSIX shell script text executable

    [root@www1 ~]# file /bin/

    [root@www1 ~]# 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

猜你喜欢

转载自blog.51cto.com/12107790/2121778
今日推荐