前言:

Linux是一个开源、免费的操作系统。其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。如果你还不太了解Linux,希望本篇文章能够带你入门Linux。

1.Linux介绍及与Windows区别

与大家熟知的 Windows 操作系统软件一样,Linux 也是一个操作系统软件。与 Windows 不同之处在于,Linux 是一套开放源代码程序的、可以自由传播的类 Unix 操作系统软件。

Linux 在设计之初,就是基于 Intel x86 系列 CPU 架构计算机的,它是一个基于 POSIX 的多用户、多任务并且支持多线程和多 CPU 的操作系统,它是由世界各地成千上万的程序员设计和开发实现的,当初开发 Linux 系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类 Unix 操作系统兼容产品。

在过去的20年里,Linux 系统主要被应用于服务器端、嵌入式开发和PC桌面三大领域,其中服务器端领域是重中之重。例如,我们熟知的大型、超大型互联网企业都在使用 Linux 系统作为其服务器端的程序运行平台,各大网站使用的主流系统都是 Linux 系统。其中比较常用的发行版有Ubuntu、RedHat、CentOS、Debain等。

与 Windows 相比,Linux 相对来说更加安全稳定,而且Linux可以定制化或者选择不同的发行版,下面借鉴网上的一张图片展示下 Linux 与 Windows 的区别。

2.基础命令小试牛刀

Linux 的大部分操作都可以在终端通过命令行来完成,特别是对于用作服务器的 Linux 系统,这类系统一般都是没有图形化桌面的,所以掌握一些 Linux 基础命令,我们才能操作 Linux 系统。下面简单总结下 Linux 下终端操作的一些基础命令。

# 目录操作
mkdir: 创建目录
  -p : 递归的创建目录 也就是可以创建多层目录
  一次创建多个目录: mkdir {a,b,c,d,e,f}
  一次创建 a b c d e f多个目录。
rmdir:删除一个空文件夹
cp:复制文件或者文件夹
  -a =-pdr
  -p 同时复制文件属性,比如修改日期
  -d 复制时保留文件链接
  -r: 复制文件夹时,递归复制子文件夹
  -l 不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出。
  note:可以在拷贝的同时重命名
mv:移动文件或者文件夹,可以在移动的时候重命名
rm :删除文件或者文件夹
  -r:递归删除
  -f:强制删除 即没有提醒 # 文件处理命令
vi/vim :编辑文件
i:在当前字符前插入文本;
:wq:在命令模式下,执行存盘退出操作;
:w:在命令模式下,执行存盘操作;
:w!:在命令模式下,执行强制存盘操作;
:q:在命令模式下,执行退出vi操作;
:q!:在命令模式下,执行强制退出vi操作;
:set number:在命令模式下,用于在最左端显示行号;
:set nonumber:在命令模式下,用于在最左端不显示行号;
ls :查看文件
  -l 以列表形式查看
  -h 以一种人性化的方式查看,也是文件的大小以合适的单位显示
  -a 查看所有文件,包括隐藏文件
  -i 显示出文件的i节点号
touch 文件名:创建文件 可以一次创建多个文件,以空格隔开
cat :查看文件内容
  -n:带行号
tac:反向显示文件内容
more:分页查看文件内容
  进入浏览模式后:
  f或者空格:下一页
  enter:一行一行往下翻
  q:退出
less:查看文件内容
  空格翻页
  回车换行
  pageup:上一页
  pagedown:下一页
  上箭头:向上翻
  下箭头:向下翻
  /搜索词 n向下找
head -n 文件名 :查看文件前n行。缺省-n显示前10行
tail -n 文件名 :查看文件的末尾几行
   -f :动态显示文件末尾内容 # 权限管理命令
chmod:修改文件或目录的权限,只有root和所有者可以更改
  [{ugoa}{+-=}{rwx}] [文件或目录]
  [mode=421] [文件或目录]
  -R 递归修改
  权限的数字表示:
  r->4
  w->2
  x->1   例:chmod u+x a.txt
    chmod g+w,o-r a.txt //同时做多个权限的修改
    chmod g=rwx a.txt
    chmod 640 a.txt
    chmod -R 777 testdir //把目录和下面所有文件的权限
