您的位置:首页 > 运维架构 > Linux

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示(待补全)

2016-12-11 21:53 741 查看
目录管理类命令:

cd,, ls,mkdir, rmdir, tree

cd
cd命令用来切换工作目录至dirname。其中dirName表示法可为绝对路径或相对路径。
命令格式:cd [目录名]
命令选项:
-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
- 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。
常用格式:
cd 进入用户主目录;
cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录;
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. 返回上两级目录; cd !$ 把上个命令的参数作为cd参数使用

示例:

使用cd命令进入/opt/rh 目录
[root@localhost opt]# cd /opt/rh
[root@localhost rh]# pwd
/opt/rh

使用cd ..返回上级目录
[root@localhost rh]# pwd
/opt/rh
[root@localhost rh]# cd ..
[root@localhost opt]# pwd
/opt

使用cd ../..返回上两级目录
[root@localhost rh]# pwd
/opt/rh
[root@localhost rh]# cd ../..
[root@localhost /]# pwd
/

ls
ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。
通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。
命令格式:ls [选项] [目录名]
命令选项:
-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件
-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
-c 配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合
-l:显示 ctime 但根据名称排序否则:根据 ctime 排序
-C 每栏由上至下列出项目
–color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一
-d, –directory 将目录象文件一样显示,而不是显示其下的文件。
-D, –dired 产生适合 Emacs 的 dired 模式使用的结果
-f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效
-g 类似 -l,但不列出所有者
-G, –no-group 不列出任何有关组的信息
-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
–si 类似 -h,但文件大小取 1000 的次方而不是 1024
-H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地
–indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:none (默认),classify (-F),file-type (-p)
-i, –inode 印出每个文件的 inode 号
-I, –ignore=样式 不印出任何符合 shell 万用字符<样式>的项目
-k 即 –block-size=1K,以 k 字节的形式表示文件的大小。
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
-L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息
-m 所有项目以逗号分隔,并填满整行行宽
-o 类似 -l,显示文件的除组信息外的详细信息。
-r, –reverse 依相反次序排列
-R, –recursive 同时列出所有子目录层
-s, –size 以块大小为单位列出所有文件的大小
-S 根据文件大小排序
–sort=WORD 以下是可选用的 WORD 和它们代表的相应选项:
extension -X status -cnone -U time -tsize -S atime -utime -t access -uversion -v use -u-t 以文件修改时间排序-u 配合 -lt:显示访问时间而且依访问时间排序配合 -l:显示访问时间但根据名称排序否则:根据访问时间排序-U 不进行排序;依文件系统原有的次序列出项目-v 根据版本进行排序-w, –width=COLS 自行指定屏幕宽度而不使用目前的数值-x 逐行列出项目而不是逐栏列出-X 根据扩展名排序-1 每行只列出一个文件–help 显示此帮助信息并离开–version 显示版本信息并离开
命令参数:目录:指定要显示列表的目录,也可以是具体的文件。

示例:
显示当前目录下非影藏文件与目录
[root@localhost /]# cd /boot
[root@localhost boot]# ls
config-3.10.0-327.el7.x86_64
grub
grub2
initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img
initramfs-3.10.0-327.el7.x86_64.img
initramfs-3.10.0-327.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-327.el7.x86_64.gz
System.map-3.10.0-327.el7.x86_64
vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5
vmlinuz-3.10.0-327.el7.x86_64

显示当前目录下包括影藏文件在内的所有文件列表
[root@localhost boot]# ls -a
.
..
config-3.10.0-327.el7.x86_64
grub
grub2
initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img
initramfs-3.10.0-327.el7.x86_64.img
initramfs-3.10.0-327.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-327.el7.x86_64.gz
System.map-3.10.0-327.el7.x86_64
vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5
vmlinuz-3.10.0-327.el7.x86_64
.vmlinuz-3.10.0-327.el7.x86_64.hmac

输出长格式列表
[root@localhost boot]# ls -1
config-3.10.0-327.el7.x86_64
grub
grub2
initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img
initramfs-3.10.0-327.el7.x86_64.img
initramfs-3.10.0-327.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-327.el7.x86_64.gz
System.map-3.10.0-327.el7.x86_64
vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5
vmlinuz-3.10.0-327.el7.x86_64

水平输出文件列表
[root@localhost boot]# ls -m
config-3.10.0-327.el7.x86_64, grub, grub2,
initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img,
initramfs-3.10.0-327.el7.x86_64.img,initramfs-3.10.0-327.el7.x86_64kdump.img,
initrd-plymouth.img, symvers-3.10.0-327.el7.x86_64.gz,System.map-3.10.0-327.el7.x86_64,
vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5,vmlinuz-3.10.0-327.el7.x86_64

