热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux笔记总结_一.常用命令

一、常用命令LINUX常用操作命令和命令行编辑快捷键终端快捷键:CtrlaHome切换到命令行开始CtrleEnd切换到命令行末尾Ctrll清除屏幕内容,效

一、 常用命令

LINUX常用操作命令和命令行编辑快捷键

终端快捷键:

Ctrl + a/Home 切换到命令行开始

Ctrl + e/End 切换到命令行末尾

Ctrl + l 清除屏幕内容,效果等同于 clear

Ctrl + u 清除剪切光标之前的内容

Ctrl + k 剪切清除光标之后的内容

Ctrl + y 粘贴刚才所删除的字符

Ctrl + r 在历史命令中查找 (这个非常好用,输入关键字就调出以前的命令了)

Ctrl + c 终止命令

ctrl + o 重复执行命令

Ctrl + d 退出 shell,logout

Ctrl + z 转入后台运行,但在当前用户退出后就会终止

Ctrl + t 颠倒光标所在处及其之前的字符位置,并将光标移动到下一个字符

Alt + t 交换当前与以前单词的位置

Alt + d 剪切光标之后的词

Ctrl+w 剪切光标所在处之前的一个词(以空格、标点等为分隔符)

Ctrl+(x u) 按住 Ctrl 的同时再先后按 x 和 u,撤销刚才的操作

Ctrl+s 锁住终端

Ctrl+q 解锁终端

!! 重复执行最后一条命令

history 显示你所有执行过的编号+历史命令。这个可以配合!编辑来执行某某命令

!$ 显示系统最近的一条参数

最后这个比较有用,比如我先用 cat /etc/sysconfig/network-scripts/ifconfig-eth0,然后我想用 vim 编辑。 一般的做法是先用↑ 显示最后一条命令,然后用 Home 移动到命令最前,删除 cat,然后再输入 vim 命 令。其实完全可以用 vim !$来代替。

 

gnome快捷键

Alt + F1 类似 Windows 下的 Win 键,在 GNOME 中打开"应用程序"菜单(Applications) Alt + F2 类似 Windows 下的 Win + R 组合键,在 GNOME 中运行应用程序

Ctrl + Alt + D 类似 Windows 下的 Win + D 组合键,显示桌面

Ctrl + Alt + L 锁定桌面并启动屏幕保护程序

Alt + Tab 同 Windows 下的 Alt + Tab 组合键,在不同程序窗口间切换 PrintScreen 全屏抓图

Alt + PrintScreen 当前窗口抓图

Ctrl + Alt + → / ← 在不同工作台间切换

Ctrl + Alt + Shift + → / ← 移动当前窗口到不同工作台 Ctrl+Alt+Fn 终端 N 或模拟终端 N(n 和 N 为数字 1-6)

 

窗口操作快捷键

Ctrl+Alt+F7 返回桌面

Alt + F4 关闭窗口

Alt + F5 取消最大化窗口 (恢复窗口原来的大小)

Alt + F7 移动窗口 (注: 在窗口最大化的状态下无效)

Alt + F8 改变窗口大小 (注: 在窗口最大化的状态下无效)

Alt + F9 最小化窗口

Alt + F10 最大化窗口

Alt + 空格键 打开窗口的控制菜单 (点击窗口左上角图标出现的菜单)

 

文件浏览器

Ctrl+N 新建窗口

Ctrl + Shift + W 关闭所有文件浏览器

Ctrl + 1/2 改变文件夹视图查看方式,图标视图/列表视图

Alt+ → / ←后退/前进

Alt + ↑/↓ 移动到父文件夹/选择的文件夹

Alt + Home 直接移动到主文件夹

F9 开关显示隐藏 Nautilus 侧边栏

Ctrl+H 显示隐藏文件(切换键)

Shift+Ctrl+N 新建文件夹, 很有用

Alt + Enter 查看选择文件/文件夹的属性,代替单击右键选择属性 Ctrl+Page Up 上一个标签

Ctrl+Page Down 下一个标签

Alt+N 切换到第 N 个标签(N 为数字)

 

关机和重启命令

Shutdown

Reboot

Halt

poweroff

 

grep和管道符

昨天的时候 leader 给我出了道问题:

找出文件夹下包含 “aaa” 同时不包含 “bbb”的文件,然后把他们重新生成一下。要求只能用一行命令。 我对 Linux 是个白痴,工作了之后才开始接触的,会用的命令只有那几个常用的。这个问题对我来说就有 点难度,我只是大概知道查找文件用 grep ,其他的就不知道了。不过没关系,用 Google ,查找到 grep 的完整用法:

1、grep -l ‘boss’ * 显示所有包含 boss 的文件名。

2、grep -n ‘boss’ file 在匹配行之前加行号。

3、grep -i ‘boss’ file 显示匹配行,boss 不区分大小写。

4、grep -v ‘boss’ file 显示所有不匹配行。

5、grep -q ‘boss’ file 找到匹配行,但不显示,但可以检查 grep 的退出状态。(0 为匹配成功)

6、grep -c ‘boss’ file 只显示匹配行数(包括 0)。

7、grep “$boss” file 扩展变量 boss 的值再执行命令。

8、ps -ef|grep “^*user1′′ 搜索 user1 的命令,即使它前面有零个或多个空格。

9、ps -e|grep -E ‘grant_server|commsvr|tcpsvr|dainfo’ 查找多个字符串的匹配(grep -E 相当于 egrep) (来源:蓝森林)

