文件目录管理

内容摘要

  • 系统目录结构
  • 命令ls的使用
  • 文件类型
  •  命令alias使用
  • 相对、绝对路径
  • 命令cd的使用
  • 目录和文件的创建及删除 mkdir rmdir touch
  • 命令rm的使用
  • 环境变量PATH
  • 命令cp的使用
  • 命令mv的使用
  • 查看文档cat_more_less_head_tail
  • 文件或目录权限 chmod
  • 更改目录或文件的所有者和所属组chown

二、根目录的定义

  • bin&sbin:  下分别放置普通用户及root用户的命令(root用户可使用两个目录), s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • boot:    该目录下存放的是启动linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • dev:    dev时Device的缩写。该目录下存放的时linux的外部设备。在linux中,访问设备的方式和访问文件的方式是相同的。
  • etc :   系统配置文件目录(例如网卡配置文件:ls /etc/sysconfig/network-scriptes/ifcfg-ens33)
  • home:  用户家目录。在linux中, 每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • lib&lib64:  这两个目录下存放的是系统最基本的动态链接共享库,其作用类似于windows里的DLL文件,几乎所有的应用程序到需要用到。(ldd /bin/ls  可用来查看相关命令调用的库文件)
  • media:  系统会自动识别一些设备,如U盘,光驱等,当识别后,linxu会把识别的目录挂载到该目录下。
  • mnt:   系统提供该目录是为了让用户临时挂载别的文件系统。我们可以将光驱挂载到/mnt/上,然后进入该目录查看光驱的内容。
  • opt:  这是给主机额外安装软件所设置的目录,默认为空。比如,你要安装一个Oracle数据库,可以放置到该目录下。
  • proc: 该目录是一个虚拟目录,是系统内存的映射,可以直接访问它来获取系统信息。该目录的内容在内存里,我们可以直接修改里面的某些文件。比如可以通过下面的命令来屏蔽主机的Ping命令,使其他人无法ping你的机器。在日常工作中,你会经常用到类似的用法:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • root:  该目录是系统管理员的家目录
  • run:   这个目录其实和var/run是同一个目录,这里面存放的时一些服务的pid。一个服务启动完后,是有一个pid文件的。
  • srv:    该目录存放的时一些服务启动之后需要提取的数据。
  • sys:    该目录存放的是与硬件驱动程序相关的信息
  • tmp:   该目论存放着系统的临时文件。
  • usr :   这是一个非常重要的目录,类似于windows下的Program Files目录,用户的很多应用程序和文件都存放在该目录下。
  • var:    该目录存放的就是不断扩充且经常修改的目录,包括各种日子文件或者pid文件。

三、命令ls的使用

使用ls可以查看目录的内容,确定各种重要文件和目录的属性。

  •  ls -l 查看文件的详细信息

文件目录管理_第1张图片

  •  ls -i  可以查询文件的inode号。

文件目录管理_第2张图片

  •  ls -lh  更详细的显示文件信息(文件的大小单位)
  •  ls -la  显示目录下所以文件
  •  ls -lta  时间顺序显示(越早的显示在越下面)
  •  ls -d    只显示目录本身

      备注:

  •  inode(表示文件的身份,相同inode的文件意味着是同一个文件)
  •  ll = ls (可以使用alias查看相关的设置)

文件目录管理_第3张图片

  • 通过which(查询一个命令的路径)  可以查看命令的定义 ,例:which ll  可以查看ll的路径和定义

四、文件类型

相关文件类型,可通过 ls -l 查看:

  • 文件权限和类型的查看

