python面试 --Linux命令

文章目录

    • 1. 操作系统的作用
    • 2. 常用 Linux 命令的基本使用
    • 3. 常用操作键
      • 常用通配符
    • 4. 文件和目录常用命令
      • 1. 查看目录内容(ls)
      • 2. 切换目录(cd)
      • 3. 创建和删除操作(touch,mkdir,rm)
      • 4. 拷贝和移动文件(tree,copy,mv)
      • 5. 查看文件内容(cat,more,grep)
      • 6. 重定向和管道(>,>>,echo,|)
    • 5. 远程管理常用命令(shutdown,ifconfig,ping,ssh,scp)
      • 1. 关机/重启
      • 2. 查看或配置网卡信息
      • 3. 远程登录和复制文件
    • 6. 用户权限相关命令
      • 1. 修改权限命令
      • 2. 组管理 终端命令
      • 3. 用户管理 终端命令
      • 4. 修改文件权限
    • 7. 系统信息相关命令
      • 1. 时间和日期
      • 2. 磁盘信息
      • 3. 进程信息
    • 8. 其他命令(find,ln,tar,apt-get)
      • 1. 查找文件
      • 2. 软链接
      • 3. 打包压缩
      • 4. 安装库

  • 操作系统示意图

python面试 --Linux命令_第1张图片

1. 操作系统的作用

  • 是现代计算机系统中 最基本和最重要 的系统软件
  • 是 配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展
  • 主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用
  • 而其他的诸如编译程序、数据库管理系统,以及大量的应用软件,都直接依赖于操作系统的支持

2. 常用 Linux 命令的基本使用

命令 作用
ls 查看当前文件夹下的内容
pwd 查看当前所在文件夹
cd [目录名] 切换文件夹
touch [文件名] 如果文件不存在,新建文件
mkdir [目录名] 创建目录
rm [文件名] 删除指定的文件名
clear 清屏
  • 小技巧
  1. ctrl + shift + = 放大终端窗口的字体显示
  2. ctrl + - 缩小终端窗口的字体显示
  3. 按下tab键,系统会自动补全
  4. 按 上/下 光标键可以在曾经使用过的命令之间来回切换
  5. 如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c
  6. 查看命令帮助使用 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)

  1. touch 创建文件或修改文件时间
  • 如果文件 不存在,可以创建一个空白文件
  • 如果文件 已经存在,可以修改文件的末次修改日期
  1. mkdir 创建一个新的目录
选项 含义
-p 可以递归创建目录
  1. rm 删除文件或目录
选项 含义
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除文件夹 时必须加此参数

4. 拷贝和移动文件(tree,copy,mv)

  1. tree 参数-d 只显示目录
  2. copy
选项 含义
-i 覆盖文件前提示
-r 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
  1. mv 参数-i 覆盖文件前提示

5. 查看文件内容(cat,more,grep)

  1. more
  • more 命令可以用于分屏显示文件内容,每次只显示一页内容,可用操作键
  • 适合于查看内容较多的文本文件
  1. cat
  • cat 命令可以用来 查看文件内容、创建文件、文件合并、追加文件内容 等功能
  • cat 会一次显示所有的内容,适合 查看内容较少 的文本文件
选项 含义
-b 对非空输出行编号
-n 对输出的所有行编号
  1. grep
  • grep 命令是一种强大的文本搜索工具
  • grep允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式
选项 含义
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行(相当于求反)
-i 忽略大小写
常用模式查找 含义
^a 行首,搜寻以 a 开头的行
ke$ 行尾,搜寻以 ke 结束的行

6. 重定向和管道(>,>>,echo,|)

  1. echo
  • echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
  • echo `date` > myfile
  1. 重定向 > 和 >>
  • > 执行结果 重定向输出到一个 文件(会覆盖)
  • >> 将本应显示在终端上的内容 追加 到指定文件中
  1. |
  • 一个命令的输出 可以通过管道 做为 另一个命令的输入

5. 远程管理常用命令(shutdown,ifconfig,ping,ssh,scp)

1. 关机/重启

# 重新启动操作系统,其中 -r 表示重启,now 表示现在
$ shutdown -r now

# 立刻关机,其中 now 表示现在
$ shutdown now

# 系统在今天的 20:25 会关机
$ shutdown 20:25