了解了 grep 的参数之后,问题就解决了一半了,因为可以搜索出符合条件的文件了。不过光有 grep 还是 不行,因为要把搜索出来的文件名作为参数传给 generate 命令。OK,接下来该管道符出场了。 即使是像我这样对 Linux 只是有一点了解的人也经常用到管道符,比如“|”,示例: ls -a | more 。但是对 于管道符的具体意义和它做了什么我就不知道了,没关系,Google 一下,找到一些资料:

利用 Linux 所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。 连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命 令的输入,依此类推。

所以查找的时候可以这样写:

grep -rl “aaa” * | grep -v “bbb”

这样右边的命令就可以从前面的结果中筛选了。然后还有 generate 命令,因为生成文件的命令格式是这 样的:

generate 文件名

不过如果直接使用 generate grep -rl “aaa” * | grep -v “bbb” 的话会出错,因为命令会从左向右执行,这条 命令就会把 grep 作为一个文件名来看待。怎么办呢?这个时候就要使用 · (键盘上数字键 1 旁边的那个符 号,和“~”在一个按键上)来做命令替换了,用 · 把后面的 grep 命令包起来就好了,这样:

generate ·grep -rl “aaa” * | grep -v “bbb”·

然后就搞定了。

工作一段时间之后,越来越喜欢 Linux 的哲学了,它有很多命令,看起来功能都不是那么强劲,但是如果 你开动脑筋把这些命令组合起来的话,就能实现 很多让你意想不到的功能,有时候你忍不住惊呼:实在 是太 coooool 了! 这对于像我这种被 Windows 的傻瓜式操作惯坏了的人来说,是个福音,以后要多多开 动生锈了的大脑。如果单纯使用电脑的话,还是 Windows 好用,但 是对于程序员,最好还是多玩玩 Linux。 BTW,现在也越来越喜欢使用 VIM 了,虽然刚开始用的时候就觉得它是个记事本~囧~~ 以前总听说“真正 的牛人编码都是用记事本编写的”,当时就觉得这些人实在太厉害了,代码提示和自动补全都不用,现在 想想,可能是外行看到他们使用灵活+强 大的 VIM 或者 EMACS 了吧。^_^

我的补充:

查找包含 logField 又包含 open 的文件:

用 grep "logFileId" *.tbc|grep "open"


推荐阅读
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • Java服务问题快速定位与解决策略全面指南 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • Python网络爬虫入门:利用urllib库进行数据抓取
    Python网络爬虫入门:利用urllib库进行数据抓取在数据科学和Web开发领域,Python凭借其简洁高效的特性成为首选语言。本文主要介绍了如何在Windows环境下使用Python的urllib库进行基本的网络数据抓取。考虑到命令行操作的不便,作者选择了Jupyter Notebook作为开发环境,不仅简化了配置过程,还提供了直观的数据处理和可视化功能。通过实例演示,读者可以轻松掌握urllib的基本用法,为深入学习网络爬虫技术打下坚实基础。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 深入解析Gradle中的Project核心组件
    在Gradle构建系统中,`Project` 是一个核心组件,扮演着至关重要的角色。通过使用 `./gradlew projects` 命令,可以清晰地列出当前项目结构中包含的所有子项目,这有助于开发者更好地理解和管理复杂的多模块项目。此外,`Project` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • Linux磁盘管理入门指南:MBR分区格式详解与安装步骤
    在 CentOS 7.x 环境下,本文详细介绍了 MBR 分区格式的基本概念及其安装步骤。实验中使用了 SAS 和 SATA 硬盘,其中 SAS 硬盘主要用于企业级应用和服务器,而 SATA 硬盘则广泛应用于个人计算机和低端服务器。文章通过具体操作示例,帮助读者更好地理解和掌握 Linux 磁盘管理的基本技能。 ... [详细]
  • 利用PaddleSharp模块在C#中实现图像文字识别功能测试
    PaddleSharp 是 PaddleInferenceCAPI 的 C# 封装库,适用于 Windows (x64)、NVIDIA GPU 和 Linux (Ubuntu 20.04) 等平台。本文详细介绍了如何使用 PaddleSharp 在 C# 环境中实现图像文字识别功能,并进行了全面的功能测试,验证了其在多种硬件配置下的稳定性和准确性。 ... [详细]
  • 深入解析零拷贝技术(Zerocopy)及其应用优势
    零拷贝技术(Zero-copy)是Netty框架中的一个关键特性,其核心在于减少数据在操作系统内核与用户空间之间的传输次数。通过避免不必要的内存复制操作,零拷贝显著提高了数据传输的效率和性能。本文将深入探讨零拷贝的工作原理及其在实际应用中的优势,包括降低CPU负载、减少内存带宽消耗以及提高系统吞吐量等方面。 ... [详细]
  • 深入解析:RKHunter与AIDE在入侵检测中的应用与优势
    本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。 ... [详细]
  • 深入解析:Android开发进阶之Vim编辑器基础操作与应用
    本文深入探讨了Android开发中使用Vim编辑器的基础操作与应用。通过详细解析Vim的基本命令、配置文件和常用插件,帮助开发者提高代码编写效率。文章还介绍了如何在Android开发环境中高效利用Vim,包括集成开发环境(IDE)的配置和常见问题的解决方法。适合初学者和有经验的开发者参考。 ... [详细]
  • 本文探讨了在PowerShell中高效管理和操作大规模内存对象的技术与实践。详细介绍了如何启用PowerShell的大内存支持功能,并提供了优化性能和减少资源消耗的具体方法。此外,还讨论了常见问题及其解决方案,旨在帮助用户在处理复杂数据集时提高效率和稳定性。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有