文件目录管理_第4张图片

  • 第一列表示文件的权限。
  • 第一列第一位表示文件的类型。

  • 首位定义
  1.  d   目录(带颜色的文件,无法使用cat查看。)
  2.  表示普通文件包括文本文档(可通过cat 查看)
  3.  c 字符串设备(鼠标、键盘等一般为黄色文件)
  4.  b 块设备(光盘等一般为黄色文件)
  5.  s  表示该文件为套接字文件(socket,一般为粉色),用于进程之间的通讯。
  6.  l  软链接文件

  • 在Linux中,文件的颜色都是有含义的。其中, Linux中文件名颜色不同,代表文件类型不一样。如下所示:

  1.    浅蓝色:表示链接文件;
  2.    灰色:表示其他文件;
  3.    绿色:表示可执行文件;
  4.    红色:表示压缩文件;
  5.    蓝色:表示目录;
  6.    红色闪烁:表示链接的文件有问题了;
  7.    黄色:表示设备文件,包括block,char,fifo。
  8.    用"dircolors -p"命令可以看到缺省的颜色设置,包括各种颜色和“粗体”,下划线,闪烁等的定义。

五、命令alias使用

  • alias可以查询文件的别名,也可以用于设定别名。
  • 在用户家目录下的 .bashrc和bash_profile保存只对当前用户的alias别名。其余的在 /etc/profile.d 中保存,针对所有用户。
  • alias aming=“ls -lha”   设定aming=ls -lha

文件目录管理_第5张图片

  • 取消alias设定的别名,可以使用 unalias aming(aming为之前设定的别名)

六、相对、绝对路径

  • 从跟开始的路径都是绝对路径。
  • 相对路径是相对于当前所处位置的路径。
  • 命令pwd  查询当前的位置

七、命令cd的使用

  • 命令cd的定义:移动到指定目录位置  例:  cd /etc/sysconfig/network-scripts/   进入network-scripts目录下
  • 命令cd -   回到上一次所在的目录
  • 命令cdcd~(无后缀) 回到用户的家目录
  • 命令cd ..     返回上一级目录

八、mkdir rmdir touch 目录和文件的创建及删除

命令mkdir 的使用:

  • 命令mkdir是 make directory的缩写,用于创建目录。例:mkdir /tmp/aminglinux/  在tmp下创建aminglinux目录
  • 命令mkdir -p  可以创建一串目录
  • 命令mkdir -pv   v为可视化选项,可以显示具体的创建过程

例:

 

 

命令rmdir的使用:

  • 命令rmdir 是 remove directory的缩写,用于删除目录(无法删除文件)
  • 命令rmdir -p  可以用来删除一串目录但必须是非空目录(容易混淆误删除所以一般不使用。)
  • 命令touch 可以用来创建文件

九、命令rm的使用

命令rm  是remove 的意思 可用于删除文件和非空目录

  • 命令rm -f    (-f =强制删除文件)。
  • 命令rm -r     (删除非空目录)。
  • 符号*   表示全部文件的意思,*.txt 即表示全部TXT文件。
  • 命令history   显示命令使用历史。
  • 在命令前使用可以使用该命令最近一次记录的命令格式。

      例: rm -rfv /tmp/aminglinux/1/2/3/  目录3下有文件1.txt。

      解析:r为删除非空目录,f强制删除文件,v为可视化删除情况。

      结果:强制删除目录3及它下面的所有文件,并显示删除详情。

      备注:-f 命令在删除不存在的目录时,并不会提示错误。

      图解:

十、环境变量PATH

环境变量PATH可以在使用命令时,不需要使用绝对路径:

  • 命令which,它可以用来查看一个命令的绝对路径。如图:

  • 命令echo $PATH  可以查看环境变量目录。

  • 命令PATH=$PATH:/目录/  临时添加环境变量目录,使该目录下命令可以直接使用不需要绝对路径。
  • 命令vi /etc/profile (profile环境变量配置文件)下添加PATH=$PATH:/目录/  可以使变量文件永久生效。

例:使用 cp(复制)命令将ls命令从/usr/bin/ls复制到/tmp/ls2后,可以用绝对路径/tmp/ls2代替ls命令。使用PATH=$PATH:/tmp/ 后ls2命令可以直接使用(关机后重置)。使用命令vi /etc/profile,在文件最后加入PATH=$PATH:/tmp/ 可以使它永久生效。

十一、命令cp的使用

cp 就是copy复制的意思

  • cp 可以复制文件
  • cp -r  复制目录
  • 使用绝对路径/usr/bin/cp时不会询问是否覆盖
  • 复制文件时,当目标文件以及存在时会提示覆盖。复制目录时,当目标目录以经存在时会将复制的目录放置到目标目录下。

