学习Linux系统的第二天

文件内容查看:

  • cat:
  • 作用: 一次性顺序显示文件的所有内容
  • 格式: cat file
  • tac:
  • 作用:一次性倒叙显示文件的所有内容
  • 格式:tac file
  • head:
  • 作用:显示文件开头的若干行内容
  • 格式:head -n file n为要显示的行数
  • tail:
  • 作用:显示文件结尾的若干行内容
  • 格式:tail -n file n为要显示的行数
  • more:
  • 作用:分页显示其他命令执行的结果
  • 格式:其他命令 | more ,如:cat file | more
  • 说明:
  1. 当内容显示一屏时停止
  2. 空格向下翻页(只能向下)
  3. 回车键向下显示一行
  4. q键退出(结束查看)
  • less:
  • 作用:分页显示其他命令执行的结果
  • 格式:其它命令 | less ,如:cat file | less
  • 说明:
  • 与more命令功能相同,多了上下按键上下翻一行
  • more和less的前面可以是很多查询搜索等命令,如:ls、find

文件整体操作

  • touch:
  • 作用:创建普通文件
  • 格式:touch file1 [file2]
  • cp:
  • 作用:拷贝文件
  • 格式:cp 源文件 目标文件
  • rm:
  • 作用:删除文件
  • 格式:rm 文件
  • mv:
  • 作用:移动文件
  • 格式:mv 源文件 目标文件
  • mkdir:
  • 作用:创建目录模式
  • 格式:mkdir dir1 [dir2]
  • rmdir:
  • 作用:删除空的目录
  • 格式:rmdir dir
  • 说明:
  1. 删除文件时会有提示,若不想提示可以添加’-f’ ,列如:rm -f /11(删除/目录下的11 文件,没有系统提示)
  2. 删除或拷贝目录时需要添加参数’-r’,列如:sp -r aa /bb .(将aa文件夹下的bb拷贝到当前目录下)
  • ln:
  • 作用:创建文件链接
  • 格式:ln [-s] 源文件 目标文件
  • 硬链接:不加’-s’选项时,简单理解为一个文件有多个名字
  1. 不占实际空间
  2. 不允许给目录创建
  3. 不能跨文件系统
  • 软连接:添加’-s’选项时,简单理解为一个文件的内容是另一个文件的路劲
  1. 类似于windows的快捷键
  2. 可以对目录创建
  3. 可以跨文件系统

文件搜索定位

  • grep:
  • 作用:General Regular Expression Parser,通过规则表达式分析程序,是一种强大的文本搜索工具,它能使正则表达式搜索文本,并把匹配的行打印出来。
  • 格式:grep [选项] pattern [文件名]
  • 选项:
  • -i : 字母不区分大小写
  • -n :显示行号
  • 说明:
  1. pattern为索要匹配的正则表达式
  2. 要用好grep这个工具,其实就是要写好正则表达式
  • 实列:
