转至:http://www.178linux.com/87615
Linux文件管理
- Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cd
cd命令用来切换工作目录至dirname。 其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录)。另外,~也表示为home directory的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录。
语法:cd(选项)(参数)
实例:cd:切换回家目录
cd ~:切换回自己的家目录
cd ~USERNAME:切换至指定用户的家目录
cd -:在上一次所在目录与当前目录之间来回切换
pwd
pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。
实例:[root@localhost ~]# pwd
/root
mkdir
mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
语法:mkdir(选项)(参数)
选项:-m<目标属性>或–mode<目标属性>建立目录的同时设置目录的权限;
-p或–parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
–version 显示版本信息。
实例:在当前目录中建立bin和bin下的os_1目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问
mkdir -p-m 750 bin/os_1
rmdir
rmdir命令用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。利用rmdir命令可以从一个目录中删除一个或多个空的子目录。该命令从一个目录中删除一个或多个子目录,其中dirname佬表示目录名。如果dirname中没有指定路径,则删除当前目录下由dirname指定的目录;如dirname中包含路径,则删除指定位置的目录。删除目录时,必须具有对其父目录的写权限。
选项:-p或–parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
-v或-verboes:显示命令的详细执行过程
实例: 删除子目录os_1和其父目录bin
rmdir -p bin/os_1
ls
ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
选项:-a:全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d:仅列出目录本身,而不是列出目录内的文件数据(常用)
-F:根据文件、目录等信息基于附加数据结构
-h:将文件容量以人类较易读懂的方式列出来
-l:列出长数据串,包含文件的属性与权限等数据(常用)
-r:将排序结果防线输出
实例:显示当前目录下包括影藏文件在内的所有文件列表
[root@localhost ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc install.log .mysql_history satools .tcshrc .vimrc
.. .bash_history .bash_profile .cshrc install.log.syslog .rnd .ssh .viminfo
列出文件和文件夹的详细信息
[root@localhost /]# ls –l
total 254 drwxr-xr-x 2 root root 4096 Jun 12 04:03 bin
drwxr-xr-x 4 root root 1024 Jun 15 14:45 boot
drwxr-xr-x 6 root root 4096 Jun 12 10:26 data
drwxr-xr-x 10 root root 3520 Sep 26 15:38 dev
drwxr-xr-x 75 root root 4096 Oct 16 04:02 etc
drwxr-xr-x 4 root root 4096 Jun 12 10:26 home
drwxr-xr-x 14 root root 12288 Jun 16 04:02 lib
cp
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
选项:-d:若源文件为链接文件的属性,则复制链接文件属性而非文件本身
-f :若目标文件已存在且无法开启,则删除后再尝试一次
-i:若目标文件已经存在时,在覆盖时会先询问操作的进行
-l:进行硬链接的链接文件创建,而非复制文件本身
-r:递归持续复制,用于目录的复制行为
实例:将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中
cp -r /usr/men /usr/zh
将文件file复制到目录/usr/men/tmp下,并改名为file1
cp file /usr/men/tmp/file1
rm
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
选项:-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
–preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
实例:交互式删除当前目录下的文件test和example
rm -i test example
Remove test ?n(不删除文件test)
Remove example ?y(删除文件example)
mv
mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
选项:-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。
实例:将文件ex3改名为new1
mv ex3 new1
- bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示
事先创建一个1目录,输入ls指令显示1下的文件
返回0值,表明指令成功。
输入ls指令显示并不存在的3下的文件
没有找到3文件或目录,输入echo $?返回2,表明指令失败
- 请使用命令展开功能来完成以下练习
- 创建/tem目录下的:a_c,a_d,b_c,b_d
- 创建/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
(1)
(2)
- 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息
输入stat命令查询文件元信息
其中:File:文件名
Size:大小 Blocks:块 IO Block:IO块 文件类型
Device:设备
Access:权限
Context:环境
Access:最近访问时间(A time)
Modify:最近更改时间(M time)
Change:最近改动时间(C time)
时间戳通过touch命令改变。
touch – change file timestamps
实例:touch /root/anaconda-ks.cfg
选项:-c:指定文件路径不存在是不予以创建
-a:仅修改access time
-m:仅修改modify time
-t:STAMP