1、chmod命令

  先简单介绍几个常用的命令:

  • ls命令(列出当前目录下的文件及文件夹信息)

-a  //列出当前目录下所有文件,包括以.开头的隐藏文件

-l  //也可缩写为ll,列出当前目录下所有文件的详细信息

如下图所示为ls -l命令即ll命令执行所得结果,我们可以看到显示了c目录的所有信息,那这些信息都代表了什么意思呢?

首先介绍一下红色框圈出的十个字符,第一个字母表示了当前文件的类型:

“-”    //普通文件 

“d”    //目录看,d是dirtectory(目录)的缩写

“l”    //符号链接,符号链接的文件在文件信息的后面会指向另一个文件/目录,那个文件就是该符号链接指向的源文件/目录

“b”    //块设备文件

“c”    //字符设备文件

剩下的九个字符,我们分成3组,每组3个。因为linux是多用户多任务系统,所以一个文件可能被多人使用,所以我们针对不同的用户要有不同的操作权限。这9个字符则是对不同用户的一个权限分配。以(rwxr-xr-x)为例,rwx(Owner即文件拥有者/文件创建者拥有的权限)r-x(Group即文件拥有者所属的组拥有的权限)r-x(Other即其他用户拥有的权限)。其中r,w,x分别表示可读,可写,可执行权限,-则表示该权限未拥有。

如下图表示的权限就是:文件创建者自己可读可写可执行,同组的用户可读可写可执行,其他用户可读可执行不可写。

linux 如何查看是否安装docker_可执行

第二栏即上图中的2,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。

第三栏即上图中的may,表示该文件或目录的拥有者。

第四栏即上图中的may,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。

第五栏即上图中4096,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。  

第六栏上图Feb 28 15:10,表示最后一次修改时间。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。

第七栏即上图中C,表示当前文件的名字。

  • mkdir命令(创建目录)

那我们在进入一个目录时需要哪些权限呢?在目录下执行增删查改(cd,touch,ls,rm,mv)文件动作,又需要哪些权限呢?

我们做一个操作:在普通用户may下,创建一个目录,然后将may的权限都取消,可以看到在没有任何权限的时候我们是无法进去该目录的。

  • chmod 000 目录(对目录修改权限000)
上面有提到不同的用户对同一个文件有不同的权限,其中rwx为一组。我们按照二进制的逻辑来计算,从低位到高位(x到r)若是拥有该权限则分别是

linux 如何查看是否安装docker_文件系统_02

linux 如何查看是否安装docker_文件系统_03

linux 如何查看是否安装docker_linux常见命令_04

即1、2、4。所以当rwx权限全部拥有时就是4+2+1=7,,三组则是777。同理这里的000表示的就是,三组均不拥有rwx权限即该文件的权限为"---------"。

我们可以看到在Test目录没有任何权限的时候,我们是不能进入该目录的,因为我们对该目录没有查看、写入、执行权限。

linux 如何查看是否安装docker_可执行_05

除了上面的对目录修改权限之外,我们还有另一种修改权限的方式,就是chmod u/g/o/a +/-/= 文件名 

其中,u 表示该文件的拥有者,g 表示与该文件拥有者属于同一个群体(group)者,o 表示其他的人,a 表示所有人。 
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。  

我们依次赋给读写执行(r、x、x)权限,发现在只有赋予执行的权限,我们才可以进入该目录

 

linux 如何查看是否安装docker_linux常见命令_06

 此时拥有只执行权限,可以进入目录,但是不能查看(ls)该目录下的子目录及其文件。

linux 如何查看是否安装docker_linux重要目录的作用_07

  在实验之后可发现,在赋予可读可执行的权限下我们可以进入该目录,也可以读取该目录中的内容,但是不能在该目录中创建文件。

linux 如何查看是否安装docker_linux重要目录的作用_08

  在可写可执行的权限下,我们可以在目录中创建文件但是不能ls,在可读可写可执行的情况下我们可以在该目录中创建文件并且可以ls

linux 如何查看是否安装docker_linux重要目录的作用_09

  •   mv命令(移动文件/修改文件名)、

mv [-参数] 源文件/目录 目标文件/目录

-b :若需覆盖文件,则覆盖前先行备份。 

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

-u:若目标文件已经存在,且 source 比较新,才会更新(update)

-t :--target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

在赋予可写可执行权限时,才能去更改(mv)目录名,同时在此权限下才可以删除文件。

linux 如何查看是否安装docker_文件系统_10

linux 如何查看是否安装docker_文件系统_11

但是在Linux的超级用户root下,不会检查权限问题,因为他的等级很高。无论有没有权限,我们都可以cd/touch/ls/rm/mv

linux 如何查看是否安装docker_文件系统_12

2、了解以下重要命令du,df,top,free,pstack,su,sudo(-s,-),adduser,password

  • du命令

(1)命令格式:du[选项] [目录或文件名]

(2)命令功能:评估文件系统的磁盘使用量(常用于评估目录所占容量)

