【环境与工具】系统工具——Linux概念与操作

分类

内核版(Kernel)

  • 系统调用
  • 终端命令

发行版(GNU)

包含桌面环境,办公套件,媒体播放器,数据库等软件

  • Ubuntu
  • Red Hat
  • CentOS
  • OpenSUSE
  • Debian

文件和目录

Linux目录结构

只有一个根目录,所有文件都在根目录下

根目录子目录
//bin
/etc
/home
/lib
/user

多个用户在 /home 目录下建立各自专属的用户目录(用户名)

/

根目录

一个Linux下只有一个根目录

例如,在终端输入 \home ,表示从根目录开始,在进入 home 目录

cd / # 可进入根目录

在这里插入图片描述

/bin、/usr/bin

可执行二进制文件的目录,终端命令所在目录

常用命令 ls、tar、mv、cat

在这里插入图片描述

boot

放置linux启动时用到的一些文件

  • linux内核文件

    /boot/vmlinuz 
    
  • 系统引导管理器

    /boot/grub
    

在这里插入图片描述

/dev

存放linux系统下的设备文件,访问该文件相当于访问某个设备

  • 挂载光驱
mount /dev/cdrom/mnt

# 查看已挂载的光驱,若目录不存在,则需要先创建
mkdir -p /mnt/cdrom

在这里插入图片描述

/etc

系统配置文件存放目录

  • /etc/inittab
  • /etc/fstab
  • /etc/init.d
  • /etc/X11
  • /etc/sysconfig
  • /etc/xinetd.d

/home

系统默认的用户目录,新增用户时,都放于此目录下

~ :表示当前用户的家目录

~edu :表示edu用户的家目录

/lib、/user/lib、/user/local/lib

系统使用的函数库目录

/opt

给主机额外安装软件所存放的目录

常用命令

命令格式

command [-options],[parameter]
  • command:命令名
  • [-options] :对命令进行控制
  • [paramater]:命令行的可选参数

命令中,连续 - 可省略

常用命令

命令全拼作用
lslist查看当前文件加下内容
pwdprint work directory查看当前
cd [目录名]change directory切换文件夹
touch [文件名]touch如果文件不存在,新建文件
mkdir [目录名]make directory创建目录
rm [文件名]remove删除指定的文件名
clearclear清屏
useradd [用户名]user add新增用户
passwd [用户名]password为用户设置密码
su [用户名]switch user用户切换

命令帮助参数

--help
command --help
  • 显示当前指令 command 的帮助信息
man
man command

man : 命令手册

  • 使用 man 时常用操作键

    操作键作用
    Space下一屏
    Enter一次滚动手册一行
    b回滚一屏
    f下一屏
    q退出
    /word搜索word字符串

自动补全

输入 command 的前几个字母,按 Tab

  • 如果没有歧义则自动补全
  • 存在其他命令,再按 Tab 会提示可能存在的命令

曾使用过的命令

上/下 键切换使用过的命令

退出执行,并且不执行当前选中的命令 Ctrl+C

文件(目录)命令

  • Linux 文件目录 名称最长256字符
  • . 开头的文件为隐藏文件,需要 -a 参数才能显示
  • . 代表当前目录
  • ~ 表示上层目录
ls

列出目录下内容,相当于 dir

参数含义
-a显示所有文件,包括隐藏文件
-l以列表形式显示文件的详细信息
-h配合 -l 以更人性化方式显示文件大小

在这里插入图片描述

ls通配符
通配符含义
*表示任意个数字符
?代表任意一个字符,至少一个
[]表示可以是字符组 的任意一个
[abc]匹配a/b/c中的任意一个
[a-f]匹配从a到f单位内的任意一个

在这里插入图片描述

cd

切换当前工作目录

命令含义
cd切换当前用户的主目录
cd ~切换当前用户的主目录
cd .当前目录
cd …上层目录
cd -在最近两次目录之间切换

在这里插入图片描述

相对路径

在输入路径时,前面不是 /~ 则表示相对 当前目录 所在的目录位置

