找回密码
 立即注册
Qt开源社区 门户 查看内容

【干货】Linux技能拔高,就看这5招了!

2019-8-15 18:34| 发布者: admin| 查看: 571| 评论: 0

摘要: 关注我,你的眼睛会怀孕挑战一下自我?看看这5招Linux拔高技能。 第1招 上帝模式的权限-sudo你要是稍微留心,就会发现在windows里面,在右键某个程序的时候,可以选择“以管理员身份运行”。其实在Linux里面,也是一 ...

关注我,你的眼睛会怀孕



挑战一下自我?看看这5招Linux拔高技能。



< 第1招 >

上帝模式的权限-sudo

你要是稍微留心,就会发现在windows里面,在右键某个程序的时候,可以选择“以管理员身份运行”。

其实在Linux里面,也是一样的原理。Linux里面,存在一个超级用户:root。root就算是开启上帝模式的账户了,你可以随意修改,删除系统文件。

但是也就因为可以随意修改系统文件,为了避免可能存在的误删除等问题。Linux就通过一个简单的路障,来做一个基本的保护。



首先每一个登陆Linux系统的人都会有一个账户,此账户能够执行常见的Linux命令,以及在此账户目录下的任何操作。

但是,若你因为某些原因需要修改系统文件,那就得通过这么一个简单的路障,来跳到root账户。那所谓的跳跃这个动作,就是sudo。

