摘要:在中国市场,比红帽多,因为开源嘛红帽呢因为售后比较贵,使用的企业不多,大多数是银行国企使用,私企基本上都是三,作为发行版中的后起之秀,在短短几年时间里便迅速成长为从初学者到实验室用计算机服务器都适合使用的发行版。
这篇文章主要写给 Linux 初学者的,文章中会分享给初学者应该着重掌握的一些东西,这些内容都是本人从事 Linux 工作多年的心得体会,相信会帮初学者更快的掌握 Linux 的相关使用技能,后续作者会系统化地更新linux相关初级,中级,高级,终级篇系列文章。并且会在每个篇幅,章节给出学习意见。
本系列学完目标:
从事于 IT 相关工作的同学,应该都或多或少的了解一些linux系统。其实,随着互联网行业的不断发展,大家已经每时每刻都在使用着linux系统,Linux早已渗透进我们生活中的每个角落,我们生活中使用的一切软件系统基本都是基于linux操作系统在运行。
包括那些火热的技术,比如云计算、虚拟化、容器、大数据、人工智能,几乎都是基于 Linux 技术的,那些平台系统,电商、团购、社交、新闻、快递,都是部署在服务器端,也几乎都是基于 Linux 技术的。
在编程的世界中,Linux 依然成为主流,如果你想要从事编程相关的工作,不论是前端、后端、运维、还是测试,Linux 都是你必须掌握技能,只有了解了 Linux ,你才可能成为合格的软件工程师。
如果你的学习目标是为了以后能在工作中使用,下面两个系统学习最适合:
一、RedHat(红帽)
官方网站:https://www.redhat.com/zh(红帽中国官方 )
二、CentOS
官方网站:https://www.centos.org/(CentOS官方)
中文站:https://www.centoschina.cn/(CentOS中文站)
这两个系统其实是一样的,红帽是正版,CentOS是重新编译后的红帽;想从事运维工作的童鞋,学会使用这两个系统,基本就无问题了。在中国市场,CentOS比红帽多,因为开源嘛!红帽呢因为售后比较贵,使用的企业不多,大多数是银行、国企使用,私企基本上都是CentOS.
三,Ubuntu
Ubuntu作为Linux发行版中的后起之秀,Ubuntu 在短短几年时间里便迅速成长为从Linux初学者到实验室用计算机/服务器都适合使用的发行版。那么Ubuntu和Centos的区别是哪?如何选择?
如果是作为服务器的话,这一点是CentOS更胜一筹,虽然它们同样是开源,免费。CentOS它的源码是来自由商业服务器Red Hat Enterprise Linux。有很多公司都是用CentOS来代替商业版的Red Hat Linux,同时它的稳定性也是值得信赖的。而Ubuntu的开发目的是为了使个人电脑变得简单易用,虽然也提供相应的企业服务器,不过专业的还是CentOS。当前其他版本也有很多,可以忽略吧。
推荐一个适合学习linux的网站:linux公社
(1)用户空间:用户空间中又包含了用户的应用程序,C库
(2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码
尖叫提示:普通用户了解即可,专业linux开发,运维需要了解深入些。
Linux的系统安装在这里就不多做赘述了,具体的安装步骤具体可以自行百度,也可以参考这篇文章:https://zhuanlan.zhihu.com/p/41940739 整体比较简单。
尖叫提示:普通用户了解即可,专业linux运维,需要熟练掌握,生产实际部署都是模块化部署,专业工具同时装几十台,配置几十台机器。后续运维系列会告诉大家如何系统化,批量化安装部署配置系统。
一般工作环境中,我们都是在Windows下远程连接Linux的ssh客户端进行登录访问linux 服务器,此时我们就需要借助像Xshell,SecureCRT 这样的终端模拟器软件,两个软件使用起来也很方便,下面给出了一些可以学习参考的链接:
Xshell 的安装和使用详情:https://www.xshellcn.com/xsh_column/lianjie-linux.html
SecureCRT的安装和使用详情:https://blog.csdn.net/Haiyang_Duan/article/details/53302378
进入linux系统之后,会出现终端命令行界面,此时我们可以在命令行操作我们想要执行的命令。
**新手严重告警:切勿使用 rm -rf ***
关机命令:shutdown -h now(立刻进行关机)
halt(立刻进行关机)
poweroff(立刻进行关机)
重启命令:shutdown -r now(现在重新启动计算机)
reboot(现在重新启动计算机)
区别:shutdown -h now和shutdown -r now必须是root用户或者具有root权限的用户才能使用,而halt和reboot是Linux系统中的任何用户都可使用,不需要root权限。
尖叫提示:普通用户了解即可,实际除了你自己的本地虚拟机可以不停重启外,生产环境机器一般不会重启,一般都是重启服务。有些机器甚至都是开机跑了好几年都不带关机的,除非特殊情况,硬件维修,死机,搬迁等。
root 用户在linux 系统中具有最高管理员权限,可以修改任意用户的密码,忘了密码都无所谓,具体操作命令如下,其他用户密码设置切换用户设置即可,root用户直接 su - username即可:
[root@testzhuji ~]# passwd testChanging password for user test.New password: BAD PASSWORD: it is too simplistic/systematicBAD PASSWORD: is too simpleRetype new password: passwd: all authentication tokens updated successfully.
我们知道Linux里一切皆文件。要不就是文件目录。
linux的目录结构为树状结构,最顶级的目录为根目录 /。类似如下:
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
在开始本教程前我们需要先知道什么是绝对路径与相对路径。
绝对路径:
路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法。
处理目录的常用命令
接下来我们就来看几个常见的处理目录的命令吧,要记住命令名称意思其实很简单,只要知道它是什么的简称即可:
ls(英文全拼:list files): 列出目录及文件名cd(英文全拼:change directory):切换目录pwd(英文全拼:print work directory):显示目前的目录mkdir(英文全拼:make directory):创建一个新的目录rmdir(英文全拼:remove directory):删除一个空的目录cp(英文全拼:copy file): 复制文件或目录rm(英文全拼:remove): 删除文件或目录mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
你可以使用 man [命令] 来查看各个命令的使用文档,所以命令的参数不用详细去记,没必要,知道有这么个命令,实际使用时查询下即可,man的用处就是这个。如 :man cp。
在Linux系统当中, ls 命令可能是最常被运行的,我个人习惯直接使用ll。这个命令比较简单,常用要掌握
语法:
[root@www ~]# ls [-aAdfFhilnrRSt] 目录名称
[root@www ~]# ls [–color={never,auto,always}] 目录名称
[root@www ~]# ls [–full-time] 目录名称
选项与参数:
将家目录下的所有文件列出来(含属性与隐藏档)
cd是Change Directory的缩写,这是用来变换工作目录的命令。
语法:
cd [相对路径或绝对路径]
示例:切换到 /home 路径下
[root@10-90-50-75-jhdxyjd home]# cd /home/[root@10-21-141-81-jhdxyjd home]# lltotal 4drwx------ 3 app app 70 Jun 13 2018 appdrwx------ 2 bigdata bigdata 59 Sep 1 18:54 bigdatadrwx------ 2 ga ga 59 Aug 17 16:13 gadrwx------ 3 logview logview 70 Feb 27 2020 logviewdrwx------ 2 mobdi_prd mobdi_prd 59 Feb 20 2021 mobdi_prddrwx------ 4 ops ops 4096 Jun 21 17:54 opsdrwx------ 2 packer packer 59 Sep 21 2017 packerdrwx------ 2 spark2 spark2 79 Aug 16 21:13 spark2d-wx------ 4 test test 107 Apr 21 19:35 testdrwx------ 2 test2 test 59 Jul 9 15:17 test2drwx------ 2 test3 test3 59 Jul 15 17:51 test3drwx------ 2 yangyuying yangyuying 59 May 11 2020 yangyuyingdrwx------ 2 zabbix zabbix 59 Nov 16 2017 zabbixdrwx------ 2 zhagjch zhagjch 59 Jan 4 2021 zhagjch[root@10-21-141-81-jhdxyjd home]# cd app[root@10-21-141-81-jhdxyjd app]# pwd/home/app[root@10-21-141-81-jhdxyjd app]# cd ..[root@10-21-141-81-jhdxyjd home]# pwd/home[root@10-21-141-81-jhdxyjd home]# cd ./bigdata/[root@10-21-141-81-jhdxyjd bigdata]# pwd/home/bigdata
这个命令没啥说的,注意cd ..,表示返回上一层,.表示当前目录,..表示上一层目录,直接cd回车 返回根/目录。比如进入当前目录的下一层目录a 就是cd ./a
如果想要创建新的目录的话,那么就使用mkdir (make directory)吧。
基础语法:
mkdir [-mp] 目录名称
选项与参数:
示例:使用绝对路径创建test目录
[root@10-90-50-75-jhdxyjd home]# mkdir /test
加了这个 -p 的选项,可以自行帮你创建多层目录!
[root@10-90-50-75-jhdxyjd home]# mkdir -p /test/test2/test3
pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。
示例:显示当前所在的目录
[root@10-90-50-75-jhdxyjd home]# pwd/home
基础语法:
rmdir [-p] 目录名称
选项与参数:
示例:删除多级目录 /test/test2/test3/(如果目录下有内容会报错)
[root@10-90-50-75-jhdxyjd home]# rmdir /test/test2/test3/
不过要注意的是
[root@10-90-50-75-jhdxyjd home]# rm -rf /test/
这个 rmdir 仅能删除空的目录,你可以使用 rm -rf 命令来强制删除非空目录。
示例:
[root@10-90-50-75-jhdxyjd home]# rm -rf /test/
rm (移除文件或目录),这个才是常用的,但要慎用。
rm [-fir] 文件或目录
选项与参数:
cp 即拷贝文件和目录。
[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[root@www ~]# cp [options] source1 source2 source3 … directory
选项与参数:
示例:用 root 身份,将 root 目录下的 .bashrc 复制到 /tmp 下,并命名为 bashrc
[root@10-90-50-75-jhdxyjd ~]# cp ~/.bashrc /tmp/bashrc
基础语法:
mv [-fiu] source destination
mv [options] source1 source2 source3 … directory
选项与参数:
示例:复制一文件,创建一目录,将文件移动到目录中
[root@10-90-50-75-jhdxyjd tmp]# cd /tmp/[root@10-90-50-75-jhdxyjd tmp]# cp ~/.bashrc bashrc[root@10-90-50-75-jhdxyjd tmp]# mkdir mvtest1[root@10-90-50-75-jhdxyjd tmp]# mv bashrc mvtest1
Linux系统中使用以下命令来查看文件的内容:
cat 由第一行开始显示文件内容tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!nl 显示的时候,顺道输出行号!more 一页一页的显示文件内容less 与 more 类似,但是比 more 更好的是,他可以往前翻页!head 只看头几行tail 只看尾巴几行你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。
基础语法:
cat [-AbEnTv]
选项与参数:
示例:查看 /etc/hosts 这个文件的内容
[root@10-90-50-75-jhdxyjd tmp]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
tac 【与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!】
示例:
[root@10-90-50-75-jhdxyjd tmp]# tac /etc/hosts::1 localhost localhost.localdomain localhost6 localhost6.localdomain6127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
基础语法:
nl [-bnw] 文件
选项与参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在荧幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
示例:用 nl 列出 /etc/hosts 的内容
[root@10-90-50-75-jhdxyjd tmp]# nl /etc/hosts 1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
在 more 这个程序的运行过程中,你有几个按键可以按的:
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
[root@10-90-50-75-jhdxyjd tmp]# more /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
less运行时可以输入的命令有:
[root@10-90-50-75-jhdxyjd tmp]# less /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6/etc/hosts (END)
head [-n number] 文件
选项与参数:
示例:默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样
[root@10-90-50-75-jhdxyjd tmp]# head -n 20 /etc/man.config## Generated automatically from man.conf.in by the# configure script.## man.conf from man-1.6f## For more information about this file, see the man pages man(1)# and man.conf(5).## This file is read by man to configure the default manpath (also used# when MANPATH contains an empty substring), to find out where the cat# pages corresponding to given man pages should be stored,# and to map each PATH element to a manpath element.# It may also record the pathname of the man binary. [This is unused.]# The format is:## MANBIN pathname# MANPATH manpath_element [corresponding_catdir]# MANPATH_MAP path_element manpath_element#
基础语法:
tail [-n number] 文件
选项与参数:
示例:默认的情况中,显示最后的十行!若要显示最后的 20 行,执行如下命令
[root@10-90-50-75-jhdxyjd tmp]# tail -n 20 /etc/man.config# Decompress with given decompressor when input file has given extension# The command given must act as a filter.#.gz /usr/bin/gunzip -c.bz2 /usr/bin/bzip2 -c -d.lzma /usr/bin/unlzma -c -d.z.Z /bin/zcat.F.Y## Enable/disable makewhatis database cron updates.# If MAKEWHATISDBUPDATES variable is uncommented# and set to n or N, cron scripts # /etc/cron.daily/makewhatis.cron# /etc/cron.weekly/makewhatis.cron# will not update makewhatis database.# Otherwise the database will be updated.# #MAKEWHATISDBUPDATES n
LInux作为更安全的操作系统,为不同的文件配置不同的文件权限进行管理,单个文件来看权限大致分为下面三种:
所有者权限:文件所有者能够进行的操作组权限:文件所属用户组能够进行的操作外部权限(其他权限):其他用户可以进行的操作。
示例:
[root@10-90-50-75-jhdxyjd tmp]# ls -l /etc/hosts-rw-r--r-- 1 root root 200 Sep 8 13:02 /etc/hosts
内容解读:
第一列就表示的是文件/etc/hosts的相关权限。
第一列的字符可以详细的列为三部分,每一部分有三个小字符组成,每个字符都代表不同的权限,r读权限、w写权限、x执行权限:
第一部分字符(2-4)表示文件所有者的权限,-rw-r–r--表示所有者拥有r读权限、w写权限。
第二部分字符(5-7)表示文件所属用户组的权限,-rw-r–r-- 表示该组拥有r读权限。
第三部分字符(8-10)表示所有其他用户的权限,-rw-r–r-- 表示其他用户只有r读取权限。
可以使用 chmod (change mode) 命令来改变文件权限。
一种是数字,一种是符号。
文件的权限字符为: -rwxrwxrwx , 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的。
示例: -rwxrwx— 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0
所以该文件的权限数字就是 770
命令语法:
chmod [-R] xyz 文件或目录
操作示例:很多人懒省事,直接都是777,所有权限都有了
[root@10-90-50-75-jhdxyjd hadoop]# chmod 770 1.txt [root@10-90-50-75-jhdxyjd hadoop]# ls -ltotal 8-rwxrwx--- 1 root root 0 Sep 8 17:33 1.txt
符号类型改变文件权限
user:用户
group:组
others:其他
那么我们就可以使用 u, g, o 来代表三种身份的权限。
示例:如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定。
操作示例:
[root@10-90-50-75-jhdxyjd hadoop]# touch test2 //创建文件[root@10-90-50-75-jhdxyjd hadoop]# ls -al test2 //查看现有权限-rw-r--r-- 1 root root 0 Sep 8 17:37 test2[root@10-90-50-75-jhdxyjd hadoop]# chmod u=rwx,g=rx,o=r test2 //更改权限[root@10-90-50-75-jhdxyjd hadoop]# ls -al test2 //查看权限-rwxr-xr-- 1 root root 0 Sep 8 17:37 test2[root@10-90-50-75-jhdxyjd hadoop]# chmod a-x test2 //去掉指定权限[root@10-90-50-75-jhdxyjd hadoop]# ls -al test2 -rw-r--r-- 1 root root 0 Sep 8 17:37 test2
这些是lunix初级入门,后面继持续更新中级,高级系列,欢迎大家关注收藏,交流。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/119778.html
摘要:中国的行业的蓬勃发展,蛋糕之大,让所有行业从业者的收入总体处于行业前列,可比拟的只有金融行业一个不创造财富,只分配财富的行业。每天收到十几份简历,却招聘不到合适的人。很多小伙伴冷门专业,普通学校,毕业了工作几年了月薪还是几千块,这就是现状。 中国的IT行业因为有人口福...
摘要:大数据运维更偏向于大数据生态的大数据应用运维。后面我们会上大数据开发课程,其实大数据开发和大数据运维课程很多跟运维课程是重叠的,只是掌握的着重点不同。因材施教,重点会针对每个小伙伴的情况,基本水平,确立职业规划,基于职业规划定制学习计划。 一.大数据运维相关答疑与概述 1.0 课程与老师介绍...
摘要:阿里云数据库提供了主从双副本主从单副本集群双副本等多样的产品供用户选择。最近阿里云又推出了的主从双副本实例,适用于缓存论坛加速数据库加速等,随着业务的发展用户还可以进一步扩容。 本文仅用于学习和交流目的,不得用于商业目的。非商业转载请注明作译者、出处,并保留本文的原始链接:http://www.ituring.com.cn/art... 访谈嘉宾: 本名郑明杭,现阿里云NoSQL数据库...
摘要:课程从基础入门开始教学,学习难度循序渐进,由浅入深,即使是零基础的学习者也可以完全能够听懂。 想要从事IT行业,但是有不想要学习编程该选择哪门技术合适呢?当然是Linux运维了。Linux是市场上非常受欢迎的技术,应用范围广泛,就业前景好,受到了很多人的喜欢。那么问题来了,Linux运维零基础可以学习吗? 在服务器市...
摘要:美团的目标很明确,那就是把万外卖小哥清理一大半,只留下三四线城市靠人工配送。现在的美团以他核心的三大业务板块,乘着大疫情时代股价飙升的东风,最高峰时期可以跟腾讯阿里这样的互联网巨头相比较。 ...
阅读 2966·2021-11-18 10:02
阅读 898·2021-10-12 10:11
阅读 1226·2021-10-12 10:08
阅读 852·2021-10-11 10:58
阅读 1027·2021-10-11 10:57
阅读 935·2021-10-08 10:04
阅读 1726·2021-09-29 09:35
阅读 581·2021-09-22 15:44