2020-2021-1 20209320 《Linux内核原理与分析》第一周作业

总结与思考

1.用户及文件权限管理


1.1 修改文件权限方法

mode法 格式:chmod who opt per file
数字法 格式:chmod XXX file

1.2 set,env,export的区别

env 这是一个工具,或者说一个Linux命令,显示用户的环境变量。
set 显示用户的局部变量和用户环境变量。
export 显示导出成用户变量的shell局部变量,并显示变量的属性;就是显示由局部变量导出成环境变量的那些变量 (比如可以 export WWC导出一个环境变量,也可通过 declare -X LCY导出一个环境变量)
declare 跟set一样,显示用户的shell变量 (局部变量和环境变量)

1.3linux权限s权限和t权限

s权限: 设置使文件在执行阶段具有文件所有者的权限,相当于临时拥有文件所有者的身份. 典型的文件是passwd 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码。
t权限:要删除一个文档,不一定要有这个文档的写权限,但一定要有这个文档的上级目录的写权限。也就是说,即使没有一个文档的写权限,但有这个文档的上级目录的写权限,也能够把这个文档给删除,而假如没有一个目录的写权限,也就不能在这个目录下创建文档。

2.文件基本操作

  • 新建文件:touch test
  • 新建目录:mkdir mydir mkdir -p father/son/grandson
  • 复制目录:cp test father/son/grandson 要成功复制目录需要加上 -r 或者 -R 参数,表示递归复制
  • 删除文件:使用 rm(remove files or directories)命令删除一个文件,可以使用 -f 参数强制删除,要删除一个目录,也需要加上 -r 或 -R 参数,遇到权限不足删除不了的目录也可以和删除文件一样加上 -f 参数。
  • 移动文件:使用 mv(move or rename files)命令移动文件(剪切)。命令格式是 mv 源目录文件 目的目录
  • 重命名文件:mv 命令除了能移动文件外,还能给文件重命名。命令格式为 mv 旧的文件名 新的文件名
  • 批量重命名:使用通配符批量创建 5 个文件:touch file{1..5}.txt
    批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文
    件:rename 's/.txt/.c/' *.txt
  • 查看文件: 使用 cat,tac 和 nl 命令查看文件,加上 -n 参数显示行号,使用 more 和 less 命令分页查看文件,使用 head 和 tail 命令查看文件只查看文件的头几行(默认为 10 行,不足 10 行则显示全部)和尾几行.

3. 文件打包与压缩

3.1 zip压缩打包

  1. cd /home/shiyanlou
    zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop
    du -h shiyanlou.zip
    file shiyanlou.zip
    -r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向
    屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用 du
    命令查看打包后文件的大小
  2. 使用 -e 参数可以创建加密压缩包
    zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou/Desktop
  3. 将 shiyanlou.zip 解压到当前目录:unzip shiyanlou.zip
    将文件解压到指定目录:unzip -q shiyanlou.zip -d ziptest
    创建一个 tar 包 tar -P -cf shiyanlou.tar /home/shiyanlou/Desktop
    解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数):
    mkdir tardir
    tar -xf shiyanlou.tar -C tardir
    只查看不解包文件 -t 参数:tar -tf shiyanlou.tar

4. 文件系统操作与磁盘管理

  1. df 命令查看磁盘的容量 加-h易读
    du 命令查看目录的容量 只查看 1 级目录的信息du -h -d 0 ~
  2. 创建虚拟硬盘
    dd 命令从标准输入读入用户的输入到标准输出或者一个文件中
    dd if=/dev/stdin of=/dev/stdout bs=10 count=1

5. 帮助命令

5.1 help命令

help 命令只能用于显示内建命令的帮助信息,ls --help

5.2 man命令

5.3 info命令

查看 ls 命令的 info ,info ls 空格翻页

6. crontab

crontab 命令从输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行。通常,crontab 储存的指令被守护进程激活,crond 为其守护进程,crond 常常在后台运行,每一分钟会检查一次是否有预定的作业需要执行。通过 crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell 脚本。

  • 添加一个计划任务:crontab -e
  • 查看我们添加了哪些任务:crontab -l
  • 查看到执行任务命令之后在日志中的信息反馈:sudo tail -f
    /var/log/syslog
  • 删除任务:crontab -r

7. 命令执行顺序控制与管道

7.1 顺序执行多条命令

简单的顺序执行你可以使用 ; 来完成

7.2 管道

  • 试用:ls -al /etc | less
    通过管道将前一个命令(ls)的输出作为下一个命令(less)的输入,然后就可以一行一行地看
  • cut 命令,打印每一行的某一字段
    打印 /etc/passwd 文件中以 : 为分隔符的第 1 个字段和第 6 个字段分别表
    示用户名和其家目录:ut /etc/passwd -d ':' -f 1,6
  • grep 命令,在文本中或 stdin 中查找匹配字符串
    grep 命令的一般形式为:grep [命令选项]... 用于匹配的表达式 [文件]...
    -r 参数表示递归搜索子目录中的文件,-n 表示打印匹配项行号,-I 表示忽略二进制文件.
  • wc 命令,简单小巧的计数工具
    行数:wc -l /etc/passwd ;单词数:wc -w /etc/passwd;
    字节数:wc -c /etc/passwd;字符数:wc -m /etc/passwd;
    最长行字节数:wc -L /etc/passwd
    结合管道来操作一下,下面统计 /etc 下面所有目录数:
    ls -dl /etc/*/ | wc -l
  • sort命令
    默认为字典排序: cat /etc/passwd | sort
    反转排序:cat /etc/passwd | sort -r
    按特定字段排序:cat /etc/passwd | sort -t':' -k 3
  • uniq 去重命令
    过滤重复行: history | cut -c 8- | cut -d ' ' -f 1 | uniq

8. 简单的文本处理

8.1 tr命令

  • tr 命令可以用来删除一段文本信息中的某些文字。或者将其进行转换。
  • -d:删除和 set1 匹配的字符,注意不是全词匹配也不是按字符顺序匹配
  • -s:去除 set1 指定的在输入文本中连续并重复的字符

8.2 col命令

  • col 命令可以将Tab换成对等数量的空格键,或反转这个操作。
  • -x:将Tab转换为空格
  • -h:将空格转换为Tab(默认选项)

8.3 join命令

  • 用于将两个文件中包含相同内容的那一行合并在一起。
  • -t:指定分隔符,默认为空格
  • -i:忽略大小写的差异
  • -1:指明第一个文件要用哪个字段来对比,默认对比第一个字段
  • -2:指明第二个文件要用哪个字段来对比,默认对比第一个字段

8.4 paste命令

  • paste这个命令与join 命令类似,它是在不对比数据的情况下,简单地将多个文件合并一起,以Tab隔开。
  • -d:指定合并的分隔符,默认为 Tab
  • -s:不合并到一行,每个文件为一行

9. 数据流重定向

  • 0 /dev/stdin 标准输入
  • 1 /dev/stdout 标准输出
  • 2 /dev/stderr 标准错误
  • 将一个文件作为命令的输入,标准输出作为命令的输出:
    cat Documents/test.c
  • 将 echo 命令通过管道传过来的数据作为 cat 命令的输入,将标准输出作为命
    令的输出:echo 'hi' | cat
  • 将 echo 命令的输出从默认的标准输出重定向到一个普通文件:
    echo 'hello shiyanlou' > redirect
    cat redirect
posted @ 2020-10-11 17:24  20209320dyy  阅读(153)  评论(0编辑  收藏  举报