那sudo都怎么用呢?

    #第一个用法,粗暴型:直接登陆root用户gingerbeer@Ubuntu-Desktop:~$ sudo su[sudo] password for gingerbeer:root@Ubuntu-Desktop:/home/gingerbeer##通过sudo su,输入当前用户的密码,直接跳到root账户。#请看上面一行最左边,用户名原来是gingerbeer,现在改为root了。#但是这样做,有个弊端,就是安全性问题,你若不小心忘了自己是root身份以后。#有些误操作就会导致系统故障,而不像以前还有一个保护机制。
    #第二种方法,安全简洁型:#即每一次执行某个需要root权限的行为时,使用sudo。#例如,我平常是无法执行软件更新等操作,如下所示:gingerbeer@Ubuntu-Desktop:~$ apt updateReading package lists... DoneE: Could notopenlockfile /var/lib/apt/lists/lock - open (13: Permission denied)E: Unable tolockdirectory /var/lib/apt/lists/W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)gingerbeer@Ubuntu-Desktop:~$#直接告诉我,没权限。
    #采用sudo的方法就很简单,我现在只需要对apt update这个操作采用root属性。#如下所示gingerbeer@Ubuntu-Desktop:~$ sudo apt update[sudo] passwordfor gingerbeer:#记住,第一次需要输入密码,然后系统15分钟之内会记住你的认证。#15分钟内,第二次使用sudo就不需要密码了。Hit:1http://nz.archive.ubuntu.com/ubuntu bionic InReleaseHit:2http://nz.archive.ubuntu.com/ubuntu bionic-updates InReleaseGet:3http://nz.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]Get:4http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]Fetched 158 kB in2s (95.6 kB/s)Reading package lists... DoneBuilding dependency treeReading state information... Done5 packages can be upgraded. Run 'apt list --upgradable'to see them.gingerbeer@Ubuntu-Desktop:~$

    < 第2招 >

    软件安装篇apt/yum



    此处我主要介绍以Ubuntu和Debian为首的apt安装方法,而以RHEL,Centos为主的yum和apt大同小异。

    在Ubuntu中,如需要安装软件,最简单的方法就是通过apt。

    注意,在Ubuntu里面,存在两个安装软件:apt 和apt-get。不要认为你输入apt install 的时候,是执行apt-get install的简写。

    其实 他们两个是完全独立的程序,但是apt功能更丰富,简洁。你平时使用时,直接采用apt 就行了。

    apt的全名是Advanced Package Tool,高级包管理工具。说简单一点,就是个安装软件的程序。

    以下是常见的apt 使用方法:

      #常见apt使用方法:apt install xxx #安装xxx软件包#记住xxx名字一定要全,例如安装python3,不能光打一个pyth。
      apt remove xxx #卸载软件包apt update#根据sources.list提供的源来检查更新。#功能类似于windows的检查更新,但是只限于检查,不做更新操作。#当检查完以后,Ubuntu就知道哪些软件可以被更新了。#此时再执行真正的更新操作:apt upgrade#看清楚哦,一个是update,另外一个是upgrade。

      你可能会问,我是如何知道ssh的服务器软件名字是openssh-server?

      我刚开始学些也不知道,别忘了还有百度和google!当然,你也可以通过如下小窍门找找你需要的相关软件。

        #示例如下:gingerbeer@Ubuntu-Desktop:~$ apt search ssh-serverSorting...DoneFullText Search... Doneopenssh-server/bionic,now1:7.6p1-4 amd64 [installed]secureshell (SSH) server, for secure access from remote machines
        telnetd/bionic0.17-41 amd64basictelnet server
        #通过apt search功能,你可以通过部分关键字查找你要的软件。#当然,有些关键字返回的内容可能很多,例如你要是做apt search python。#你就等着翻页吧。

        在以红帽为首的RHEL和Centos里面,包管理工具则是YUM。yum的全名是:Yellowdog Updater, Modified

        和Ubuntu的apt类似,yum也存在如下几个常见命令:

          #常用yum使用方法:yum check-update#检查是否有新的更新包yum update#根据上面的检查结果做更新。yum install xxx #安装xxx软件。yum remove xxx #删除xxx软件。yum search xxx #搜索某个xxx关键字的软件包。

          < 第3招 >


          .bashrc



          .bashrc,是每一个用户目录下单独存在的一个系统文件。请注意,前面的点(.)是必须存在的,不是随便打上去的。

          当你通过各种方法登陆Linux系统时,上面说过的bash shell就会运行。而在bash shell里面.bashrc就定义了基本的shell参数。

          同时,记住这句话,同时.bashrc可以放置某些命令,从而实现你登陆时候就执行的功能。

          让我们来看看文件内容:

            示例如下:#还记不记得ls -a的参数可以查看隐藏文件,#如下所示:#记住,一定要在你的用户目录下:gingerbeer@Ubuntu-Desktop:~$ pwd/home/gingerbeergingerbeer@Ubuntu-Desktop:~$ ls -la | grep bashrc-rw-r--r-- 1 gingerbeer gingerbeer 3771 Aug 2617:11 .bashrc#如何读取内容呢?#你可以试试cat,more,less#以less为例:gingerbeer@Ubuntu-Desktop:~$ less .bashrc<由于.bashrc内容太多,就不粘贴过来了,大家请自行查阅>
            .bashrc刚上面提到过,它可以预加载某些命令。

            此处我想实现一个功能:

              平时ssh 一堆设备,是这样做的:ssh 1.1.1.1-lgingerbeerssh 2.2.2.2-lgingerbeersshxxxx
              很繁琐,我可以不可以把它简化掉?成这样:输入A,就自动ssh 1.1.1.1输入B,就自动ssh 2.2.2.2?

              < 第4招 >

              Linux 文件夹介绍



              无论是上面这个/bin 文件夹也好,还是你日常接触的/etc/也好,/var/等文件夹也好。

              大家都会有一个相同的问题,他们都是干什么的?

              就好比windows,你知道C盘里面的Windows文件夹全是系统文件。Program Files 是程序文件,用户文件夹里面的全是各个用户的文件。

              那Linux呢?

                #此处就给大家简单介绍一下常见的文件夹功能:/ #不用说,根文件夹,一切文件的源头。/root #root账户的文件夹。/home/ #其他用户所在的文件夹,例如/home/gingerbeer//usr/ #这里相当于Windows的用户文件夹,里面可以存放你自定义的软件。#注意:这里说明一下,/usr/下也有bin和sbin.#它和下面即将要是的两个文件夹是重复的。#但是,既然放在/usr下,就是告诉你,请把你自定义开发的程序放到此处。gingerbeer@Ubuntu-Desktop:/bin$ ls /usr/bin games include lib local sbin share srcgingerbeer@Ubuntu-Desktop:/bin$
                /bin #Linux的系统常用程序,例如刚看的ls,chmod,cp等。/sbin #这个不是bin的SB版,而是指系统工具。类似磁盘工具等。/etc #各种系统配置文件,例如网络的配置文件,用户名,密码等。/var #这里存放了经常产生和文件,例如syslog等。/tmp #不用说,临时文件夹。

                < 第5招 >

                系统程序的地图-PATH



                Linux在全局维护了一个叫做PATH的路径表,里面有Linux软件的常见目录。



                当用户执行某个命令的时候,Linux就去这些预定义的目录里面一个个的找,找到了就给你执行。

                让我们一起看看这个PATH的真身吧:

                  #查看真身,你还得用shell命令格式,辅以echo这个print功能:#记住,美元符号一定要,shell命令格式哦。gingerbeer@Ubuntu-Desktop:~$ echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bingingerbeer@Ubuntu-Desktop:~$#看到了么,里面有很多目录路径,每一个路径被一个:冒号隔开。#仔细一看,这都是我们上面讨论过的各种bin目录。
                  #顺便,再给你演示一个更简单的方法 env#env全名为全局环境变量#通过env,你可以看出整个Linux的所有各种预定义的环境变量。#其中就有我们需要的PATH,静静的躺在那里。gingerbeer@Ubuntu-Desktop:~$ env<无关配置被省略>TERM=xtermSHELL=/bin/bashSHLVL=1LOGNAME=gingerbeer<无关配置被省略>PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin<无关配置被省略>gingerbeer@Ubuntu-Desktop:~$
                  #env貌似是个执行命令,那它在哪?#来一把whichgingerbeer@Ubuntu-Desktop:~$ which env/usr/bin/envgingerbeer@Ubuntu-Desktop:~$#哦也,找到了,/usr/bin/env。
                  作者:姜汁啤酒

                  来源:51CTO公众号

                  年度热文




                  【必看】一次心惊肉跳的服务器入侵排查....

                  【必看】IT行业常用专业术语,你get到了吗?

                  【必看】网络工程师技能图谱,这些你都会吗?

                  【干货】服务器性能优化的8种常用方法

                  【干货】网工常见面试题集锦(一)

                  【收藏】网工常见面试题集锦(二)

                  【必看】这些Linux命令能解决95%以上的问题

                  【必看】超全Linux工作规划线路图

                  【必看】网工面试必答问题,看完OFFER轻松拿

                  【干货】华为交换机端口vlan详解

                  【干货】什么样的网络需要划分VLAN?

                  【干货】组播原理协议讲解

                  【收藏】网络故障处理手册大全,看完再也不怕出问题了

                  【喜报】RHCE又过12人,有时候选择比努力更重要

                  【基础】你知道什么是DAS,NAS,SAN吗?

                  【必看】这五点是局域网IP地址冲突、环路的罪魁祸首

                  【必看】VMware NSX-网络虚拟化入门知识大全

                  【干货】Linux运维修炼心经

                  【干货】Oracle菜鸟必看的9个学习方向

                  【干货】这11三张网络安全思维导图,我就看了20遍而已





                  “微思网络”成立于2002年,是厦门知名的IT培训认证机构和系统集成商,主要从事思科CCIE、CCNP、CCNA、 Redhat RHCE、Oracle OCP、VMware VCP、微软MCSA等国际IT认证培训及考试,从事系统集成、解决方案、软硬件销售、IT外包服务等相关业务。

                  咨询热线:0592-2236681

                  微思官网:http://www.xmws.cn



                  一言不合就给我好看




                  ----------------------------------------------------------------------------------------------------------------------
                  我们尊重原创,也注重分享,文章来源于微信公众号:厦门微思网络,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
                  ----------------------------------------------------------------------------------------------------------------------

                  鲜花

                  握手

                  雷人

                  路过

                  鸡蛋
                  
                  公告
                  可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了