Linux学习之路(一)

article/2025/9/20 14:57:19

导语:

早前为了方便日常开发,建立跟生产环境类型的环境的时候考虑使用docker作为模拟生产环境,结果没想到给自己的学习挖了一个大坑。其他关于docker容器技术的坑先不在这里赘述,有时间的话在其他文章记录下来,这里先从最基本的工作环境开始拉开这条漫长的学习之路。

docker虽然提供了很多好用并且效率很高的镜像给我们使用,基本都不需要自己动手配置容器环境但是由于过于注重镜像纯净跟效率的原因大部分镜像里面基本就只有跟当前需要环境相关的工具跟Linux配置,一点多余的东西都没有。这就苦逼了我这种二手的运维菜鸡了,容器已启动一进去发现Linux环境下连一个普通Linux环境必备的vi命令都没有更别说其他的网络查看工具了。迫于处女座的洁癖,被迫把除了服务器环境意外的所有常用工具都得自己挨个爬一次坑吧。毕竟如果把这些东西弄一遍我就可能不再是二手的菜鸡了。

在爬坑的过程中可能甚至必然会遇到发现了一个问题需要解决但是又引起了无数个新的知识点需要补充。所以这条爬坑之路可能会很难去归类,也没有太多时间去归类,唯有爬到哪就记录到哪了!!!!

以下内容大部分都来源于其他博客或者书籍查询到的结果。经过自己实践可以没问题才记录上来方便以后查看!!!

本坑是在docker官方镜像(ubuntu:latest)的环境下完成,ubuntu版本是Ubuntu 18.04.1 LTS。其他版本的坑可能会略有不同。请慎重

以下观点只代表菜鸟言论,大神路过勿喷


 

 

实际上所谓的Linux工具实际上很多人有自己的叫法,大致统计下基本有这几种统称:命令、程序、工具、服务、软件。其实都是通过不同的安装方式安装到Linux环境下,直接使用的。一般的简单工具安装好后一般都会在/bin目录下看到它们的身影(还有些特殊的可能会在其他的地方这里不深究,知道这个意思就行),只不过使用的时候不同的命令工具会有自身特色的传参方式而已例如:

root@454009d432a4:/bin# netstat  -anp

1.Linux工具安装最常用的一种方法就是 apt系列命令

最常用的就是apt-get、apt-cache:apt-get 用来更新、删除、安装各种命令用,apt-cache用来搜索、查看各种命令信息。

第一次进来首要任务肯定是先执行apt-get update在线更新下所有工具包的最新列表,保证安装工具的时候使用的是最新的源以免报错掉到无尽的坑里。最后安装常用的网路检测工具net-tools,这个包下面包括常用的netstat、ifconfig等命令(之前没搞懂之前还以为netstat命令是独立安装的,所以通过apt-cache search搜索到的包安装后根本就不是那么回事。后来找了资料才知道是在这个包里)。