十二、命令mv的使用

mv就是move移动的命令

  • 移动文件时可以更改文件名称。如图:

  • 目标目录和文件不存在时,等于更改源文件的名字。
  • 当目标目录存在时,会将源目录或文件放置到目标目录下面去。

十三、查看文档cat_more_less_head_tail

命令cat用于查看一个文件的内容并将其显示在屏幕上:

  •  tac 可以倒叙查看文档。
  •  cat -A 显示所有的字符。
  •  cat -n  查看文件时,把行号也显示当屏幕上。如图:
  • 文件目录管理_第6张图片
  •  cat 文件1 >> 文件2   (将文件1的内容追加到文件2)。
  • 命令more也用于查看一个文件的内容,后面直接跟文件名。当文件内容太多,一屏不能全部显示时,用命令cat肯定是看不了前面的内容,这时可以用more命令。当看完一屏时,按空格键可以继续看下一屏,看完所有内容后就会退出,按ctrl+B可以向上翻屏,按ctrl+F可以向下翻屏(同空格),如果你想提前退出,按q即可。
  • 命令wc -l 可以查询一个文档的行数。如图:

命令lessmore类似的一个命令,但是less的功能更加吩咐。

  • 按空格向下翻页,ctrl+b往上显示也可以使用方向键移动方向。
  • 使用Q键可以退出。
  • j可以向下移动
  • 符号/可以由文件从上向下查询相应的字符串,使用N向下查询,shift+N向上查询。
  • 符号可以从文件由下往上查询相应的字符串。
  • shift+G定位到行首,gg定位末行。

命令head,显示文件的前10行

  • 命令head查看文件前10行。
  • 命令head -n 可以查看文件头部的指定行数。-n选项后有无空格均可以。另外也可以直接省略n,在-后面直接跟数字。

命令tail显示文件的最后10行

  • 命令tail查看文件末10行。
  • 命令tail -f 可以查看动态文档(查看日志等动态文件时可以使用)
  • 命令tail -n 可以查看文件末尾的指定行数。-n选项后有无空格均可以。另外也可以直接省略n,在-后面直接跟数字。

十四、文件或目录权限 chmod

首位-为文件类别,后9为分成3段,前三位是所有者的权限,中间三位是所属组的权限,后三位是其他非本组用户权限。

  • 其中r表示可读,数字表示为4
  • 其中w表示可写,数字表示为2
  • 其中x表示可执行,数字表示为1
  • 其中-表示无权限。
  • 末尾.表示受制于selinux

chmod的使用

  • 命令chmod使用时只会更改目标目录的权限,并不会影响目标目录下文件的权限。
  • 命令chmod -R  可以批量更改目录及目录下文件的权限。
  • 命令chmod u=rwx,g=rwx,o=rwx   更改权限,U所有者,G用户组,O其他用户。
  • 命令chmod a-x   表示所有用户取消X(执行)权限,也可以使用+添加权限。(u,g,o也能使用该命令更改权限)。
  • 举例:

十五、更改目录或文件的所有者和所属组chown

命令chown的使用(change owner 更改所有者的意思)

  • 命令cat /etc/passwd 可以查看系统用户(前面为系统自带的,后面为创建的)
  • 命令chown+所有者+目标目录或文件,可以更改目标的所有者。

  • chown后使用分割所有者和所属组,可以同时更改目标目录的用户组和所有者。:前不添加所有者,则只更改所属组。

  • 命令chown -R  可以批量改更改目标目录和目录下的文件。
  • 命令chgrp 可以更改目标的所属组。

十六、umask值

umask值的定义:umask的后三位数值是用来确定创建的目录和文件的默认权限的数值。

  • 使用umask可以查看默认的umask值,umask后跟上3为权限值,可以更改默认的umask值。例:umask 003  即表示umask更改为0003
  • 目录默认权限为777,文件为666。当umask值为003时,例
  • 使用文件或目录的9位权限减去umask值,就是目录和文件创建时的默认权限值(umask值位0即表示三位数权限为---umask值位3即表示三位数权限为-wx。)

