Linux教程之文件管理(目录结构、创建、查看、删除、移动)

gnulinux 2017-06-28

在Linux系统中一切都是文件。/ 在Linux中为根目录,是一切文件的根目录。本文将通过Linux系统的目录结构和与Linux文件操作有关的相关命令(touch、mkdir、cp、mv、mv、less , more, head ,tail, rmdir)来说明Linux的文件管理。

一、  Linux系统目录结构及路径。

1. linux系统目录结构

用ls  / 查看目录结构 

/  /home  /root  /dev  /usr  /etc  /boot  /lib    /var  /tmp  /proc  /bin /sbin

/   通常称为根分区。所有的文件和目录的起始点。只有root用户对此目录拥有写权限。

/etc  配置文件  包含所有应用程序的配置文件,也包含启动、关闭某个特定程序的脚本,

例如: /etc/passwd,  /etc/init.d/network等。

/boot 存放Linux系统启动时需要加载的文件。 Kernel、grub等文件都存放在此。

/var  是一个可增长的目录,包含很经常变的文件。

例如,/var/log(系统日志)、/var/lib (包文件)

/root  管理员所有数据。  root用户的家目录

/tmp  临时文件存储位置  不能存放重要的数据

/usr  usr表示的是unix software source    /usr/src  源代码目录

/bin  命令  此目录包含二进制可执行文件。

/sbin  系统命令 ,此目录中的命令主要供系统管理员使用,以进行系统维护。

/dev  包含设备文件。

在Linux中,一切都被看做文件。终端设备、磁盘等等都被看做文件.   如/dev/sda。

/home  普通用户所有数据存放在这个目录下 

/proc这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

例如:查看咱们的内存信息,CPU信息

cat /proc/meminfo  | grep Mem 

cat /proc/cpuinfo

/lib   存放系统的库文件

 lib***.a是静态库

lib***.so是动态库 .  

静态库在编译时被加载到二进制文件中
动态库在运行时加载到进程的内存空间中

简单的说,这些库就是为了让你的程序能够正常编译运行的。

其作用类似于Windows里的.dll文件。几乎所有的应用程序都须要用到这些共享库。

后续我会专门开辟关于如何用程序创建动态库和静态库的专题。

小结:

  · 本地管理员大多数情况下将额外的软件安装在/usr/local目录下,并符号连接在/usr/local/bin下的主执行程序。

  · 系统的所有设置在/etc目录下。

      · 不要修改根目录(“/”)或/usr目录下的任何内容,

      · 目录最好和LINUX发布时保持一致。

      · 大多数工具和应用程序安装在目录:/bin, /usr/sbin, /sbin,

      · 所有的文件在单一的目录树下。没有所谓的“驱动符”。

2.   绝对路径和相对路径

路径:在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径。

绝对路径:

       在Linux中,绝对路径是从”/”开始的,比如/usr、/etc/passwd。如果一个路径是从/开始的,它一定是绝对路径.

pwd  判断位置

    [root@linuxidc ~]# pwd 注:判断用户当前所处的位置,也就是说他到底位于哪?

     用户当前位于/root;

    [root@linuxidc ~]# cd /etc/sysconfig/network-scripts

    [root@linuxidc network-scripts]# pwd

   /etc/sysconfig/network-scripts

  注:我们以绝对路径方式进入/目录下;

相对路径:
       相对路径是以 . 或 .. 开始的,在路径中要把.和..当做目录来看。

.表示用户当前操作所处的位置

.. 表示上级目录 

举例实验: 实验1

 /root

注:得出目录处于/root目录中;
      [root@linuxidc ~]# cd .

注:我们进入.
      [root@linuxidc ~]# pwd

注:判断当前用户所处的位置;
          /root

注:得出在/root 目录中 ;

 

举例实验: 实验2

确定当前的位置是/root
      [root@linuxidc ~]# cd ..

注:我们切入/root的上级目录
      [root@linuxidc /]# pwd

注:判断当前用户所处的位置。
          /

注:用户当前位于/(根目录)中;

 

二、 创建/查看/复制/删除 文件和文件夹

1.  创建文件和文件夹

touch 

作用:常用来创建空文件

语法: touch 文件名

[root@linuxidc ~]# touch a.txt

 

mkdir

作用:创建目录

语法:mkdir 目录名

[root@linuxidc ~]# mkdir test

[root@linuxidc ~]# mkdir -p test/a/b/c

-p 再创建时连通父目录一起创建

2. 查看文件

cat

作用:查看文件内容

语法:cat 文件名

 

分页查看: more 、less、head、tail

more  +  文件名

例:

more  /etc/passwd

按下回车刷新一行,按下空格刷新一屏

q 退出

less  查看文件名字

q 退出

使用光标键可以向上翻页

 

linux中more与less的区别

more:不支持后退,但几乎不需要加参数,空格键是向下翻页,Enter键是向下翻一行,在不需要后退的情况下比较方便。

less:支持前后翻滚,既可以向上翻页(pageup按键),也可以向下翻页(pagedown按键)。空格键是向下翻页,Enter键是向下翻一行。而且less可以向下查看n行。只要在:的地方输入行数n即可。

head

-n 数字    显示多少行

[root@linuxidc ~]# head -3 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

 

tail

从最后一行开始,从后往前,查看文件,默认显示最后10行

-n  显示多少行

[root@linuxidc ~]# useradd nginx

[root@linuxidc ~]# tail -1 /etc/passwd

nginx:x:1002:1002::/home/nginx:/bin/bash

[root@linuxidc ~]# 

-f  动态显示数据(不关闭)  常用来查看日志

cp

作用:复制文件

语法:cp 源文件  目标文件

-r 包含子目录和文件  。

[root@linuxidc ~]# cp -r /boot/grub2/ /root/

重命名:

mv 

语法:mv 源:文件或目录名    目标:文件或目录名

[root@linuxidc ~]# mv rm.txt mk.txt

 

3 删除文件和文件夹

rm  

作用:删除文件或目录

语法: rm -rf  文件或目录名

-r  递归删除(可以删除目录和目录里面的东西)

-f  强行删除

rmdir 

作用:删除空的文件夹。(这个命令意义不大)。

语法:rmdir  空的文件夹名。

[root@linuxidc ~]# rm x
rm: cannot remove ‘x’: Is a directory
[root@linuxidc ~]# rmdir x
rmdir: failed to remove ‘x’: Directory not empty
[root@linuxidc ~]# rm lvjj.txt
rm: remove regular file ‘lvjj.txt’? n
[root@linuxidc ~]# cd x
[root@linuxidc x]# ls
test.txt
[root@linuxidc x]# cd ..
[root@linuxidc ~]# rm -fr x
[root@linuxidc ~]# ls
anaconda-ks.cfg    Downloads    mimz~    RedHat.txt
 a.out    err.log    mkd    Templates
 lvjj.txt     hello     Music    test.txt
[root@linuxidc ~]#

相关推荐