1. 操作系统的作用
- 是现代计算机系统中 最基本和最重要 的系统软件
- 是 配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展
- 主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用
- 而其他的诸如编译程序、数据库管理系统,以及大量的应用软件,都直接依赖于操作系统的支持
2. 常用 Linux 命令的基本使用
命令 | 作用 |
---|
ls | 查看当前文件夹下的内容 |
pwd | 查看当前所在文件夹 |
cd [目录名] | 切换文件夹 |
touch [文件名] | 如果文件不存在,新建文件 |
mkdir [目录名] | 创建目录 |
rm [文件名] | 删除指定的文件名 |
clear | 清屏 |
- ctrl + shift + = 放大终端窗口的字体显示
- ctrl + - 缩小终端窗口的字体显示
- 按下tab键,系统会自动补全
- 按 上/下 光标键可以在曾经使用过的命令之间来回切换
- 如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c
- 查看命令帮助使用 command --help 或 man command
3. 常用操作键
操作键 | 功能 |
---|
空格键 | 显示手册页的下一屏 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
常用通配符
- | 代表任意个数个字符
? | 代表任意一个字符,至少 1 个
[] | 表示可以匹配字符组中的任一一个
[abc] | 匹配 a、b、c 中的任意一个
[a-f] | 匹配从 a 到 f 范围内的的任意一个字符
4. 文件和目录常用命令
1. 查看目录内容(ls)
参数 | 含义 |
---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 以人性化的方式显示文件大小 |
2. 切换目录(cd)
命令 | 含义 |
---|
cd | 切换到当前用户的主目录(/home/用户目录) |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd … | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切换 |
3. 创建和删除操作(touch,mkdir,rm)
- touch 创建文件或修改文件时间
- 如果文件 不存在,可以创建一个空白文件
- 如果文件 已经存在,可以修改文件的末次修改日期
- mkdir 创建一个新的目录
- rm 删除文件或目录
选项 | 含义 |
---|
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹 时必须加此参数 |
4. 拷贝和移动文件(tree,copy,mv)
- tree 参数-d 只显示目录
- copy
选项 | 含义 |
---|
-i | 覆盖文件前提示 |
-r | 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
- mv 参数-i 覆盖文件前提示
5. 查看文件内容(cat,more,grep)
- more
- more 命令可以用于分屏显示文件内容,每次只显示一页内容,可用操作键
- 适合于查看内容较多的文本文件
- cat
- cat 命令可以用来 查看文件内容、创建文件、文件合并、追加文件内容 等功能
- cat 会一次显示所有的内容,适合 查看内容较少 的文本文件
选项 | 含义 |
---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
- grep
- grep 命令是一种强大的文本搜索工具
- grep允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式
选项 | 含义 |
---|
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-i | 忽略大小写 |
常用模式查找 | 含义 |
---|
^a | 行首,搜寻以 a 开头的行 |
ke$ | 行尾,搜寻以 ke 结束的行 |
6. 重定向和管道(>,>>,echo,|)
- echo
- echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
- echo `date` > myfile
- 重定向 > 和 >>
- > 执行结果 重定向输出到一个 文件(会覆盖)
- >> 将本应显示在终端上的内容 追加 到指定文件中
- |
- 一个命令的输出 可以通过管道 做为 另一个命令的输入
5. 远程管理常用命令(shutdown,ifconfig,ping,ssh,scp)
- 关机前先使用 who 命令查看有没有其它用户在线
- 为了加快对磁盘文件的读写速度,位于内存中的文件数据不会立即同步到磁盘上,因此关机之前需要先进行 sync 同步操作
1. 关机/重启
$ shutdown -r now
$ shutdown now
$ shutdown 20:25
$ shutdown +10
$ shutdown -c
2. 查看或配置网卡信息
$ ifconfig
$ ifconfig | grep inet
$ ping IP地址
$ ping 127.0.0.1
3. 远程登录和复制文件
ssh [-p port] user@remote
scp -P port 01.py user@remote:Desktop/01.py
scp -P port user@remote:Desktop/01.py 01.py
scp -r demo user@remote:Desktop
scp -r user@remote:Desktop demo
user 是在远程机器上的用户名,如果不指定的话默认为当前用户
remote 是远程机器的地址,可以是 IP/域名,或者是 后面会提到的别名
port 是 SSH Server 监听的端口,如果不指定,就为默认值 22
6. 用户权限相关命令
1. 修改权限命令
2. 组管理 终端命令
命令 | 作用 |
---|
groupadd 组名 | 添加组 |
groupdel 组名 | 删除组 |
cat /etc/group | 确认组信息 |
chgrp -R 组名 文件/目录名 | 递归修改文件/目录的所属组 |
3. 用户管理 终端命令
- 创建用户/设置密码/删除用户
命令 | 作用 | 说明 |
---|
useradd -m -g 组 新建用户名 | 添加新用户 | -m 自动建立用户家目录,-g 指定用户所在的组,否则会建立一个和同名的组 |
passwd 用户名 | 设置用户密码 | 如果是普通用户,直接用 passwd 可以修改自己的账户密码 |
userdel -r 用户名 | 删除用户 | -r 选项会自动删除用户家目录 |
cat /etc/passwd | grep 用户名 | 确认用户信息 | 新建用户后,用户信息会保存在 /etc/passwd 文件中 |
- 查看用户信息
命令 | 作用 |
---|
id [用户名] | 查看用户 UID 和 GID 信息 |
who | 查看当前所有登录的用户列表 |
whoami | 查看当前登录用户的账户名 |
which | 查看执行命令所在位置 |
- 切换用户
命令 | 作用 |
---|
su - 用户名 | 切换用户,并且切换目录 |
exit | 退出当前登录账户 |
4. 修改文件权限
chown 用户名 文件名|目录名
chgrp -R 组名 文件名|目录名
chmod -R 755 文件名|目录名
777 ===> u=rwx,g=rwx,o=rwx
755 ===> u=rwx,g=rx,o=rx
644 ===> u=rw,g=r,o=r
7. 系统信息相关命令
1. 时间和日期
命令 | 作用 |
---|
date | 查看系统时间 |
cal | calendar 查看日历,-y 选项可以查看一年的日历 |
2. 磁盘信息
命令 | 作用 |
---|
df -h | disk free 显示磁盘剩余空间,-h以人性化的方式显示文件大小 |
du -h [目录名] | disk usage 显示目录下的文件大小 |
3. 进程信息
命令 | 作用 |
---|
ps aux | process status 查看进程的详细状况 |
top | 动态显示运行中的进程并且排序 |
kill [-9] 进程代号 | 终止指定代号的进程,-9 表示强行终止 |
pstree -A | 查看所有进程树 |
netstat | 查看占用端口的进程 |
a 显示终端上的所有进程,包括其他用户的进程
u 显示进程的详细状态
x 显示没有控制终端的进程
要退出 top ,可以直接输入 q
8. 其他命令(find,ln,tar,apt-get)
1. 查找文件
find:在 特定的目录下 搜索 符合条件的文件
命令 | 作用 |
---|
find [路径] -name “*.py” | 查找指定路径下扩展名是 .py 的文件,包括子目录 |
2. 软链接
命令 | 作用 |
---|
ln -s 被链接的源文件 链接文件 | 建立文件的软链接,用通俗的方式讲类似于 Windows 下的快捷方式 |
# 没有 -s 选项建立的是一个 硬链接文件
# 源文件要使用绝对路径,不能使用相对路径,
# 这样可以方便移动链接文件后,仍然能够正常使用
# 在 Linux 中,文件名 和 文件的数据 是分开存储的
# 在 Linux 中,只有文件的 硬链接数 == 0 才会被删除
# 使用 ls -l 可以查看一个文件的硬链接的数量
3. 打包压缩
- 打包 / 解包 – tar
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
# 解包文件
tar -xvf 打包文件.tar
选项 | 说明 |
---|
选项 | 含义 |
c | 生成档案文件,创建打包文件 |
x | 解开档案文件 |
v | 列出归档解档的详细过程,显示进度 |
f | 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 |
- 压缩/解压缩 – gzip 或者 bizp2
1). gzip
- tar 与 gzip 命令结合可以使用实现文件 打包和压缩
- tar 只负责打包文件,但不压缩
- 用 gzip 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz
- 在 tar 命令中有一个选项 -z 可以调用 gzip,实现压缩和解压缩的功能
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
# -C : 解压缩到指定目录,注意:要解压缩的目录必须存在
2). bzip2
- tar 与 bzip2 命令结合可以使用实现文件 打包和压缩(用法和 gzip 一样)
- 用 bzip2 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.bz2
- 在 tar 命令中有一个选项 -j 可以调用 bzip2,实现压缩和解压缩的功能
# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
# 解压缩文件
tar -jxvf 打包文件.tar.bz2
4. 安装库
$ sudo apt install 软件包
$ sudo apt remove 软件名
$ sudo apt upgrade