chown:更改文件所有者,只有root可以更改
  chown root a.txt//把a.txt更改为root所有 # 压缩解压缩命令
.gz格式
  压缩:gzip 文件名 只能压缩文件不能压缩目录,压缩完源文件也不见了
  解压缩:gunzip/gzip -d 压缩包名称
tar:
  -zcvf 压缩后文件名 打包的目录 :生成.tar.gz文件 注:这个命令先用tar归档,然后把归档的包压缩成.gz
  -zxvf 要解压的文件名 :解压缩.tar.bz2的文件   -jcvf 压缩后的文件名 打包的目录:生成.tar.bz2 注:这个命令先用tar归档,然后把归档的包压缩成.bz2
  -jxvf 要解压的文件名 :解压.tar.bz2的文件
zip:
  zip -r 压缩生成的文件名 要压缩的目录
  zip 压缩生成的文件名 要压缩的文件。
unzip:
  unzip 要解压缩的文件
bzip2:
  bzip2 -k 要压缩的文件名 -k选项:保留源文件
  bunzip2 -k 要解压的文件名 -k选项:保留压缩包 *部分内容参考自:https://www.jianshu.com/p/6ea061f74d84

3.关于Linux学习的建议

初学者可能看到上面的命令会一头雾水,其实熟悉之后会发现特别方便,比如说原来在Windows中,创建目录需要一层层到相应目录然后右键新建目录,而在 Linux 中只需要mkdir后面加目录名即可。所谓孰能生巧,命令行操作会极大提升办公效率。

关注我的读者中有一部分是尚未踏入职场的学生,你们可能对 Linux 操作还不熟悉。作为过来人,在这里简单讲下,如果你未来想从事计算机互联网行业,以后或多或少会接触到 Linux,互联网行业大部分应用程序都是跑在 Linux 系统上的。所以如果你现在还不熟悉 Linux,建议你尽早学习一下 Linux,这会增强你毕业后的求职竞争力。当然,平时我们办公使用大多数还是 Windows 或 macOS 系统,如果你目前手上没有 Linux 系统,这里推荐下腾讯云主机,腾讯云618活动来啦,一年最低只要95元!一个月只需7块钱即可拥有一台云主机,想体验 Linux 系统的小伙伴可以买起来。

新人拥有自己的一台服务器可以做些小事情:

  1. 学习Linux命令,了解Linux系统。
  2. 部署Java环境,安装MySQL,Docker,Git等,这些框架都是在Linux部署很方便,在Windows上安装就比较麻烦了。
  3. 把自己写的小东西挂在服务器上,搭建个人博客网站。

想要购买的小伙伴可以复制链接:https://url.cn/ukje2sFM 到浏览器打开进行购买。此次活动是针对新用户的,如果你不是新用户可以借下家人、朋友的信息来重新注册下哦。一年95元的服务器,它不香吗?

总结:

写本篇文章的初心只是想提醒下大家,Linux 真的很重要,在以后的工作中或多或少会接触到,早学习早受益。可能好多小伙伴没有体验过云服务器,趁此机会可以买个云服务器,薅下腾讯的羊毛。笔者去年双十一曾在腾讯云买过一台服务器,用作日常学习测试还是很不错的。需要的同学可以点击链接 https://url.cn/ukje2sFM 进入购买页面。