(3)命令参数:

-a  //列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已

-h  //以人们较易阅读的GB、MB、KB等格式显示

-i  //不用硬盘容量,而已inode的数量来显示

-s  //列出总量而已,而不列出每个目录占用容量

-S  //不包括子目录下的总量

-k  //以KB的容量显示各文件系统

-m  //以MB的容量显示各文件系统

  • df命令

(1)命令格式:df[选项] [目录或文件名]

(2)命令功能:显示文件系统的整体磁盘使用量

(3)命令参数:

-a  //列出所有文件系统,包括系统特有的/proc等文件系统

-k  //以KB的容量显示各文件系统

-m  //以MB的容量显示各文件系统

-h  //以人们较易阅读的GB、MB、KB等格式自行显示

-H  //以M=1000K替代M=1024K的进位方式

-T  //连同该分区的文件系统名称(例如ext3)也列出

-i  //不用硬盘容量,而已inode的数量来显示

  • top命令

(1)命令功能:提供实时对系统处理器的状态监视,显示系统中各个进程的资源占用状况

(2)命令参数:

-d  //指定每两次屏幕信息刷新的时间间隔

-p  //通过指定监控进程ID来监控某个进程的状态

  • pstack命令

(1)命令格式:root# pstack PID

(2)命令功能:可显示每个进程的栈跟踪,需要由相应进程的属主或root运行。可以使用pstack来确定进程挂起的位置,此命令允许使用的唯一选项是要检查的进程的PID。

  • su命令

(1)命令格式:su  [-lm] [-c命令]  [用户名]

(2)命令功能:身份切换命令

(3)命令参数:

-   //单纯使用 - 如“su-”,代表使用login-shell的变量文件读取方式登录系统;若不跟用户名,代表切换为root用户

-l   //与- 类似,但后面需要加欲切换的用户账号,也是login-shell方式

-m  //与-p一样,表示使用目前的环境设置,而不读取新用户的配置文件

-c  //仅进行一次命令,所以-c后可跟命令

  • sudo命令   

(1)命令格式:sudo  [-b]  [-u新用户账号]

(2)命令功能:切换身份来进行某项任务(仅有/etc/sudoers内用户才能使用,默认只有root可以使用)

(3)命令参数:

-b  将后续命令让系统自行执行,而不与目前的shell产生影响

-u  后可接欲切换的用户,若无此项则代表切换身份为root

  • adduser命令

(1)命令格式:adduser [必要参数] [选择性参数]用户名

(2)命令功能:指令根据指令行参数给系统添加用户,它的配置信息保存在/etc/adduser.conf文件中

(3)命令参数:

-r|--system  //创建一个系统用户

-q  //只显示警告信息和错误信息,不显示一般信息

--debug  //用于测试

  • passwd命令

(1)命令功能:设置用户密码

(2)命令参数:

--stdin  //可以通过来自前一个管道的数据,作为密码输入(对shell script有帮助)

-l   //是Lock的意思,会将/etc/shadow第二列最前面加上,使密码失效

-u  //与-l相对,是Unlock的意思

-S   //列出密码相关参数,即shadow文件内大部分信息

-n  //后面接天数,shadow的第4字段,多久不可修改密码天数

-x   //后面接天数,shadow的第5字段,多久内必须改动密码

-w   //后面接天数,shadow的第6字段,密码失效前的警告天数

-i   //后接“日期”,shadow的第7字段,密码失效日期

3、Linux根目录下的重要目录的作用

/proc 

存放用户与内核的交互信息,一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口,用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数

/sys 

管理设备文件,是可写的,可以通过它来访问或修改内核的参数。/sys的设计原则是一个属性文件只做一件事情,/sys属性文件一般只有一个值,直接读取或写入。

/SElinux

由Kernel SElinux模块和用户态工具两部分组成,进行程序、文件等权限设置依据的一个内核模块,是一个安全体系结构,主要用来加固操作系统,提高系统的安全性

/bin 

二进制可执行命令,该目录下存放着普通用户的命令,单用户模式下可用,任何用户可用

/usr

最大的目录,存放着应用程序和文件

/lib 

存放着和系统运行相关的库文件(/lib是内核级的,/usr/lib是系统级的)

/local

系统管理员在本地自己安装的软件,有bin,sbin,lib等。

/var 

某些大文件的溢出区,比如日志文件和打印机假脱机文件。

/tmp 

用户和程序的临时目录,重启后自动清空,/tmp给予所有系统用户读写权

/etc 

系统所有的配置文件都在这个目录中

4、学习如何安装gcc/g++、gdb、vim

  • 安装 gcc:yum install gcc
  • 安装g++:yum install gcc-c++
  • 安装gdb:

先切换到root权限。

centos点help在终端下打开火狐网,复制 https://mirrors.aliyun.com/回车到linux命令窗口(在联网的情况下并且手动复制粘贴) 

再输入yum list | grep gdb

  • 安装vim:输入命令 yum -y install vim