目录
1.4.5、head 和 tail命令结合使用查看指定文件内容
1、基础文件操作命令
1.1、命令操作技巧
- 可用tab键进行文件名/路径名/命令的自动补全
- 可用上/下方向键,快速获取之前输入过的命令
- 如果命令执行后,停不下来,或要取消执行,可以使用快捷键:Ctrl+C
- 使用命令:clear 清空当前屏幕
- Linux下操作可以不需要进入路径下再去操作
1.2、Linux命令的基本组成
命令查看帮助:
- command --help 如:ls --help
- man command 交互式查看 如:man ls
命令表达式:command [-options] [parameter]
说明:
- command:命令名,执行基本功能,相应功能的英文单词或单词的缩写。
- [-options]:选项,根据命令选项可以展示更加丰富的数据
- [parameter]:参数,命令操作的对象;如:文件、目录、路径、用户以及进程等均可作为命令操作的对象
- []:代表可选,如:ls ls -al ls -l /home/test/
1.3、文件与目录基础操作命令
注意事项:Linux所有的目录和文件名大小写敏感
文件与目录基础操作命令 | |||
---|---|---|---|
序号 | 命令 | 对应英文单词 | 作用 |
01 | pwd | print work directory | 查看当前所在的路径 |
02 | ls | list | 查看目录下的内容 |
03 | cd <目录名> | change directory | 切换目录 |
04 | touch <文件名> | touch | 创建文件 |
05 | mkdir <目录名> | make directory | 创建目录 |
06 | rm <文件名> | remove | 删除指定文件名 |
07 | cp <文件名> | copy | 拷贝文件 |
08 | mv <文件名> | move | 移动/重命令文件 |
09 | which <命令> | ~ | 查看命令所在的目录 |
10 | find 路径 -name 查找条件 | ~ | 在指定目录下搜索符合条件的文件 |
1.3.1、ls 命令
- 作用:列出目录的内容
- 语法:ls [-options] [parameter]
- 选项参数:
- -a:显示指定目录下所有的子目录与文件,包括隐藏文件
- -l:以列表的方式显示文件的详细信息
- 常用命令查看文件信息:ls -al 文件路径/目录文件
1.3.2、cd 命令
- 作用:切换目录
- 语法:cd 相对路径/绝对路径
- 选项参数:
- cd:切换到当前用户的家目录(/home/用户目录),即用户刚登录进入的目录就是用户的家目录
- cd ~:切换到当前用户的家目录
- cd ..:切换到当前目录的上级目录
- 相对路径:凡是路径信息以 '.' 或 '..' 开头的均为相对路径
- 绝对路径:凡是路径信息以 '/' 或 '~'开头的均为绝对路径
1.3.3、cp 命令
- 作用:将给出的文件或者目录复制到另一个文件或目录中
- 语法:cp [-options] 数据源 目标地址
- 选项参数
- -i:交互式复制,在完成操作之前给出对应的提示并需要用户确认
- -f:覆盖已存在的目标文件而不提示
- -r:如果拷贝的是目录,必须加上该参数,此时拷贝会递归的复制该目录下的所有子目录和文件,并且目标地址文件必须是一个目录名称。
- -v:显示拷贝的进度
1.3.4、rm 命令
- 作用:删除文件或目录
- 语法:rm [-options] 目标文件/目录
- 选项参数:
- -i:交互式删除,在进行高危操作时,需要加上该参数。
- -r:删除对象为目录时,需要加上,否则无法删除。
- -f:强制删除,及时删除的文件不存在也不会给出提示。
- *:通配符,表示当期目录下的任意文件和目录
- 特别注意:rm -rf /* 高危命令(删库跑路),慎用慎用慎用!
1.3.5、touch、mkdir 命令
- 作用:
- touch:创建文件,可同时创建多个文件,如:touch a.txt b.txt
- mkdir:创建目录,可同时创建多个目录,如:mkdir test_dir1 test_dir2
1.3.6、重定向符 > 与 >>
- 作用:在终端下执行命令,一般会把结果输出到终端显示,如果想把输出的结果放到文件中保存,需要使用重定向。
- >:重定向符。
- 示列1:ls /usr/bin > demo 表示将/usr/bin 目录下的内容输入到demo文件中,可以使用命令:cat demo 查看demo文件的内容。
- 注:如果多次使用相同的文件如本例中的demo文件,作为输出内容的对象,那么demo文件的内容会被当前输出内容所覆盖;此时可使用 >> 对内容进行追加写入
- >>:追加写入重定向符。
- 示列2: ls /home >> demo 表示在示列1输出内容的后面追加本次输出内容。
1.3.7、find 命令
- 作用:通过用来在特定的目录下搜索符合条件的文件
- 语法:find [路径] -name 查找条件(目标文件名)
- 如果省略路径,表示在当前文件夹下查找
- find命令中可使用通配符
- 如: find /home/test -name "*.txt" 等价于 find /home/test -name *.txt
- 表示:查找/home/test 路径下扩展名是.txt的文件,包括子目录
- 注意:
- 目标文件名可以省略引号
- 目标文件名部分可使用*实现模糊查询
- 若当期用户对目标路径没有访问权限,则无法执行查找文件动作
1.4、常用查看文件内容命令
常用查看文件的5个命令:cat、less、more、head、tail
1.4.1、cat 命令
- 作用:查看文件内容,显示全部文件内容,可查看多个文件内容
- 语法:cat [-options] 文件 或 cat [-options] 文件1 文件2 ...
- -n:对输出所有行编号
- 注:同时查看多个文件,只是把多个文件的内容合并输出到终端控制台,并没有把两个文件真正合并。
1.4.2、less 与 more 命令
作用:都是以分屏交互式查看大量内容的文件信息
相同点:
- 基本操作快捷键相同
- 向下翻页:空格键
- 向上翻页:B/b
- 逐行查看:回车键
- 退出查看:Q/q
- 查找内容方式:
- /需要查找的内容
- 按回车键
不同点:
- less可以按键盘上下方向键显示上下文内容,more不能通过上下方向键控制显示
- less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容
具体相关参数的使用可使用命令查看:less --help or man less
1.4.3、head 命令
- 作用:用来显示文件前n行的内容
- 语法: head [-options] 文件名
- 参数选项:
- head: 不加参数默认显示文件的前10行内容
- -n: 显示文件前n行内容 n:表示数字
- 示列:head -15 demo 表示显示demo文件的前15行内容
1.4.4、tail 命令
- 作用:用来显示文件后n行的内容
- 语法:tail [-options] 文件名
- 参数选项:
- tail:不加参数默认显示文件的后10行内容
- -n: 显示文件前n行内容 n:表示数字
- 示列:tail -15 demo 表示显示demo文件的结尾15行内容
- -f:实时监控文件内容,常用于查看线上服务器的运行日志,实时显示写入的日志信息
- 示列:tail -10f tomcat.log 表示动态显示最新10行的日志信息
1.4.5、head 和 tail命令结合使用查看指定文件内容
- 比如:获取文件demo 11-20行的信息
- 分析:可通过head和tail同时使用获取特定行和行之间的信息
- 实现思路:先通过head获取到截止行的所有信息,然后再通过tail获取截止到起始行的所有信息
- 命令实现:head -20 demo | tail -10
2、文件权限修改
2.1、文件权限信息内容说明
-rw-r--r--说明:
- 第一位:表示文件类型; -:表示普通文件,d:表示文件夹
- 后续信息为每3个值组成一部分,一个3个部分,依次表示为:用户/用户组/其他用户
- 每一组都可能由 r/w/x/- 组成,其中,r:读取、w:写入、x:执行、-:无权限
2.2、文件权限修改---数字法
序号 | 权限 | 英文 | 缩写 | 数字编号 |
01 | 读 | read | r | 4 |
02 | 写 | write | w | 2 |
03 | 执行 | excute | x | 1 |
04 | 无权限 | - | 0 |
- 作用:使用chmod设置权限时,可使用三个数字分别对 用户/用户组/其他用户 设置对应的权限
- 语法:chmod xxx 文件名 x:表示对应对象的权限的数字 如: chmod 755 文件名
- 常见的数字组合有(u表示用户/g表示组/o表示其他)
- 777:u=rwx、g=rwx、o=rwx
- 755:u=rwx、g=rx、o=rx
- 444:u=r、g=r、o=r
2.3、文件权限修改---字母法
字母代表含义 | |
用户 | 解释 |
u | user 表示该文件的所有者 |
g | group 表示与该文件的所有者属于同一组者,即用户组 |
o | other 表示其他之外的用户 |
a | all 表示上面三者都是 |
权限设置 | |
增减权限 | 解释 |
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
- 修改步骤:
- 先确定每一部分的权限,然后确认某个部分是增加/删减/赋予 某个权限
- 根据对应的标识组织权限内容
- 修改完成后使用命令查看修改是否成功:ls -l 修改的文件对象
- 注意:
- 由于字母法需要考虑的内容组成较多,因此字母法的实现非常多样化
- 如果需要同时变更多个部分的权限,需要使用英文状态下的逗号分割每一部分
- 权限内容中不能添加空格
示列1:修改文件demo的权限,要求每个部分都拥有可读可写可执行权限。
除了图示的操作命令外还可以使用以下命令修改:
- chmod u=rwx,g=rwx,o=rwx demo
单独给某个部分增加权限操作:
- 如:给demo文件的用户部分增加可读可执行权限
- chmod u+r+x demo
- chmod u=rx demo