rm,环境变量path,cp,mv,文档查看,chmod,chown,umaks

rm 指令

  • rm 能够删除文件和目录
  • 输入rm指令,删除 1.txt 文件,系统询问是否删除,输入 y 就成功删除了
  • tree 能够查看路径分级
  • rm 命令使用 -f 参数,系统就不会询问是否删除,而是直接删除
  • 星号 * 表示通配,在/tmp/aminglinux/2/3 目录下面有 1.txt 和 2.txt,
  • 若是想同时删除2两个文件而不是一个一个删除,可使用通配符 * 表示全部,
  • *.txt 表示目录下全部的 .txt 文件,
  • 若是不写 .txt 直接写 * 那就表示全部文件,不仅是 .txt 文件
  • !tree 表示使用上一个tree命令,
  • 好比说,上一次使用了 tree /tmp/aminglinux,
  • 那么下一次使用 !tree 就等同于上一次的 tree命令
  • ! + tree 或者 touch 等命令,表示使用最近一次使用过的 tree 或者 touch 命令
  • rm 命令没法直接删除目录,须要使用 -r 参数
  • 使用 -r 参数后,系统会询问是否进入目录,是否删除文件,是否删除目录,所有输入 y
  • rm -r /tmp/aminglinux/2/3/ 虽然是删除目录,可是 linux 系统没法直接删除有文件的目录
  • 因此系统会询问是否删除目录内的文件,再询问是否删除目录,只有空目录能够被删除
  • 若是想取消系统询问,直接删除,可使用 -f 参数
  • 如 rm -rf /tmp/aminglinux/2 这样就不会询问直接删除目录
  • 如图,使用 v 参数能够显示系统删除目录的过程
  • 当删除一个不存在的目录时,若是使用了 f 参数,系统将不会提示目录不存在

环境变量

  • which 能够查看一个命令所在的路径,还有它的别名
  • 使用 echo $PATH 能够查看环境变量
  • 图片第二行是环境变量的路径,用符号 : 对路径进行分割
  • 在使用 which rm 的时候,会遍历环境变量里面显示路径的目录
  • 若是 rm 命令的文件存在于环境变量显示路径的目录里面,则会显示rm文件的路径
  • 使用 which 的时候,若是目标文件不存在于环境变量目录里面,就没法找到
  • 环境变量目录是能够修改的,好比增长一个 /tmp/ 目录进入环境变量
  • 使用 PATH=$PATH:/tmp/ 就能够将 /tmp/ 目录添加进入环境变量
  • 下面能够看到最后一个 : 后面多了 /tmp/
  • ls2文件就在 /tmp/ 目录内,原本是找不到的,如今环境变量增长了 /tmp/ 目录就能够找到了
  • 重启以后,环境变量会恢复成默认的路径,新增的/tmp/会消失
  • PATH=$PATH:/tmp/ 并非永久改变环境变量,重启后修改就会消失
  • 若是想修改的环境变量一直生效,能够编辑文件 vi /etc/profile
  • 这个文件每次重启都会从新加载,在这个文件里面写入 PATH=$PATH:/tmp/
  • 那么每次重启加载这个文件时都会执行这条指令,重启后环境变量就会增长这个目录
  • 若是想要恢复默认的路径,不想要/tmp/目录在环境变量里面
  • 如上图,复制原来默认的环境变量的路径,而后直接 PATH = xxx/xxx/(默认路径) 回车
  • 而后再把 etc/profile/ 文件里面添加的 PATH=$PATH:/tmp/ 删除以避免重启改变默认环境变量

