linux命令行是有,Linux命令行技巧-程序员宅基地

技术标签: linux命令行是有  

学习啦小编将和大家分享一些学习Linux命令行的技巧,希望能对大家有所助益。如果在本文中遇到不太熟悉的命令,可以在终端中键入以下命令寻求帮助。下面跟着学习啦小编一起来了解一下吧。

Linux命令行技巧

这篇文章希望向你展示一些不需要很高的技术就可以像一个高手一样使用 Linux 终端的有用技巧。你只需要一个 Linux 终端和一些自由时间来体会这些命令。

1. 找到正确的命令

执行正确的命令对你的系统来说非常重要。然而在 Linux 中有如此多的、难以记忆的各种的命令行。那么怎样才能找到你需要的正确命令呢?答案是 apropos。你只需要运行:

# apropos

其中你要用真正描述你要查找的命令的语句代替 “description”。这里有一个例子:

# apropos "list directory"

dir(1)-list directory contents

ls(1)-list directory contents

ntfsls (8)-list directory contents on an NTFS filesystem

vdir (1)-list directory contents

左边你看到的是命令,右边是它们的描述。

2. 执行之前的命令

很多时候你需要一遍又一遍执行相同的命令。尽管你可以重复按你键盘上的向上光标键,但你也可以用 history 命令替代。这个命令会列出自从你上次启动终端以来所有输入过的命令:

# history

1fdisk-l

2apt-get install gnome-paint

3hostname tecmint.com

4hostnamectl tecmint.com

5manhostnamectl

6hostnamectl--set-hostname tecmint.com

7hostnamectl-set-hostname tecmint.com

8hostnamectlset-hostname tecmint.com

9mount-t "ntfs"-o

10fdisk-l

11mount-t ntfs-3g/dev/sda5 /mnt

12mount-t rw ntfs-3g/dev/sda5 /mnt

13mount-t -rw ntfs-3g/dev/sda5 /mnt

14mount-t ntfs-3g/dev/sda5 /mnt

15mountman

16manmount

17mount-t -o ntfs-3g/dev/sda5 /mnt

18mount-o ntfs-3g/dev/sda5 /mnt

19mount-ro ntfs-3g/dev/sda5 /mnt

20cd/mnt

...

正如你上面看到的,你会得到一个你运行过的命令的列表。每一行中有一个数字表示你在第几行输入了命令。你可以通过以下方法重新调用该命令:

!#

其中要用命令的实际编号代替 #。为了更好的理解,请看下面的例子:

!501

等价于:

# history

3. 使用 midnight 命令

如果你不习惯使用类似 cd、cp、mv、rm 等命令,你可以使用 midnight 命令。它是一个简单的可视化 shell,你可以在上面使用鼠标:

e32a2c9abf0b45f7bee41581cc23bfdd.png

Midnight 命令

借助 F1 到 F12 键,你可以轻易地执行不同任务。只需要在底部选择对应的命令。要选择文件或者目录,按下 “Insert” 键。

简而言之 midnight 就是所谓的 “mc”。要安装 mc,只需要运行:

$ sudoapt-get install mc [OnDebian based systems]

#yum install mc [OnFedora based systems]

下面是一个使用 midnight 命令器的简单例子。通过输入以下命令打开 mc:

# mc

现在使用 TAB 键选择不同的窗口 - 左和右。我有一个想要移动到 “Software” 目录的 LibreOffice 文件:

406c736ce231e569660567e4dff6617e.png

Midnight 命令移动文件

按 F6 按钮移动文件��新的目录。MC 会请求你确认:

a377f7f78cc7f348bd70f9d2b4d87b38.png

移动文件到新目录

确认了之后,文件就会被移动到新的目标目录。

扩展阅读:如何在 Linux 中使用 Midnight 命令文件管理器

4. 在指定时间关闭计算机

有时候你需要在下班几个小时后再关闭计算机。你可以通过使用下面的命令在指定时间关闭你的计算机:

$ sudoshutdown21:00

这会告诉你在你指定的时间关闭计算机。你也可以告诉系统在指定分钟后关闭:

$ sudoshutdown+15

这表示计算机会在 15 分钟后关闭。

5. 显示已知用户的信息

你可以使用一个简单的命令列出你 Linux 系统的用户以及一些关于它们的基本信息。

# lslogins

这会输出下面的结果:

UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS

0 root 00Apr29/11:35 root

1 bin 01 bin

2 daemon 01 daemon

3 adm 01 adm

4lp01lp

5sync01sync

6shutdown01Jul19/10:04shutdown

7halt01halt

8 mail 01 mail

10 uucp 01 uucp

11operator01operator

12 games 01 games

13 gopher 01 gopher

14 ftp 01 FTP User

23 squid 01

25 named 01Named

27 mysql 01MySQLServer

47 mailnull 01

48 apache 01Apache

...

6. 查找文件

