如何轻松记住 Linux 命令

点击上方 "程序员小乐"关注, 星标或置顶一起成长

每天凌晨00点00分, 第一时间与你相约

每日英文

I'm proud of my heart. It's been played, burned, and broken, but it still works.

我为自己的心感到骄傲。它曾受戏弄,曾经心焦,曾遭破碎,却依然鲜活跳动。

每日掏心

前边的路还有很长很长,有好多决定等着我去做。祝愿几年之后的自己,能欣喜的回头看到一点点的进步。

来自:Linux中国 | 责编:乐乐

链接:linux.cn/article-9093-1.html

程序员小乐(ID:study_tech)第 964 次推文  图源:百度

往日回顾:别了,IE浏览器?微软正式宣布

     

   正文   

对于Linux的使用者来说,无论是菜鸟阶段还是大神阶段,往往都会对于命令行心存戒备:大量需要记忆的命令实在是令人痛苦。掌握命令是使用高效命令行工具的前提。

然而,这种痛苦的学习几乎没有捷径可走,你必须一点一点记忆、练习才行。不过天无绝人之路,在你学习的初级阶段还是有不少工具可以帮到你的忙。

history 

首先我想提名的是命令行工具 history ,使用这条命令时你可以查看你此前使用过的命令。包括使用最为广泛的Bash在内的这种Linux Shell ,都会有一个专门的文件夹来储存你输入过的命令。以 Bash 为例,这个文件通常是 /home/<username>/.bash_history。

关注公众号程序员小乐回复关键字“Java”获取Java面试题和答案。

你可以使用几乎所有文本编辑器打开这个文件来实现浏览和搜索历史操作的目的,因为这个文件是纯文本格式存储的。

apropos 

除了 history 之外,我们还有另外一个可以帮你“发现”其他命令的命令。这条命令使用之后,会根据你的搜索条件为你列出所有符合选项的命令,同时还会附带一些简短的解释。比如你忽然想知道如何将目录的内容给列出来,这时候你就可以输入下面的命令:

apropos "list directory"

这就搜索出结果了,非常直接。现在我们来测试另外一个操作,给 “directory” 加上复数。

apropos "list directories"

很不幸,这次不行了。这是为什么呢?apropos 其实就是在进行命令描述的搜索,如果你的搜索条件不匹配,那么就会出现没有结果的状况。

还有其他的用法。通过 -a 标志,你可以以更灵活的方式来增加搜索关键字。试试这条命令:

apropos "match pattern"

你会觉得应该会有一些匹配的内容出现,比如 grep 对吗? 其实不会, apropos 只会按照你的要求去搜索,只要不是完全匹配,搜索就会失败。

现在让我们试着用 -a 标志来把单词分割开来。(LCTT 译注:该选项的意思是“and”,即多个关键字都存在,但是不需要正好是连在一起的字符串。)

apropos "match" -a "pattern"

这一下,你可以看到很多期望的结果了。

关注公众号程序员小乐回复关键字“offer”获取算法面试题和答案。

apropos 是一个很棒的工具,不过你需要留意它的缺陷。

ZSH 

ZSH 其实并不是用于记忆命令的工具。它其实是一种 shell。你可以用 ZSH 来替代 Bash 作为你的命令行 shell。ZSH 包含了自动纠错机制,能在你输入命令的时候给你予提示。开启该功能后,它会提示你相近的选择。在 ZSH 中你可以像往常一样使用命令行,同时你还能享受到极度安全的网络以及其他一些非常好用的特性。充分利用 ZSH 的最简单方法就是使用 Oh-My-ZSH。

速记表 

最后,也可能是最间的方法就是使用 速记表。

有很多在线的速记表,比如这个 可以帮助你快速查询命令。

为了快速查询,你可以寻找图片格式的速记表,然后将它设置为你的桌面墙纸。

这并不是记忆命令的最好方法,但是这么做可以帮你节省在线搜索遗忘命令的时间。

在学习时依赖这些方法,最终你会发现你会越来越少地使用这些工具。没有人能够记住所有的事情,因此偶尔遗忘掉某些东西或者遇到某些没有见过的东西也很正常。这也是这些工具以及因特网存在的意义。

欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,欢迎转发分享给更多人。欢迎加入程序员小乐技术交流群,在后台回复“加群”或者“学习”即可。

猜你还想看

阿里、腾讯、百度、华为、京东最新面试题汇集

绝了!这款工具让SpringBoot不再需要Controller、Service、DAO、Mapper!

分布式之分布式事务、分布式锁、分布式Session

用 GitLab 做 CI/CD 是什么感觉,太强了!!

关注订阅号「程序员小乐」,收看更多精彩内容

嘿,你在看吗

在Android 14中,如果你想要利用PermissionX库来请求全局权限,并在SD卡根目录创建自定义文件夹,首先需要确保你已经添加了PermissionX的依赖。以下是使用PermissionX获取读写权限以及创建文件夹的基本步骤: 1. 添加PermissionX依赖到build.gradle文件(Module: app): ```groovy dependencies { implementation 'com.github.permitsx:PermissionX:latestVersion' } ``` 注意替换`latestVersion`为实际的版本号。 2. 在AndroidManifest.xml中添加权限声明: ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> ``` 3. 使用PermissionX请求权限: ```kotlin import com.permitsx.model.RequestCode import com.permitsx.model.ResultType class MainActivity : AppCompatActivity() { private lateinit var permissionX: PermissionX override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // 初始化PermissionX permissionX = PermissionX(this) // 请求读写外部存储权限 val requestCode = RequestCode.PERMISSION_WRITE_EXTERNAL_STORAGE permissionX.request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE) .thenAccept { result -> if (result == ResultType.GRANTED) { createDirectory() } else { handlePermissionDenied(requestCode) } } .catch { e -> Log.e("PermissionError", "Failed to request permissions", e) } } // 创建文件夹函数 private fun createDirectory() { val directoryPath = Environment.getExternalStorageDirectory().absolutePath + "/my_custom_folder" File(directoryPath).mkdirs() // ... 其他操作,比如检查目录是否存在、保存数据等 } // 权限被拒绝后的处理 private fun handlePermissionDenied(requestCode: Int) { Toast.makeText(this, "Storage permission denied, please retry", Toast.LENGTH_SHORT).show() startActivityForResult(PermissionX.getPermissionIntent(requestCode), requestCode) } // 监听结果回调 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) permissionX.onActivityResult(requestCode, resultCode, data) } } ``` 记得在处理权限结果的地方,也要处理用户取消请求的情况。同时,为了兼容旧版API,建议在`onCreate()`之前检查是否已经有了读写权限。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值