root ---- root 用户的管理员的属主目录(家目录) home ---- 用来存放普通用户的属主目录(家目录/主文件夹) bin ---- 用来存放常用的命令 sbin ---- 用来存放系统管理的命令 dev ---- 用来存放跟设备相关的文件的 etc ---- 用来存放配置文件,比如启动设置文件等等 lib ---- 库函数 media ---- 自动挂载的目录 mnt ---- 手动挂载的目录 tmp ---- 存放的是临时的文件,建议重要的文件不要放在这里面 usr ---- 类似于 windows 中的program file 文件夹,外部程序默认使用的目录 var ---- 存放的都是日志信息 ------------------------------------ linux 中命令提示符 [当前登录的用户名@主机名 当前所在的目录位置]标识符 # 管理员权限 $ 普通用户权限 ~ :表示当前所在的位置是该用户的属主目录(家目录) init 命令:系统操作切换命令,只能是root 有权限操作,切换页面模式或者是重启关机等操作 init 0 关机,禁止使用(如果远程工具操作了,再次启动需要到虚拟机上执行 init 3 切换到命令模式 init 5 从命令模式切换到界面模式 init 6 重启,谨慎使用 --------------------------------------------------- linux常用命令: su 用户名 只是切换了登录的用户名,位置没有变化 pwd 查看自己所在的目录位置命令 su - 用户名 如果在切换用户的同时,把所在的主目录(家目录)也切换到对应的自己的主目录下 ls -参数 目录名 -a 用于显示所有文件,包括隐藏文件 -A 用于显示所有文件,包括隐藏文件,但是不显示.(当前目录)文件和..(表示上一级目录)文件 -l 显示文件/目录的完整的属性 以下参数要与-l参数一块用,如:-lt ,-lh,-li -t 按照最近修改的时间进行排序,倒序(如果没有数据修改,那就以第一次生成的时间进行排序) -h 按照熟悉的K字节显示文件大小 -i 显示文件的inode 的编号,即文件编号,在linux中,是通过编号来找到文件 -rw-------. 1 root root 2019 8月 29 11:34 anaconda-ks.cfg 详细解释一下: ll 的完整信息共7部分 第一部分:权限:一共10位,分为4个小部分 1)第一位,表示文件或者目录的属性,"-" 表示普通的文件;"d" 表示普通的目录 "c" 表示设备文件,不要操作,"l"表示的是软链接文件(类似于windows 下的快捷方式) 2)2~4 位:表示的文件/目录所有者的权限,r 表示可读,w 表示可写,x 表示可执行, - 没有权限 3)5~7 位:表示的是文件/目录所在的群组的其他用户的权限,r 表示可读,w 表示可写,x 表示可执行, - 没有权限 4)8~10 位:表示剩下的其他用户的权限,r 表示可读,w 表示可写,x 表示可执行, - 没有权限 第二部分:节点数,表示在系统中可以有几个地方可以看到这个文件,1表示一个地方,2表示2个地方... 第三部分:文件/目录的所有者 第四部分:文件/目录所在的群组 第五部分:文件/目录的大小,一般默认都是字节为单位 第六部分:文件/目录的最后修改时间 第七部分;文件/目录的名字 ------------------------------------------------------------------------ cd .. ---- 返回上一级目录(相对路径) cd / ---- 切换到根目录(绝对路径) cd ~ ---- 切换到当前登录用户的属主目录 -------------------------------------------------------------------------------- 编辑文件命令: vi vim(配置文件内容有颜色标识) vi : linux 下文本的编辑命令 语法: vi 文件名(文档名) 一般模式(不可编辑): vi 文件名(如果不存在),直接新建打开;如果存在,就把这个文件直接打开 编辑模式:按字母 i 键,变为编辑模式(insert);编辑完成以后,需要退出编辑模式, 要求必须是在英文输入状态下,按 esc 键,结束编辑,退出编辑模式,返回到了一般模式 退出模式: esc 返回至一般模式以后,按 英文 : 然后进入到了退出命令输入模式,可以对文件进行操作 保存并退出:wq 回车 退出不保存:q! 回车 文件另存为:w 文件名 -- 注意:如果保存在当前目录下,文件名前不需要添加文件的路径 如果要另存到别的目录下,文件名前需要添加绝对路径 vi 编辑特殊文件名的文件 # 文件名中包含单引号,用双引号括起来 #如果文件中有双引号,用单引号括起来 #文件名中既有单引号,又有双引号,编辑的时候,用 双引号 +\转义符 一起来打开文件,转义符的作用让原来的双引号失效,在双引号外侧(且文件名的双引号必须在最后的这种文件名才可以用这种方式使双引号失效) [root@localhost 0830]# vi "te's\"t111sun"\" ----------------------------------------------------------------------------------------- 文件目录的操作命令: mkdir 创建目录,可以同时创建多个平级目录 语法: mkdir [-option] 目录名 可以不加参数,创建单个或者多个平级目录 mkdir AAA -- 创建单个目录 mkdir aaa bbb ccc -- 创建多个平级目录 mkdir AAA/def AAA/bcd -- 同时创建带层级的目录,这个上级目录已存在 如果需要创建同时带有层级关系的目录,当父目录不存在的时候,需要添加参数 -p 实现 -p ---- 当父目录不存在的时候,同时创建父目录 ------------------------------------------------------------------------------------------------- rmdir: remove empty directories 可以同时删除多个空目录 语法: rmdir [-option] 目录名 作用:可以删除一个或者多个空目录,多个空目录的时候,目录名和目录名,之间用空格间隔 rm : remove 移除,linux下的明星级删除命令 语法: rm [-option] 文件名/目录名 rm 删除文件的时候,不需要添加参数,但是如果不是当前目录下的文件,需要添加文件的绝对路径 参数说明: -r -f ---- 强制删除,没有任何提示信息 注意:几个特殊的删除命令 rm -rf a/ ---- 表示将目录 a 彻底删除(包含目录a 本身及它内部的所有的文件及目录) rm -rf b/* ---- 表示将目录b 下所有的文件及目录都删除,但是目录b保留 rm -rf /* ---- 禁止使用,会将根目录下所有的内容全部删除 所以,实际工作中使用 rm -rf 谨慎使用 -------------------------------------------------------------------------------- mv : move 剪切并粘贴 语法: mv [-option] 源文件 目标文件 mv 是linux下最常见的重命名命令 备注:如果目标目录下有同名的文件,建议一定要修改目标文件名或者目录名 --------------------------------------------------------------------------------- cp :copy 复制粘贴 语法: cp [-option] 源文件 目标文件 参数: -r ---- 用来复制目录,将目录中所有的内容(文件及子目录)都复制。 如果复制的对象是文件,这个参数可以不加,但是目录必须添加参数 -r 。 --------------------------------------------------------------------------------------- 小结:文件的新增 vi ,修改 vi 删除 rm 目录的新增 mkdir , 修改名字 mv ,删除 rmdir ,rm 文件或者目录的复制:cp 查看目录使用情况:ls 切换路径:cd 凡是用到路径的命令,都使用绝对路径 ----------------------------------------------------------------------------------- linux 中一切皆文件,对文件权限有严格的划分,如果需要操作某一文件,必须有相对应的权限。 linux 中权限的类型: 一般 读 r ,写 w ,x 可执行 linux 中权限角色的划分:所有者 所在群组的其他人 群组外剩下的其他人 ----------------------------------------------------------------------------------------------------------- chmod : 修改文件/目录的权限,重新设定文件的不同的访问权限 语法: chmod [-option][参数] 文件/目录名 参数1: -R ---- 用于修改目录,将目录中所有的文件及子目录的权限同步修改;如果不加参数,只修改本级别的权限 参数2:将权限改为什么权限? (rwx),即权限值 方法一:权限掩码 umask 法 1)将需要修改的权限信息用二进制表示出来,0表示没有权限,1表示有权限 2)将转换后的二进制数字每3位进行分隔 3)将分隔后数字转换为八进制或者十进制 4)将转换后的八进制或者十进制拼接到命令中 例如:将文件的读写权限设置为: rw-r--r-- 1)rw-r--r-- --》110100100 2)110100100 --> 110 100 100 3) 110 100 100 --> 6 4 4 4)chmod 644 文件名/目录名 [root@localhost test011]# chmod 644 AAA rwxr-xr-x --》 111 101 101 --》7 5 5 [root@localhost test011]# chmod -R 755 AAA ==》衍生,总结,死记硬背:按照每一种权限对应的数字, rwx --> 7 r-x --> 5 r-- --> 4 推导: r+w+x=7 r+0+x=5 r+0+0=4 结果:r = 4,x=1 ,w =2 rwx:r+w+x = 7 rw-: r+w+0 = 6 r-x: r+0+x = 5 ==>如果所有人都有所有权限,可读可写可执行,权限修改为 777 方法二: ugo 赋值法 u ---- 所有者 user g ---- 所在群组的其他人 group o ---- 群组以外的其他人 other a ---- 所有人,all 语法: chmod 角色+/-权限 文件名/目录名 [root@localhost AAA]# chmod u-x,g-w,o-wx aaa [root@localhost AAA]# chmod a-x asdf/ [root@localhost test011]# chmod -R ug-w AAA --------------------------------------------------------------------------- 链接: link 分类:硬链接 软链接 链接的目的:就是为了让文件在系统中有多个地方可以看到。 链接: ln [-option] 源文件 链接文件 参数: -d ---- 创建的是硬链接文件,缺省参数(可以不加参数,默认就是硬链接),即 ln 不加参数创建的就是硬链接 跟链接文件后面是 .hard 还是.soft 没有关系 (linux 中没有后缀名,一般都是手动添加,不是文件类型的区分标识) -s ---- 创建的就是软链接 建议:为了方便记忆,在创建硬链接的时候可以在链接文件后面添加.hard 后缀名,在创建软链接的时候,添加.soft 后缀名,只是方便记忆和 理解,不是文件类型区分的标识符。 链接的增,删,改,查 ---------------------- 硬链接:创建硬链接,文件的节点数会增加+1 小结: 1、查看源文件和硬链接文件,内容是一样的,权限一样的,新增硬链接,节点数 +1;修改了硬链接文件的内容,源文件或者其他链接文件都 同步修改;修改了源文件,所有链接文件也同步修改。 2、原因就是源文件和硬链接文件的inode编号是一样的,指向的就是同一个文件 3、删除其中一个,节点数 -1,对另外的文件内容上没有影响的,删除使用 rm 硬链接新增: ln (-d 可省);修改:vi vim ,查看内容:cat more less等等,查看文件属性:ls ,ll ,删除 rm 软链接:类似于windows下的快捷方式 语法: ln -s 源文件 链接文件.soft [root@localhost test011]# ln -s test1234 T.soft [root@localhost test011]# ln -s /root/anaconda-ks.cfg /home/test011/AA.soft 小结:1、软链接创建以后,对源文件的节点数没有影响,但是软链接文件的大小发生变化,变小了好多。 2、正常的软链接颜色是浅蓝色,箭头指向就是源文件;但是如果源文件丢失或者找不到,就变成了红色,表示源文件损坏 特殊:如果在创建软连接的时候,链接文件和源文件不在同一个目录,必须给源文件和链接文件都添加绝对路径,不然链接 文件会变红,因为箭头指向找不到源文件。 3、链接文件和源文件的内容都是同步一样的,同步更新,但是inode不一样,是独立的。 4、如果把软链接文件删除,对源文件和它的硬链接没有影响 如果把硬链接文件删除,对源文件和它的软链接文件内容没有影响,节点数-1 如果把源文件删除,对它的硬链接没有影响,就是节点数-1,但是源文件对应的软链接变成红色 5、软链接文件的权限永远显示的都是所有人具备所有权限,但是实际是按照源文件的权限执行的,所以眼见不一定为实。 软链接新增: ln -s;修改:vi vim ,查看内容:cat more less等等,查看文件属性:ls ,ll ,删除 rm