关于linux的由来、发展历程之类的我就不去介绍了,都是些纯粹的理论知识,感兴趣可以直接找度娘。
写博客的同时也能够促进自我进步,希望可以和大家一起加油~话不多少,上干货
@TOC
shell的定义
通俗的说,shell就是系统和计算机硬件之间进行交互的中间介质。
==流程:== 用户操作shell -> shell将输入的指令传给系统内核执行 -> 系统内核控制计算机硬件去执行各项操作
shell中的快捷键
快捷键 | 作用 |
---|---|
ctrl + c | 取消当前命令的执行 |
ctrl + d | 关闭当前shell |
ctrl + shift + n | 打开一个新的shell |
ctrl + shift + t | 在当前shell下打开一个页面 |
ctrl + a | 移动光标到所在命令首字母 |
ctrl + e | 移动光标到所在命令末尾 |
ctrl + l | 清屏 |
ctrl + u | 删除光标前面的字母(含有剪切的功能) |
ctrl + k | 删除光标之后的字母(含有剪切的功能) |
ctrl + shift + c | 复制 |
ctrl + shift + v | 粘贴 |
历史记录的查询、删除及调用
命令 | 作用 |
---|---|
history | 查看历史记录 |
history -c | 清除当前shell中的历史记录 |
上下键 | 逐行调用 |
!数字 | 指定行调用 |
! 字母 | 指定首字母调用 |
ctrl + r + 关键字 | 指定关键字调用 |
常用shell命令
文件管理
cat
cat命令: 用于连接文件并打印到标准输出设备上
语法格式: cat [-AbeEnstTuv] [--help] [--version] fileName
参数 | 含义 |
---|---|
-n / --number | 从1开始对所有输出的行数编号 |
-b / --number-nonblank | 与-n类似,但对于空白行不编号 |
-s / --squeeze-blank | 遇到连续两行以上的空白行,替换为一行的空白行 |
-v / --show-nonprinting | 使用^和M符号替换空格 |
-E / --show-ends | 在每行结束处显示$ |
-T / --show-tabs | 将Tab字符显示为^I |
-A / --show-all | 显示全部,等价于-vET |
-e | 等价于-vE |
-t | 等价于-vT |
实例:
- 将file1的文档内容加上行号以后输入到file2文件中:cat -n file1 > file2
- 将file1的文件内容加上行号(空白行不加行号)后输入到file2文件中:cat -b file1 > file2
- 清空file文件内容:cat /dev/null > file
chgrp
chgrp命令:用于变更文件或目录的所属群组
语法格式:chgrp [-cfhRv][--help][--version][所属群组][文件或目录...] 或者 chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
参数 | 含义 |
---|---|
-c或--changes | 只显示更改部分的执行过程 |
-f或--quiet或--silent | 不显示错误信息 |
-h或--no-dereference | 只对符号连接的文件作修改 |
-R或--recursive | 递归处理,将指定目录下所有文件及子目录一并处理 |
-v或--verbose | 显示指令执行过程 |
--help | 在线帮助 |
--reference=<参考文件或目录> | 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同 |
--version | 显示版本信息 |
实例:
- 改变文件群组属性:chgrp -v student test.txt
- 根据指定文件改变文件的群组属性:chgrp --reference=test.txt test1.txt
<font color="red" size="2">(改变文件 test1.txt 的群组属性,使得文件 test1.txt 的群组属性和参考文件 test.txt 的群组属性相同)</font>
chmod
chmod命令:控制文件如何被他人所调用,分为三级:文件拥有者、群组、其他。
<font color="red" size="2">命令使用权限:所有使用者</font>
语法格式:chmod [-cfvR] [--help] [--version] mode file...
参数 | 含义 |
---|---|
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不要显示错误讯息 |
-v | 显示权限变更的详细资料 |
-R | 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更) |
--help | 显示辅助说明 |
--version | 显示版本 |
实例:
- 将文件 file 设为所有人皆可读:chmod ugo+r file / chmod a+r file
- 将文件 file 设定为文件拥有者和其所属同一个群体者可写入,其它的均不可写:chmod ug+w,o-w file
- 将 demo.sh 设定为只有该文件拥有者可以执行:chmod u+x,go-x demo.sh
- 将当前目录下的所有文件与子目录皆设为任何人可读取:chmod -R a+r *
此外chmod也可以用数字来表示权限 - 若要rwx属性则4+2+1=7
- 若要rw-属性则4+2=6
- 若要r-x属性则4+1=5
- 即r=4,w=2,x=1,最大权限为777
chown
chown命令:指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符
<font color="red" size="2">root</font>
语法格式:chown [-cfhvR] [--help] [--version] user[:group] file...
参数 | 含义 |
---|---|
user | 新的文件拥有者的使用者 ID |
group | 新的文件拥有者的使用者组(group) |
-c | 显示更改的部分的信息 |
-f | 忽略错误信息 |
-h | 修复符号链接 |
-v | 显示详细的处理信息 |
-R | 处理指定目录以及其子目录下的所有文件 |
--help | 显示辅助说明 |
--version | 显示版本 |
find
find命令:用来在指定目录下查找文件,任何位于参数之前的字符串都将被视为欲查找的目录名。不设置参数时,默认在当前目录下查找子目录与文件,并将子目录与文件全部显示出来
网友评论