Linux | 从头开始理解Linux以及工作日常常用命令

 Linux的版本 分很多种,家庭用途版本有:Linux Mint、Ubuntu、OpenSUSE、Fedora、PC-BSD;商业用途版本有:Debian、RHEL、CentOS;还有其他版本:FreeBSD、OpenBSD、Solaris、OpenSolaris等。

目录

1.操作系统Operating System :Linux 

1.1.系统框架Linux OS Architecture

1.2.  Linux 系统的架构 

2.Linux 系统目录及作用

3.日常工作的常用指令

3-1.关于文件夹操作

3-2.下载文件Download File

3.2.1.Download Liabary

3.2.2.克隆GitHub项目Clone Github project

3.2.3.下载预训练模型download weights file

疑问与解答Questions and Answers

[QA1]apt 与 apt-get 之间的区别是什么?

问题与解决

参考文献


1.操作系统Operating System :Linux 

1.1.系统框架Linux OS Architecture

Linux 是 UNIX 操作系统的流行版本之一。它是开源的,因为它的源代码是免费提供的。Linux 的设计考虑了 UNIX 兼容性。它的功能列表与 UNIX 非常相似。

Linux系统组成

Linux 操作系统主要由三个组件组成

  • 内核- 内核是 Linux 的核心部分。它负责该操作系统的所有主要活动。它由各种模块组成,并直接与底层硬件交互。内核提供所需的抽象来隐藏系统或应用程序的低级硬件细节。

  • 系统库- 系统库是特殊功能或程序,应用程序或系统实用程序使用这些功能或程序访问内核的功能。这些库实现了操作系统的大部分功能,不需要内核模块的代码访问权限。

  • System Utility - System Utility 程序负责执行专门的、个人级别的任务。

1.2.  Linux 系统的架构 

计算机与硬件的操作系统接口称为软件应用程序。许多软件应用程序在操作系统上运行,以管理计算机上的硬件资源。

该图根据层概念说明了 Linux 系统的结构。

[2]Linux 架构主要由内核、系统库、硬件层、系统和 Shell 函数等元素组成。

内核: 内核是操作系统的基本部分之一。它负责 Linux 操作系统的每个主要职责。Linux 的每个主要过程都直接与硬件协调。内核负责创建适当的抽象来隐藏琐碎的硬件或应用程序策略。提到了以下内核品种:

  1. 单片内核
  2. 微内核
  3. 外星内核
  4. 混合内核

系统库:可以将一组库函数指定为这些函数。这些功能由操作系统实现,不需要内核模块上的代码访问权限。

系统实用程序:系统实用程序执行特定的单个作业。

硬件层: Linux 的硬件层由多个外围设备组成,例如 CPU、HDD 和 RAM。

壳: 不同的操作系统分为图形外壳和命令行外壳。图形外壳是内核和用户之间的接口。它提供内核服务,并运行内核操作。有两种类型的图形外壳,它们的外观不同。这些操作系统分为两类,即图形外壳和命令行外壳。

图形命令行外壳允许图形用户界面,而命令行外壳启用命令行界面。结果,这两个外壳都可以运行。但是,使用图形命令行外壳执行的图形用户界面比使用命令行外壳执行的图形用户界面更快。

2.Linux 系统目录及作用

├── bin -> usr/bin # 用于存放二进制命令
├── boot # 内核及引导系统程序所在的目录
├── dev # 所有设备文件的目录(如磁盘、光驱等)
├── etc # 配置文件默认路径、服务启动命令存放目录
├── home # 用户家目录,root用户为/root
├── lib -> usr/lib # 32位库文件存放目录
├── lib64 -> usr/lib64 # 64位库文件存放目录
├── media # 媒体文件存放目录
├── mnt # 临时挂载设备目录
├── opt # 自定义软件安装存放目录
├── proc # 进程及内核信息存放目录
├── root # Root用户家目录
├── run # 系统运行时产生临时文件,存放目录
├── sbin -> usr/sbin # 系统管理命令存放目录
├── srv # 服务启动之后需要访问的数据目录
├── sys # 系统使用目录
├── tmp # 临时文件目录
├── usr # 系统命令和帮助文件目录
└── var # 存放内容易变的文件的目录
 

3.日常工作的常用指令

3-1.关于文件及文件夹操作

cd : 打开文件夹

ls :查询当前文件夹

vim :编辑文件

:q :退出文件

:q! :不保存强制退出

pwd :查询当前路径

rmdir :创建一个文件夹

rm   filename : 移除空文件夹

 rm -f filename : 移除有文件的文件夹

history :查看历史命令

unzip : 解压zip文件

unzip filename.zip -d filename

结果如图:

 解压tgz文件

tar zxvf filename.tgz 

如果出错,参阅[PS1]

tar zxvf filename.tgz -C

移动文件move file,命令

mv filename path

 示例

 修改文件名称,命令如下

mv 原文件名 修改后文件名

实例:把model_184.pth改为new.pth 

3-2.下载文件Download File

3.2.1.Download Liabary

用户下载git

sudo apt-get install git

3.2.2.克隆GitHub项目Clone Github project

git clong wangzhi

3.2.3.下载预训练模型download weights file

 Linux 命令 :

wget URL
 wget https://github.com/SwinTransformer/storage/releases/download/v1.0.8/swin_tiny_patch4_window7_224_22k.pth

4.linux的进阶