绝对路径

根目录/家目录 开始的具体目录

创建和删除
touch

创建文件或修改文件时间

  • 如果文件不存在,创建空白文件
  • 如果文件存在,则修改时间
mkdir

创建一个新的目录

-p :递归创建目录

新建目录名称不能与当前目录中已有目录或文件同名

在这里插入图片描述

rm

删除文件或目录,不可重复

参数含义
-f强制删除,忽略不存在的文件,不提醒
-r递归删除目录下的文件 删除文件
拷贝和移动文件
命令对应英文作用
tree [目录名]tree以树状图列出文件目录结构
cp 源文件 目标文件copy复制文件或目录
mv 源文件 目标文件move移动文件/目录或重命名
tree

以树状图列出文件目录结构

选项含义作用
-ddictionary只显示目录
cp

将 源文件/目录 复制到 另一文件或目录

选项含义
-i覆盖文件前提示
-r给出源文件时目录,递归复制该目录下的所有子目录和文件
cp -i 源文件 目标文件
cp -r 源目录 目标目录
mv
  • 移动文件或目录
  • 重命名文件或目录
选项含义
-i覆盖文件前提醒
修改文件内容
命令对应英文含义
cat 文件名concatenate查看文件内容、创建文件、合并文件、追加文件内容
more 文件名more分屏显示文件内容
grep 搜索文本文件名grep搜索文本文件内容
cat
  • 一次显示所有内容,适合查看内容较少的文本文件
选项含义
-b跳过空白行编号
-n对输出的所有行编号
nl 文件名 #与 cat -b 文件名 等价
more

适合查看文件内容较多的文件

基本操作:

操作含义
回车、空格、p查看下一屏
q退出查看
f回滚
grep

文本搜索工具

grep [-option] [文件名]

选项含义
-n显示匹配行及行号
-v显示不含匹配文本的所有行(-n取反)
-i忽略大小写

允许对文本文件进行正则查找

参数含义
^A行首,搜索以a开头的行
ke$行尾,搜索以ke结尾的行
echo

echo 会在终端显示参数指定的文字,通常和 重定向 联合使用

  • 若重定向的文件不存在,则新建文件并写入内容
重定向

Linux允许将命令执行结果重定向到一个文件,将本应在中断上输出的内容 追加/输出 到指定文件中

其中

  • > :表示输出,会覆盖文件原有内容
  • >> :表示追加,将内容追加到已有文件的末尾
echo Hello World > 123.txt #覆盖
cat 123.txt

echo Hello World >> 123.txt #追加
cat 123.txt

在这里插入图片描述

管道

多个连续命令分隔符

| :Linux允许将一个命令的输出作为另一个命令的输入,进行二次处理

常用管道命令

  • more :分配显示内容
  • grep :在执行结果基础上查询指定文本
ls -lha|more
ls -lha|grep -i vi

远程管理

关机/重启

shutdown 选项 时间

安全关闭或重启,默认一分钟后关闭主机

选项含义
-r重新启动
-c取消关机
shutdown -r now
# 现在重启主机

shutdown now
# 现在关闭主机

shutdown 20:25
# 今天20:25关闭主机

shutdown +10
# 系统十分钟后关闭

shutdown -c
# 取消之前关闭计划

查看或配置网卡信息

命令对应英文作用
ifconfigconfigure a network interface查看/配置计算机当前的网卡配置信息
ping ip地址ping检测到目标ip地址的连接是否正常
ifconfig

查看/配置计算机当前的网卡配置信息

ifconfig

ifconfig|grep inet

在这里插入图片描述

ping

测试网卡是否可用

ping 目标ip :检测目标ip主机

  • 环回地址:127.0.0.1,指向本机的ip地址

在这里插入图片描述

  • Ctrl + C 停止ping

SSH

通过 SSH客户端 可连接运行了 SSH服务器 的远程主机

概念

SSH:专为远程登录会话和其他网络服务提供安全性的协议

  • 通过SSH协议防止远程管理过程中的信息泄露
  • 对所有传输的数据进行加密,防止DNS欺骗和IP欺骗

