让linux好用起来--操作使用技巧

让linux好用起来--操作使用技巧

1   概述

在一个初学者眼里,linux的 CLI 界面没有图形界面那样多彩和友好,会让人产生畏难心理,但是作为一个稍微进阶的linux玩家,自然会积累不少经验和技巧,来让linux越来越好用,越来越顺手,甚至会发出“摆脱了图形界面的束缚,整个人都更自由了”的感慨。

当然,我们所说的越来越好用,是有限定的领域内:

  • 网络请求
  • 文件切换
  • 命令执行
  • 程序开发

如果您不是开发人员,此文可能并不适合您阅读了。

2   设置环境变量

环境变量,故名思议,就是为当前操作系统环境设置一些和环境想着的变量,从系统执行命令时进行统一的值调用。

在Linux系统中,有很多种方式设计环境变量,分别出现在不同的使用场合。

2.1   etc目录

例如,/etc目录下的文件

  • /etc/profile
  • /etc/environment

此目录里面的设置是针对本机的所有用户做的设置,在用户登录之后,会先加载此处的环境变量,如果用户目录中(下文将提到)也有环境变量的设置,则用户目录的设置会覆盖掉此处的设置。

一般情况下,为了保证用户设置环境之间互不干扰,都建议尽量将环境变量设置在用户目录下面。

2.2   用户目录

用户目录下面,主要的和环境变量设置相关的文件有:

  • .profile文件

    用户登录时加载,而且仅在登录事件时加载一次

  • .bash_rc

    每次启动bash shell时都会运行一次

为了保证用户配置数据的独立性,一般情况下,环境会设置在用户目录的 .profile 文件中。

例如,将下面的内容写入到 .profile 文件中:

export w=$HOME/work/workspace
export droot=$HOME/dev-tools
export p=$HOME/pyvenv/bin

然后通过选择以下任意一种方法使此环境变量生效:

  1. 注销后,重新登录。此时会执行一次.profile文件。
  2. 直接在终端里执行 source .profile 即可。

将常用的高频目录通过如上方式加入到环境变量,然后在应用了此环境变量的终端中就可以实现快速地切换工作目录了。

比如,如果我要快速切换到工作目录中,在没有设置环境变量前,需要执行如下操作:

cd /home/harmo/work/workspace

而设置环境变量之后:

cd $w

瞬间感觉轻松了好多,不用再记那么长的一串目录了。

作为一个python开发人员,一般常用的工作目录有:

  • 代码存放目录
  • 开发IDE目录
  • python虚拟环境目录

正如前面设置的那样,可以省去很多不必要的操作。

3   设置本地域名解析

在linux的文件系统里面,有这样一个文件:

  • /etc/hosts

此文件属于本地静态域名映射表,即在linux系统中访问某域名时,会优先采用此文件的解析方式,然后再参考更下游的DNS服务器节点。

(pyvenv) ?  ~ cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

119.14.121.48 web_server
119.14.121.42 database_server
119.14.121.40 nginx_server

对于一个经常要和各种服务器打交道的开发人员来说,可以不必花脑力去记住各种服务器的IP,而是通过容易记忆的名称来给IP标记成别名,即DNS的功能。

比如,如果要远程登录到Web服务器,在设置hosts之前 ,需要执行如下命令:

ssh [email protected]119.14.121.48

而经过以上设置之后,只需要执行下面的操作:

ssh [email protected]_server

可能一台服务器的登录并没有显示出此方式的 奇技淫巧,但是只要服务器数量增加后,比如到10台,记忆10台机器的名称应该比记忆10个数字IP要容易得多吧,因为你标记的别名会引起你的联想,但是IP则不会。

4   使用ssh-key认证身份

说到ssh,对于linux环境下的开发人员来说,并不陌生。一般情况下,使用频率最高的来自于如下两个场景:

  • 远程服务器登录操作身份认证
  • git代码服务器身份认证

这两种使用场景都需要 身份认证 ,传统的方式都是直接输入密码,此方式的缺点是:

  • 输入过程繁琐
  • 需要用户记忆密码
  • 密码可能会被截获

而使用ssh-key则使用一组 公钥/私钥 来的加密串来进行身份认证。

生成方法如下:

(pyvenv) ?  ~ ssh-keygen -C [email protected]
Generating public/private rsa key pair.
Enter file in which to save the key (/home/harmo/.ssh/id_rsa):

根据向导完成后续的设置,会在本机生成一组文件:

-rw-------  1 harmo  staff   1.6K  1 25 16:26 id_rsa
-rw-------  1 harmo  staff   401B  1 25 16:26 id_rsa.pub

其中:

  • id_rsa 私钥
  • id_rsa.pub 公钥

这组文件直接存放在本机,只要将公钥信息复制到相应的服务器,设置为信任公钥即可。

后续的过程中,客户机和服务器之间的身份认证则自动通过ssh-key进行认证,不再需要用户输入甚至记忆密码了。

虽然对于免密码输入还有一些别的技术解决方案,例如:

  • sshpass
  • .netrc

但是它们的缺点是:仍然需要把账号和密码明文保存在本机。这样会存在这样的危险:只要本机被hack,这些明文直接会丢失,造成的影响也远比ssh-key丢失要严重。

5   小结

关于Linux,上面所说的那些可能有些奇技淫巧,但是不可否认,掌握这些小技能之后,确实能够让系统用起来得心应手,越来越体会到Linux的妙处。