列出文件和文件夹的详细信息
[root@localhost boot]# ls -l
总用量 94804
-rw-r--r--. 1 root root 126426 11月 202015 config-3.10.0-327.el7.x86_64
drwxr-xr-x. 2 root root 26 12月 1000:21 grub
drwx------. 6 root root 104 12月 1000:24 grub2
-rw-r--r--. 1 root root 45390555 12月 10 00:23initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img
-rw-------. 1 root root 19744484 12月 10 00:24initramfs-3.10.0-327.el7.x86_64.img
-rw-------. 1 root root 17671172 12月 10 00:26initramfs-3.10.0-327.el7.x86_64kdump.img
-rw-r--r--. 1 root root 602601 12月 1000:22 initrd-plymouth.img
-rw-r--r--. 1 root root 252612 11月 202015 symvers-3.10.0-327.el7.x86_64.gz
-rw-------. 1 root root 2963044 11月 202015 System.map-3.10.0-327.el7.x86_64
-rwxr-xr-x. 1 root root 5156528 12月 1000:24 vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5
-rwxr-xr-x. 1 root root 5156528 11月 202015 vmlinuz-3.10.0-327.el7.x86_64
[root@localhost boot]#

按时间列出文件和文件夹详细信息
[root@localhost boot]# ls -lt
总用量 94804
-rw-------. 1 root root 17671172 12月 10 00:26initramfs-3.10.0-327.el7.x86_64kdump.img
drwx------. 6 root root 104 12月 1000:24 grub2
-rw-------. 1 root root 19744484 12月 10 00:24initramfs-3.10.0-327.el7.x86_64.img
-rwxr-xr-x. 1 root root 5156528 12月 1000:24 vmlinuz-0-rescue-80b038a43aa0449c844ba01e218186d5
-rw-r--r--. 1 root root 45390555 12月 10 00:23initramfs-0-rescue-80b038a43aa0449c844ba01e218186d5.img
-rw-r--r--. 1 root root 602601 12月 1000:22 initrd-plymouth.img
drwxr-xr-x. 2 root root 26 12月 1000:21 grub
-rw-r--r--. 1 root root 252612 11月 202015 symvers-3.10.0-327.el7.x86_64.gz
-rwxr-xr-x. 1 root root 5156528 11月 202015 vmlinuz-3.10.0-327.el7.x86_64
-rw-r--r--. 1 root root 126426 11月 202015 config-3.10.0-327.el7.x86_64
-rw-------. 1 root root 2963044 11月 202015 System.map-3.10.0-327.el7.x86_64
[root@localhost boot]#

显示文件夹信息
[root@localhost boot]# ls -ld /root
dr-xr-x---. 14 root root 4096 12月 11 17:14 /root

mkdir
mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。
命令格式:mkdir [选项] 目录...
命令选项:
-Z:设置安全上下文,当使用SELinux时有效;
-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
-p或--parents若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
--version 显示版本信息。
命令参数:目录:指定要创建的目录列表,多个目录之间用空格隔开。
示例:

创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@localhost tmp]# mkdir -v {a,b}_{c,d}
mkdir: 已创建目录 "a_c"
mkdir: 已创建目录 "a_d"
mkdir: 已创建目录 "b_c"
mkdir: 已创建目录 "b_d"
(2)、创建/tmp/mylinux目录下的:
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run

[root@localhost tmp]# mkdir -vpmylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local{bin,sbin},var,lock,lock,log,run}
mkdir: 已创建目录 "mylinux/bin"
mkdir: 已创建目录 "mylinux/boot"
mkdir: 已创建目录 "mylinux/boot/grub"
mkdir: 已创建目录 "mylinux/dev"
mkdir: 已创建目录 "mylinux/etc"
mkdir: 已创建目录 "mylinux/etc/rc.d"
mkdir: 已创建目录 "mylinux/etc/rc.d/init.d"
mkdir: 已创建目录 "mylinux/etc/sysconfig"
mkdir: 已创建目录 "mylinux/etc/sysconfig/network-scripts"
mkdir: 已创建目录 "mylinux/lib"
mkdir: 已创建目录 "mylinux/lib/modules"
mkdir: 已创建目录 "mylinux/lib64"
mkdir: 已创建目录 "mylinux/proc"
mkdir: 已创建目录 "mylinux/sbin"
mkdir: 已创建目录 "mylinux/sys"
mkdir: 已创建目录 "mylinux/tmp"
mkdir: 已创建目录 "mylinux/usr"
mkdir: 已创建目录 "mylinux/usr/localbin"
mkdir: 已创建目录 "mylinux/usr/localsbin"
mkdir: 已创建目录 "mylinux/var"
mkdir: 已创建目录 "mylinux/lock"
mkdir: 已创建目录 "mylinux/log"
mkdir: 已创建目录 "mylinux/run"
[root@localhost tmp]# tree mylinux/
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│ ├── localbin
│ └── localsbin
└── var

23 directories, 0 files