cp 命令

  • cp 命令能够复制文件和目录
  • 复制目录的时候,须要使用 -r 参数
  • 上图,将/tmp/aminglinux/ 目录复制并更名为aming1,两个目录内容一致,名称不一致
  • tree !$ ,!表示最近一条指令,$表示最后一个参数
  • tree 以前的一条指令是 cp -r /tmp/aminglinux /tmp/aming1/
  • 这条指令的最后一个参数就是 /tmp/aming1/
  • !$ 组合在一块儿表示最近一条指令的最后一个参数,那就是 /tmp/aming1/
  • 因此 tree !$ == tree /tmp/aming1/
  • cp 指令是一个别名,cp == cp -i , 指令位置在/usr/bin/cp
  • i 参数是安全参数,复制的时候若是有同名文件,系统会询问是否覆盖同名文件
  • 若是不使用-i参数的话,复制的时候系统就不会询问是否覆盖,而是直接覆盖
  • 上图 cp -r /tmp/aminglinux/ /tmp/aming1/
  • 执行命令后系统并无询问是否覆盖文件,由于/tmp/aming1/目录已经存在
  • 因此将 /tmp/aminglinux/ 目录复制为 /tmp/aming1/ 目录时并不会覆盖
  • 而是将 aminglinx/ 目录直接复制到 /tmp/aming1 目录下面
  • 若是再执行一次一样的cp命令,那么系统就会询问是否覆盖文件
  • 由于 /tmp/aming1/ 目录已经存在,因此会将 aminglinux/ 目录复制到/tmp/aming1/下面
  • 由于已经执行过一次该指令,因此/tmp/aming1/下面已经存在aminglinux/目录
  • 因此会询问是否覆盖该目录,第一次执行/tmp/aming1/下面为空,不会询问覆盖
  • 第二次执行/tmp/aming1/下面存在相同目录因此会询问是否覆盖
  • 总结,cp复制目录的时候,若是目标目录已经存在,就会将源目录放到目标目录下面
  • 若是目标目录不存在,那么就会复制一份源目录并将名称改成目标目录名称

mv 命令

  • mv 能够移动文件
  • 上图,使用 mv 命令更改文件名称,将.cfg 改成 .cfg.1
  • 上图,使用 mv 将 tmp 目录下的 1.txt 文件移动到 /root/目录下并更名为 2.txt
  • 上图使用 mv 命令 将 ls2 文件移动到 aming/ 目录下
  • 上图重复执行 mv ls2 aming/ 系统询问是否覆盖
  • 由于 mv 是系统别名,使用which可知 mv 是带 -i 参数的,若是不带-i则系统不会询问是否覆盖,而是直接覆盖
  • 上图 mv aming/ aming2/
  • aming2/ 目录不存在,那么mv命令就会把 aming/ 更名成为 aming2/
  • mv aming2/ aminglinux/
  • aminglinux/ 目录存在,那么mv命令就会把aming2/移动到aminglinux目录下面

文档查看 cat more less head tail

  • cat 能够查看文件内容
  • tac 倒序查看文件内容
  • 使用 -n 参数可让每一行显示行号
  • 使用 more /etc/passwd
  • 会显示该文件一部份内容,上图中的百分号表明显示了96%的内容,使用空格键往下翻页
  • wc -l xxxx 能够查看文件内的行数
  • cat /etc/passwd >> anaconda-ks.cfg.1 是把passwd的内容写入ana文件里面
  • paaawd内容不会覆盖ana文件的内容,而是追加在ana文件内容后面
  • ctrl + b 在使用 more 看文件时能够往前翻页
  • 命令 less 也能够看文件内容,操做与 more 差很少
  • 二者的区别是,less 可使用方向键上下移动内容,more不能使用方向键
  • ctrl + f 能够日后翻页
  • 还有一个区别是,more 看完内容会自动退出,less 看完并不会自动退出
  • 而是停留在上图这样的位置,最后会有一个 END 显示,要使用 q 才能退出来
  • less 还有搜索功能,如上图,使用less查看内容,而后输入 /root 搜索root
  • 在less界面内,输入 / 后面接本身想要的关键字,就能够在全文内容中搜索该关键字
  • 假设全文有3个关键字,搜索功能会从上往下找,先找到最上面的
  • 要显示下面的可使用 n ,按n键就会往下找
  • 按n找到下面的关键字,又想找回上面的,能够用 shift+n 就会往上找
  • 还可使用 ? 搜索关键字,?跟 / 的区别是方向相反
  • 使用/搜索的时候是先定位最上面的关键字
  • 使用?搜索的时候是先定位最下面的关键字
  • 使用 / 搜索时,按 n 往下找关键字,shift + n 往上找关键字
  • 使用 ?搜索时,按 n 是往上找关键字,shift + n 是往下找关键字
  • 使用less查看文件时,若是文件太长,想直接看最后的内容
  • 可使用 shift + g 就能够直接定位到最后一行
  • 想返回第一行,能够按 g 就能够返回第一行
  • head 能够查看文件头十行
  • head /etc/passwd 就能够查看 passwd 文件的头十行
  • tail 能够查看文件最后十行
  • tail /etc/passwd 能够查看 passwd 文件的最后十行
  • head 和 tail 均可以设置查看的行数
  • 如上图,使用 -n 参数,后面是行数 2 这样就能够看头两行和最后两行
  • 看动态文件时,就是不断被写入,新增内容的文件,好比日志
  • 可使用 tail -f xxx.txt 来查看文件
  • 由于文件在不断被写入新内容,-f参数能够查看不断新增的内容
  • 最后十行内容变化了,-f参数能够显示不断变化的最后十行