查找文件有时候并不像你想象的那么简单。一个搜索文件的好例子是:

#find/home/user -type f

这个命令会搜索 /home/user 目录下的所有文件。find 命令真的很强大,你可以传递更多选项给它使得你的搜索更加详细。如果你想搜索超过特定大小的文件,可以使用:

#find.-type f -size10M

上面的命令会搜索当前目录中所有大于 10M 的文件。确保不要在你 Linux 系统的根目录运行该命令,因为这可能导致你的机器 I/O 瓶颈。

我最经常和 find 命令一起使用的选项之一是 “exec”,这允许你对 find 命令的结果运行一些操作。

例如,假如我们想查找一个目录中的所有文件并更改权限。可以通过以下简单命令完成:

#find/home/user/files/-type f -execchmod644{} \;

上面的命令会递归搜索指定目录内的所有文件,并对找到的文件执行 chmod 命令。

7. 用一个命令创建目录树

你很可能知道可以使用 mkdir 命令创建新的目录。因此如果你想创建一个新的目录,你可能会运行:

#mkdir new_folder

但如果你想在该目录下创建 5 个子目录呢?运行 5 次 mkdir 命令并非是一个好的选择。相反你可以类似下面这样使用 -p 选项:

#mkdir-p new_folder/{folder_1,folder_2,folder_3,folder_4,folder_5}

最后你会在 new_folder 中有 5 个目录:

#ls new_folder/

folder_1 folder_2 folder_3 folder_4 folder_5

8. 复制文件到多个目录

通常使用 cp 命令进行文件复制。复制文件通常看起来类似:

#cp/path-to-file/my_file.txt /path-to-new-directory/

现在假设你需要复制该文件到多个目录:

#cp/home/user/my_file.txt /home/user/1

#cp/home/user/my_file.txt /home/user/2

#cp/home/user/my_file.txt /home/user/3

这有点荒唐。相反,你可以用简单的一行命令解决问题:

#echo/home/user/1/ /home/user/2/ /home/user/3/|xargs-n 1cp/home/user/my_file.txt

9. 删除大文件

有时候文件可能会变得很大。我看过由于缺乏管理技能一个日志文件就超过 250G 的例子。用 rm 命令可能不足以删除该文件,因为有大量的数据需要移除。应该避免这个很“笨重”的操作。相反,你可以使用一个简单的方法解决这个问题:

#>/path-to-file/huge_file.log

当然你需要根据你实际情况替换路径和文件名。上面的命令写一个空输出到该文件。用更简单的话说它会清空文件而不会导致你的系统产生大的 I/O 消耗。

10. 在多个 Linux 服务器上运行相同命令

最近我们的一个读者在 LinuxSay 论坛提问说如何通过 ssh 在多个 Linux 服务器上执行一个命令。他机器的 IP 地址是:

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

10.0.0.5

这里有一个简单的解决方法。将服务器的 IP 地址写到文件 list.txt 中,像上面那样一行一个。然后运行:

#forin $i(catlist.txt);dossh user@$i 'bash command';done

上面的命令中你需要用实际登录的用户替换 “user”,用你希望执行的实际命令替换 “bash command”。这个方法非常适用于通过使用 SSH 密钥进行无密码验证,因为这样你不需要每次都为用户输入密码。

注意取决于你 Linux 系统的设置,你可能还需要传递一些额外的参数给 SSH 命令。

总结

上面的例子都很简单,我希望它们能帮助你发现 Linux 的优美之处,你如何能简单实现在其它操作系统上需要更多时间的不同操作。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42524013/article/details/116556956

智能推荐

BAT批处理创建文件桌面快捷方式_批处理创建桌面快捷方式-程序员宅基地

文章浏览阅读1.5w次,点赞9次,收藏26次。简介一个创建某个文件到桌面快捷方式的BAT批处理.代码@echooff::设置程序或文件的完整路径(必选)setProgram=D:\Program Files (x86)\格式工厂.4.2.0\FormatFactory.exe::设置快捷方式名称(必选)setLnkName=格式工厂v4.2.0::设置程序的工作路径,一般为程序主目录,此项若留空,脚本将..._批处理创建桌面快捷方式

射频识别技术漫谈(6-10)_芯片 ttf模式-程序员宅基地

文章浏览阅读2k次。射频识别技术漫谈(6-10),概述RFID的通讯协议;射频ID卡的原理与实现,数据的传输与解码;介绍动物标签属性与数据传输;RFID识别号的变化等_芯片 ttf模式

Python 项目实战 —— 手把手教你使用 Django 框架实现支付宝付款_django 对接支付宝接口流程-程序员宅基地

文章浏览阅读1.1k次。今天小编心血来潮,为大家带来一个很有趣的项目,那就是使用 Python web 框架 Django 来实现支付宝支付,废话不多说,一起来看看如何实现吧。_django 对接支付宝接口流程