4.1.查看linux正在运行的进程

进程是在 CPU 及内存中运行的程序代码,而每个进程可以创建一个或多个进程(父子进程)。

ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

  • a:显示当前终端下的所有进程信息,包括其他用户的进程。
  • u:使用以用户为主的格式输出进程信息。
  • x:显示当前用户在所有终端下的进程。
ps aux

上图中各字段解释:

  • USER:启动该进程的用户账号名称 PID:该进程的ID号,在当前系统中是唯一的 %CPU:CPU占用的百分比 %MEM:内存占用的百分比
  • VSZ:占用虚拟内存(swap空间)的大小 RSS:占用常驻内存(物理内存)的大小
  • TTY:该进程在哪个终端上运行。“?”表未知或不需要终端 STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。
  • START:启动该进程的时间 TIME:该进程占用CPU时间 COMMAND:启动该进程的命令的名称

第二种(我最常用)

top

以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的任务管理器。

  • Tasks(系统任务)信息:total,总进程数;running,正在运行的进程数;sleeping,休眠的进程数;stopped,中止的进程数;zombie,僵死无响应的进程数。
  • CPU信息:us,用户占用;sy,内核占用;ni,优先级调度占用;id,空闲CPU;wa,I/O等待占用;hi,硬件中断占用;si,软件中断占用;st,虚拟化占用。了解空闲的CPU百分比,主要看%id部分。
  • Mem(内存)信息:total,总内存空间;used,已用内存;free,空闲内存;buffers,缓存区域。
  • Swap(交换空间)信息:total,总交换空间;used,已用交换空间;free,空闲交换空间;cached,缓存空间。

按q退出。

第3种

pstree -aup

 

 以树状图的方式展现进程之间的派生关系,显示效果比较直观。 -a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示; -c:不使用精简标示法; -G:使用VT100终端机的列绘图字符; -h:列出树状图时,特别标明现在执行的程序; -H<程序识别码>:此参数的效果和指定”-h”参数类似,但特别标明指定的程序; -l:采用长列格式显示树状图; -n:用程序识别码排序。预设是以程序名称来排序; -p:显示程序识别码; -u:显示用户名称;

4.2.linux语言乱码的问题

修改默认语言设置,查看语言设置

locale

 

 修改文件

vim ~/.profile

 更新文件

source ~/.profile

 语言设置

#中文配置
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"

#英文配置
LANG=”en_US.UTF-8″
LANGUAGE=”en_US:en”

#韩语设置
LANG="ko_KR.UTF-8"
LANGUAGE="ko_KR:ko"

韩语版设置 

LANG=ko_KR.UTF-8
LANGUAGE=
LC_CTYPE="ko_KR.UTF-8"
LC_NUMERIC="ko_KR.UTF-8"
LC_TIME="ko_KR.UTF-8"
LC_COLLATE="ko_KR.UTF-8"
LC_MONETARY="ko_KR.UTF-8"
LC_MESSAGES="ko_KR.UTF-8"
LC_PAPER="ko_KR.UTF-8"
LC_NAME="ko_KR.UTF-8"
LC_ADDRESS="ko_KR.UTF-8"
LC_TELEPHONE="ko_KR.UTF-8"
LC_MEASUREMENT="ko_KR.UTF-8"
LC_IDENTIFICATION="ko_KR.UTF-8"
LC_ALL=

疑问与解答Questions and Answers

[QA1]apt 与 apt-get 之间的区别是什么?

apt 可以看作 apt-get 和 apt-cache 命令的子集, 可以为包管理提供必要的命令选项。

apt-get 虽然没被弃用,但作为普通用户,还是应该首先使用 apt。

  • 删除不必要的依赖apt-get autoremoveapt autoremove删除具有相关配置的软件包apt-get purgeapt purge
  • 在上表中,如果将 apt-get 替换为 apt,则所有命令都相同,除了 apt upgrade 命令。 旧的 apt-get upgrade 命令更新系统中当前存在的所有软件包,它不会在系统上安装或删除现有软件包。 新的 apt upgrade 命令将安装作为可升级软件包的依赖项添加的软件包。尽管类似于 apt-get 升级,但它也不会删除以前安装的软件包。
  • apt show 命令以字母顺序打印输出,并隐藏 apt-cache show命令显示的不太重要的信息。
  • apt 和 apt-get 之间的区别不仅限于命令,新的 apt 命令中已添加了另一个视觉功能,以使最终用户满意。每当在使用 apt 升级,apt 完全升级或 apt dist升级时更新软件包时,都会看到一个进度条,通知该过程的进度。

[QA2]Ubuntu中文件中出现的颜色代表什么意思?

蓝 色:文件夹 ,ls -l或ll时可以看到权限部分的第1个字母是d
红色:压缩文件  
绿色:可执行文件,包括jar
白色:文本文件
红色闪烁:错误的符号链接
淡蓝色:符号链接
黄色:设备文件
灰色:其它文件

问题与解决

[PS1]

tar: /data_set/flower_data: Not found in archive
tar: Exiting with failure status due to previous errors
tar:/data_set/flower_data。(jieyade mubiao  lujing)在档案中没有找到
tar: 由于之前的错误,以失败状态退出

参考文献

【1】Operating System - Linux

【2】Linux 架构 - 详细说明 - InterviewBit 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夏天|여름이다

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

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

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

打赏作者

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

抵扣说明:

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

余额充值