责任声明: 本站一切资源均原创或收集自互联网,仅作交流学习之用,请勿用作商业!如造成任何后果,本站概不负责!

Linux技能拔高,就看这5招!

Linux kevin 0评论
Linux的一些常用技巧,摘自51CTO。

< 第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 update
Reading package lists... Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /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] password for gingerbeer:
#记住,第一次需要输入密码,然后系统15分钟之内会记住你的认证。
#15分钟内,第二次使用sudo就不需要密码了。
Hit:1 http://nz.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://nz.archive.ubuntu.com/ubuntu bionic-updates InRelease
Get:3 http://nz.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Fetched 158 kB in 2s (95.6 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
5 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!当然,你也可以通过如下小窍门找找你需要的相关软件。

#示例如下: 
apt search ssh-server
Sorting... DoneFull Text Search... Doneopenssh-server/bionic,
now 1:7.6p1-4 amd64 [installed]  secure shell (SSH) server, 
for secure access from remote machines
telnetd/bionic 0.17-41 amd64  basic telnet 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/gingerbeer 
gingerbeer@Ubuntu-Desktop:~$ls -la | grep bashrc
  -rw-r--r--  1 gingerbeer gingerbeer 3771 Aug 26 17:11 .bashrc
#如何读取内容呢?
#你可以试试cat,more,less
#以less为例:  
less .bashrc
# <由于.bashrc内容太多,就不粘贴过来了,大家请自行查阅>
# .bashrc刚上面提到过,它可以预加载某些命令。

< 第4招 >  Linux 文件夹介绍

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

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

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

那Linux呢?

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

 

< 第5招 >  系统程序的地图-PATH

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

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

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

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

 

转载请超链接注明:XSpace » Linux技能拔高,就看这5招!