专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
相关文章推荐
InfoQ架构头条  ·  Java 社区的一次十亿行数据编程挑战 ·  2 天前  
51好读  ›  专栏  ›  马哥Linux运维

别不信!掌握好这23个Linux命令常用项,可加薪30%

马哥Linux运维  · 公众号  · 运维  · 2017-07-07 08:10

正文

本文转载自博客园,作者为 星火燎原智勇,感谢作者的辛苦付出。

运维工程师(Operations)在国内又称为运维开发工程师(Devops),在国外称为 SRE(SiteReliability Engineering)。负责维护并确保整个服务的高可用性,同时不断优化系统架构、提升部署效率、优化资源利用率提高整体的ROI。

作为工作几年的Linux运维老司机,总结了Linux命令行的常用的一些用法,希望对您有所收获。

1. 搜索

在vi和vim中如果打开一个很大的文件,不容易找到对应的内容,可以使用自带的搜索关键字进行搜索定位:

在vi和vim界面中输入:"/"(反斜杠),之后会出现一个输入框让你输入,当你输入的关键字在文件中存在就会以高亮的形式显示出来,之后按 回车 就确定定位到当前高亮位置,如果不是你要找的,则可以按: "n", 意即寻找下一个输入关键字的内容。

2. vim恢复以及乱码问题

(1) 在vi和vim中如果不小心误删除了一些东西,想要恢复怎么办?

首先要退出编辑状态,即按 Esc键 ,之后再按 u 撤销之前的修改的内容。

(2) 在用vi或vim打开一个文件的时候,如果有些地方出现一些特殊符号或是乱码,可以通过以下命令尝试:

vim -b mytest.php(其中-b一般是用来查看对应的二进制文件的)

3. 管道命令,即竖杠-->'|'

上面的意思是:将查询出来的内容交给管道后面的命令装饰之后再展示出来

例如:cat install.log | more (more的意思是将一屏放不下的内容以分页的形式显示)

ls -l /etc | more

如果想看上一页的内容,可以通过:Shift + PageUp 来查看

管道配合grep(过滤)可以达到很好用的组合例如:

cat -n hello.txt | grep "hello" (查看hello.txt文件内容,并过滤出来带有hello的内容) ,-n 表示显示出来第几行的内容

4. find 搜寻文件或目录

find /home -name hello*        (查找home目录下的文件名或目录为hello的)

find / -name h?m*                (在跟目录下查找h开头第二个字符是任意的,第三个是m,后面的是任意的字符)

find / -size +1000000k          (表示在根目录下查询文件大于1000000K的文件)

5 字符串替换命令

:s/well/good/替换当前行第一个well 为 good

:s/well/good/g        替换当前行所有well 为 good

:n,$s/well/good/     替换第 n 行开始到最后一行中每一行的第一个 well 为 good

:n,$s/well/good/g     替换第 n 行开始到最后一行中每一行所有 well 为 good

n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/well/good/      (等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good

:%s/well/good/g    (等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good

特殊符号转义: 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#well/#good/#        替换当前行第一个 well/ 为 good/

:%s#/usr/bin#/bin#g可以把文件中所有路径/usr/bin换成/bin

6. 重定向命令

ls  -l  /etc/       希望

ls  -l  /etc > /home/myback.txt     (覆盖重定向)把显示的结果覆盖到/home/myback.txt中去

ls  -l  /etc >> /home/myback.txt     (追加重定向)把显示的结果追加到/home/myback.txt中去

7. 删除多行

删除多行步骤如下:

1. 首先要显示对应的行数这样方能知道从第几行到第几行删除

: set nu

2. 按Esc键退出,在命令行中输入:190,6233d(即[190 , 6233]都删除掉)

如果想要情况整个文件内容,在直接运行以下命令:

清空文件内容: > log.txt

8. 行位定位

直接定位到最后一行:

按Esc键退出,在命令行中输入: G

直接定位到第一行:

按Esc键退出,在命令行中输入: 1 G

直接定位到某一行:(第17行)

按Esc键退出,在命令行中输入:17 G

9. 复制一行或多行

<1. 复制一行

yy   复制当前行

p   粘贴

<2. 复制多行

7yy  从当前行开始复制7行

p   粘贴

10. Linux中查看python的版本

python -V

或者

python --version

11. grep 的用法

<1. 显示匹配的后n行    (after)

grep -A n

<2. 显示匹配的前n行    (before)

grep -B n

<3. 显示匹配的前后n行 (context)

grep -C n

<4. 忽略大小写

grep -i str

12. ll或ls显示说明

ll -ht     (h会按照标准格式自动转换大小即:456M,1.2G等,t 表示显示内容按照时间倒序排列)

应用案例:

清空8月份的日志文件:

rm -rf `ll -ht | awk '/8月/ {print6,6,NF}' | awk  '{print $NF}'`

说明:awk '/pattern/action'--> awk '/8月/{print6,6,NF}',只显示第六行与最后一行的内容且只保留8月的列表内容显示。

ls中文件颜色的显示代表的意义为:

1.蓝色--> 目录

2.绿色--> 可执行文件

3.红色--> 压缩文件

4.浅蓝色--> 链接文件

5.灰色--> 其他文件

13. 查看某文件被哪个进程所占用

lsof  文件名


14. 创建用户以及查看当前用户

useradd redis

passwd redis

如果是 Ubuntu 系统则需要使用如下命令:

useradd openstack -m -s /bin/bash

userdel -r openstack

查看当前系统存在的用户组和用户

/etc/group文件包含所有组

/etc/shadow和/etc/passwd系统存在的所有用户名

15. 常用查看文件大小与Linux系统命令

查看 内存 使用情况: free -m  (m为MB,g为GB)


查看对应 磁盘 使用情况: df -lh







请到「今天看啥」查看全文