十五、市面上流行的操作系统:

文件目录管理_第7张图片

  • 普及率非常高的安卓,安卓就是基于linux开发的手机操作系统。
  • 安卓手机上connectbot:可以远程连接Linux。
  • Unix因为收费的原因最终衍生出了Linux.
  • 可以查看linux发行版的历史进程:https://commons.wikimedia.org/wiki/File:Linux_Distribution_Timeline.svg
  • liunx的内核网站:www.kernel.org

十六、系统版本相关的命令

  • 查看linux内核版本的命令:uname -r
  • 查看系统的位数(更详细的显示系统信息):uname -a
  • 查看当前CentOS的具体版本:cat /etc/redhat-release
  • 此图显示的时。32为操作系统的CentOS5.

我们的操作系统的内核可以从LINUX官网下载内核文件进行替换。

  • CentOS的官网:www.centos.org
  • CentOS版本对比:wiki.centos.org/Download
  • CentOS7.5 1804   使用yum update 可以升级系统到最新版本。

十七、几个扩展的问题

  • Unix和Linux之间有什么关系?

Linux时一种类Unix系统,可以说Linux时Unix系统衍生过来的。

  • BSD是什么?我们通常说的FreeBSD、NETBSD和BSD又有什么关系呢?

BSD是一个重要的Unix分支,在1977至1995年间由加州大学伯克利分校开发和发布的。FreeBSD和NETBSD到时BSD的一个衍生版。

  • GNU和GPL两个概念搞明白,请用最简短的话描述一下。

GNU是Richard Stallman 在1983年发起的一项自由软件运动,目标是为了创建一套安全自由的操作系统,它要求我们可以自由使用,自由更改,自由发布软件,GPL是用来规定如何自由的协议。

  • 虚拟机介绍

vmware:收费虚拟化软件

virtualbox:纯开源的虚拟化软件

十八、配置网络

  • 在配置网络过程中遇到问题时,还以通过将windows中services.mcs里的VMware服务全部启动,尝试解决:
  • 文件目录管理_第8张图片

  • 在虚拟中,虚拟网卡设置中可以查看网络详情。如网关,IP段等。如图:

文件目录管理_第9张图片

  • vi /etc/mtab  可以添加自定义登录系统后的文字,符号等内容。

十九、centos7修改grub密码

entos7和centos6修改grub密码的步骤有所不同。

  • 先在系统里生成加密的密码:
  • 使用命令grub2-mkpasswd-pbkdf2 
  • 设置密码:Enter password: 
  • 再次设置密码:Reenter password: 
  • 生成一下grub的密码字符串,PBKDF2 hash of your password is

grub.pbkdf2.sha512.10000.1367F52B54CF08B325A8AB6185DC12E58AAB5EA32FBCF9FDD694E0884F4AF38FED468A8B388140870F6740E8963AF2853EDDA86AF9591D27125252B006AF9A2D.F8DDC38757049DA9B403E0D56B388C1533755888B93EAC6C98DA9EC42E39D4D7C34EE4ABC6FCA9C5236E6CAC0955AC1D8F24265599761672FE9F3939D52D5671

  • 然后找到grub配置文件 cd  /boot/grub2/
  • 最好是备份一下:cp  grub.cfg  grub.cfg.bak 
  • 编辑:vim  grub.cfg 
  • 在## BEGIN /etc/grub.d/00_header ###下面写入

set superusers="root"

export superusers

password_pbkdf2 root grub.pbkdf2.sha512.10000.1367F52B54CF08B325A8AB6185DC12E58AAB5EA32FBCF9FDD694E0884F4AF38FED468A8B388140870F6740E8963AF2853EDDA86AF9591D27125252B006AF9A2D.F8DDC38757049DA9B403E0D56B388C1533755888B93EAC6C98DA9EC42E39D4D7C34EE4ABC6FCA9C5236E6CAC0955AC1D8F24265599761672FE9F3939D52D5671

二十、扩展知识

  • 批量安装CentOS操作系统:

https://www.cnblogs.com/clsn/p/7839965.html

http://blog.51cto.com/13055758/2086322

你可能感兴趣的:(笔记)