阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

190次阅读
没有评论

共计 4362 个字符,预计需要花费 11 分钟才能阅读完成。

运维工程师 (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  文件名

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

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)

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

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

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

查看对应 CPU 使用情况:cat /proc/cpuinfo

会有 32 个大致相同的内容展示 (下标是从 0 开始的),这就说明该服务器为 8 核 操作系统

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

或者有更牛逼的命令:

cat  /proc/cpuinfo | grep “model name” | head -1(只显示一行对应的 CPU 型号以及其他信息)

cat  /proc/cpuinfo | grep “model name”(系统有几个核就会显示几行)

cat  /proc/cpuinfo | grep “model name” | wc -l(统计出一共有多少核)

查看对应 服务器版本 当前操作系统发行版信息:cat /etc/issue  或  cat /etc/redhat-release

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

查看更为 底层的版本 信息:cat /proc/version(例如:CentOS 实际最根源为 RetHat,此命令将会显示所采用 RetHat 的版本)

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

如果想查看某个文件夹当前所占用的空间使用:

du -h node            (cd /data/solr-4.8.0/)

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

如果想查看当前目录下的所有文件各个大小

du -sh *       (cd /)

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

16. 查看内存情况

<1.  jstat -gc pid 可以看到对应各个内存大小、使用状况以及 GC 处理情况

<2.  jmap -heap [pid]   查看内存分布

<3.  jstat -gcutil [pid] 1000  每隔 1s 输出 java 进程的 gc 情况

17. 修改文件夹及其里面的内容的权限

chown -R solr:solr /home/solr/lib

意思是将 /home/solr/lib 文件夹及其里面内容的用户所属权限修改为 solr 用户所属权限

18. 查看某个端口链接状态的连接数

netstat -nlap | grep -i est | grep -i 6379 | awk ‘{print $4}’

netstat -nlap | grep -i est | grep -i 1121 | wc -l

平时使用总结,使用此命令如果实在记不住后面参数有哪些,那么直接记住为:-nlap 即可,大部分情况都可以满足我们的需求

netstat 常见参数如下:

-a (all)显示所有选项,默认不显示 LISTEN 相关

-t (tcp)仅显示 tcp 相关选项

-u (udp)仅显示 udp 相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如 uid 等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该 netstat 命令。

提示:LISTEN 和 LISTENING 的状态只有用 - a 或者 - l 才能看到

grep -i(i 表示忽略大小写)

awk ‘{print $4}’(表示只打印第 4 列)

grep -i est(est 表示:ESTABLISHED,即只显示 ESTABLISHED 即连接状态的端口)

grep 命令最后的那个显示出来的结果以它进行标红,即最后一个 grep 为:grep -i  6379,那么打印出来的结果其中的 6379 标红,结果如下如所示:

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

19. 同步服务器的时间

ntpdate pool.ntp.org

将这个命令启用为定时脚本执行,具体如下所示:

1 */2 * * * ntpdate pool.ntp.org

20. 不允许 ssh 登录如何配置

修改 vim /etc/sysconfig/sshd_config 文件,增加一行:AllowUsers solr,具体如下所示:

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

使其生效运行如下命令:

service sshd reload

常用系统级配置总结:

1. 限制登录:/etc/ssh/sshd_config    修改后需重启:service sshd restart

2. 用户配置:/etc/passwd

3. sudo 权限:/etc/sudoers

21. 常用 JDK 系统环境变量配置

1.JAVA_HOME=/usr/java/jdk1.7.0_55

2.CLASSPATH=.:$JAVA_HOME/lib.tools.jar

3.PATH=$JAVA_HOME/bin:$PATH

4.exportJAVA_HOME CLASSPATH PATH

22. 查看 Redis/Tomcat 的版本

redis-cli  info  |  grep  ‘redis_version’

tomcat 版本需要进入到安装目录下的 bin/ 文件夹:

./version.sh 或者 sh version.sh

23. 怎么看 Linux 的防火墙是否阻止 80 端口

1iptables -vnL |grep”:80 “

返回有内容说明开通,没返回内容,则说明阻。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-12-03发表,共计4362字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中