# 系统再过十分钟后自动关机
$ shutdown +10

# 取消之前指定的关机计划
$ shutdown -c

2. 查看或配置网卡信息

# 查看网卡配置信息
$ ifconfig

# 查看网卡对应的 IP 地址
$ ifconfig | grep inet

# 检测到目标主机是否连接正常
$ ping IP地址

# 检测本地网卡工作正常
$ ping 127.0.0.1

3. 远程登录和复制文件

  • SSH 客户端是一种使用 Secure Shell(SSH) 协议连接到远程计算机的软件程序

  • scp 就是 secure copy,是一个在 Linux 下用来进行 远程拷贝文件 的命令

#SSH
ssh [-p port] user@remote


#SCP
# 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py

# 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py

# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop

# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo


# 注意
user 是在远程机器上的用户名,如果不指定的话默认为当前用户
remote 是远程机器的地址,可以是 IP/域名,或者是 后面会提到的别名
port 是 SSH Server 监听的端口,如果不指定,就为默认值 22

6. 用户权限相关命令

1. 修改权限命令

  • chmod +/- rwx 文件名|目录名

2. 组管理 终端命令

命令 作用
groupadd 组名 添加组
groupdel 组名 删除组
cat /etc/group 确认组信息
chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组

3. 用户管理 终端命令

  1. 创建用户/设置密码/删除用户
命令 作用 说明
useradd -m -g 组 新建用户名 添加新用户 -m 自动建立用户家目录,-g 指定用户所在的组,否则会建立一个和同名的组
passwd 用户名 设置用户密码 如果是普通用户,直接用 passwd 可以修改自己的账户密码
userdel -r 用户名 删除用户 -r 选项会自动删除用户家目录
cat /etc/passwd | grep 用户名 确认用户信息 新建用户后,用户信息会保存在 /etc/passwd 文件中
  1. 查看用户信息
命令 作用
id [用户名] 查看用户 UID 和 GID 信息
who 查看当前所有登录的用户列表
whoami 查看当前登录用户的账户名
which 查看执行命令所在位置
  1. 切换用户
命令 作用
su - 用户名 切换用户,并且切换目录
exit 退出当前登录账户

4. 修改文件权限

# 修改文件|目录的拥有者
chown 用户名 文件名|目录名

# 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名

# 递归修改文件权限
chmod -R 755 文件名|目录名

# 常见数字组合有(u表示用户/g表示组/o表示其他):
777 ===> u=rwx,g=rwx,o=rwx
755 ===> u=rwx,g=rx,o=rx
644 ===> u=rw,g=r,o=r

python面试 --Linux命令_第2张图片

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 表示强行终止
a 显示终端上的所有进程,包括其他用户的进程
u 显示进程的详细状态
x 显示没有控制终端的进程

要退出 top ,可以直接输入 q

8. 其他命令(find,ln,tar,apt-get)

1. 查找文件

find:在 特定的目录下 搜索 符合条件的文件

命令 作用
find [路径] -name “*.py” 查找指定路径下扩展名是 .py 的文件,包括子目录

2. 软链接

命令 作用
ln -s 被链接的源文件 链接文件 建立文件的软链接,用通俗的方式讲类似于 Windows 下的快捷方式
# 没有 -s 选项建立的是一个 硬链接文件

# 源文件要使用绝对路径,不能使用相对路径,
# 这样可以方便移动链接文件后,仍然能够正常使用

  • 文件软硬链接的示意图

python面试 --Linux命令_第3张图片

# 在 Linux 中,文件名 和 文件的数据 是分开存储的
# 在 Linux 中,只有文件的 硬链接数 == 0 才会被删除
# 使用 ls -l 可以查看一个文件的硬链接的数量

3. 打包压缩

  1. 打包 / 解包 – tar
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...

# 解包文件
tar -xvf 打包文件.tar
选项 说明
选项 含义
c 生成档案文件,创建打包文件
x 解开档案文件
v 列出归档解档的详细过程,显示进度
f 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后
  1. 压缩/解压缩 – 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. 安装库

# 1. 安装软件
$ sudo apt install 软件包

# 2. 卸载软件
$ sudo apt remove 软件名

# 3. 更新已安装的包
$ sudo apt upgrade 

你可能感兴趣的:(搭建部署参考,Python,面试题,linux,python)