SSH传输的数据可压缩,加快了传输速度

域名,端口号

ip:端口号

域名:用一串分号分隔,ip地址的别名,方便记忆

  • 通过ip地址可以找到网络上的计算机

端口号:通过端口号可以找到计算机上运行的应用程序

服务端口号
SSH服务器22
Web服务器80
HTTPS443
FTP21
操作
命令对应英文作用
ssh 用户名@ipsecure shell关机/重新启动
scp 用户名@ip:文件名或录用secure copy远程复制文件
ssh
ssh [-p port] user@remote Ip
# user:远程机器上的用户名,不指定的话默认当前用户
# remote:远程机器ip,可以是 ip/域名,或者别名
# port:SSH 服务器进程监听的端口,不指定,默认是22

ssh -p 22 Amos@172.16.140.133

exit #退出当前用户

在windows系统下,需要安装 Putty 或者 XShell 来建立远程连接

PuTTY: https://www.putty.org/
XShell:https://www.netsarang.com/zh/xshell/

scp

Linux 下用来远程拷贝文件

  • 地址格式与 ssh 基本相同
  • 指定端口时, -P 是大写的
选项含义
-r给出的源文件是目录文件,将递归赋值该目下的所有子目录和文件,目标文件必须为一目录名
-P若远程SSH服务器的端口不是22,需要用大写字母 P 来指定端口
# 将本地当前目录下的 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 传输文件夹
scp -r demo user@remote:Desktop

在这里插入图片描述

FileZilla

文件传输软件

传输文件时,使用的是FTP服务,端口号设置为 21

免密登录

在本地 .ssh 文件夹下登录远程服务器,保存SSH相关的配置信息

生成本地当前用户公钥

  • 执行 ssh-keygen 即可生成SSH公钥,全部回车计科
  • id_rsa.pub :即本机公钥
  • id_rsa :即本机私钥

将公钥上传到服务器

  • 执行 ssh-copy-id-p port user@remote ,让远程服务器记住公钥

在这里插入图片描述

工作原理

非对称加密算法

使用 公钥 加密的数据,需要私钥解密
使用 私钥 加密的数据,需要公钥解密

  • 本地发送的数据,用私钥加密
  • 服务器若保存有公钥,会对数据解密
  • 数据处理完后用公钥加密,回传给本地
配置别名

输入 ssh username@ipaddress 很繁琐
~/.ssh/config 里追加以下内容

Host newName
	HostName ip address
	User username
	Port port

保存之后,就可使用别名登录

在这里插入图片描述

用户管理

基本概念

用户管理包括 用户管理组管理

用户管理
  • 可指定 每一用户 针对 不同文件或目录不同权限
权限
权限英文缩写数字代号
readr4
writew2
执行excutex1
权限查看

在这里插入图片描述

  • 权限 第一个字符如果是 d 表示目录

    在这里插入图片描述

  • 硬连接数 多少种方式可访问当前目录/文件

  • 拥有者 家目录下 文件/目录 拥有者通常是当前用户

  • 大小

  • 时间

  • 名称

对组设置权限,将 不同用户添加到对应组中 ,同属一个组的用户有相同权限,不用逐个为用户单独设置权限

超级用户

root 账号通常用于 系统维护和管理 ,对操作系统的所有资源具有访问权限

  • 不推荐直接使用 root 账户登录系统
  • 在Linux安装过程中,系统会自动创建一个标准用户账号
sudo
  • su :(substitute user) 缩写,表示切换用户

  • sudo :用来表示以其他身份执行命令,预设身份为 root

  • 用户使用 sudo 时,必须先输入密码,之后五分钟的有效期,超过期限必须重新输入密码

未经授权的用户试图切换 sudo 会发出警告邮件

权限修改

  • 文件拥有者默认有 读/写 权限
  • linux中文本文件也可执行
  • 目录有可执行文件才能执行

chmod 命令用于修改 用户/组文件/目录 的权限

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

