命令汇总"/>
Linux的一些命令汇总
Linux的一些命令汇总基于centos的多一点
查看端口占用
netstat -anp | grep 3306
查看Linux版本
uname -a
后台执行命令
nohup xxx命令 &
例如
nohup sh xxx.sh &
备份sql,压缩sql为zip,删除源文件,用分号 ; 可以同时按顺序执行多条命令
mysqldump -uroot -p密码 数据库名 > /home/xxx.sql/;zip xxx.sql.zip xxx.sql;rm -rf xxx.sql
解压文件
tar -xzvf xxx
精准搜索当前目录的文件(速度比较慢)
find ./ -name 'xxx'
- 精准搜索当前目录的文件(模糊搜索文件名)
find ./ -name 'xxx*'
快速搜索当前目录文件,加 * 则表示模糊文件名
locate ./ xxx
常见解压/压缩命令
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:
gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
Linux常用命令: zip、unzip 压缩和解压缩命令
zip的用法
基本用法是:
zip [参数] [打包后的文件名] [打包的目录路径]
常用参数:
-a 将文件转成ASCII模式
-F 尝试修复损坏的压缩文件
-h 显示帮助界面
-m 将文件压缩之后,删除源文件
-n 特定字符串 不压缩具有特定字尾字符串的文件
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q 安静模式,在压缩的时候不显示指令的执行过程
-r 将指定的目录下的所有子目录以及文件一起处理
-S 包含系统文件和隐含文件(S是大写)
例如:
将指定目录/tmp压缩成test.zip文件
zip -r test.zip tmb/
unzip的用法
基本用法是:
unzip [参数] [待解压缩文件]
在linux下解压zip文件,最简单的方式就是unzip命令直接跟上要解压的zip文件。
unzip [待解压缩文件]
常用参数:
-n 解压缩时不要覆盖原有的文件;
-o 不必先询问用户,unzip执行后覆盖原有的文件;
-P [密码] 使用zip的密码选项;
-q 执行时不显示任何信息;
-d [目录] 指定文件解压缩后所要存储的目录;
例如:
将压缩文件text.zip在当前目录下解压缩。
unzip test.zip
将压缩文件test.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。
unzip -o test.zip -d tmp/
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
定时任务查看/编辑
crontab -l
crontab -e
查看/显示某个文件的信息
ll xxx
查看/显示硬盘大小
df -h
查看/显示内存/运行内存使用
free -h
top
远程传输文件
scp 文件 root@IP地址:目标服务器路径
实例
scp BB2GUI.jar* root@10.8.192.172:/opt/JBOSS/server/default/deploy/webstart.war/
linux中的分号&&和&,|和||说明与用法
在用linux命令时候,我们可以一行执行多条命令或者有条件的执行下一条命令,下面我们讲解一下linux命令分号&&和&,|和||的用法
“;”分号用法
方式:command1 ; command2
用;号隔开每个命令, 每个命令按照从左到右的顺序,顺序执行, 彼此之间不关心是否失败, 所有命令都会执行。
“| ”管道符用法
上一条命令的输出,作为下一条命令参数
方式:command1 | command2
Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推利用一个管道
例如
service mysql stop && service mysql start
&:
在算术运算时分别计算表达式两边的结果,再作&运算
在位运算时&表示按位与
&&:
短路与运算,先计算左边的表达式,如果结果是false,那么不用计算右边表达式,直接返回false
如果左边的表达式结果为true,再计算右边的表达式,如果右边的表达式为true,结果为true,否则为false
|与||的原理同上
短路与 或 短路或的计算效率更高,建议使用。
rpm -qa|grep licq
这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。
利用多个管道
cat /etc/passwd | grep /bin/bash | wc -l
这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash
“&”符号用法
&放在启动参数后面表示设置此进程为后台进程
方式:command1 &
默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个’&'实现这个目的。
“&&”符号用法
shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中。当 $? == 0 时,表示执行成功;当 $? == 1 时(我认为是非0的数,返回值在0-255间),表示执行失败。
有时候,下一条命令依赖前一条命令是否执行成功。如:在成功地执行一条命令之后再执行另一条命令,或者在一条命令执行失败后再执行另一条命令等。shell 提供了 && 和 || 来实现命令执行控制的功能,shell 将根据 && 或 || 前面命令的返回值来控制其后面命令的执行。
语法格式如下:
command1 && command2 [&& command3 …]
命令之间使用 && 连接,实现逻辑与的功能。
只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。
只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。
“||”符号用法
逻辑或的功能
语法格式如下:
command1 || command2 [|| command3 …]
命令之间使用 || 连接,实现逻辑或的功能。
只有在 || 左边的命令返回假(命令返回值 $? == 1),|| 右边的命令才会被执行。这和 c 语言中的逻辑或语法功能相同,即实现短路逻辑或操作。
只要有一个命令返回真(命令返回值 KaTeX parse error: Expected 'EOF', got '&' at position 84: … 1 192.168.1.1 &̲> /dev/null && …result" == 0 ];then
echo “192.168.1.1 is UP!”
else
echo “192.168.2.1 is DOWN!”
fi
注意 &>要连起来写。
Linux 输出当前路径下某个文件的绝对路径
方法,在ls中调用 pwd
ls pwd
/*
可用ls的匹配规则,比如:
ls pwd
/network-*
查看存储占用;进入目录后
du -sh ./*
查看日志常用命令
tail:
-n 是显示行号;相当于nl命令;例子如下:
tail -100f test.log 实时监控100行日志
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
head:
跟tail是相反的,tail是看后多少行日志;例子如下:
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
cat:
tac是倒序查看,是cat单词反写;例子如下:
cat -n test.log |grep “debug” 查询关键字的日志
more 命令
类似cat,不过以一页一页形式显示。基本指令按空白键(space)往下一页显示,按返回键(back)往上一页显示,还有字符搜索功能(与vi相似)
grep 命令
上面几个命令都是用在查找文件方便,而在查找文件时,我们往往需要通过某些关键字查找,grep命令就可以帮助我们实现快速查
编辑文件命令 vi
vi的基本操作
a) 进入vi
在系统提示符号输入vi及文件名称后,进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!
b) 切换至插入模式(Insert mode)编辑文件
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
c) Insert 的切换
目前处于「插入模式(Insert mode)」,就只能一直输入文字,如果发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。
d) 退出vi及保存文件
- 在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
-
w filename (输入 「w filename」将文章以指定的文件名filename保存)
-
wq (输入「wq」,存盘并退出vi)
-
q! (输入q!, 不存盘强制退出vi)
) 查找字符
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
touch命令:
作用:创建空文件,或者改变文件的时间戳属性
mkdir命令
创建多级目录
mkdir -p aaa/bbb/ccc
第一个shell脚本
打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。
输入一些代码,第一行一般是这样:
实例
#!/bin/bash
echo “Hello World !”
运行实例 »
#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。
echo 命令用于向窗口输出文本。
运行 Shell 脚本有两种方法:
1、作为可执行程序
将上面的代码保存为 test.sh,并 cd 到相应目录:
chmod +x ./test.sh #使脚本具有执行权限
./test.sh #执行脚本
注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
2、作为解释器参数
这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:
/bin/sh test.sh
/bin/php test.php
这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用
mv 命令
实例
将文件aaa更名为bbb:
mv aaa bbb将info目录放入logs目录中。注意,如果ogs目录不存在,则该命令将info改名为logs。
mv info/logs再如将/usr/student下的所有文件和目录移到当前目录下,命令行为:
mv /usr/student/* .
ssh远程命令
sss 用户名@IP地址 命令
ssh root@127.0.0.1 "df -h"
sss 用户名@IP地址
可实现远程连接另一台服务器
更多推荐
Linux的一些命令汇总
发布评论