root@454009d432a4:/bin# apt-get update              //更新资源列表
root@454009d432a4:/bin# apt-cache search net-tools        //搜索net-tools这个工具包确认存在
net-tools - NET-3 networking toolkit
atm-tools - Base programs for ATM in Linux, the net-tools for ATM
ddnet-tools - Tools for DDNet
root@454009d432a4:/bin# apt-get install net-tools      //安装网络工具包
........
........
root@454009d432a4:/bin# netstat              //安装完成执行netstat命令看下是否正常
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Pathroot@454009d432a4:/bin# ifconfig            //安装完成执行ifconfig命令看下是否正常
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)RX packets 21  bytes 1598 (1.5 KB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0loop  txqueuelen 1  (Local Loopback)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

附上一张基本网络工具图(http://www.docin.com/p-1852435799.html)

 

2.Linux后台定时任务进程工具cron

这是一个服务器实现定时任务

root@454009d432a4:/bin# apt-cache search cron        //搜索cron资源
anacron - cron-like program that doesn't go by time
cron - process scheduling daemon                //要找的正主
dict-vera - Dictionary of computer related acronyms -- dict format
python-croniter - provides iteration for datetime object with cron like format -Python 2.x
......
......
......
root@454009d432a4:/bin# apt-get install cron      //安装cron组件
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
root@454009d432a4:/bin# cron            //确认是否已经命令(输入cron双击tab按键自动提示)
cron     crontabroot@454009d432a4:/bin# crontab -e      //编辑定时任务文件
no crontab for root - using an empty one           //what?报错,没有文本编辑器,这就是docker镜像的坑,缺少很多基本的Linux工具,都需要自己一个一个安装
update-alternatives: error: no alternatives for editor
/usr/bin/sensible-editor: 25: /usr/bin/sensible-editor: editor: not found
/usr/bin/sensible-editor: 28: /usr/bin/sensible-editor: nano: not found
/usr/bin/sensible-editor: 31: /usr/bin/sensible-editor: nano-tiny: not found
/usr/bin/sensible-editor: 34: /usr/bin/sensible-editor: vi: not found
Couldn't find an editor!
Set the $EDITOR environment variable to your desired editor.
crontab: "/usr/bin/sensible-editor" exited with status 1    //报错后自动退出程序
root@454009d432a4:/bin#
//忽略掉文本编辑器接着cron工具使用方法root@454009d432a4:/# service cron status  //检查cron服务是否已开启* cron is not running
root@454009d432a4:/bin# crontab -e      //编辑定时任务文件如果已经安装过文本编辑器会是直接进入文本编辑模式进行编辑定时任务
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
#定时任务命令格式
#
# m h  dom mon dow  command
# m:分钟 取值范围: 0-59 当为*时表示每分钟
# h:小时 取值范围: 0-23 当为*时表示每小时
# dom:天 取值范围: 1-31 当为*时表示每天
# mon:月 取值范围: 1-12 当为*时表示每月
# dow:星期 取值范围: 1-6 0表示星期天 当为*时表示每周
# command:当符合当前时间条件的时候要执行的命令,可以是纯命令也可以是执行固定的shell脚本
# 以上m h  dom mon dow  command格式中的变量必须都要有值,每个变量中以空格分割详细说明见下面的链接
# https://www.cnblogs.com/angel_kiki/p/5266699.html
# 如下:每分钟将当前时间写入指定文本中
* * * * * date >> ~/check.log
root@454009d432a4:/# service cron start //启动指定服务
root@454009d432a4:/# service cron restart //重启指定服务
root@454009d432a4:/# service cron status* cron is running        //服务正在运行中,找到指定的文件打开看看有没有数据就知道有没有执行成功了
root@454009d432a4:/# service cron stop   //停止指定服务

以上资料来源:https://www.cnblogs.com/angel_kiki/p/5266699.html

 

3.Linux文本编辑器vi、vim基于vim是vi的升级版所以这里选择vim

root@454009d432a4:/# apt-get install vim  //安装vim
root@454009d432a4:/# vim /root/check.log  //编辑指定文件
Thu Sep 27 10:27:01 UTC 2018
Thu Sep 27 10:28:01 UTC 2018
Thu Sep 27 10:29:01 UTC 2018
~
~

vi、vim详细操作参考以下地址(个人感觉描述的挺详细具体的):https://blog.csdn.net/williamfan21c/article/details/56495261


http://chatgpt.dhexx.cn/article/ChTH7jdO.shtml

相关文章

新手集合--嵌入式linux学习路线--三大阶段

微信公众号&#xff1a;二进制人生 专注于嵌入式linux开发。 本文持续更新&#xff0c;第一版先面世&#xff0c;转发请保留出处&#xff1a;二进制人生。这个学习路线是遵照大多数人的认知规律来的&#xff0c; 第一阶段 1.1 C语言入门 入门选一本简单的、薄一点、不要出错…

Linux学习路线及网络编程经典书籍

linux学习资源整理&#xff1a;https://zhuanlan.zhihu.com/p/22654634 Linux初学者(学习资料)&#xff1a;https://zhuanlan.zhihu.com/p/21723250 知乎 - 你是如何学习 Linux 编程的&#xff1f;&#xff1a;https://www.zhihu.com/question/20730157 如果让你推荐一本 Linux…

Linux的学习之路

# Linux的学习之路 第一章 &#xff1a;Linux虚拟机的配置 文章目录 # Linux的学习之路 前言一、安装VMware Workstation Pro二、安装光盘centos7&#xff08;其他版本也是可以的&#xff09;三、虚拟机搭建1、先打开安装好的VMware Workstation Pro2、运行虚拟机&#xff08;…

转)Linux学习路线

写一下最近个人的linux学习路线&#xff0c;学完后再好好参考其他人的&#xff1a; 1.《Linux程序设计》- 靠它来入门&#xff0c;然后装一个linux系统&#xff0c;学习shell(bash)和linux C&#xff0c;把基础打牢&#xff1b; 2. 《深入理解Linux内核》和《Linux内核设计与…

Linux学习路线图

Linux学习进阶路线图 摘自&#xff1a;http://blog.csdn.net/zdwzzu2006/article/details/4334791 Linux 基础Linux 基础Linux安装专题教程Linux中文环境Linux—从菜鸟到高手  鸟哥的Linux私房菜 基础学习篇&#xff08;第二版&#xff09;Ubuntu Linux入门到精通Linux标准教程…

【够全面够清晰】Linux超强学习路线图(思维导图)

生命不息&#xff0c;学习不止。很多朋友在学习Linux时&#xff0c;不知道学什么&#xff0c;不知道怎么学&#xff0c;有的朋友甚至把所有知识点都当成重点学起&#xff0c;但其实这样不仅浪费时间更浪费精力。今天就给大家安排一份「Linux超强学习路线图」&#xff01; 这张…

怒肝 Linux 学习路线,这回不难

Linux 学习路线 by 鱼皮。 原创不易&#xff0c;请勿抄袭&#xff0c;违者必究&#xff01; 大家好&#xff0c;我是鱼皮&#xff0c;又花 1 周肝出了 Linux 学习资料全家桶&#xff0c;包括学习路线、命令手册、视频、书籍、文档、实战教程、社区、工具、大厂面试题等&#xf…

ubuntu16.04安装MATLAB R2017b步骤详解(附完整文件包)

MATLAB已经使用了8年&#xff0c;一直是博主喜欢的一门编程语言。在ubuntu16上安装MATLAB&#xff0c;是因为很久前项目需要&#xff0c;或许是Linux系统的差异性&#xff0c;安装时发现很多教程都不详细。对此总结了几次试验下来的经验&#xff0c;终于完成了这篇教程。或许随…

MATLAB2017a安装破解教程

目录&#xff1a; 1. 下载软件包并解压。2. 软件安装3. 软件激活4. 安装完成 1. 下载软件包并解压。 网上有很多路径可以下载&#xff0c;也可以从官网下载整版。 此处在评论区给出百度云盘链接。 一共包含10个小文件&#xff0c;全部选中后解压到一个文件夹下。 在解压…

Matlab2017a安装教程

安装文件存储在百度网盘可自取&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1hbBpaJfHKDGgpoiOxsceiQ?pwdo6zj 提取码&#xff1a;o6zj 将安装文件下载之后解压得到如下的目录 选择setup应用程序安装 选择使用文件安装密钥&#xff0c;密钥可以百度搜索到 这是我找…

MATLAB 2017a 中文破解版安装教程

安装教程&#xff1a; 百度网盘&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1lnXOb9SuHmbPlHKf1ngyQQ 提取码&#xff1a;ujw8 下载压缩包&#xff0c;进行解压得到如下文件 运行setup.exe&#xff0c;弹出以下界面&#xff0c;选择“使用文件密钥”。下一步。 …

Matlab2016A安装步骤

写在前面: 常用软件的安装和破解是工作&学习中常见的事情,其实大部分软件网上都有相对应的安装教程,只要在安装之前细读其中点赞数最多的三篇,然后选出一篇和自己硬件条件匹配的一个然后按部就班的操作就行了,因为大部分软件都有安装向导。而且安装软件之前觉得会有各…

MATLAB2016b 下载和安装(亲测)

下载: 链接&#xff1a;https://pan.baidu.com/s/15hr6LUTzZYemKAgDulSH4w 提取码&#xff1a;abc 1、首先你得有这三个压缩文件夹加一个密钥文件 2&#xff0c;R2016b_win64_dvd1.iso和R2016b_win64_dvd2.iso两个文件均需要解压&#xff0c;解压时同时选中&#xff0c;单击…

Matlab 2018a的安装步骤

1.断开网络&#xff0c;解压压缩包 2.打开安装包&#xff0c;双击setup 3.如图选择&#xff0c;点击【下一步】 4.接受条款&#xff0c;点击【下一步】 5.输入密钥【09806-07443-53955-64350-21751-41297】&#xff0c;点击【下一步】 6.建议安装到C盘外&#xff0c;这里我安装…

最详细matlab 2018a安装教程步骤.

链接&#xff1a; https://pan.baidu.com/s/1XjfAKeFY-otNy7HfGhYQCw 提取码&#xff1a;cmzv --来自百度网盘超级会员V3的分享 1.鼠标右击“Matlab R2018a Win64”压缩包&#xff0c;选择解压。 2.打开解压后的文件夹&#xff0c;鼠标右击“setup”&#xff0c;选择“以管理…

MATLAB 2017a 下载及安装

一、2017a下载地址&#xff08;建议不要在C盘&#xff09; 链接&#xff1a;https://pan.baidu.com/s/1tfyFaqS4SGXTbmpgJFkugw 提取码&#xff1a;v68l 二、步骤 1、下载完后有两个压缩包 2、全部解压 patch文件&#xff08;里面的 libmwlmgrimpl.dll 和 license_standlone…

MATLAB 2018a 安装

MATLAB是由美国MathWorks公司出品的商业数学软件&#xff0c;这是一款可专业分析数据的软件&#xff0c;软件的功能性十分强大。MATLAB 2018a版本增强了各项功能的特性&#xff0c;如对图形、数据导入和导出及语言和编程进行了增强&#xff0c;更新了实时编辑器的交互式图形&am…

Matlab 2016a 安装包及破解教程

Matlab - Matlab 2016a 安装破解教程 本方法只是研究破解技术所用。 如果要使用软件还是要用正版的。 Matlab 2016a 安装包及破解教程百度云分享链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1i6BgD8p 密码&#xff1a;17gg Matlab安装教程&#xff1a;1…

2019matlab安装

本文转载自Matlab R2019a Win64位 迅雷下载链接_Yohaoa-CSDN博客_matlab迅雷下载 和MATLAB 2019a安装教程和破解方法(附Crack文件) | 我爱分享网 1.下载安装包18G&#xff0c;迅雷磁力链&#xff1a; magnet:?xturn:btih:733DFBA6CCC23DB9FFD6287C169A15664897E78D 2.在打开…

MATLAB2016b安装教程

1,首先你得有这三个压缩文件夹加一个密钥文件&#xff08;安装包在我的硬盘得软件安装包里边&#xff09;文件太大不能上传百度网盘 谢谢评论区小伙伴的资源&#xff1a; Matlab2016b 64位中文版下载地址&#xff1a; pan.baidu.com/s/1qDV8MKZtYgK29pZz7-4JwQ [提取码]: axak…