chmod -rw 01.py
chmod +rw 01.py

./01.py

组管理

创建 / 删除 组 需要通过 sudo 执行

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

组信息保存在 /etc/group 文件中

/etc 目录用于保存系统配置信息的目录

mkdir Python学习
sudo groupadd study
sudo chgrp -R study Python学习

单用户

创建用户/删除用户/修改其他用户密码 都需要通过 sudo 执行

命令作用说明
useradd -m -g 组名 新建用户名添加新用户-m 自动创建用户家目录
-g 指定用户所在组,否则会创建一个同名的组
passwd 用户名设置用户密码普通用户,直接用passwd可以修改自己密码
userdel -r 用户名删除用户-r 自动删除家目录
cat /etc/passwd确认用户信息新建用户后,用户信息会保存在 /etc/passwd 文件中

创建用户时,如果忘记加 -m 指定家目录,最简单的方法就是删除用户重新创建

在这里插入图片描述

查看用户信息

命令作用
id [用户名]查看用户UID和GID
who查看当前所有登录的用户列表
whoami查看当前登录用户的账户名

在这里插入图片描述

id

id 不加参数,则返回当前用户信息

在这里插入图片描述

passwd文件

/etc/passwd 文件中存放用户的信息

在这里插入图片描述

  1. 用户名
  2. 密码(x,表示加密的密钥)
  3. UID(用户标识)
  4. GID(组标识)
  5. 用户全名或本地账号
  6. 家目录
  7. 登录使用的Shell,就是登录之后,使用的终端命令

usermod

设置用户所属的组 (主组/附加组)和 登录shell

主组:新建用户时指定

附加组:用于指定用户的附加权限

# 修改用户的主组(passwd 中的GID)
usermod -g 组 用户名

# 修改用户的附加组
usermod -G 组 用户名

# 修改用户的登录Shell
usermod -s /bin/bash

which

/etc/passwd :用于保存用户信息文件

/user/bin/passwd :用于修改用户密码程序

which :查看执行命令所在的位置

which ls
# 输出
# /bin/ls

which useradd
# 输出
# /user/sbin/useradd
/bin和/sbin

绝大多数可执行文件都保存在 /bin/sbin/user/bin/user/sbin

/bin(binary) 目录是二进制的可执行文件目录

/sbin(system binary) 是系统管理员专用的二进制代码存放目录,主要用于系统管理

/user/bin(user commands for application) 用于存放后期安装的软件

/user/sbin(super user commands for application) 超级用户的一些管理程序

用户身份切换

命令作用说明
su - 用户名-切换用户,并且切换命令可以切换到用户家目录
exit退出当前登录账户

su 不接用户名,可以切换到 root 用户

修改文件权限

命令作用
chown修改拥有者
chgrp修改组
chmod修改权限
# 修改文件|目录拥有者
chown 拥有者用户名 文件名|目录

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

# 递归修改文件权限
chmod -R 755 文件名|目录名
chmod
# 直接修改 文件|目录 的 读|写|可执行, 但是不能精确到 拥有者|组|其他
chomd +/-rwx 文件名|目录名

在设置权限时,可以简单使用三个数字分别对应 拥有者/组其他 用户权限

拥有者其他
rwxrwxrwx
421421421
4217rwx
4206rw-
4015r-x
4004r–
0213-2x
0202-w-
0011–x
0000

系统信息

查看服务器上当前 系统日期和时间 / 磁盘空间 / 占用情况 / 程序执行情况

  • 时间和日期:date,cat
  • 磁盘和目录空间:df,du
  • 进程信息:ps,top,kill

时间和日期

命令作用
date查看系统时间
calcalendar 查看日历,-y选项可以查看一年的日历

在这里插入图片描述

磁盘信息

命令作用
df -hdisk free 显示磁盘剩余空间
du -h[目录名]disk usage 显示目录下的文件大小
参数含义
-hK为单位显示文件大小

进程

当前正在执行的程序

