学习Linux系统的第二天
文件内容查看:
- cat:
- 作用: 一次性顺序显示文件的所有内容
- 格式: cat file
- tac:
- 作用:一次性倒叙显示文件的所有内容
- 格式:tac file
- head:
- 作用:显示文件开头的若干行内容
- 格式:head -n file n为要显示的行数
- tail:
- 作用:显示文件结尾的若干行内容
- 格式:tail -n file n为要显示的行数
- more:
- 作用:分页显示其他命令执行的结果
- 格式:其他命令 | more ,如:cat file | more
- 说明:
- 当内容显示一屏时停止
- 空格向下翻页(只能向下)
- 回车键向下显示一行
- 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
- 说明:
- 删除文件时会有提示,若不想提示可以添加’-f’ ,列如:rm -f /11(删除/目录下的11 文件,没有系统提示)
- 删除或拷贝目录时需要添加参数’-r’,列如:sp -r aa /bb .(将aa文件夹下的bb拷贝到当前目录下)
- ln:
- 作用:创建文件链接
- 格式:ln [-s] 源文件 目标文件
- 硬链接:不加’-s’选项时,简单理解为一个文件有多个名字
- 不占实际空间
- 不允许给目录创建
- 不能跨文件系统
- 软连接:添加’-s’选项时,简单理解为一个文件的内容是另一个文件的路劲
- 类似于windows的快捷键
- 可以对目录创建
- 可以跨文件系统
文件搜索定位
- grep:
- 作用:General Regular Expression Parser,通过规则表达式分析程序,是一种强大的文本搜索工具,它能使正则表达式搜索文本,并把匹配的行打印出来。
- 格式:grep [选项] pattern [文件名]
- 选项:
- -i : 字母不区分大小写
- -n :显示行号
- 说明:
- pattern为索要匹配的正则表达式
- 要用好grep这个工具,其实就是要写好正则表达式
- 实列:
- 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:表示忽略,+表示添加,-表示去掉