Zabbix 5.0 LTS在清理历史数据后最新数据不更新_zabbix问题没有更新-程序员宅基地

文章浏览阅读842次。Zabbix 5.0 LTS,跑了一年多了一直很稳定,前两天空间显示快满了,于是手贱清理了一下history_uint表(使用mysql truncate),结果折腾了一周。大概故障如下:然后zabbix论坛、各种群问了好久都没解决,最后自己一番折腾似乎搞定了。初步怀疑,应该是由于历史数据被清空后,zabbix需要去处理数据,但是数据量太大,跑不过来,所以来不及更新了(?)..._zabbix问题没有更新

python学习历程_基础知识(2day)-程序员宅基地

文章浏览阅读296次。一、数据结构之字典 key-value

mybatis-plus字段策略注解strategy_mybatisplus strategy-程序员宅基地

文章浏览阅读9.7k次,点赞3次,收藏13次。最近项目中遇到一个问题,是关于mybatis-plus的字段注解策略,记录一下。1问题调用了A组件(基础组件),来更新自身组件的数据,发现自己组件有个字段总是被清空。2原因分析调用的A组件的字段,属于基础字段,自己业务组件,对这个基础字段做了扩展,增加了业务字段。但是在自己的组件中的实体注解上,有一个注解使用错误。mybatis-plus封装的updateById方法,如果..._mybatisplus strategy

随便推点

信息检索笔记-索引构建_为某一文档及集构件词项索引时,可使用哪些索引构建方法-程序员宅基地

文章浏览阅读3.8k次。如何构建倒排索引,我们将这个过程叫做“索引构建”。如果我们的文档很多,这样索引就一次性装不下内存,该如何构建。硬件的限制 我们知道ram读写是随机的操作,只要输入相应的地址单元就能瞬间将数据读出来或者写进去。但是磁盘不行,磁盘必须有一个寻道的过程,外加一个旋转时间。那么只有涉及到磁盘,我们就可以考虑怎么节省I/O操作时间。【注】操作系统往往以数据块为单位进行读写。因为读一_为某一文档及集构件词项索引时,可使用哪些索引构建方法

IT巨头英特尔看好中国市场前景-程序员宅基地

文章浏览阅读836次。英特尔技术与制造事业部副总裁卞成刚7日在财富论坛间隙接受中新社记者采访时表示,该公司看好中国市场前景,扎根中国并以此走向世界是目前最重要的战略之一。卞成刚说,目前该公司正面临战略转型,即从传统PC服务领域扩展至所有智能设施领域,特别是移动终端。而中国目前正引领全球手机市场,预计未来手机、平板电脑等方面的发明创新将大量在中国市场涌现,并推向全球。持相同态度的还有英特尔中国区执行董事戈峻。戈峻

ceph中的radosgw相关总结_radosgw -c-程序员宅基地

文章浏览阅读627次。https://blog.csdn.net/zrs19800702/article/details/53101213http://blog.csdn.net/lzw06061139/article/details/51445311https://my.oschina.net/linuxhunter/blog/654080rgw 概述Ceph 通过radosgw提供RES..._radosgw -c

前端数据可视化ECharts使用指南——制作时间序列数据的可视化曲线_echarts 时间序列-程序员宅基地

文章浏览阅读3.7k次,点赞6次,收藏9次。我为什么选择ECharts ? 本周学校课程设计,原本随机佛系选了一个51单片机来做音乐播放器,结果在粗略玩了CN-DBpedia两天后才回过神,课设还没有开始整。于是懒癌发作,碍于身上还有比赛的作品没交,本菜鸡对硬件也没啥天赋,所以就直接把题目切换成软件方面的题目。写python的同学选择了一个时间序列数据的可视化曲线程序设计题目,果真python在数据可视化这一点性能很优秀。..._echarts 时间序列

ApplicationEventPublisherAware事件发布-程序员宅基地

文章浏览阅读1.6k次。事件类:/** * *   * @className: EarlyWarnPublishEvent *   * @description:数据风险预警发布事件 *   * @param: *   * @return: *   * @throws: *   * @author: lizz *   * @date: 2020/05/06 15:31 * */public cl..._applicationeventpublisheraware

自定义View实现仿朋友圈的图片查看器,缩放、双击、移动、回弹、下滑退出及动画等_imageview图片边界回弹-程序员宅基地

文章浏览阅读1.2k次。如需转载请注明出处!点击小图片转到图片查看的页面在Android开发中很常用到,抱着学习和分享的心态,在这里写下自己自定义的一个ImageView,可以实现类似微信朋友圈中查看图片的功能和效果。主要功能需求:1.缩放限制:自由缩放,有最大和最小的缩放限制 2居中显示:.若图片没充满整个ImageView,则缩放过程将图片居中 3.双击缩放:根据当前缩放的状态,双击放大两倍或缩小到原来 4.单指_imageview图片边界回弹