查看帮助命令
man 命令名 #查看命令的详细说明(man是menu的缩写)
命令名 -help #查看命令的常用选项
cd-----切换文件目录
cd .. 切换到上级目录
cd ~ 切换到当前用户的主目录
cd - 可以在最近两次工作目录之间来回切换
ls-----查看当前文件夹下内容
-a 显示指定目录下所有目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合-l以人性化方式显示文件大小
ls -alh
ls -a
ls -l
tree-----以树状图列出文件目录结构
-d 只显示目录
mkdir-----创建一个新目录
-p 可以递归创建目录
mkdir -p /a/bb/ccc
rm-----删除指定的文件名
-r 递归地删除目录下的内容,删除文件夹时必须加此参数(删除目录)
-f 强制删除,忽略不存在的文件,无需提示
cp-----复制文件或者目录
-i 覆盖文件前提示
-r 递归复制该目录下所有子目录和文件,目标文件必须为一个目录名(复制目录)
mv-----移动文件或者目录/文件或者目录重命名
-i 覆盖文件前提示
cat-----查看文件内容、创建文件、文件合并、追加文件内容等功能
(一次性显示所有内容,适合查看内容较少的文本文件)
-b 对非空输出行编号
-n 对输出的所有行编号
more-----分屏显示文件内容 (适合查看内容较多的文本文件)
空格键--显示下一页 Enter键--一次滚动一行 b--回滚一屏 f--前滚一屏 q--退出
less: 可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
查看文件头10行: head -n 10 example.txt
查看文件尾10行: tail -n 10 example.txt
grep-----搜索文本文件内容,允许对文本进行模式查找(正则表达式)
-n 显示匹配行及行号
-v 显示不包括匹配文本的所有行
-i 忽略大小写
echo-----会在终端中显示参数指定的文字,通常会和重定向联合使用
> 表示输出,会覆盖文件原有的内容
>> 表示追加,会将内容追加到已有文件的末尾
列出当前目录及子目录下所有文件和文件夹: find .
在/home目录下查找以.txt结尾的文件名:find /home -name ".txt"
同上,但忽略大小写: find /home -iname ".txt"
假如我们装了一个zookeeper,我们每次开机到要求其自动启动该怎么办?
新建一个脚本zookeeper
为新建的脚本zookeeper添加可执行权限,命令是:chmod +x zookeeper
把zookeeper这个脚本添加到开机启动项里面,命令是:chkconfig --add zookeeper
如果想看看是否添加成功,命令是:chkconfig --list
查找文件
find / -name filename.txt 根据名称查找/目录下的filename.txt文件。
find . -name "*.xml" 递归查找所有的xml文件。
find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件。
grep -H 'spring' *.xml 查找所有的包含spring的xml文件。
find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件。
ls -l | grep '.jar' 查找当前目录中的所有jar文件。
grep 'test' d* 显示所有以d开头的文件中包含test的行。
查看端口占用情况
netstat -tln | grep 8080 查看端口8080的使用情况。
查看端口属于哪个程序: lsof -i :8080
查看一个程序是否运行
ps –ef|grep tomcat 查看所有有关tomcat的进程。
ps -ef|grep --color java 高亮要查询的关键字。
kill 9 pid 杀死进程
查看进程
ps aux|grep java 查看java进程。
ps aux 查看所有进程。
复制文件
cp source dest 复制文件。
cp -r sourceFolder targetFolder 递归复制整个文件夹。
scp sourecFile romoteUserName@remoteIp:remoteAddr 远程拷贝。
在本地A拷贝远端的服务器B上的文件:
scp root@[B的ip地址或主机名]:[B上存放文件路径] /文件 [A上存放的文件路径]
如:scp [email protected]:/home/oracle/test.sql /home/oracle/
在本地A拷贝远端的服务器B上的文件夹及文件夹下的文件:
scp -r root@[B的ip地址或主机名]:[B上存放文件路径] [A上存放的文件路径]
如:scp -r [email protected]:/test /test/
切换用户: su -username
修改文件权限
# file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行。
chmod 777 file.java
解压:tar -xzvf FileName.tar.gz
压缩:tar -czvf FileName.tar.gz DirName
查看防火墙/etc/init.d/iptables status
如果未关闭 /etc/init.d/iptables stop
网络管理
#获取网卡配置信息
ifconfig
#ping
ping 192.168.1.111
#下载文件
wget file
#显示主机名
hostname -d(显示机器所得域名) -f(显示完整的主机名和域名) -i(显示当前机器的IP地址)
#nmap即(Network Mapper),是Linux系统中一个常用的网络管理工具,可以扫描端口、嗅探主机所在的网络环境,以及判断网络中主机的操作系统等。
#安装nmap
yum install nmap
#nmap默认发送一个ARP的Ping数据包,来探测目标主机1-10000范围内所开放的所有端口
nmap localhost #查看主机当前开放的端口
nmap -p 1024-65535 localhost #查看主机端口(1024-65535)中开放的端口
nmap -PS 192.168.21.163 #探测目标主机开放的端口
nmap -PS22,80,3306 192.168.21.163 #探测所列出的目标主机端口
nmap -O 192.168.21.163 #探测目标主机操作系统类型
nmap -A 192.168.21.163 #探测目标主机操作系统类型
nmap --help #更多nmap参数请查询帮助信息
进程管理
#查看整个系统内部所运行的进程状况
ps
a:(all)当前系统所有用户的进程
u:查看进程所有者及其他一些信息
x:显示没有控制终端的进程--不能与用户进行交互的进程输入、输出
-e:显示所有进程
-f:显示UID,PPP与STIME栏位
#对显示的进程过滤
ps aux|grep XXX
#查看进程占用内存情况,输入大写P,结果按CPU占用降序排序,输入大写M,结果按内存占用降序排序
top P/M
#查看内存使用情况
free
#杀掉进程:-1:重新加载(SIGHUP);-9:立刻删除(SIGKILL);-15:正常终止(SIGTERM)
kill pid
#显示各种网络相关的信息、查看系统监听的服务
#监听端口状态
netstat -anp | more
netstat -ntlp #列出所有的端口
#列出已停止或后台作业
bg
#将最近的作业带到前台
fg
#将作业n带到前台
fg n
#主要来更新(启动或停止)和查询系统服务的运行级信息
chkconfig
#查看当前进程环境变量
env
ps -ef|grep newcore #查看newcore的进程号
kill -9 newcore
快捷键
ctrl+L 清屏
ctrl+A 光标移动到命令行首
ctrl+E 光标移动到命令行尾
ctrl+U 光标所在位置删除到行首
Linux下mysql数据库的备份与还原
备份:
mysqldump -u root -p shop > /home/andy/shop20150910.sql
root为用户名,shop为要备份的数据库,自动会备份到/home/andy/文件目录下
也可以压缩备份
mysqldump -u root -p shop | gzip > shop20150910.sql.gz
还原:
mysql -u root -p shop < /home/andy/shop20150910.sql
mysql数据库每日备份
对于的目录下创建文件夹如在/usr/andy/
创建目录 mkdir dbbackup
创建文件 cd dbbackup
touch autobackupmysql.sh
autobackupmysql.sh中添加如下内容
filename=date +%Y%m%d
/usr/local/mysql/bin/mysqldump -uroot -p12345 shop > /usr/andy/dbbackup/bksql/shop$filename.sql
检查有没安装crond,如果没有,先安装
yum -y install vixie-cron
yum -y install crontabs
在crond添加定时任务
crontab -e
会调用vi编辑,里面加入定时代码 00 01 * * * source /usr/andy/autobackupmysql.sh //每天凌晨01:00开始执行备份
重启crond服务:service crond restart
循环覆盖拷贝:cp -fr src dest
mysql连接数过多
mysql -ubeacon -pbeacon1234
flush hosts;
Linux命令大全
https://www.jianshu.com/p/ad7ae50d8431