Linux入门笔记
Linux操作系统
Linux操作系统组成
操作系统:是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机关键组成部分。负责管理与配置内存,决定系统资源供需的优先次序,操作网络与管理文件系统灯基本任务。
而Linux操作系统,准确的来说应该是具有Linux内核的操作系统。Linux是一个操作系统的内核,那么具有Linux内核的操作系统包括哪些部分?
有三部分组成;Kernel、shell、filesystem
Kernel(核心)
- 管理设备,内存,进程
- 控制系统程序/实用程序和系统硬件之间的功能
- 管理交换空间,守护进程,文件系统以及其他函数
Shell(接口)
- 是用户与内核之间的接口,内核要按照你的意愿打开相应的软件,就是通过这个接口,用户才能和内核交头接耳呢!
- 默认Shell
系统支持,记录在 /etc/shells
功能:
(1.命令记忆功能,默记忆功能可达1000个,这些命令记录在~/.bash_history中;
(2.命令与文件补全功能(tab键)
(3.命令别名配置功能(alias)
我的理解是一种自定义快捷设置 eg:ls -la 我可以使用这个功能设置快捷方式 alias lm=‘ls -al’,设置成功以后系统默认lm就是执行ls-la命令
(4.通配符 只会出现在命令的参数里(不用在命令名称里,也不用在操作符上),实际上就是shell实现的路径扩展功能;
字符 | 含义 |
---|---|
* | 匹配0个或者多个字符 |
? | 匹配任意一个字符 |
[bf] | 匹配[]中的任意一个字符 |
[b-f] | 匹配b-f范围内的任意一个字符 |
{str1,str2,…} | 匹配str1或str2或(…)任意一个字符串 |
(5.元字符 基本作用在命令上面,用作多命令分割(或者参数分割)
字符 | 说明 |
---|---|
> | 重定向,将输入命令的显示结果输出到定向文件中(前命令>后文件,会覆盖后文件的原先内容) |
>> | 重定向,将输入命令的显示结果输出到定向文件中(前命令>后文件, 追加到原先内容后面) |
l | 管道,左侧命令的输出作为右侧命令的输入,(左命令l右命令) |
& | 程序置于后台运行 |
fileSystem(文件系统)
- 目录 存放其他文件以及目录的场所
- 子目录 位于其他目录中的场所
Linux基础命令
简单命令(ls、cd、…)
移动、复制、删除命令
-
移动
mv 源 目的 (移动或重命名文件)
-f 强制执行
-i 执行前确认
-b 若覆盖,先行备份
-u 目的已存在,源比较新,才会覆盖
eg:mv f1 pt 移动f1到pt
mv f1 pt/f2 移动f1到pt并重命名为f2
mv f1/* pt 移动f1下的所有内容到pt -
删除
rmdir 空目录 (删除空目录)
rm 文件/目录 (删除文件或非空目录(-r)) -
复制
cp 文件(只能复制文件)
cp -r 源目录 目的目录 (复制目录)
压缩、解压、打包、拆包命令
首先这里要明确压缩与打包的区别:
打包是将多个文件打包成一个大的文件集,就像把书放进书包里面,这个动作就是打包,那么它的大小并没有变化;
压缩就是在打包的基础上,又使它的体积变小,就像把被子放进真空袋里抽去空气一样。
它们本质上的优点都是便于运输保存等,而压缩之后,又更加的节省空间。
- 压缩
linux主要有三种压缩方式:
压缩方式 | 参数 | 命名方式 | 速度 |
---|---|---|---|
gzip | -z | filename.tar.gz | 压缩速度最快 |
bzip2 | -j | filename.tar.bz2 | 压缩文件较小,可用性不如gzip |
xz | -J | filename.tar.xz | 最新压缩方式,提供最佳压缩率 |
-
解压缩
我们在解压缩的时候。不需要写参数指明解压缩方式,只需要加参数**-x**指明要执行解压缩的操作就可以,因为tar命令会自动识别文件对应的压缩方式去解压。 -
打包与拆包 tar命令
参数 | 解释 |
---|---|
-c | 建立一个压缩,打包文档 |
-v | 显示压缩或者打包的内容 |
-f | -f是tar命令中的必需参数,使用文件名,在f后面要接压缩后文件的名字,排在所有参数的最右侧 |
-x | 解压缩,提取打包的内容 |
打包并压缩
tar -cvf filename.tar filename(s)
解压缩并拆包
tar -xvf filename.tar filename(s)
查看文本文件内容命令
cat 、tac、nl
- cat :从第一行开始显示文本内容
- tac:从最后一行开始显示文本内容,与cat相反
- nl:显示行号
less、more
- more:按页显示文本内容
操作 | 解释 |
---|---|
空格 | 下翻一页 |
ctrl+B | 上翻一页 |
enter | 下翻一行 |
:f | 显示文件名和行数 |
q | 退出 |
- less
less和more的区别就是less可以一行一行的往回退,more只能以页单位回退。
less -N filename (-N显示行号)
more的所有操作都可以适用于于less。less还可以执行以下操作:
操作 | 解释 |
---|---|
/ | 向下搜索 |
? | 向上搜索 |
n | 重复前一个搜索(/ 方向向下 ?方向向上 ) |
N | 反向重复前一个搜索(/ 方向向上 ?方向向下 ) |
PgUp、⬆ | 上翻一页 |
PgDn 、⬇ | 下翻一页 |
j | 向前移动一行 |
k | 向后移动一行 |
b | 向左移动 |
l | 向右移动 |
g | 移动到第一行 |
G | 移动到最后一行 |
head、tail
head与tail默认显示10行文本内容。
- head:从头开始显示文件指定的行数
head -n 10 demo.txt //显示前10行内容
head -n -3 demo.txt //除文件结尾的3行,其他行全部显示 - tail:从尾部开始显示文件指定的行数
tail -n 10 demo.txt //显示从尾部开始10行内容
查找命令find、grep
区别:find是根据文件的属性进行查找,文件名、文件大小…;grep是对文件内容进行查找,会对文件的每一行按照给定的模式进行匹配查找。
- find
find / -name perl //根目录下全局查找perl文件
find . -name perl //当前目录下查找perl文件
find ~ -perm 777 //家目录下查找777权限的文件
相关参数:
-user username //按照文件属主
-group groupname //按组查找
-mtime -n(+n) //按文件更改时间,-n指n天以内,+n指n天以前
-atime -n(+n) //按文件访问时间查找
-ctime -n(+n) //按文件创建时间查找
-size n[c] //查找长度为n块【或n字节】的文件
- grep
grep ‘root’ a* //显示所有以a开头的文件包含root的行
grep ‘root’ aa bb cc //显示aa,bb cc文件中包含root的行
grep -r root ./meili/day01 //显示相对路径下(包含子目录)文件中含有root的行
grep -w var file //只匹配单词var,是单词var,如果为wvarn则不显示