聊聊Linux开发以及推荐学习资源(持续更新)
1. 介绍
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统(度娘)。Linux系统大致分为两种,debian系和redhat系的。现在国产的也有很多,例如优麒麟、以及安全操作系统凝思。
debian | redhat |
---|---|
Debian | RedHat |
Ubuntu | Fedora |
Mint | Centos |
2. 好处
- 免费开源:感觉这也是受欢迎的关键点,在国内也有很多自己的版本,比如最近在使用的国产ubuntu优麒麟,正是由于Linux的免费,许多程序员可以根据自己的兴趣去修改,这也让Linux不断壮大发展。
- 支持多用户、多用户:Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。
- 良好的界面:有着字符界面和图形界面,在Linux上,可以通过终端来完成所有工作基本上。其实也是一种给人很牛皮的感觉。
- 支持多平台:Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。之前玩了一阵子的树莓派,树莓派上就可以跑Linux的。
3. 常见操作
- 查找
find 文件 -print来查看文件,这里的例子是查找了当前目录下的txt文件
需要注意的是这里的命令行中的一个空格或者斜杠都不能出错。否则很容易就出错了。命令行的正确格式很重要。
4. Linux命令操作
dpkg: package manager for Debian
- 安装: dpkg -i package(命令行操作常用)
- 卸载: dpkg -r package
- 卸载并删除配置文件: dpkg -P |–purge package
- 如果安装一个包时、说依赖某些库、 可以先 apt-get install somelib
- 查看软件包安装内容 :dpkg -L package
- 查看文件由哪个软件包提供: dpkg -S filename
- 另外 dpkg还有 dselect和aptitude 两个frontend
apt
安装: apt-get install packs
更新源:apt-get update
升级系统:apt-get upgrade(安装东西的时候,都要进行这一步。这里一般都很花费较长时间,有时比较慢,可以考虑换成国内的源。)
智能升级、安装新软件包,删除废弃的软件包:apt-get dist-upgrade f --fix broken 修复依赖:apt-get f install
自动删除无用的软件:apt-get autoremove 删除软件:apt-get remove packages
mount用来挂载linux外的文件,非常重要的一个命令,笔者也算是入门水平,还没真正熟悉用这个命令。大家可以多查阅资料去了解更多的内容。
基本格式:mount -t type [-o options] device dir (device:指定要挂载的设备,磁盘、光驱等 dir 指定把文件系统挂载到哪个目录 type 指定挂载的文件系统类型 options 指定挂载参数)。
菜鸟教程的链接
示例:#mount -o ro /a/b/c——将a/b挂在/c下面
[-o options]—— -o auto打开挂上模式 -o ro 只读 -o rw 读写模式挂载
man
- Manual pages 是 UNIX 或类 UNIX 操作系统中在线软件文档的一种普遍的形式, 内容包括计算机程序(包括库和系统调用)、正式的标准和惯例,甚至是抽象的概念。用户可以通过执行man命令调用手册页。这个命令是在Linux下提供的帮助手册,也很重要,对于哪个命令不清楚的话。就直接man +命令即可查阅。
- 格式有下面这些
格式 | 说明 |
---|---|
NAME | 名称,可以最简洁得了解该命令 |
SYNOPSIS | 概要,用法说明和能够使用的选项 |
DESCRIPTION | 对各个功能命令的详细解释说明 |
OPTIONS | 说明每一项的意义 |
AUTHORS | 伟大的发明创作这个的作者 |
SEE ALSO | 另外参照 |
COPYRIGHT | 版权说明,在linux都是可以更改的 free |
- 退出阅读界面就直接按q即可。
whatis
直接通过man whatis查看
which
which可以查看文件的路径,whcih make可以查看make安装路径
whereis
查看含有文件或者命令的位置
常用命令
df -h——查看磁盘空间(h是以友好的方式进行查看)
find+文件——可以查看当前目录下的文件,若是文件夹,存在就会列出文件夹中的文件。
netstat -ant——用来查看本地一些端口信息等,监听使用等,这个命令很重要,之前在设置mysql的时候都有用到,解决一些端口问题上都会用到这个命令。
mkdir ——创建文件夹 eg:mkdir 文件夹名 touch ——创建文件eg:touch 文件名。
du -h 文件——查看文件的大小,有时要查看文件的大小,在使用vim之前一般都会建议查看一下大小,因为大于100M的文件直接vim打开会出现问题。
su ——切换用户,比如su -uroot -p切换到root用户下。
ping命令——这个其实不管哪个系统都很重要,是关于tcp/ip的,Ping 是一个十分好用的TCP/IP工具。它是用来检测网络的连通情况和分析网络速度。
ls -lrt——可以按时间排序和列表的方式展开当前的目录项
cat -n 文件——可以直接查看文件,并且可以显示行数,只是这种是只读状态。
head -1 文件——可以查看当前文件的第一行,只读状态。
推荐
在这个标题下推荐一些好的链接(书籍、网站、博客等)
- 书籍
书名 | 作者 |
---|---|
鸟哥的Linux私房菜 | 鸟哥 |
Linux命令行大全(中文名) | William Shotts |
Github
大佬总结pdf(强烈推荐)
- github上看到的一个外链,还不错
- github上一个bash教程,英文版本
- 网站
- 个人感觉挺不错的一个学习实践开源中国社区。
- 菜鸟教程-这是一个比较快速入门的网站,但有些地方没细讲,大家可以自行查看。
- Linux公社挺不错的网站,有着很多学习分享资源
聊聊Linux开发以及推荐学习资源(持续更新)相关推荐
- iOS开发- ios学习资源(持续更新)
mark一些自己在学习过程中收集的资源.免得需要的时候没地方找. 持续更新.(最新更新时间: 2014.4.4) 1.苹果官方文档 构建iOS程序:下面的这篇文章介绍了 iOS 程序开发的过程: St ...
- 优秀博客学习资源(持续更新)
互联网时代,知识种类繁多且复杂,有好的也有坏的.而跟着大牛学则可以在一定程度上减轻知识学习的负担. 把个人时间和精力集中在高品质内容的学习和研究上. 互联网时代跟着牛人来学知识能少走一些弯路,比自己学 ...
- Android开发书籍推荐 学习路线图 资料汇整
小编注:最近,小编们一直在收集,整理一些针对包括程序员.运营.设计师等在内的系统学习资料,希望给初学者一些参考,也给已经入门的人一些进阶建议,让知识体系更加系统化.当然,这个工作不可能一蹴而就,也相当 ...
- 重拾CCNA,学习笔记持续更新ing......(4)
重拾CCNA,学习笔记持续更新ing......(4) 路由器作用功能的经典解说(笑)(非原创) 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大 ...
- linux常见命令---深度学习炼丹炉必备---更新中
目录 linux常见命令---深度学习炼丹炉必备---更新中 1.修改环境变量 2.查看当前conda环境 3.如果执行conda activate ***出现问题时需要初始化shell 4.查看当前 ...
- Deep Learning的推荐学习资源
ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):二 Bengio团队的deep lear ...
- linux开发板推荐_【新品发布】WiFi开发板XW-01-Kit,超低功耗,冷启快联,智能门锁首选!...
智能门锁作为智能家居的入口级产品以及家庭智能安防的核心单品,已然成为智能家居生态链中不可或缺的核心组成部分. 智能门锁方案的研发仍然面临着诸多痛点,如耗电问题.连接繁琐和安全隐患等. 物联网的应用与发 ...
- Admin.NET管理系统(vue3等前后端分离)学习笔记--持续更新
我的学习笔记 - 9iAdmin.NET 欢迎学习交流 (一)前端笔记 1.1 关于.env的设置 1.2 关于路由模式问题 1.3 关于 vue.config.ts 1.4 关于 打包(pnpm r ...
- 前端开发技术栈(插件篇):400+常用前端开发插件总结清单(持续更新......)
常用前端开发插件总结清单,日常前端开发的时候,尤其在使用一些常用的功能的时候,例如:表单,,动画效果,时间选择,文件上传,下拉框等功能.直接用插件可以让自己节省更多的开发时间,更多的去关心业务,自己封 ...
最新文章
- PreTranslateMessage作用和使用方法
- MySQL删除存储过程
- Linux卸载minikube命令整理
- 多进程与多线程的区别
- 李开复:AI能在15年内取代40%~50%岗位
- 算法动画 - 理解函数曲线
- 手把手教你调试Linux C++ 代码(一步到位包含静态库和动态库调试)
- WPF的ControlTemplate和DataTemplate简介
- 配置zabbix当内存剩余不足10%的时候触发报警
- 【电子元件】稳压(齐纳)管 Zener Diode
- 佐罗一键新机数据导出导入文件夹
- tl wn322g linux驱动下载,TP-Link TL-WN322G+网卡驱动
- 个人设想中的TCAX GUI生成的带python脚本代码的ASS字幕文件
- linux多种方法提取ip地址
- CAD高版本窗体阵列LISP_[转载]AutoCAD高版本怎么把阵列对话框调出来?
- JBPM学习入门(一) 配置JBPM运行环境
- html关于页内样式,HTML的页内样式演示案例
- 浅谈Interpreter解释器模式
- multiset upper_bound() 与 lower_bound()
- nas 软件 性能测试,铁威马NAS数据传输性能测试