grep ftp /etc/password
在/etc/passeword文件下查找包含'ftp'字符的行
grep 'test' d*
显示所有以d开头的文件中包含'test'的行
ls /bin | grep '^m'
通过管道过滤ls /bin输出的内容,只显示以m开头的行
  • find:
    ```
  • 作用:最常见和最常用的查找命令,你可以用它找到任何你想找的文件。
  • 格式:find [目录] [条件] [动作]
  • 目录:所要查找的目录及其所有子目录。默认为当前目录。
  • 条件:所要搜索的文件的特征
  • 动作:对搜索结果进行特定处理
  • 选项:
  • -name:指定文件名,可以通过*模糊匹配
  • -type: 指定文件类型(b/c/d/p/l/f)
  • -size: 指定文件大小,单位可以为K/M/G,+表示大于,-表示小于
  • -user: 指定用户
  • -group:指定组
  • -mtime/atime/ctime: 指定修改/访问/创建时间,单位为天,+表示几天前,-表示几天内。
  • -amin/mmin/cmin: 功能同步,单位为分钟
    说明:
  • 如果你要寻找一个普通文件,使用find会是一个不错的主意。由于find在寻找数据的时候相当耗资源,所以没事情不要使用find。
  • 有更棒的指令可以取代,那就是whereis与which
    -whersis:
  • 作用:只能用于程序名的搜索
  • 格式:whereis 命令
  • 实列:whereis grep
  • 结果:
  • grep:     /bin/grep        /user/share/man/man1/grep.1.gz
  • 名称   二进制文件路径   帮助文档文件路劲
  • which:
  • 作用:在$PATH变量指定的路劲中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个
  • 格式:which 命令
  • PATH:
  • 说明:环境变量,与Windows中(我的电脑>高级系统设置>高级>环境变量>系统变量)的path类似
  • 打印:echo $PATH
  • 导出:
  • 方式1:一次性设置
  • export PATH=$PATH:dir1[:dir2]
  • 方式2:永久性的设置,所有用户有效,需要重启生效或使用source命令将方式1的导出操作添加到文件/etc/profile的末尾
  • 方式3:永久性的设置,只针对一个用户,需要重启生效或使用source命令,优先级高与2将方式1的导出操作添加到文件~/.bashrc的末尾

文件压缩解压

  • gzip:
  • 作用:压缩文件,只能是单个文件,不能是多个,也不能是目录
  • 格式:gzip file
  • 说明:执行命令会生成file.gz,删除原来的file
  • 选项:-d 等价于gunzip
  • gunzip:
  • 作用:解压使用gzip压缩的文件
  • 格式:gunzip file.gz
  • 说明:解压file.gz文件,生成file,删除原来的file.gz
  • bzip2/bunzip2:
  • 说明:
  • 用法与gzip/gunzip相同,只是多了’-k’ 参数,压缩或解压后保留原文件
  • 使用bzip2压缩的文件后缀为bz2,而使用gzip压缩的文件后缀为gz
  • tar
  • 说明:gzip/gunzip/bzip2/bunzip2命令只适用于单个文件,而tar则可以将多个文件或目录进行压缩打包
  • 选项:
  • -c:压缩
  • -x:解压
  • -z:使用gzip
  • -j:使用bzip2
  • -f:指定处理文件
  • -v:显示(压缩解压过程的)详细信息
  • -C:指定解压后存放文件的目录
  • 实列:
  • tar -zcvf 123.tar.gz 1 2 3
  • 使用gzip将1 2 3 压缩成123.tar.gz
  • tar -zxvf 123.tar.gc [-C /tmp]
  • 使用gzip将123.tar.gz解压[至/tmp目录]

文件权限管理

  • chmod:
  • 作用:修改文件的权限
  • 说明:ls -l 中的第一列就是权限相关的信息,下面对其中11个字符进行说明
  • 1:文件类型(b/c/d/l/s/p/-)
  • 2/3/4:文件所有者的都(r)/写(w)执行(x)权限,-表示不具有该权限。
  • 5/6/7:文件所有者所属的组的读/写/执行权限
  • 8/9/10:其他用户的读/写/执行权限
  • 11:.表示启用了selinux,空表示没有开启selinux
  • 参数:
  • r:可读
  • w:可写
  • x:可执行,在Linux系统中没有后缀的概念,文件的类型及权限不以后缀区分
  • +:添加权限
  • -:去掉权限
  • =:设置权限
  • u:用户
  • g:组
  • o:其它
  • 数值表示:
  • Linux中的权限以一组数据来表示,所有者/组/其它的权限分别以3位二进制表示,然后再将其写成8进制OK了,如:755 =>111 101 101,结果就是,所有者拥有读/写/执行权限,同组拥有读/执行权限,其它拥有读/执行权限
  • 实列:
  • chmod +x file 给文件添加可执行权限
  • chmod -w file 去掉文件的可写权限
  • chmod u+x file 给文件的所有者添加可执行权限
  • chmod -g-w file 给文件同组去掉可写权限
  • chmod u=rwx,g=rx,o=rx file 所有者读写执行,同组读写,其它读写
  • chmod 755 file 功能同上
    -umsak:
  • 作用:查看或设置umask的值,umask用来确定创建文件的默认权限
  • 格式:umask [value]
  • 说明:
  • 若后面没有跟值表示查看,后面有值表示设置
  • 创建的普通文件默认没有执行权限
  • 实列:umask 为0022 => 000 010 010
  • 创建的目录文件权限 rwx r-x r-x
  • 创建的普通文件权限 rw- r-- r–
  • 配置:
  • 所有用户:/etc/profile
  • 单个用户:~/.profile或者 ~/.bash_profile
  • lsattr:
  • 作用:查看使用chattr设置的文件属性
  • 格式:lsattr
    -chattr:
  • 作用:修改文件属性,可以提高系统的稳定性
  • 格式:chattr [选项] 文件
  • 选项:i:表示忽略,+表示添加,-表示去掉