文件目录权限 chmod

  • 文件权限有三种 r(可读) w(可写) x(可执行)
  • 每一个文件权限有9位,如上图选中处
  • 前三位权限是文件全部者权限,中间三位是文件所属组权限,最后三位是其它用户可操做权限
  • 如上图,前三位 rwx 表示文件全部者对于文件的权限是 可读 可写 可执行的
  • 中间三位是 r-x 表示文件所属组对于文件的权限是 可读 可执行,不可写
  • 最后三位也是 r-x 表示其它用户对于文件的权限是 可读 可执行,不可写
  • 权限也能够用数字表示,r=4 w=2 x=1 rwx=7 rw=6 --x=1
  • rw-r--r-- = 644 , rw-r-xr-x = 655
  • chmod 能够修改文件权限
  • 如图所示,把tmp目录文件的权限修改成 700 = rwx------
  • 如图所示,文件权限后面有一个点 .
  • 这表示该文件受制于selinux , 永久关闭selinux并重启后就会消失
  • chmod 修改权限并不会把目标对象下面的子目录子文件的权限也修改
  • 好比,tmp 目录下面有 tmp2,使用chmod修改tmp的权限
  • tmp权限被修改后,tmp2 的权限是不变的,并不会由于tmp权限被修改而改变
  • 如上图,使用 chmod -R 770 aming2 修改了 aming2 的权限
  • aming2 下面的文件 1.txt 的权限也被修改,变成跟aming2的权限如出一辙
  • 这就是 -R 参数的做用,使用-R 能够把目标对象下面的子目录子文件的权限一块儿修改
  • 除了用数字修改权限,还能够用字母修改,如上图
  • chmod u=rwx, g=r,o=rx aming2
  • u表明user,g表明group,o表明other,表明三种权限类别
  • o=rx 不能写成 o=r-x,要什么权限,就直接写一块儿,如 o=r o=rwx o=rx o=wx等
  • chmod a+x aming2 ,a 表明 all ,就是所有三种权限都加上x权限
  • 也就是说,u g o 三个权限类别所有加上 x 权限
  • chmod a-x aming2 就表示aming2三个权限类型所有取消x权限
  • 还有 chmod u+x 或者 g+x 或者 o+x 就表示相应类别的权限添加x权限

更改全部者和所属组 chown

  • chown 能够更改全部者跟所属组
  • chown aming /tmp/yum.log 该命令将yum.log的全部者更改为了 aming
  • chgrp user1 /tmp/yum.log 该命令将 yum.log的所属组更改为了 user1
  • chown user1:aming /tmp/yum.log 该命令将yum.log的全部者改为了 user1,所属组改为了aming
  • 若是想使用chown 命令只更改所属组,而不是两个一块儿改
  • 可使用 chown :root /tmp/yum.log 符号 :后面接所属组名称
  • 这样就可使用chown 把 yum.log 文件的所属组更改
  • 上图 -R 参数可使被修改目录下面的子文件和子目录同时被修改
  • 好比 chown -R user1:aming /tmp/aming/
  • 在修改了aming目录的同时,该目录下面的全部子文件子目录都会被改为同样的全部者和所属组

umask

  • 经过umask肯定建立文件和目录时的默认权限
  • 使用umask命令,root用户默认umask是0022
  • 如上图,使用 umask 002 修改默认umask, 能够写成0002,也能够简写掉前面一个0写成002
  • 目录必须有x权限,否则目录没法浏览,文件不必定有x权限
  • 因此计算建立文件和目录的默认权限的时候,目录用777-umask,而文件用666-umask
  • 计算默认权限时,不能使用数字,要用字母权限计算
  • 如图所示,若是 umask=0003,计算时要还原字母权限计算
  • 建立文件时默认权限计算方法:666(rw-rw-rw-) - (-------wx) = rw-rw--w- =664
  • 上面 (rw-)-(-wx)= 4,(r)-(-)= r,(w)-(w)= -,(-)-(x)= -
  • 符号 - 不管减什么都等于 - ,因此 (-) - (x) = -
  • 同号相减也等于 - ,w-w= -,rwx 减 - 都等于自己,因此 (r)-(-)=r
  • 建立目录是默认权限计算方法:777(rwxrwxrwx) - (-------wx) = rwxrwxr-- =774
相关文章
相关标签/搜索