Linux命令:文件和目录操作
Linux命令:文件和目录操作
》文件是Linux用来存储信息的基本结构, 它是被命名(称为文件名)的存储在某种介质(如磁盘、光盘、磁带等)上的一组信息的集合。
》Linux系统文件以文件目录的方式来组织和管理系统中的所有文件。所谓文件目录就是将所有文件的说明信息采用树形结构组织起来,即常说的目录。
》整个文件系统有一个“根”(root),然后在根上分“杈”(directory),任何一个分杈上都可以在分杈,杈上也可以长出“叶子”。“根”和“杈”在Linux中被称为是“目录”或者“文件夹”,而“叶子”则是一个个的文件。
》Linux系统的文件系统的最外层就是 / 目录,其下主要目录有:bin、root、sbin、home、boot、etc、mnt、lib、var、usr、dev、proc、sys、run等。
bin dev initrd.img media proc sbin sys var boot etc lib mnt root selinux tmp vmlinuz cdrom home lost+found opt run srv usr |
bin目录:存放所有程序可执行的位置.比如说:echo命令、cat命令、tail命令、dir命令、sed命令等。
root: root用户的根目录。
boot:系统启动时的引导文件。
etc: Linux系统的配置文件信息、设置文件信息(passwd、shadow、group等)。
home:存放普通用户的文件信息。
lib:Linux系统安装时运行时存放的库。
sbit:Linux系统一些需要特别权限的系统命令可执行存放的目录。
mnt:Linux系统的加载点,管理挂上去磁盘、U盘的信息。
opt:Linux系统的一些选项存放的目录。
var: Linux系统一些可变的信息存放的目录,如日志。
usr: Linux系统用户软件安装的默认目录。
文件操作常用命令(1)
》ls命令是英文单词list的简写,其功能是列出目录下的文件和子目录等相关信息。
》ls [option] [file or directory]
ls:列出所有文件
root@ubuntu:/# ls bin dev initrd.img media proc sbin sys var boot etc lib mnt root selinux tmp vmlinuz cdrom home lost+found opt run srv usr |
ls –l :显示详细信息
root@ubuntu:/# ls -l total 88 drwxr-xr-x 2 root root 4096 Feb 6 19:18 bin drwxr-xr-x 3 root root 4096 Feb 6 19:20 boot drwxr-xr-x 2 root root 4096 Feb 6 18:44 cdrom drwxr-xr-x 15 root root 4220 Feb 6 22:29 dev drwxr-xr-x 135 root root 12288 Feb 7 05:59 etc drwxr-xr-x 3 root root 4096 Feb 6 19:17 home lrwxrwxrwx 1 root root 36 Feb 6 19:18 initrd.img -> boot/initrd.img-3.2.0-23-generic-pae drwxr-xr-x 21 root root 4096 Feb 6 19:18 lib drwx------ 2 root root 16384 Feb 6 18:41 lost+found drwxr-xr-x 3 root root 4096 Apr 23 2012 media drwxr-xr-x 3 root root 4096 Feb 6 19:20 mnt drwxr-xr-x 2 root root 4096 Feb 6 11:20 opt dr-xr-xr-x 197 root root 0 Feb 6 22:28 proc drwx------ 4 root root 4096 Feb 7 03:28 root drwxr-xr-x 22 root root 900 Feb 7 01:54 run drwxr-xr-x 2 root root 4096 Feb 6 19:20 sbin drwxr-xr-x 2 root root 4096 Mar 5 2012 selinux drwxr-xr-x 2 root root 4096 Apr 23 2012 srv drwxr-xr-x 13 root root 0 Feb 6 22:28 sys drwxrwxrwt 15 root root 4096 Feb 7 06:25 tmp drwxr-xr-x 10 root root 4096 Apr 23 2012 usr drwxr-xr-x 13 root root 4096 Feb 6 13:02 var lrwxrwxrwx 1 root root 33 Feb 6 19:18 vmlinuz -> boot/vmlinuz-3.2.0-23-generic-pae |
ll:等价于ls –l
root@ubuntu:/# ll total 96 drwxr-xr-x 23 root root 4096 Feb 6 19:18 ./ drwxr-xr-x 23 root root 4096 Feb 6 19:18 ../ drwxr-xr-x 2 root root 4096 Feb 6 19:18 bin/ drwxr-xr-x 3 root root 4096 Feb 6 19:20 boot/ drwxr-xr-x 2 root root 4096 Feb 6 18:44 cdrom/ drwxr-xr-x 15 root root 4220 Feb 6 22:29 dev/ drwxr-xr-x 135 root root 12288 Feb 7 05:59 etc/ drwxr-xr-x 3 root root 4096 Feb 6 19:17 home/ lrwxrwxrwx 1 root root 36 Feb 6 19:18 initrd.img -> boot/initrd.img-3.2.0-23-generic-pae drwxr-xr-x 21 root root 4096 Feb 6 19:18 lib/ drwx------ 2 root root 16384 Feb 6 18:41 lost+found/ drwxr-xr-x 3 root root 4096 Apr 23 2012 media/ drwxr-xr-x 3 root root 4096 Feb 6 19:20 mnt/ drwxr-xr-x 2 root root 4096 Feb 6 11:20 opt/ dr-xr-xr-x 197 root root 0 Feb 6 22:28 proc/ drwx------ 4 root root 4096 Feb 7 03:28 root/ drwxr-xr-x 22 root root 900 Feb 7 01:54 run/ drwxr-xr-x 2 root root 4096 Feb 6 19:20 sbin/ drwxr-xr-x 2 root root 4096 Mar 5 2012 selinux/ drwxr-xr-x 2 root root 4096 Apr 23 2012 srv/ drwxr-xr-x 13 root root 0 Feb 6 22:28 sys/ drwxrwxrwt 15 root root 4096 Feb 7 06:25 tmp/ drwxr-xr-x 10 root root 4096 Apr 23 2012 usr/ drwxr-xr-x 13 root root 4096 Feb 6 13:02 var/ lrwxrwxrwx 1 root root 33 Feb 6 19:18 vmlinuz -> boot/vmlinuz-3.2.0-23-generic-pae |
ls –a: 列出所有文件,包括隐藏文件(.点文件)
root@ubuntu:/# ls -a . boot etc lib mnt root selinux tmp vmlinuz .. cdrom home lost+found opt run srv usr bin dev initrd.img media proc sbin sys var
|
》cp命令可以将给出的文件或目录复制到另一文件或目录中去。
》cp [option] [source] [destination]
》cp –a:使拷贝的文件权限和修改目录日期不发生变化。
root@ubuntu:/# ls /home/weijunqiang/Documents/workspace c java notes ssh root@ubuntu:/# mkdir /home/weijunqiang/Documents/workspace/temp root@ubuntu:/# ls /home/weijunqiang/Documents/workspace c java notes ssh temp root@ubuntu:/# ls /home/weijunqiang/Documents/workspace/c hello.cpp root@ubuntu:/# cp -a /home/weijunqiang/Documents/workspace/c /home/weijunqiang/Documents/workspace/temp root@ubuntu:/# ls /home/weijunqiang/Documents/workspace/temp c root@ubuntu:/# ls /home/weijunqiang/Documents/workspace/temp/c hello.cpp
|
》cp –r:可以拷贝整个目录。
root@ubuntu:/# ls /home/weijunqiang/Documents java-ws notes workspace root@ubuntu:/# mkdir /home/weijunqiang/Documents/cp_temp root@ubuntu:/# ls /home/weijunqiang/Documents cp_temp java-ws notes workspace root@ubuntu:/# cp -r /home/weijunqiang/Documents/workspace /home/weijunqiang/Documents/cp_temp root@ubuntu:/# ls /home/weijunqiang/Documents/cp_temp workspace root@ubuntu:/# ls /home/weijunqiang/Documents/cp_temp/workspace c java notes ssh temp root@ubuntu:/# ls /home/weijunqiang/Documents/cp_temp/workspace/c hello.cpp root@ubuntu:/# cp -r /home/weijunqiang/Documents/workspace/java/ /home/weijunqiang/Documents/cp_temp/ root@ubuntu:/# ls /home/weijunqiang/Documents/cp_temp/ java workspace
|
文件操作常用命令(二)
》mv命令:可用于将文件或目录从一个位置移动到另一个位置。
》mv [option] [source] [destination]
》经常会用mv命令来对文件进行重命名。
》rm命令提供删除文件功能,该命令可以删除目录中的一个或者多个文件或子目录
》rm [option] [filename or directoryName]
》rm命令的-r和-f选项经常被使用
选项 |
意义 |
-f |
忽略不存在的文件,从不给出提示 |
-r |
指示rm将参数中列出的全部目录和子目录均递归地删除 |
-i |
进行交互式删除 |
mv命令-重命名文件夹
root@ubuntu:/# mv /home/weijunqiang/Documents/cp_temp/ /home/weijunqiang/Documents/mv_cp_temp root@ubuntu:/# ls /home/weijunqiang/Documents java-ws mv_cp_temp notes workspace
|
rm命令:删除文件
root@ubuntu:/# rm -r /home/weijunqiang/Documents/rm01/mv_cp_temp/workspace root@ubuntu:/# ls /home/weijunqiang/Documents/rm01/mv_cp_temp/workspace ls: cannot access /home/weijunqiang/Documents/rm01/mv_cp_temp/workspace: No such file or directory root@ubuntu:/# ls /home/weijunqiang/Documents/rm01/mv_cp_temp/ java |
目录操作常用命令(1)
》mkdir命令用于创建目录
》mkdir [option] [directoryName]
选项 |
意义 |
-m |
对新建目录设置存取权限。 |
-p |
可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。 |
-v |
每次创建目录都显示信息 |
root@ubuntu:/home/weijunqiang/Documents# ls java-ws mv_cp_temp notes rm01 workspace #创建多级目录并打印信息 root@ubuntu:/home/weijunqiang/Documents# mkdir -p -v mydirs/dir001/dir0001 mkdir: created directory `mydirs' mkdir: created directory `mydirs/dir001' mkdir: created directory `mydirs/dir001/dir0001'
root@ubuntu:/home/weijunqiang/Documents# ls java-ws mv_cp_temp mydirs notes rm01 workspace root@ubuntu:/home/weijunqiang/Documents# ls mydirs dir001 root@ubuntu:/home/weijunqiang/Documents# ls mydirs/dir001 dir0001 root@ubuntu:/home/weijunqiang/Documents# ll total 32 drwxr-xr-x 8 weijunqiang weijunqiang 4096 Feb 7 07:45 ./ drwxr-xr-x 24 weijunqiang weijunqiang 4096 Feb 7 03:09 ../ drwxrwxr-x 3 weijunqiang weijunqiang 4096 Feb 7 02:40 java-ws/ drwxr-xr-x 4 root root 4096 Feb 7 07:14 mv_cp_temp/ drwxr-xr-x 3 root root 4096 Feb 7 07:45 mydirs/ drwxrwxr-x 2 weijunqiang weijunqiang 4096 Feb 7 03:47 notes/ drwxr-xr-x 3 root root 4096 Feb 7 07:30 rm01/ drwxr-xr-x 7 root root 4096 Feb 7 07:05 workspace/
创建目录分配权限 root@ubuntu:/home/weijunqiang/Documents# mkdir -m 777 mydirs001 root@ubuntu:/home/weijunqiang/Documents# ll total 36 drwxr-xr-x 9 weijunqiang weijunqiang 4096 Feb 7 07:48 ./ drwxr-xr-x 24 weijunqiang weijunqiang 4096 Feb 7 03:09 ../ drwxrwxr-x 3 weijunqiang weijunqiang 4096 Feb 7 02:40 java-ws/ drwxr-xr-x 4 root root 4096 Feb 7 07:14 mv_cp_temp/ drwxr-xr-x 3 root root 4096 Feb 7 07:45 mydirs/ drwxrwxrwx 2 root root 4096 Feb 7 07:48 mydirs001/ drwxrwxr-x 2 weijunqiang weijunqiang 4096 Feb 7 03:47 notes/ drwxr-xr-x 3 root root 4096 Feb 7 07:30 rm01/ drwxr-xr-x 7 root root 4096 Feb 7 07:05 workspace/ |
》rmdir命令可以删除一个或者多个目录,在删除目录时,目录必须为空。
》rmdir [option] [directoryName]
》rmdir –p 递归删除目录
root@ubuntu:/home/weijunqiang/Documents# rmdir mydirs/dir001/dir0001 root@ubuntu:/home/weijunqiang/Documents# ls mydirs/dir001 |
补充:摘自网络
一个命令创建项目的目录结构 参考:http://www.ibm.com/developerworks/cn/aix/library/au-badunixhabits.html 命令: mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}} 输出: [root@localhost test]# mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}} mkdir: 已创建目录 “scf” mkdir: 已创建目录 “scf/lib” mkdir: 已创建目录 “scf/bin” mkdir: 已创建目录 “scf/doc” mkdir: 已创建目录 “scf/doc/info” mkdir: 已创建目录 “scf/doc/product” mkdir: 已创建目录 “scf/logs” mkdir: 已创建目录 “scf/logs/info” mkdir: 已创建目录 “scf/logs/product” mkdir: 已创建目录 “scf/service” mkdir: 已创建目录 “scf/service/deploy” mkdir: 已创建目录 “scf/service/deploy/info” mkdir: 已创建目录 “scf/service/deploy/product” [root@localhost test]# tree scf/ scf/ |-- bin |-- doc | |-- info | `-- product |-- lib |-- logs | |-- info | `-- product `-- service `-- deploy |-- info `-- product 12 directories, 0 files [root@localhost test]#
|
目录操作常用命令(2)
》cd: 目录切换命令
》cd [directoryName]
命令 |
使用说明 |
cd |
返回登录目录 |
cd ~ |
同样是返登录目录 |
cd / |
返回系统根目录 |
cd /root |
返回到根用户或超级用户(在安装时创建的账号)的目录,但必须是根用户才能访问的该目录 |
Cd /home |
返回到home目录,home目录通常是为用户的登录目录的上级目录 |
cd .. |
向上移动一级目录 |
cd - |
返回上次访问的目录 |
root@ubuntu:~# cd / root@ubuntu:/# cd ~ root@ubuntu:~# cd .. root@ubuntu:/# cd - /root root@ubuntu:~# cd /home root@ubuntu:/home# cd - /root root@ubuntu:~# cd / root@ubuntu:/# cd /home/weijunqiang/Documents root@ubuntu:/home/weijunqiang/Documents# cd - / root@ubuntu:/# cd /home/weijunqiang/Documents root@ubuntu:/home/weijunqiang/Documents# cd ~ root@ubuntu:~# cd /home/weijunqiang/Documents root@ubuntu:/home/weijunqiang/Documents# cd .. root@ubuntu:/home/weijunqiang# cd / root@ubuntu:/# cd ~ |