rmdir
rmdir命令用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。注意:子目录被删除之前应该是空目录。就是说,该目录中的所有文件必须用rm命令全部,另外,当前工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。
命令格式:rmdir [选项]... 目录..
命令选项:
-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
--ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
-v或-verboes:显示命令的详细执行过程;
--help:显示命令的帮助信息;
--version:显示命令的版本信息。
命令参数:
目录列表:要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔开。

示例:
删除test2下的子目录test3
[root@localhost tmp]# tree test2/
test2/
└── test3

1 directory, 0 files
[root@localhost tmp]# cd test2
[root@localhost test2]# rmdir test3
[root@localhost test2]# cd ..
[root@localhost tmp]# tree test2
test2

0 directories, 0 files
删除子目录test2和其父目录test1
[root@localhost tmp]# tree test/
test/
└── test1
└── test2

2 directories, 0 files
[root@localhost tmp]# cd test
[root@localhost test]# rmdir -p test1/test2
[root@localhost test]# cd..
[root@localhost tmp]# tree test/
test/

0 directories, 0 files

tree
tree命令以树状图列出目录的内容。
命令格式:
tree[选项]... 目录
命令选项:
-a:显示所有文件和目录;
-A:使用ASNI绘图字符显示树状图而非以ASCII字符组合;
-C:在文件和目录清单加上色彩,便于区分各种类型;
-d:先是目录名称而非内容;
-D:列出文件或目录的更改时间;
-f:在每个文件或目录之前,显示完整的相对路径名称;
-F:在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","@","|"号;
-g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码;
-i:不以阶梯状列出文件和目录名称;
-l:<范本样式> 不显示符号范本样式的文件或目录名称;
-l:如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录;
-n:不在文件和目录清单加上色彩;
-N:直接列出文件和目录名称,包括控制字符;
-p:列出权限标示;
-P:<范本样式> 只显示符合范本样式的文件和目录名称;
-q:用“?”号取代控制字符,列出文件和目录名称;
-s:列出文件和目录大小;
-t:用文件和目录的更改时间排序;
-u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码;
-x:将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该目录予以排除在寻找范围外。

命令参数:
目录:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

示例:
查看mylinux目录下的所有文件

[root@localhost tmp]# tree mylinux/
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│ ├── localbin
│ └── localsbin
└── var

23 directories, 0 files

备注:如果系统中没有安装tree命令,可以通过yum在线安装tree包,
命令:# yum install tree -y

文本文件查看类命令:

cat, tac,more, less, tail,head
cat
命令格式:cat [选项] [文件]...
命令选项:
-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
-A:显示不可打印字符,行尾显示“$”;
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
命令参数:
文件列表:指定要连接的文件列表。

tac (反向列示)
tac 是将cat反写过来,所以他的功能就跟cat相反,cat是由第一行到最后一行连续显示在萤幕上,而tac则是由最后一行到第一行反向在萤幕上显示出来!命令格式:tac [选项] [文件]...
命令选项:
-a或——append:将内容追加到文件的末尾;
-i或——ignore-interrupts:忽略中断信号。
命令参数:
文件列表:指定要保存内容的文件列表。

more
命令格式:more [选项] [文件]...
命令选项:
-<数字>:指定每屏显示的行数;
-d:显示“[pressspace to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
-c:不进行滚屏操作。每次刷新这个屏幕;
-s:将多个空行压缩成一行显示;
-u:禁止下划线;
+<数字>:从指定数字的行开始显示。
命令参数:
文件:指定分页显示内容的文件。

less
less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
命令格式:less [选项] [文件]...
命令选项:
-e:文件内容显示完毕后,自动退出;
-f:强制显示文件;
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
-l:搜索时忽略大小写的差异;
-N:每一行行首显示行号;
-s:将连续多个空行压缩成一行显示;
-S:在单行显示较长的内容,而不换行显示;
-x<数字>:将TAB字符显示为指定个数的空格字符。

命令参数:
文件:指定要分屏显示内容的文件。

tail
用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1048576(1M)。
命令格式:tail[选项] [文件]...
命令选项:
--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用;
-c或——bytes=:输出文件尾部的N(N为整数)个字节内容;
-f或;--follow:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效; -F:与选项“-follow=name”和“--retry"连用时功能相同;
-n或——line=:输出文件的尾部N(N位数字)行内容。
--pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;
-q或——quiet或——silent:当有多个文件参数时,不输出各个文件名;
-s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;
-v或——verbose:当有多个文件参数时,总是输出各个文件名;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。
命令参数:
文件列表:指定要显示尾部内容的文件列表。

head
head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
命令格式:head[选项] [文件]...
命令选项:
-n<数字>:指定显示头部内容的行数;
-c<字符数>:指定显示头部内容的字符数;
-v:总是显示文件名的头信息;
-q:不显示文件名的头信息。

命令参数:
文件列表:指定显示头部内容的文件列表。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 文件管理