是时候学习Linux了的更多相关文章

  1. Linux系统的理解及学习Linux内核的心得

    作业列表      (点击作业跳转) linux内核分析作业:以一简单C程序为例,分析汇编代码理解计算机如何工作 linux内核分析作业:操作系统是如何工作的进行:完成一个简单的时间片轮转多道程序内核 ...

  2. 忠告初学者学习Linux系统的8点建议

    导读 新手或者说即将要入坑的小伙伴们,常常在QQ群或者在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的.例如:如何给添加的用户归属用户组,复制整个文件到另一个目录下面,磁盘合理划分,甚至 ...

  3. 总结4点对学习Linux有帮助的建议(纯干货)

    学习需要足够的毅力和耐心 有些人把Linux运维看作一项冗长而枯燥的工作:有些人把linux运维看作一项得力的工具.如果是前者建议还是改变一下认识,不然不建议入门这行.毕竟linux运维工作是对人的毅 ...

  4. 总结四条对学习Linux系统有帮助的方法

    网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面.网络之所以无处不在,是因为它提供了诸多的网络服务,所以网络服务是网络的灵魂. 互联网上的各种网络服务是架构在 ...

  5. 学习linux/unix编程方法的建议(转)

    假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过 我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>linux ...

  6. 学习 Linux,101: Linux 命令行

    概述 本教程将简要介绍 bash shell 的一些主要特性,涵盖以下主题: 使用命令行与 shell 和命令交互 使用有效的命令和命令序列 定义.修改.引用和导出环境变量 访问命令历史和编辑工具 调 ...

  7. 全栈工程师学习Linux技术的忠告

    随着科技的普及,Linux作为最受欢迎的服务端操作系统,无人不知,无人不晓.当今,不论是服务器搭建,还是客户端开发,Linux系统的基础技能对全栈来说都是必备的,而了解如下几个问题可以更好的帮助你成为 ...

  8. 总结六条对我们学习Linux系统有用的忠告

    接触linux需要的是端正自己的态度,这个玩意可不是一天两天就能拿得下的.学习个基础,能装系统.能装常见服务.能编译.能配置存储空间.能配置系统参数.能简单查看系统负载等基本够用.但这些只保证能做机房 ...

  9. 献给初学者:谈谈如何学习Linux操作系统

    本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/569329. 为了能把这篇不错的文章分享给大家.所以请允许我暂时用原创的形式 ...

  10. 学习 Linux,101: 使用基本 SQL 命令

    概述 在本教程中,将学习结构化查询语言 (SQL),包括: 使用基本 SQL 命令 执行基本数据操作 本教程将简要介绍您需要知道的与 LPI 102 考试相关的 SQL 概念.   回页首 数据库和 ...

随机推荐

  1. Java字符串==和equals的区别

    首先我们来了解一下String类,Java的字符串是一旦被赋值之后无法更改的(这里的无法更改是指不能将字符串中单个或一段字符重新赋值),这也是Java虚拟机为了减少内存开销,避免字符串的重复创建设立的 ...

  2. P1090 合并果子(JAVA语言)

    题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和.可 ...

  3. 11、Spring教程之声明式事务

    1.回顾事务 事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎! 事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性. 事务就是把一系列的动作当成一个独立的工作单元,这 ...

  4. C 语言代码风格之 Linux 内核代码风格

    GitHub: https://github.com/storagezhang Emai: debugzhang@163.com 华为云社区:https://bbs.huaweicloud.com/b ...

  5. Prometheus时序数据库-报警的计算

    Prometheus时序数据库-报警的计算 在前面的文章中,笔者详细的阐述了Prometheus的数据插入存储查询等过程.但作为一个监控神器,报警计算功能是必不可少的.自然的Prometheus也提供 ...

  6. 敏捷史话(十二):你现在接触的敏捷也许是“黑暗敏捷”——Ron Jeffries

    他很少提起往事,也不再提及二十年前那场引起软件行业变革的会议,他专注于当下,一直活跃在敏捷领域.八十多岁的他依然运营维护着网站和博客,是极限编程网站 XProgramming.com 的作者,该网站是 ...

  7. InfluxDB、Grafana等开源软件的监控后门

    在使用手机APP的过程中,用户信息会不知不觉的被APP悄无声息的收集到云端,然后进行各种用户行为分析以及智能推荐,这是众所周知但秘而不宣的事. 在使用开源软件时,也存在悄悄收集用户使用信息,并且上报到 ...

  8. Async Cow Python 七牛异步SDK

    # Async Cow Python 七牛异步SDK > gitee链接 >github链接本SDK基于官方SDK改造而成,但又对其进行了进一步封装,简化了相关操作例如:- 1.不需要使用 ...

  9. WebGPU[4] 纹理三角形

    代码见:https://github.com/onsummer/my-dev-notes/tree/master/webgpu-Notes/04-texture-triangle 原创,发布日 202 ...

  10. C++并发与多线程学习笔记--互斥量、用法、死锁概念

    互斥量(mutex)的基本概念 互斥量的用法 lock(), unlock() std::lock_guard类模板 死锁 死锁演示 死锁的一般解决方案 std::lock()函数模板 std::lo ...