Linux中的常用指令
查看目录路径:pwd 如果当前路径是软链接,那么输出的就是软链接路径
如果想看实际路径,使用pwd -P
进入文件夹:cd 路径名(相对路径或绝对路径)
例如:cd ./a 打开当前文件夹下的a文件夹
cd /root 打开根目录下的root文件夹
显示当前文件夹下的内容:ls
例如:ls -l 或者是 ll 显示当前目录下的文件列表
ls -a 显示当前目录下的文件列表(包含隐藏文件)
ls -la 查看包含隐藏文件的文件列表
创建文件夹:mkdir 文件夹名 例如:mkdir a 在当前目录下创建文件夹a
创建多级文件夹:mkdir -p 文件夹1/文件夹2/....
例如:mkdir -p a1/a2/a3
删除文件夹:rmdir 文件夹名 (这样删除的前提是当前要删除的文件夹必须是非空的)
删除多级文件夹:rmdir -p 文件夹1/文件夹2/...
删除文件命令:rm -rf 文件名 属于强制删除方式
rm -ri 文件名 删除文件夹前判断是否要删除(Y/N)
删除软链接:rm -rf 软链接名
删除软链接下的真实链接内容:rm -rf 软链接名/
创建文件:touch 文件名.后缀名 例如: touch 1.txt
复制文件或目录到指定目录下:cp 文件1 目录2 复制文件
例如:cp ./1.txt ./a2 将当前文件夹下的1.txt文件复制到当前目录的a2文件夹下
递归复制文件夹:cp -r 目录1 目录2 复制文件夹
例如:cp -r a2/a3 /root 将当前目录下的a2文件夹中的a3文件夹复制到root目录下
移动文件或文件夹: mv 文件名或文件夹名
例如: mv 1.txt /opt 将当前目录下的1.txt文件移动到根目录下的opt文件夹下
mv a1 /opt 将当前目录下的a1文件夹移动到/opt目录下
修改文件名或文件夹名:其实就是使用mv指令在同一个目录内来移动文件或文件夹
例如: mv 1.txt ./2.txt 其实就是将文件名1.txt修改成2.txt
mv a ./b 将当前目录下的文件夹a的文件夹名修改成a
创建软链接:ln 软链接是存放真实路径或真实文件位置
示例:ln -s /a2/b2 A 给/a2/b2建立软链接A 链接A里面存放的就是/a2/b2
ln -s /a1/b1/a.txt B 给/a1/b1/a.txt建立软链接B 链接B里面存放的就是/a1/b1/a.txt
rm -rf A 删除软链接A(真实路径中的内容依然在)
rm -rf A/ 删除软链接A对应真实路径下的内容(软链接依然在)
文档编辑命令:vi/vim(纯终端模式没有vim,可以用yum命令去下载vim相对于vi好用,文本有颜色分别)
三种模式:
编辑模式:
重点看前2个进入方式:i(insert)、a(after)。
退出方式:按下esc键
命令模式:使用Vi/vim打开一个文件后,进入到命令模式。
光标移动到行首
按键:shift + 6 或 ^(T字母上面的6,不要按小键盘的6)
光标移动到行尾
按键:shift + 4 或 $(R字母的左上角的4,不是小键盘的4)
光标移动到首行
按键:gg
光标移动到末行
按键:G
翻屏
向上翻屏:按键ctrl + b (before) 或 PgUp
向下翻屏:按键ctrl + f (after) 或 PgDn
复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p键
剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果。
剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字dd (删除之后下一行上移)
剪切/删除光标所在的当前行之后的内容,但是删除之后下一行不上移
按键:D (删除之后当前行会变成空白行)
撤销:输入:u (不属于命令模式) 或者 u (undo)
恢复:ctrl + r 恢复(取消)之前的撤销操作
末行模式:
进入方式:由命令模式进入,按下“:”
退出方式:按下esc(用这个就行了)
保存操作(write)
输入:“:w” 保存文件
输入:“:w 路径” 另存为
保存并退出(常用)
输入:“:wq” 保存并且退出
强制 (!)
输入:“:q!” 表示强制退出,刚才做的修改操作不做保存
打开文件/添加内容:cat
打开文件:cat 文件名 例如:cat 1.txt
打开zip压缩文件:zcat 文件名.zip 例如:zcat 1.zip
创建并打开文件:cat > 文件名 例如:cat > 1.txt
合并文件:cat 待合并的文件1 待合并的文件2 …. 文件路径n > 合并之后的文件
例如:cat 1.txt 2.txt > 3.txt
cat 待合并的文件1 待合并的文件2 …. 文件路径n >> 合并之后的文件
例如:cat 1.txt 2.txt >> 3.txt
控制台打印输出:echo
例如:echo "hello world" 回车后控制台输出hello world
但是这种打印不能识别转义符,如果能够识别转义符,echo命令添加 -e 选项
例如:echo -e "hello\nworld" 回车后控制台输出
hello
world
输出重定向:将执行命令后输出的内容输出到某个文件中
>:覆盖输出,会覆盖掉原先的文件内容
>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
示例:cat 1.txt 2.txt > 3.txt 输出1.txt和2.txt的内容覆盖到3.txt文件中
cat 1.txt 2.txt >> 3.txt 输出1.txt和2.txt的内容追加到3.txt文件中的尾部
echo "hello" > 1.txt 将内容 hello 输出覆盖到1.txt中
echo "hello" >> 2.txt 将内容 hello 输出追加到2.txt尾部
ls > 1.txt 将输出的文件列表覆盖输出到1.txt中
ls >> 1.txt 将输出的文件列表追加到1.txt尾部
查看磁盘空间:df -h
查看内存使用情况:free -m -m表示以mb为单位查看
查看一个文件的前n行:head -n 文件路径 n表示数字。如果不加-n,默认查看文件前10行
查看一个文件的后n行:tail -n 文件路径 n表示数字。如果不加-n,默认查看文件后10行
tail -f 文件路径 实时追踪该文档的所有更新,被监控的文件有更新时会被监控到。如果暂停(ctrl+s),就停止监控,按ctrl+q继续监控
表示操作时间日期(读取、设置):
语法1:date 输出的形式:2018年 3月 24日 星期六 15:54:28
语法2:date +%F (等价于#date +%Y-%m-%d ) 输出形式:2018-03-24
语法3:date +%F%T 引号表示让“年月日与时分秒”成为一个不可分割的整体
等价操作date +%Y-%m-%d%H:%M:%S
输出的形式:2018-03-24 16:01:00
查看进程的基本信息:ps -ef (此命令会查看所有的进程信息)
采用管道(| grep 关键字)的方式和查看指定进程的信息:
ps -ef | grep 关键字
例如:ps -ef | grep redis :查看存在“redis”关键字的进程的信息(包含进程id、进程号、进程名、进程创建的时间等)
查看进程占用资源的信息:top (此命令会查看所有的进程资源占用信息)
采用管道(| grep 关键字)的方式和查看指定进程资源的信息:
top | grep 关键字
top | grep redis
清空屏幕:clear、ctrl+l
查看历史命令:history
查看最近几条的历史命令:history n 例如:history 10 查看最近10条命令
查找以前执行过的指令:
上翻:ctrl+p
下翻:ctrl+n
用于控制一些软件的服务启动/停止/重启:service 服务名 start/stop/restart
用于操作网卡相关:ifconfig (常用于查看本机的ip地址)
查看网络连接状态:netstat -tnlp
重启:reboot 、shutdown -r now
关机:
立刻关机:poweroff、shutdown -h now
默认一分钟后关机:shutdown
在这一分钟期间,Linux系统会对内存中的文件保存到磁盘中(sync)。内存缓冲区写满后,将缓冲区中的数据一次性保存到磁盘
等待一定分钟后关机:shutdown 分钟 例如:shutdown 5 默认5分钟后关机
取消关机:shutdown -c
停机:hlat 只关闭系统,但不断电,相当于 shutdown -H now(命令选项 -h 与-H 不同)
手动保存:sync 将内存中的数据保存到磁盘中
whereis 定位一个指定“命令”的二进制文件、源文件、手册文件的位置。
展示二进制文件、源文件、手册文件的位置:whereis ls
下载相关资源:
方式1:
yum list 相关资源的关键字
yum install -y 资源名称
方式2:
wget (-i -c) 资源地址 例如:wget -i -c https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
方式3:远程传送:
本机下载pscp.exe移动到c盘用户目录下的System32的文件夹中,然后在命令提示符中使用pscp命令进行远程传送
或者是在本机使用xftp来远程传送
pscp传送:pscp 要传送的文件(夹) 目的主机用户@目的主机的ip地址:/目的主机的存放路径
例如:pscp community.zip root@192.168.246.136:/root
Linux解压缩:
tar.gz:
tar -zvxf 压缩包名 -C 指定路径 例如:tar -zvxf community.tar.gz -C /opt
zip:
unzip -d 目标文件夹 zip压缩包名 例如:unzip -d /opt community.zip
查看防火墙:
systemctl start firewalld.service 开启防火墙
systemctl status firewalld.service 查看防火墙状态
systemctl stop firewalld.service 关闭防火墙
环境变量配置:vim /etc/profile
在这个profile文件中设置环境变量
设置完后,刷新环境变量: source /etc/profile
发送请求:curl
示例:
GET请求:crul -X GET http://example.com/api/endpoint?参数1=a&参数2=b
POST请求:curl -X POST -H "Content-Type: application/json" -d '{"key": "value"}' http://example.com/api/endpoint