Linux之23个重要命令
作为工作几年的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
查看对应CPU使用情况: cat /proc/cpuinfo
会有32个大致相同的内容展示(下标是从0开始的),这就说明该服务器为8核操作系统
或者有更牛逼的命令:
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
查看更为底层的版本信息: cat /proc/version (例如:CentOS实际最根源为RetHat,此命令将会显示所采用RetHat的版本)
如果想查看某个文件夹当前所占用的空间使用:
du -h node (cd /data/solr-4.8.0/)
如果想查看当前目录下的所有文件各个大小
du -sh * (cd /)
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标红,结果如下如所示:
19. 同步服务器的时间
ntpdate pool.ntp.org
将这个命令启用为定时脚本执行,具体如下所示:
1 */2 * * * ntpdate pool.ntp.org
20.不允许ssh登录如何配置
修改vim /etc/sysconfig/sshd_config文件,增加一行:AllowUsers solr,具体如下所示:
使其生效运行如下命令:
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 “
返回有内容说明开通,没返回内容,则说明阻。
Linux之23个重要命令的更多相关文章
- linux运维中的命令梳理(四)
----------管理命令---------- ps命令:查看进程 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不 ...
- linux 查看服务器性能常用命令
一.top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来 ...
- Linux 新手非常有用的命令
http://www.cnblogs.com/felix-/p/4341773.html Linux 新手非常有用的命令 你打算从Windows换到Linux上来,还是你刚好换到Linux上来?哎哟! ...
- 第九章、文件与文件系统的压缩与打包 Linux 系统常见的压缩命令
Linux 系统常见的压缩命令: 在Linux中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』 Linux 支持的压缩命令非常多,且不同 ...
- Linux远程连接与常用命令
要学linux ,一定得用命令界面的,怎么也得是shell语言,用就最难最原始的,用的人都是专家,历史最少也得30年,不管有三七二十一上来就敲ls ,先看看当前目录都有什么.一口专业的linux范儿, ...
- (二)—Linux远程连接与常用命令
要学linux ,一定得用命令界面的,怎么也得是shell语言,用就最难最原始的,用的人都是专家,历史最少也得30年,不管有三七二十一上来就敲ls ,先看看当前目录都有什么.一口专业的linux范儿, ...
- Linux基础 - 系统优化及常用命令
目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...
- Linux基础系统优化及常用命令
# Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...
- Linux最常用的基础命令
Linux最常用的基础命令个人总结 计算机基础知识: 32bit和64bit系统的区别.系统运行机制 32bit=内存的最大寻址空间是2**32,也就是说最大只能使用4GB的内存64bit=内存的最大 ...
随机推荐
- Android逆向之so的半自动化逆向
因为工作需要,转型干android逆向,有几个月了.不过对于so的逆向,任然停留在,难难难的阶段,虽然上次自己还是逆向了一个15k左右的小so文件,但是,那个基本是靠,一步一步跟代码,查看堆栈信息来自 ...
- client / page / offset / screen X / Y
1.clientX / clientY 相对于可视窗口左上角,不包括菜单栏与滚动条 2.pageX / pageY 相对于网页左上角,不包括菜单栏,包括滚动条 3.offsetX / offsetY ...
- Math Jax开源数学编辑器的使用
首先,这是一个开源免费,同时也可以支持扩展的软件. 使用API文档: 中文网站(http://mathjax-chinese-doc.readthedocs.io/en/latest/index.ht ...
- redis —主从&&集群(CLUSTER)
REDIS主从配置 为了节省资源,本实验在一台机器进行.即,在一台机器上启动两个端口,模拟两台机器. 机器准备: [root@adailinux ~]# cp /etc/redis.conf /etc ...
- angularjs 指令详解
一.指令定义 对于指令,可以把它简单的理解成在特定DOM元素上运行的函数,指令可以扩展这个元素的功能. 首先来看个完整的参数示例再来详细的介绍各个参数的作用及用法: <div my-direct ...
- [Uva10294]Arif in Dhaka
[Uva10294]Arif in Dhaka 标签: 置换 Burnside引理 题目链接 题意 有很多个珠子穿成环形首饰,手镯可以翻转和旋转,项链只能旋转.(翻转过的手镯相同,而项链不同) 有n个 ...
- Java经典编程题50道之四十二
809*??=800*??+9*??+1,其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数.求??代表的两位数,以及809*??后的结果. public class Example ...
- php 链接mysql的三种方式对比
PHP连接Mysql的三种方式: 1.原生的连接方式 原生的连接方式是面向过程的写法 <?php $host = 'localhost'; $database = 'test'; $usern ...
- VB 如何调用 c++ DLL?
``` ```Class MainWindow 'ByVal 值传递 ByRef 引用传递 'Function 有返回值 Sub 无返回值 'C语言数据类型在VisualBasic中声明为调用时使用的 ...
- Linux的软链接和硬链接
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...