Linux学习笔记
第一章 系统介绍
第一节 系统分区
磁盘分区是使用分区编辑器(partition editor)在磁盘划分几个逻辑部分。磁盘一旦划分成数个分区,不同的目录与文件可以储存进不同的分区。
分区类型:
- 主分区:最多只能有4个
- 拓展分区:最多只能有一个
主分区加拓展分区最多有4个
不能写入数据,只能包含逻辑分区 - 逻辑分区: 分区号从5开始
格式化: 向磁盘写入文件系统
第二节 linux个目录的作用
第二章 系统常用命令
第一节 帮助命令
1、man命令
Linux命令格式:命令名称 [命令参数] [命令对象]
命令对象一般是指要处理的文件、目录、用户等资源,而命令参数可以是长格式(完整的选项名称),也可以是短格式(单个字母的缩写),两者分别用–和-作为前缀。
示例
长格式 man --help
短格式 man -h
短格式可以多个参数连在一起,例如:man -abc
按键 | 用途 |
---|---|
空格 | 向下翻一页 |
PaGe down | 向下翻一页 |
PaGe up | 向上翻一页 |
home | 直接前往首页 |
end | 直接前往尾页 |
/ | 从上至下搜索某个关键词,如 “/linux” |
? | 从下至上搜索某个关键词,如 “?linux” |
n | 定位到下一个搜索到的关键词 |
N | 定位到上一个搜索到的关键词 |
q | 退出帮助文档 |
2、help命令
help命令可以获得Shell内置命令的帮助信息。
第二节 常用系统工作命令
1、echo命令
echo命令用于在终端输出字符串或变量提取后的值,格式为:echo [字符串 | $变量], *[ | ]: 或
如 用echo hello_world 或 echo "hello world"输出字符串, 多个单词要用双引号括起来,
还可用echo $SHELL来输出变量的值。
2、date命令
date命令用于显示及设置系统时间或日期,格式为:date[选项] [+指定格式]
参数 | 作用 |
---|---|
%t | 跳格 |
%H | 小时24小时制 |
%I | 小时12小时制 |
%M | 分钟 |
%S | 秒 |
%j | 今年中的第几天 |
在date命令中输入以"+"号开头的参数,即可按照指定格式来输出系统的时间或日期。
参数s可以设置当前系统时间,如:date -s 20210210 8:30:00
3、shutdown命令
格式为:shutdown [选项] [时间]。
参数 | 作用 |
---|---|
-c | 取消前一个关机命令 |
-h | 关机 |
-r | 重启 |
3、reboot命令
reboot命令用于重启系统,其格式为:reboot,但默认只能使用root管理员来重启。
4、poweroff命令
poweroff命令用于关闭系统,其格式为poweroff,同样只能管理员来执行。
5、wget命令
wget命令用于在终端中下载网络文件,格式为:wget [参数] 下载地址。
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
6、ps命令
ps命令用于查看系统中的进程状态,格式为:ps [参数]
参数 | 作用 |
---|---|
-a | 显示所有进程 |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
在Linux系统中,有五种常见的进程状态
状态 | 含义 |
---|---|
R(运行) | 进程正在运行或在运行队列中等待 |
S(中断) | 进程处于休眠中 |
D(不可中断) | 进程不响应系统异步信号,用kill命令也不能中断 |
Z(僵死) | 进程已经终止,但进程描述符依然存在 |
T(停止) | 进程收到停止信号后停止运行 |
7、top命令
top命令用于动态地监视进程活动与系统负载等信息,其格式为:top,可将top命令看作Linux中的“强化的windows任务管理器”。
如图所示,top命令执行结果的前5行为系统整体的统计信息,含义如下。
- 第1行:系统时间、运行时间、登陆终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
- 第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
- 第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
- 第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
- 第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已提前加载的内存量。
8、pidof命令
pidof命令用于查询某个指定服务进程的PID值,格式为:pidof [参数] [服务名称]。每个进程的进程号码值(PID)是唯一的,因此可以通过PID来区分不同的进程。
9、kill命令和killall命令
kill命令用于终止某个指定PID的服务进程,格式为:kill [参数] [进程PID]。
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:killall [参数] [进程名称]。
第二节 系统状态检测命令
1、ifconfig命令
ifconfig命令用于获取网卡配置与网络状态等信息,格式为:ifconfig [网络设备] [参数]。
使用 ifconfig 命令来查看本机当前的网卡配置与网络状态等信息
2、uname命令
uname命令用于查看系统内核与系统版本等信息,格式为:uname [-a]。
使用uname命令时,一般会固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
3、uptime命令
uptime用于查看系统的负载信息,格式为:uptime。
uptime命令可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。
4、free命令
free用于显示当前系统中内存的使用量信息,格式为:free 。
可以使用-h参数已更任性化的方式输出当前系统内存的实时使用信息。
5、who命令
who用于查看当前登入主机的用户终端信息,格式为:who [参数]。
6、last命令
last用于查看所有系统的登陆记录,格式为:last [参数]。
7、history命令
history用于查看历史执行过的命令,格式为:history。
默认最大保存1000条记录,可以修改/etc/profile文件中的HISTSIZE改变这个值,-c参数会清空所有的命令历史记录,还可以使用 “!编码数字” 的方式来重复执行某一次的命令。
8、sosreport命令
sosreport命令用于收集系统配置及加购信息并输出诊断文档,格式为:sosreport。
第三节 工作目录切换命令
1、pwd命令
pwd命令用于显示用户当前所处的工作目录,格式为:pwd [选项]。
2、cd命令
cd命令用于切换工作路径,格式为:cd [工作目录]。
可以使用 “cd-” 命令返回到上一次所处的目录,使用 “cd…” 命令进入上级目录,以及使用 “cd ~” 命令切换到当前用户的家目录,亦或使用 “cd ~username” 切换到其他用户的家目录。
3、ls命令
ls命令用于显示目录中的文件信息,格式为:ls [选项] [文件]。
使用ls的 “-a” 参数看到全部文件(包括隐藏文件),使用 “-l” 参数可以查看文件的属性、大小等详细信息。如果想要查看目录属性信息,则需要额外添加一个 “-d” 参数。
第四节 文本文件编辑命令
1、cat命令
cat命令用于查看纯文本文件(内容较少的),格式为:cat [选项] [文件]。
可以使用 “-n” 参数在查看文本内容时显示行号。与之相反的 tac 命令可以反向显示文件内容。
2、more命令
more命令用于查看纯文本文件(内容较多的),格式为:more [选项] [文件]。
more命令会在最下面使用百分比的形式来提示你已经阅读了多少内容,还可以使用空格键或 f 键向下翻页,回车键换行,q或Q退出。
less命令也可分页显示文件内容,可向上翻页。
3、head命令
head命令用于查看纯文本文件的前N行,格式为:head [选项] [文件]。
例如:head -n 20 /etc/filename
4、tail命令
tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为:tail [选项] [文件]。
tail命令的操作方法与head命令相似。tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的命令格式为:tail -f 文件名。
5、tr命令
tr命令用于替换文本文件中的字符,格式为:tr [原始字符] [目标字符]。
6、wc命令
wc命令用于统计指定文本的行数、字数、字节数,格式为:wc [参数] [文本]。
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
7、stat命令
stat命令用于查看文件的具体存储信息和时间等信息,格式为:stat [文件名称]。
8、cut命令
cut命令用于按 “列” 提取文本字符,格式为:cut [参数] [文本]。
一般而言,按基于“行”的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可。但是如果按列搜索,不仅要使用 -f 参数来设置需要看到列数,还需要使用 -d 参数来设置间隔符号。
9、diff命令
diff命令用于比较多个文本文件的差异,格式为:diff [参数] [文件]
。
在使用diff命令时,不仅可以使用 --brief 参数来确认两个文件是否不同,还可以使用 -c 参数来详细比较出多个文件的差异。
第五节 文件目录管理命令
1、touch命令
touch命令用于创建空白文件或设置文件的时间,格式为:touch [选项] [文件]。
参数 | 作用 |
---|---|
-a | 仅修改 “读取时间” (atime) |
-m | 仅修改 “修改时间” (mtime) |
-d | 同时修改 atime 与 mtime |
2、mkdir命令
mkdir命令用于创建空白的目录,格式为:mkdir [选项] 目录。
可以使用 -p 参数来递归创建目录。
3、cp命令
cp 命令用于复制文件或目录,格式为:cp [选项] 源文件 目标文件。
- 如果目标文件是目录,则会把源文件复制到该目录中;
- 如果目标文件也是普通文件,则会询问是否要覆盖它;
- 如果目标文件不存在,则执行正常的复制操作。
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为 “链接文件” 则保留该 “链接文件” 的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于 -pdr(p、d、r为上述参数) |
4、mv命令
mv命令用于剪切文件或将文件重命名,格式为:mv [选项] 源文件 [目标路径 | 目标文件名]。
如果在同一个目录中对一个文件进行剪切操作,其实也就是对其重命名。
5、rm命令
rm命令用于删除文件或目录,格式为:rm [选项] 文件。
在删除时,如果不想让系统询问是否删除,可以使用 -f 参数,想要删除一个目录需要在rm后面加 -r 参数。
6、dd命令
dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为:dd [参数]。
参数 | 作用 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个 “块” 的大小 |
count | 设置要复制的 “块” |
例子:dd if=/dev/zero of=560_file count=1 bs=560M
作用是从/dev/zero 设备文件中取出一个大小为560M的数据块,然后保存成名为 560_file 的文件。
7、file命令
file命令用于查看文件的类型,格式为:file 文件名。
8、ln命令
ln命令用于生成链接文件,格式为: ln [选项] [源文件] [目标文件]。
不带参数生成硬链接文件,-s 参数生成软链接文件。
第六节 权限管理命令
1、chmod命令
chmod命令可以改变文件或目录权限,格式为:chmod [{ugoa} {±=} {rwx}] [文件或目录] 或者 chmod [mode=421] [文件或目录]。
-r 参数可以递归修改。
u:所有者 g:所属组 o:其他人 a:所有人
r:读权限 w:写权限 x:执行权限
2、chown命令
chown命令可以改变文件或目录的所有者,格式为:chown [用户] [文件或目录]。
3、chgrp命令
chgrp命令可以改变文件或目录的所属组,格式为:chgrp [用户组] [文件或目录]。
4、umask命令
umask命令可以显示、设置文件的缺省权限,格式为:umask [选项]。
-S 参数以rwx形式显示新建文件缺省权限。
第七节 打包压缩与搜索命令
1、tar命令
tar命令用于对文件进行打包压缩或解压,格式为:tar [选项] [文件]。
参数 | 作用 |
---|---|
-c(小) | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p(小) | 保留原始的权限与属性 |
-P(大) | 使用绝对路径来压缩 |
-C(大) | 指定解压到的目录 |
-f必须要放到参数的最后,一般使用 “tar -czvf 压缩包名称.tar.gz 要打包的目录” 命令把指定的文件进行打包压缩;相应的解压命令为 “tar -xzvf 压缩包名称.tar.gz”。
2、grep命令
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为:grep [选项] [文件]。
参数 | 作用 |
---|---|
-b | 将可执行文件(binary)当做文本文件(text)来搜索 |
-c | 仅显示找到的行号 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择——仅列出没有 “关键词” 的行 |
3、find命令
find命令 用于按照指定条件来查找文件,格式为:find [查找路径] 查找条件 操作。
参数(查找条件) | 作用 |
---|---|
-name | 匹配名称 |
-iname | 同上,不区分大小写 |
-user | 匹配所有者 |
-group | 匹配所有组 |
-size | 匹配文件大小(+10KB为查找超过10KB的文件,-10KB为查找小于10KB的文件)也可用数据块表示大小,1数据块等于0.5k |
-mtime -n +n | 匹配修改内容的时间(-n 指nt天以内,+n 指n天以前) |
-atime -n +n | 匹配访问文件的时间(-n 指nt天以内,+n 指n天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n 指nt天以内,+n 指n天以前) |
-newer f1 f2 | 匹配比文件f1新但比f2旧的文件 |
–type b/d/c/p/l/f | 匹配文件类型(后面的字幕参数表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-prune | 忽略某个目录 |
-exec … {} \ | 后面可跟用于进一步处理搜索结果的命令 |
4、locate命令
locate命令用于在文件资料库中查找文件,格式为:locate 文件名。
5、which命令
which命令用于搜索命令所在目录及别名信息,格式为:which [命令]。
6、whereis命令
whereis命令用于搜索命令缩水目录及帮助文档路径,格式为:whereis [命令名称]。
第八节 用户管理命令
1、useradd命令
useradd命令用于添加新用户,格式为:useradd [用户名]。
2、passwd命令
passwd命令用于为用户设置密码,格式为:passwd [用户名]。
3、w命令
w命令用于查看登陆用户详细信息,格式为:w。
第九节 网络命令
1、write命令
write命令用于给用户发信息,已Ctrl+D保存结束,格式为:write [用户名]。
2、wall命令
wall命令用于发广播信息,格式为:wall [message]。
3、ping命令
ping命令用于测试网络连通性,格式为:ping [选项] IP地址。
4、mail命令
mail命令用于查看发送电子邮件,格式为:mail [用户名]。
5、netstat命令
netstat命令用于显示网络相关信息,格式为:netstat [选项]。
参数 | 作用 |
---|---|
-t | TCP协议 |
-u | UDP协议 |
-l | 监听 |
-r | 路由 |
-n | 显示IP地址和端口号 |
6、setup命令
setup命令用于配置网络,格式为:setup。
7、mount命令
在Linux系统中,光盘,u盘,移动硬盘等都需要挂载才能使用,格式为:mount [-t 文件系统] 设备文件名 挂载点。