1.文本搜索
如果vi或vim打开一个很大的文件,不易查找到对应的内容。可以用查找命令:
末行模式下输入"/关键字",输入的关键字会高亮显示,按"n"向下查找,按"N"向上查找。
2.vim恢复以及乱码问题
(1)在vi或vim中误删了东西,想要恢复的方法:
按ESC退出编辑模式,再按u键撤销之前的修改内容。
(2)在用vi或vim打开文件时,如果出现了特殊符号或是乱码,可以通过以下命令尝试:
vim -b test.txt
(-b一般用来查看对应的二进制文件的)
3.管道命令,即竖杠--》'|'
将查询出来的内容交给管道后面的命令装饰之后再显示出来
经常跟grep(过滤)搭配使用,如:
1.cat -n test.txt|grep "123" //显示123所在行的全部内容
2.ps -ef | grep java;ps -aux | grep java //查看java进程
4.grep命令
(1).显示匹配的后n行 (after)
grep -A n
(2).显示匹配的前n行(before)
grep -B n
(3).显示匹配的前后n行(context)
grep -C n
(4).忽略大小写
grep -i str
5.查看某文件被哪个进程所占用
lsof 文件名
6.查看python的版本
python -V
python --version
7.用户和用户组
useradd April //创建用户
groupadd Family //创建用户组
cat /etc/passwd //查看所有用户信息
cat /etc/shadow //查看所有用户的密码信息
cat /etc/group //查看所有用户组信息
cat /etc/gshadow //查看所有用户组的密码信息
8.find 搜索文件或目录
find /home -name helloword* //查找home目录下名为helloword开头的文件或目录
find / -name h?ll*
find / -size +1000k //查找根目录下大于1000k的文件
find 查找效率比较低
查找命令还有:locate,whereis xxx
9.字符串替换命令
: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
:.,$s/well/good/g //替换当前行开始到最后一行中每一行所有well为good
:%s/well/good/ //替换每一行的第一个well为good
:g/well/s//good/ //同上
:%s/well/good/g //替换每一行的所有well为good
:g/well/s//good/g //同上
转义字符:可以使用#为分隔符,此时中间出现的/不会作为分隔符
:s#well/#good/# //替换当前行第一个well/为good/
:%s#/usr/bin#/bin#g //把文件中所有路径/usr/bin换成/bin
10.重定向命令
(1).标准的输入控制
语法:命令 < 文件 //把文件作为命令的输入
如:mail -s "sendmail test" test@test.com < file1 //将文件file1当做信件的内容发送给。。。
(2).标准的输出控制
①语法:命令 > 文件 //把命令执行结果输出到文件中
如:
ls -l > list.txt //命令结果输出到list.txt文件中
ls -l > list.txt //命令结果输出到list.txt文件中,list已经存在则覆盖
②语法:命令 >& 文件 //将命令执行时屏幕上所产生的任何信息(标准输出+标准错误输出)写入指定的文件中
如:
cc file1.c >& error //将编译file1.c 文件时所产生的任何信息写入文件error 中。
小结:
'>' 会覆盖原文件内容。
'》'语法同>,不覆盖文件内容,将结果追加到文件中。
11.vi删除行
命令行模式下执行:
dd:删除光标所在行
ndd:删除光标所在行的向下n行
190,6233d //即[190,6233]都删除掉
清空文件内容的几种方法:
: > filename
filename
echo "" > filename
echo > filename
cat /dev/null > filename
12.vi定位行
命令行模式下输入:
G: //直接定位到最后一行
1G: //直接定位到第一行
nG: //直接定位到第n行
13.vi复制行
yy // 复制当前行
nyy // 从当前行开始复制n行
p //粘贴
14.ll或ls显示说明
ll -ht //h表示安装标准格式自动转换大小,即:456M,1.2G;t表示显示内容按照实际倒序排列
ls中文件颜色的意义:
蓝色代表目录
绿色代表可执行文件
红色代表压缩文件
浅蓝色代表链接文件
灰色代表其他文件
15.修改权限
将/home/April/lib文件夹及其里面内容的所有者修改为April
chown -R April:April /home/April/lib
16.常用查看系统使用情况的命令
(1)查看内存使用情况:free -m (m是MB,g为GB)
(2)查看磁盘使用情况:df -lh
(3)查看cpu使用情况:cat /proc/cpuinfo
cat /proc/cpuinfo | grep "model name" //只显示一行对应的cpu型号以及其他信息
cat /proc/cpuinfo | grep "model name" | wc -l //统计出一共有多少核
(4.1)查看当前操作系统发行版本信息:
cat /etc/issue
cat /etc/redhat-release
(4.2)查看当前操作系统更为底层的信息
cat /proc/version
(5.1)查看某文件夹的空间使用情况:du -h 文件夹名
(5.2)查看某文件夹内的所有文件的大小:du -sh * (先cd到当前文件夹)
17.查看端口连接状态的链接数
(1) netstat -nlap
(2) netstat -nlap | grep -i est // grep -i 表示忽略大小写,est表示 ESTABLISHED,只显示连接状态的端口,如图
(3) netstat -nlap | grep -i est | grep -i 123 | awk '{print $4}' //awk '{print $4}'表示只打印第四列,如图
(4) netstat -nlap | grep -i est | grep -i 123 | wc -l //统计数据,如图
注:grep命令最后的那个显示出来的结果以它进行标红,如图
18.同步服务器时间
利用ntpdate
再利用crontab将命令启用为定时执行脚本。
参考文章:https://www.zhihu.com/questio...
19.SSH登录限制
(1) root用户SSH登录限制
vi /etc/ssh/sshd_config
PermitRootLogin yes //允许root用户 SSH登录
PermitRootLogin no //不允许root用户 SSH登录
(2)普通用户的SSH登录限制
vi /etc/ssh/sshd_config
AllowUsers April //如此设置后,只能用户April 以SSH形式登录,其他用户登录不了
注:修改文件后,使用如下命令使其生效
service sshd reload
20.常用jdk系统环境变量配置
JAVA_HOME=/usr/java/jdk1.8
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
21.查看linux的防火墙是否阻止80端口
iptables -vnL | grep ":80"
有内容返回说明开放了,无内容说明阻止了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。