常用命令
文件与目录操作
命令 | 解析 |
---|---|
cd /home | 进入 ‘/home’ 目录 |
cd .. | 返回上一级目录 |
cd ../.. | 返回上两级目录 |
cd - | 返回上次所在目录 |
cp file1 file2 | 将file1复制为file2 |
cp -a dir1 dir2 | 复制一个目录 |
cp -a /tmp/dir1 . | 复制一个目录到当前工作目录(.代表当前目录) |
ls | 查看目录中的文件 |
ls -a | 显示隐藏文件 |
ls -l | 显示详细信息 |
ls -lrt | 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序) |
pwd | 显示工作路径 |
mkdir dir1 | 创建 ‘dir1’ 目录 |
mkdir dir1 dir2 | 同时创建两个目录 |
mkdir -p /tmp/dir1/dir2 | 创建一个目录树 |
mv dir1 dir2 | 移动/重命名一个目录 |
rm -f file1 | 删除 ‘file1’ |
rm -rf dir1 | 删除 ‘dir1’ 目录及其子目录内容 |
查看文件内容
命令 | 解析 |
---|---|
cat file1 | 从第一个字节开始正向查看文件的内容 |
head -2 file1 | 查看一个文件的前两行 |
more file1 | 查看一个长文件的内容 |
tac file1 | 从最后一行开始反向查看一个文件的内容 |
tail -3 file1 | 查看一个文件的最后三行 |
vi file | 打开并浏览文件 |
文本内容处理
命令 | 解析 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
grep str /tmp/test | 在文件 ‘/tmp/test’ 中查找 “str” | ||||||||||||
grep ^str /tmp/test | 在文件 ‘/tmp/test’ 中查找以 “str” 开始的行 | ||||||||||||
grep [0-9] /tmp/test | 查找 ‘/tmp/test’ 文件中所有包含数字的行 | ||||||||||||
grep str -r /tmp/* | 在目录 ‘/tmp’ 及其子目录中查找 “str” | ||||||||||||
diff file1 file2 | 找出两个文件的不同处 | ||||||||||||
sdiff file1 file2 | 以对比的方式显示两个文件的不同 | ||||||||||||
vi file |
|
查询操作
命令 | 解析 |
---|---|
find / -name file1 | 从 ‘/’ 开始进入根文件系统查找文件和目录 |
find / -user user1 | 查找属于用户 ‘user1’ 的文件和目录 |
find /home/user1 -name *.bin | 在目录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的文件 |
find /usr/bin -type f -atime +100 | 查找在过去100天内未被使用过的执行文件 |
find /usr/bin -type f -mtime -10 | 查找在10天内被创建或者修改过的文件 |
locate *.ps | 寻找以 ‘.ps’ 结尾的文件,先运行 ‘updatedb’ 命令 |
find -name ‘*.[ch]’ | xargs grep -E ‘expr’ | 在当前目录及其子目录所有.c和.h文件中查找 ‘expr’ |
find -type f -print0 | xargs -r0 grep -F ‘expr’ | 在当前目录及其子目录的常规文件中查找 ‘expr’ |
find -maxdepth 1 -type f | xargs grep -F ‘expr’ | 在当前目录中查找 ‘expr’ |
压缩、解压
命令 | 解析 |
---|---|
bzip2 file1 | 压缩 file1 |
bunzip2 file1.bz2 | 解压 file1.bz2 |
gzip file1 | 压缩 file1 |
gzip -9 file1 | 最大程度压缩 file1 |
gunzip file1.gz | 解压 file1.gz |
tar -cvf archive.tar file1 | 把file1打包成 archive.tar(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数) |
tar -cvf archive.tar file1 dir1 | 把 file1,dir1 打包成 archive.tar |
tar -tf archive.tar | 显示一个包中的内容 |
tar -xvf archive.tar | 释放一个包 |
tar -xvf archive.tar -C /tmp | 把压缩包释放到 /tmp目录下 |
zip file1.zip file1 | 创建一个zip格式的压缩包 |
zip -r file1.zip file1 dir1 | 把文件和目录压缩成一个zip格式的压缩包 |
unzip file1.zip | 解压一个zip格式的压缩包到当前目录 |
unzip test.zip -d /tmp/ | 解压一个zip格式的压缩包到 /tmp 目录 |
yum安装器
命令 | 解析 |
---|---|
yum -y install [package] | 下载并安装一个rpm包 |
yum localinstall [package.rpm] | 安装一个rpm包,使用你自己的软件仓库解决所有依赖关系 |
yum -y update | 更新当前系统中安装的所有rpm包 |
yum update [package] | 更新一个rpm包 |
yum remove [package] | 删除一个rpm包 |
yum list | 列出当前系统中安装的所有包 |
yum search [package] | 在rpm仓库中搜寻软件包 |
yum clean [package] | 清除缓存目录(/var/cache/yum)下的软件包 |
yum clean headers | 删除所有头文件 |
yum clean all | 删除所有缓存的包和头文件 |
网络相关
命令 | 解析 |
---|---|
ifconfig eth0 | 显示一个以太网卡的配置 |
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | 配置网卡的IP地址 |
ifdown eth0 | 禁用 ‘eth0’ 网络设备 |
ifup eth0 | 启用 ‘eth0’ 网络设备 |
iwconfig eth1 | 显示一个无线网卡的配置 |
iwlist scan | 显示无线网络 |
ip addr show | 显示网卡的IP地址 |
系统相关
命令 | 解析 |
---|---|
su - | 切换到root权限(与su有区别) |
shutdown -h now | 关机 |
shutdown -r now | 重启 |
top | 罗列使用CPU资源最多的linux任务 (输入q退出) |
pstree | 以树状图显示程序 |
man ping | 查看参考手册(例如ping 命令) |
passwd | 修改密码 |
df -h | 显示磁盘的使用情况 |
cal -3 | 显示前一个月,当前月以及下一个月的月历 |
cal 10 1988 | 显示指定月,年的月历 |
date –date ‘1970-01-01 UTC 1427888888 seconds’ | 把一相对于1970-01-01 00:00的秒数转换成时间 |
1 防火墙
CentOS7在防火墙与端口上的操作
CentOS7使用systemctl指令来管理系统的单一服务,在CentOS7中对于firewalld(防火墙)服务的开启、关闭、状态查询也同样是使用该指令,操作如下:
启动防火墙: systemctl start firewalld
查看防火墙状态: systemctl status firewalld
关闭防火墙: systemctl stop firewalld
开机时启用防火墙服务:systemctl enable firewalld
开机时禁用防火墙服务:systemctl disable firewalld
查询防火墙服务是否开机启动:systemctl is-enabled firewalld
查询已经启动的服务列表:systemctl list-unit-files|grep enabled
查询启动失败的服务列表:systemctl --failed
在安装软件或列库时,除了直接开启和关闭防火墙,也可以通过对端口的操作直接开放连接;添加端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
更新防火墙规则:firewall-cmd --reload
查看端口状态:firewall-cmd --zone=public --query-port=80/tcp
删除开放的端口:firewall-cmd --zone=public --remove-port=80/tcp --permanent
每次都更新防火墙规则,都需要重新更新:firewall-cmd --reload
在更新完防火墙的设置后,也可以查看所有开启的端口:firewall-cmd --zone=public --list-ports
2防火墙
1.防火墙开放端口
1.1 开启端口
# systemctl start firewalld
# systemctl stop firewalld
1.5 允许指定的IP访问SNMP服务
# firewall-cmd --add-rich-rule="rule family='ipv4' source address='10.0.0.2' port port='8080' protocol='tcp' accept" --permanent
1.6 删除规则
# firewall-cmd --remove-rich-rule="rule family='ipv4' source address='10.0.0.2' port port='8080' protocol='tcp' accept" --permanent
1.7 开机启动和禁用防火墙
# systemctl enable firewalld.service
# systemctl disable firewalld.service
2.查看服务器CPU
常用的监视工具有:vmstat, top,dstat和mpstat
# vmstat
# mpstat
3.查看内存使用情况
# top
# free
4.查看服务器的CPU是32位还是64位
# getconf LONG_BIT
5.查看Linux内核及发布版本
# uname -a
# uname -a
# cat /etc/redhat-release
# lsb_release -a 查看系列
6.查看服务器当前时间
# date
7.查看服务器硬盘和分区
#df -h
# fdisk -l
8.查看jexus目录大小
#du /usr/local/jexus
9.查看服务器初始安装的软件包
# cat -n /root/install.log
# more /root/install.log | wc -l
10. 查看已经安装的软件包
# yum list installed | wc -l
# rpm -qa
# rpm -qa | wc -l
11.网络配置
# sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
12.启动网卡 重启网络服务:service network restart
# /etc/init.d/network stop
# /etc/init.d/network start
重启网络服务:service network restart
13.DNS
# sudo vi/etc/resolv.conf
14.压缩文件夹为tar.gz
# sudo tar -zcvf *.tar.gz oldpath
15.解压tar.gz文件
# sudo tar zxf *.tar.gz
16.解压 .bz2文件
# sudo tar jxf *.bz2
17.自定义service
18.磁盘分区
# fdisk -l
# fdisk /dev/xx
19.挂载分区
# mount /dev/xx1 /var/www
20.查看磁盘+分区信息
# df -TH
21.查找PID、查看服务器当前连接数等信息
# sudo netstat -lntp --查看开启的端口
#sudo netstat -anp|grep 8080 --查找监听8080端口的Pid
#netstat -ant | grep $ip:80 | wc -l --查看80端口连接数
#netstat -ant | grep $ip:80 | grep EST | wc -l --查看80端口EST状态的当前连接数
#netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n --升序统计IP访问次数
#netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -rn|head -n 20 --降序统计IP访问次数,20条
22..NET应用程序后台运行
# mono xxx.exe >/dev/null 2>&1 & -- xxx.exe后台运行
23.文件管理
1.递归强制复制文件夹
#cp -rf /var/www/default temp --自动创建temp目录
#cp -rf /var/www/default/* temp --需要手动创建temp目录
2.移动文件夹或文件
#mv /var/www/default/a.cs /var/www/temp/ --移动文件
#mv /var/www/default/test /var/www/temp --移动文件夹
3.递归强制删除文件或文件夹
#rm -rf a.sh