Linux命令

Scroll Down

Linux命令

查看linux系统信息

cat /etc/redhat-release

VIM

Vim查找定位(命令模式下)

双击选中当前关键字
三击选中整行
从上向下查找关键字:/+关键字
从下向上查找关键字:?+关键字
(例如查找super单词,/super或者?super分别表示从上到下/从下到上查找super,如果文本中有多个super,那么可以使用n/shift+n,查找下一个/上一个匹配项)
跳到指定行:数字+gg/G/直接回车
(例如跳到25行,直接输入25+gg或者25+G,或者25+回车跳到指定行)
直接跳到vim顶部:gg
直接跳到vim底部:G
跳到行尾并编辑:A
跳到行尾不编辑:$
跳到行首不编辑:0
上/下翻半页:control + u/d
上/下翻整页:control + b/f
h/j/k/l:分别表示光标向左/下/右/上移动
编辑模式
文档中关键字的个数统计 ‘:%s/hel//gn’ 显示字符串’hel’在当前文件中出现的次数

Vim文本替换

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

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

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky,n为数字若n为'.'表示从当前行开始到最后一行

*可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符*
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

软连接

创建: ln -s [源文件或目录] [目标文件或目录]
例如:当前路径创建test 引向/var/www/test 文件夹
ln –s /var/www/test test
创建/var/test 引向/var/www/test 文件夹
ln –s /var/www/test /var/test

删除: rm –rf 软链接名称
和删除普通的文件是一眼的,删除都是使用rm来进行操作(请注意不要在后面加”/”,不加/是删除软连接,加了/会删除掉源文件下的内容)
例如:删除test软连接
rm –rf test
rm -rf test/ (会删除掉源文件下的内容,不要用这种方式)

修改: ln –snf [新的源文件或目录] [目标文件或目录]
这将会修改原有的链接地址为新的地址
例如:创建一个软链接
ln –s /var/www/test /var/test
修改指向的新路径
ln –snf /var/www/test1 /var/test

Curl

## 指定内容为json,http方式为post,传入数据'{"user": "admin", "passwd":"12345678"}' 到指定url
curl -H "Content-Type:application/json" -X POST -d '{"user": "admin", "passwd":"12345678"}' http://127.0.0.1:8000/login

-d : http post方式传递数据
-v : 显示本次http访问的request和response信息,包含header
-G : 以get方式来发送数据
-H/--header : 自定义头信息传递给服务器,添加httpheader
-T : 上传文件
--user-agent : 模拟用户request设备信息,可以模拟不同设备和浏览器来访问
-X : 指定是什么命令
-u : 设置访问服务器的用户名和密码

## 用户名=bob,密码=12345 
curl -u 'bob:12345' https://google.com/login
## 只有用户名=bob
curl -u 'bob' https://google.com/login

Stress

linux下的压力测试命令

stress --cpu 1 --timeout 600

解压压缩

linux下的常见压缩有5种: zip, tar.gz, tar.bz2, tar.xz, tar.Z
.zip

#压缩filename.zip
#当前目录下的project下所有文件为project.zip
zip -r project.zip ./project

# filename.zip解压
# 解压到当前目录
unzip filename.zip
# 解压filename到指定目录temp
unzip -d /temp filename.zip

.gz

# filename.gz解压
gzip filename.gz -d
# d:        解压到当前位置

.tar.gz

##压缩tar.gz
tar -zcvf 压缩包名.tar.gz 源文件
-z :解压缩类型为 .tar.gz 
-c :打包 (建立压缩档案) 
-v :显示过程 
-f :指定打包后的文件名

#filename.tar.gz解压
tar -zxvf filename.tar.gz
# z:        gzip                   压缩格式
# x:        extract                解压
# v:        verbose                详细信息
# f:        file(file=archieve)    文件

.tar.bz2

#filename.tar.bz2的解压
tar -jxvf filename.tar.bz2
# j:        bzip2                  压缩格式

.tar.xz 和 tar.Z

#filename.tar.xz的解压
tar -Jxvf filename.tar.xz
# J:        压缩格式

#filename.tar.Z的解压
tar -Zxvf filename.tar.xz
# Z:        压缩格式

从1.15版本开始tar命令就可以自动识别压缩格式,不需要在人为区分压缩格式就可以正确解压

tar -xvf filename.tar.bz2
tar -xvf filename.tar.xz
tar -xvf filename.tar.Z

重置path

当设置环境变量path出现语法错误导致命令不能使用的时候

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

查看磁盘使用情况

#查看所有盘符信息
df -h

#查看当前目录下一级目录的磁盘占用情况
du -h --max-depth=1 ./

#查看文件夹所属于那个盘符
df ‘folder_name/path'

#查看当前目录下所有文件和目录大小信息,并且按照时间升序排列
ls -lht

查看IP

#Centos操作系统
ip addr

#ubuntu操作系统
ifconfig

查看端口进程

netstat

netstat -lnp|grep 80

scp

# 复制src文件到dest位置
scp src dest

#复制远程文件到本地destination位置
scp $remote_user@$remote_host:$remote_path destination

#复制本地文件src到远程path
scp src $remote_user@$remote_host:$remote_path

#复制101.6机器上的~/vmware_clone/centos7/vsphersclone.json到当前目录
scp ubuntu@192.168.101.6:~/vmware_clone/centos7/vsphersclone.json ./

#复制本地文件1.txt到远程目录~/vmware_clone/centos7下
scp 1.txt ubuntu@192.168.101.6:~/vmware_clone/centos7

查找文件/目录

find

#在根目录下查找路径中包含{name}字样的所有文件/目录
find / -path '*{name}*'

#找到/tmp目录下近20天的数据并且删掉
find /tmp -mtime +21 -name "*.*" -exec rm -Rf {} \;

根据时间范围删除指定目录下的文件