文件-Linux每日一练(2)

2020年9月14日 评论 150 views 2195字阅读7分19秒

昨天的题目难做么?以下是昨日题目的答案,文末附上今日题目,通过一周的练习掌握基本linux运维,然后我就可以开始全力学k8s了

如果想深入学习linux性能优化,故障定位等关注我!会有的

题目1. 以下目录的作用是什么?

bin sbin dev home proc lib lib64 tmp var

  • bin 普通用户使用的命令 /bin/ls, /bin/date

  • sbin 管理员使用的命令 /sbin/service

  • dev 设备文件 /dev/sda, /dev/sda1, /dev/tty1, /dev/tty2, /dev/pts/1

  • root root 用户的 HOME

  • home 普通用户家 Base 目录

  • proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态,可以读取里面的信息对服务器进行监控

  • lib 库文件 Glibc

  • lib64 库文件 Glibc

  • tmp 临时文件(全局可写: 进程产生的临时文件)

  • var 存放的是一些变化文件,比如数据库,日志,邮件....

题目2. 你所能想起的文件管理命令有哪些?

创建文件

$ touch file3 file4 
$ touch /home/file10.txt 
# 在同级父目录下创建多个文件
$ touch /home/{zhuzhu,gougou} 
# 循环语法创建文件
$ touch file{1..20} 
$ touch file{a..c} 
$ touch yang{a,b,c}

创建目录

$ mkdir dir1
$ mkdir /home/dir2 /home/dir3 
# 下面的大括号也是同时在home下创建多个目录
$ mkdir /home/{dir4,dir5}
# -p 参数代表递归创建,父目录没有自动补齐
$ mkdir -p /home/aaa/bbb/ccc

复制

#拷贝到某个目录下
cp a.txt /home
#拷贝到某个目录下并重命名
cp a.txt /home/b.txt
# 复制目录及目录下的所有子文件
cp -r /home/Tom  /home/jack
# 将多个文件拷贝到同一个目录
cp a b c /home
# 将多个文件拷贝到当前目录,注意最后有个点
cp /etc/hostname /etc/passwd  .
# 当然如果你想把多个文件或目录拷贝到当前目录,需要加-r
# 同目录复制,省略目录名方法
cp -r /tmp/{a,a.bak} 

cp -r /tmp/a{,.bak}

#cp命令只能本机 scp命令可以跨机器复制文件以及下载文件,如果是目录,加上-r 类似工具有rsync 
#wget 命令可用来下载http链接
#复制文件到别的机器
scp local_file remote_username@remote_ip:remote_folder 
#从别的机器下载文件到本机指定目录
scp remote_username@remote_ip:remote_folder/demo.tar /opt/soft/

#在跨机器复制文件时,可能遇到大文件几十G那种,就需要把文件进行切割成块分批传输,
#按行切割
split -l 300 log.txt newfile
#按大小切割
split -b 500m log.txt newfile

移动

#重命名
mv file file2
#移动文件到某个目录
mv file /home
#移动并改名
mv file1 /home/file2
#移动多个文件到同一目录下
mv file1 file2 dir1 /home

删除

# 强制删除文件/文件夹
rm -rf xxx
# f参数是强制删除,为了安全建议不要加
rm -r xxx

以上文件操作命令对文件名都可以使用简单匹配表达式,比如星号,大括号

查看文件内容命令,具体含义自行查询

cat tac less more 
head tail tailf grep

题目3. 查看文件时间stat命令输出的四个时间是什么含义?

**Linux文件有四种时间: **

# 查看文件的详细属性命令stat
$ stat /etc/hostname        
  • ** 访问时间:atime,查看内容 //RHEL6会延后修改atime**

  • 修改时间:mtime,修改内容

  • 改变时间:ctime,文件属性,比如权限

  • 删除时间:dtime,文件被删除的时间

Ps: 会查看这几个时间并没有什么实际运维意义,主要是要了解stat命令输出内容的含义都是些什么

题目4. 这些文件类型对应什么含义?

d b c s p l -

  • - 普通文件(文本文件,二进制文件,压缩文件,电影,图片等)
  • d 目录文件(蓝色)
  • b 设备文件(块设备)存储设备硬盘,U 盘 /dev/sda, /dev/sda1
  • c 设备文件(字符设备)打印机,终端 /dev/tty1, /dev/zero
  • s 套接字文件
  • p 管道文件
  • l 链接文件(淡蓝色)

查看文件类型的命令有哪些?

方法一: ls -l 文件名 //看第一个字符

方法二:file 文件名 //输出更详细

$ file /etc/hosts 
/etc/hosts: ASCII BASH

linux文件专题的内容就是这件了,我没有写的特别详细,希望你可以自己动手测试,如果其中有哪些你有疑问,评论区见!

昨天问题量太大了,今天周末就更新一个,明天发布用户权限管理的题目,这一一些的知识者非常重要,后期想要和我一起学k8s的必须掌握!

今日题目

题目一:rm 是一个非常危险的命令,你有哪些方式规避他意外删除文件?

题目二:如果你的脚本内容如下,你调用此脚本的时候忘记传递参数,会发生什么?($1 代表第一个参数,$0代表脚本名)

rm -rf $1/*

注意:这是个难以察觉的问题,会导致难以预料的风险,请使用退库也无影响的虚拟机进行测试!

weinxin
公众号
在号内与我交流,回复【资源】获取技术大礼包
小熊