作者: Harmo哈莫
作者介绍: https://zhengwh.github.io
技术博客: http://www.cnblogs.com/beer
Email: [email protected]
QQ: 1295351490
时间: 2016-02
版权声明: 欢迎以学习交流为目的读者随意转载,但是请 【注明出处】
支持本文: 如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】
时间: 2024-10-09 03:18:06

让linux好用起来--操作使用技巧的相关文章

linux shell 数组建立及使用技巧

转自linux shell 数组建立及使用技巧 linux shell在编程方面比windows 批处理强大太多,无论是在循环.运算.已经数据类型方面都是不能比较的. 下面是个人在使用时候,对它在数组方面一些操作进行的总结. 1.数组定义 [[email protected] ~]$ a=(1 2 3 4 5)[[email protected] ~]$ echo $a1 一对括号表示是数组,数组元素用“空格”符号分割开. 2.数组读取与赋值 得到长度: [[email protected] ~

linux下的安全操作

Linux下的安全操作,使用前要备份 Cd /etc/yum.repos.d/ Ls 改名 cp Centos-Base.repo Centos-Base.repo.ori Ori代表的原始文件 Wget(获取网址下载) :http://...../Centos-Base-163.repo Ls 替换原来的Base Cp CentOS-Base-163.repo CentOS-Base.repo 替换原来的Base Yum grouplist 查看包组,装了那些包 SELINUX是美国安全局对于

Linux用户层直接操作GPIO

Linux用户层直接操作GPIO 在一个老手的指导下,应用层可以直接操作GPIO,具体指设置GPIO的输入输出以及输出电平高或者低.这个大大地提高了灵活性,官方的文档有GPIO Sysfs Interface for Userspace,GPIO Sysfs. 这里我记录一下使用过例子: # RK30_PIN0_PD4 # A0-7 -> 0-7 / B0-7 -> 8-15 / C0-7 -> 16-23 / D0-7 -> 24-31 echo 28 > /sys/cla

linux学习(2)文件操作

pwd 显示当前目录 touch 创建空白文件或者更新已有文件的时间 .开头的文件为隐藏文件 列出目录内容 ls -a 显示所有文件 包括隐藏文件 ls -r 显示详细信息 ls -R 显示子目录的结构 ls -ld显示目录和链接的信息 file查看文件的类型 cd 切换目录 复制 cp 源文件 目标文件(目录) 复制文件夹 cp -r 源文件夹 目标文件夹 显示复制的详细信息 cp -v 移动 mv 文件 目标目录 移动并且修改文件名 mv 文件 目标目录/文件名 重命名 mv 文件 文件名

短线选股操作常用技巧

股票短线通常是指在一个星期或两个时期以内的时期,股票投资者只想赚取短期差价收益,而不去关注股票的基本情况,主要依据技术图表分析.一般的投资者做短线通常都是以两三天为限,一旦没有差价可赚或股价下跌,就平仓一走了之,再去买其他股票做短线.作为短线炒股,选股很重要,因为短线讲究的是一个快,快进快出,绝不拖延,频率较快,不同于长线的价值投资,所以换股会比较频繁,这种情况下选股就比较讲究. 一.短线选股操作常用技巧 1.首选短期热点龙头股 短线操作的对象就是要选择被市场广泛关注,而大部分人还在犹豫而不敢介

Linux awk命令简单操作

AWK Command: 一 : print print item1,item2,.......... 要点: 1.各项目之间使用逗号隔开,而输入时则以空白字符分隔 2.输出的item可以为字符串或树枝,当前记录的字段(如$1).变来那个或awk的表达式,树枝会转换成字符串 3.print命令后面的item可以省略,此时其功能相当于print $0,以此,如果想输出空白行,则需要print "" 例子: 1.awk 'BEGIN { pring "line one\n lin

VS 2010 C#入门操作小技巧

*推荐C#入门教学视频(http://www.51xue8.com/e/DownSys/play/?classid=27&id=6719&pathid=3&jishu=17) VS 2010 C#入门操作小技巧 1.认识VS2010:阅读技术文档或者教学视频对入门帮助很大! (1)添加类库 点击解决方案名称(如12.demo)右键->添加->类->更改类名 (2)利用控件设计界面 常用控件:button/label/textbox/combobox: 具体控件用途

linux下硬盘的操作

linux的磁盘管理:他的目录和磁盘分区相互独立,用挂载相互关联,卸载取消关联. 1.fdisk fdisk -l     用来列出来我们硬盘的分区情况 fdisk /dev/sda 用来管理sda硬盘,比如说增.删等等操作,具体的可以用fdisk -m 来查看命令 2.mkfs 用来格式化分区,或者说是给分区格式化他的文件系统.用命令 ls /sbin/mkfs* 可以查看我们有那些可以使用的文件系统. 比如用命令  mkfs -t ext4 /dev/ext4   就可以给相应的分区make

3)Linux程序设计入门--文件操作

3)Linux程序设计入门--文件操作 Linux下文件的操作 前言: 我们在这一节将要讨论linux下文件操作的各个函数. 文件的创建和读写 文件的各个属性 目录文件的操作 管道文件 1.文件的创建和读写 我假设你已经知道了标准级的文件操作的各个函数(fopen,fread,fwrite等等).当然 如果你不清楚的话也不要着急.我们讨论的系统级的文件操作实际上是为标准级文件操作 服务的. 当我们需要打开一个文件进行读写操作的时候,我们可以使用系统调用函数open.使用完 成以后我们调用另外一个