【Linux常用命令详解】

查看帮助命令
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

你可能感兴趣的:(【Linux常用命令详解】)