首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
schema
sum
io
object
scala
foreach
cSharp
regex
java
typescript
post
tags
express
hashset
vbscript
function
metadata
substring
range
buffer
rsa
eval
web
nodejs
bitmap
int
instance
blob
heatmap
vba
fetch
uml
usb
email
settings
hashcode
callback
netty
httprequest
runtime
数组
chat
php
c语言
subset
grid
text
window
node.js
frameworks
python3
yaml
bytecode
triggers
shell
actionscrip
plugins
search
future
require
cookie
keyword
string
flutter
replace
httpclient
process
command
merge
stream
testing
jsp
input
php5
timezone
golang
tree
header
erlang
当前位置:
开发笔记
>
编程语言
> 正文
死守命令行
作者:稚气忖托气质_844 | 来源:互联网 | 2017-09-29 03:23
死守命令行--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
作者:sxsloin 来源:Linux论坛
曾几何时,win用户抱怨,linux命令行界面不容易接触。那时代linux不是没有图形界面,但是,仅仅外表的相似就会引发长达多年的法律指控。
现在,linux仍旧在发展,桌面已经相对成熟,虽然法律问题不是完全消除,但是受到影响少多了,很多linux初级玩家可以很快上手图形的linux。即使是老鸟也不会抵制,毕竟图形界面有不错的地方。
但是,是否要抛弃命令行?初级linuxer很多将矛头指向相对图形界面缺乏的unix的时候,多少人发出疑问:为何要死守命令行?!
我们说说一个很奇怪的逻辑:图形界面人机交互好,图形界面简单。
首先来说,图形界面在某些任务方面,确实是高效而且简单的,但是,某些任务方面,图形界面是无能的。
因为,UNIX-like的操作系统是一款文本式驱动的操作系统,这是他的优点所在,即使是win,处理复杂任务的时候,图形界面也只是一个摆设。
图形界面消耗的是物理实体的空间,你的屏幕上需要复杂的处理问题的时候,图形界面要密密麻麻的列出一堆列表,而它的作用不过是基于某个命令的图形外壳,这个时候,图形界面的直观作用和命令行没有区别。而命令行遵循的是逻辑原则,当你需要处理某个任务的时候,命令和参数的位置决定了你执行的逻辑,这个时候图形界面无法做到。
也许有人说,对于图形界面的执行逻辑可以决定命令行的位置依赖性,并且可以在合适的地方增加更多的更直观的元素。
但是,问题是图形界面一旦达到这个地步,它的定制性能迅速下降。
既然计算机逻辑精髓在于排序和查找,我们就拿一个邮件日期举例。
无论邮电部门还是个人,对于邮件的处理是不可或缺的,假定(注意是假定!)你的电脑某个文件夹有10个邮件,邮件尾端一行是固定格式的信件日期,我们要找出x月x日(或者更复杂逻辑的)邮件。由于系统升级或者文件读写,我们都不可能通过文件本身日期来决定,只能通过内容了。
以下是两者比较:
图形界面最优逻辑解决办法:首先获得输入,确定文件位置,可以弹出一个文件浏览器,然后指定文件。这点来说做的不错。然后,按一个按钮,接着完成,看,多简单,虽然直观,那个按钮十分神秘,按钮是god,做到了一切。
命令行:恩,使用ls或者其他什么获得文件列表,用tail 1找到他们文件最尾端,用grep和正则表达式匹配,高兴的话可以再用cat之类的看看什么内容,如果更开心可以用编辑器编辑一下,如果觉得麻烦你把一切放在vi中解决也不错。额,看起来确实不方便。不过如果确定的话把他做成一个脚本,那么这个脚本和按钮是一样的。
但是,我们继续看:
如果格式不规范,那么图形界面将会跳出一个错误提示(如果设计的话),命令行更糟糕,如果没有设计将什么都没有。恩,下面是分水岭:如果你不放弃,并且知道有错误了,通过设计命令行也会给出错误提示,然后你可以通过其他命令的组合来解决这个任务。而图形界面你就要加入新的设计,但是...但是....你觉着这个简单么?可能你要修改源码,编译,再运行,呵呵,或者,你可以选择放弃。
我已经很仁慈了,并没有等同条件下测试,已经假定有专门的软件去完成这个功能,如果没有的话,你可以选择一个个打开那10个文件,这个时候看你运气,好的话你第一次打开并且看文件底端就获得正确日期了,如果不好的话,你应该庆幸我只说了10个。当然,你的这个软件只能用来处理这次的信件,如果其他问题,比如找其他东西,同样要面对百数量级的东西的时候,你需要另外的软件,如果你有无数类似的任务,那么你有无数的类似的软件去做。
或者,你说你并不需要,恩,也许,只不过,从原理来说,计算机不用排序和检索的话,那么计算机学院真的很轻松了。一切不过如此,软件是只是打包了任务解决方案,但是一旦打包,那么你只能解决一个问题。所以,图形界面带来了庞杂。
图形界面的优点就是这里:对于简单,固定逻辑流程的东西,它处理起来简单,直观,高效,所以非常适合作为应用软件的交互界面
但是这也是图形界面的缺点:对于复杂变化逻辑的东西,它处理能力低下,定制和改变不行
用unix-like你是在用系统,虽然软件可以解决不少问题,但是本来系统能解决的东西不需要软件!
你的高效和稳定来自于你的命令行,而图形界面无法解决这一个矛盾。
死守命令行,不是要抛弃图形界面,但是使用图形界面,无法抛弃命令行!如果想要自己的系统,那么还是好好学习命令行吧,学会UNIX-like,不是让你去学软件说明书,软件说明书可以随着厂家,开发人员,版本而变更,但是命令相对稳定的多。
谁都不愿做容易逝去的东西的幽灵。
linux
go
编辑器
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
int
Linux 正则表达式基础及使用注意事项
本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ...
[详细]
蜡笔小新 2023-12-13 14:24:45
int
解决Docker中volume的权限问题的方法
在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ...
[详细]
蜡笔小新 2023-12-14 18:48:02
io
学习SLAM的女生,很酷
本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ...
[详细]
蜡笔小新 2023-12-14 17:55:18
blob
数据库的存储结构及其重要性
本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ...
[详细]
蜡笔小新 2023-12-14 16:00:02
io
Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ...
[详细]
蜡笔小新 2023-12-14 10:34:15
io
Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ...
[详细]
蜡笔小新 2023-12-13 13:30:30
io
Linux如何安装Mongodb的详细步骤和注意事项
本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ...
[详细]
蜡笔小新 2023-12-12 21:54:15
web
的错误消息:
ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ...
[详细]
蜡笔小新 2023-12-13 20:28:08
eval
Perl的测试框架Test::Base简介及使用方法
本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ...
[详细]
蜡笔小新 2023-12-13 20:05:31
eval
推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ...
[详细]
蜡笔小新 2023-12-13 19:35:25
int
Oracle分析函数first_value()和last_value()的用法及原理
本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ...
[详细]
蜡笔小新 2023-12-13 19:07:23
int
解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ...
[详细]
蜡笔小新 2023-12-13 19:02:44
blob
sklearn数据集库中的常用数据集类型介绍
本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ...
[详细]
蜡笔小新 2023-12-13 17:45:15
blob
如何使用迅捷PDF编辑器给PDF文件设置全屏动画
本文介绍了使用迅捷PDF编辑器给PDF文件设置全屏动画的方法,包括安装软件、添加PDF文件、设置动画效果和页面范围等步骤,帮助用户实现PDF文件的全屏动画效果。操作简单,适用于华为全屏等设备。 ...
[详细]
蜡笔小新 2023-12-13 17:05:50
blob
PDF内容编辑的两种小方法,你知道怎么操作吗?
本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ...
[详细]
蜡笔小新 2023-12-12 19:37:50
稚气忖托气质_844
这个家伙很懒,什么也没留下!
Tags | 热门标签
schema
sum
io
object
scala
foreach
cSharp
regex
java
typescript
post
tags
express
hashset
vbscript
function
metadata
substring
range
buffer
rsa
eval
web
nodejs
bitmap
int
instance
blob
heatmap
vba
RankList | 热门文章
1
laravel的Bitpay
2
第一个AngularJS Demo(购物车)
3
Eclipse查看Servlet源代码的方法
4
【Mybatis】 Mybatis在xml文件中处理大于号小于号的方法【问题】
5
针对竞争对手营销方案(竞争对手分析用什么渠道分析)
6
劫持小偷的思想
7
not working on iphones
8
Memcached常用参数
9
函数综合应用 第三次实训报告
10
opencv::Laplance算子
11
CentOS 7搭建nexus私服仓库(含k8s部署方式)
12
管理多版本python和pip_多版本python及多版本pip使用
13
Vue_给组件绑定原生事件
14
微软正式终止win7维护,想继续使用win7,如何保障安全?
15
用友uclient客户端下载手机_萤火语音2021手机版下载_萤火语音app最新版客户端下载...
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有