命令作用
ps auxprocess status 查看进程的详细状况 aux为选项 不需要加 -
top动态显示运行中的进程并排序
kill [-9] PID进程号终止指定进程号的进程 [-9]表示强行终止
  • ps 只显示当前用户通过终端启动的应用程序

在这里插入图片描述

选项含义
a显示终端上的所有进程,包括其他用户的进程
u显示进程的详细状态
x显示没有控制终端的进程
  • 退出 top ,直接输入 q
  • 使用 kill 命令时,最好只终止由当前用户开启的进程,不要终止以 root 身份开启的进程,否则系统崩溃

其他命令

  • 查找文件:find
  • 文件链接:ln
  • 打包和压缩:tar
  • 软件安装:apt-get

查找文件

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

命令作用
find [路径] -name “*.py”查找指定路径下扩展名为 .py 的文件,包括子目录
  • 如果省略路径,表示在当前文件夹下查找

在这里插入图片描述

文件链接

软链接
命令作用
ln -s srcfile destfile建立文件的软链接,类似于 Windows 下的 快捷方式
  1. 没有 -s 选项时,建立的是一个硬链接文件

    两个文件占用相同大小空间

  2. srcfile 必须是绝对路径,不能使用相对路径,为了移动链接文件位置后,还能使用

在这里插入图片描述

硬链接

在使用 ln 创建链接时,如果没有 -s ,创建的是硬链接

此时相当于创建了一个 副本
在这里插入图片描述

软硬链接区别

软链接:链接的是文件名

硬链接:相当于文件副本名

打包压缩

  • Windows 系统常用 rar 格式文件
  • Mac 系统常用 Zip 格式文件
  • Linux 系统常用 tar.gz
打包/解包

tar 把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列小文件

# 打包文件
tar -cvf 打包文件 .tar 被打包文件/路径

# 解包文件
tar -xvf 打包文件
选项含义
z调用gzip,直接压缩
j调用bz2,直接压缩
c生成档案文件,创建打包文件
x解开档案文件
v列出归档文件的详细过程,显示进度
f指定档案文件名称,f后跟的一定是 .tat 文件,必须在最后
C指定路径

步骤

  1. 将含有 01 的文件打包成一个 .tar 文件
  2. 新建 tar 目录,并且将 01.tar 移动到 tar 目录下
  3. 解包 01.tar

在这里插入图片描述

压缩/解压缩

targzip 结合使用实现文件 打包和压缩

  • tar 只负责打包文件,但不压缩
  • gzip 压缩 tar 打包后的文件,其扩展名为 .tar.gz

tar 命令中有一个选项 -z ,可以调用 gzip ,从而方便的实现压缩和解压缩功能

# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩文件/路径

# 解压缩文件
tar -zxvf 打包文件.tar.gz

# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
选项含义
-C解压缩到指定目录,注意:要解压缩的目录必须存在
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/目录...

# 解压缩
tar -zxvf 打包文件.tar.gz

# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径

步骤

  1. 压缩
  2. 移动
  3. 解压

在这里插入图片描述

bzip(two)
  • tarbzip2 命令结合可以使用实现文件 打包和压缩
    • tar 只负责打包文件,不压缩
    • bzip2 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.bz2
  • tar 中有 选项 -j 可以调用 bzip2 ,从而方便实现压缩和解压缩
# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径
# 解压缩文件
tar -jxvf 打包文件.tar.bz2

软件安装

  • aptAdvanced Packaging Tool ,Unbuntu下安装包管理工具
  • yumAdvanced Packaging Tool ,CentOS下安装包管理工具
  • 可以在终端中方便 安装/卸载/更新安装包
# 安装软件
sudo yum install 软件包

# 卸载软件
sudo yum remove 软件包

# 更新已安装的包
sudo yum upgrade

配置软件源

  • 通过 设置镜像源 ,选择一个访问更快的服务器,提供软件下载/安装服务
  • 更换服务器之后,需要比较长的更新过程

所有服务器的内容是相同的(镜像),但根据所在位置不同,国内服务器速度通常快一些

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AmosTian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值