系统操作
hostname 查看主机名
hostname xxxx 修改主机名称
uname -r 查看内核版本
yname -m 查看系统架构
halt 停机
poweroff 关机
shutdown -h now 关机
reboot 重启
logout 注销
exit 退出
date +%Y%m%d%H%M%S 显示年月日时分秒
date -s 14:20:50 修改系统时间
date -s 06/18/14 修改系统日期
ntpdate -u ntp.api.bz 自动同步时间
hwclock 显示BIOS时间
clock -w 系统时间写入BIOS
date -R 查看时区
tzselect 修改时区
cal 显示日历
clear 清屏
cat /etc/redhat-release 系统版本
磁盘、内存操作
free 查看内存、交换分区状况
du -h 查看当前目录占用空间
df -hl 查看磁盘剩余空间
df -m 查看磁盘剩余空间
du -bs dir_name 查看文件夹剩余空间
文件、文件夹操作
基本操作
pwd 显示当前目录
ls [参数] 显示文件或目录信息
ll [参数] 显示文件或目录信息
cd 目录名 更改当前工作目录
.. 上级目录
. 当前目录
/ 根目录
mkdir 目录名 创建目录
-p 创建多级目录
mv 源文件名 新文件名 修改文件名
rmdir 文件夹名 删除空目录
touch 文件名 新建空文件(可同时创建多个)
rm 文件名 删除文件
rm -rf 文件名 强制删除文件/文件夹
-r 向下递归删除
-f 强制删除、不做任何提示
cat 文件名 查看文件
上传下载
sz 下载(send zip,需要下载工具包:lrzsz)
rz 上传(receive zip,需要下载工具包:lrzsz)
cp 源 目标 复制
cp -r 源 目标 复制源目录及子目录至目标目录
scp [参数] [原路径] [目标路径] 远程拷贝
[参数]
-B 允许批处理模式
-C 允许压缩
-p 保留原文件的权限、修改时间、修改时间
-q 不显示传输进度
-r 递归复制整个目录
-v 显示详细信息
-c 以cipher将数据加密传输
-l 限定带宽(以Kbit/s为单位)
scp local_file remote_username@remote_ip:remote_file
scp local_file remote_ip:remote_folder
scp -r root@192.168.2.16:/root/maven-3.0.5 /root/
文件权限
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
---|
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | | 文件所有者 | | | 文件所属组 | | | 其他用户 | |
ls -l 文件名 查看文件权限信息
chmod u+x 文件 该当前用户添加执行该文件的权限
chmod 777 文件 该改文件赋所有权限
文件编辑
file 文件 查看文件类型(linux中文件没有扩展名 )
vi 文件 打开/新建文件
i
esc键
:q
:wq
:q!
:e 文件名
u
yy
dd
Ctrl-f
Ctrl-b
Ctrl-d
Ctrl-u
/word
?word
n
N
系统运行操作
netstat -ano 查看端口情况
netstat -ano|grep 端口 查看指定端口情况
find / -name *xxx* 在硬盘中查找包含xxx的文件、文件夹
find / -amin -10 查找系统最近10分钟访问的文件(access time)
find / -atime -2 查找系统最近48小时访问的文件
find / -empty 查找系统中的空文件、文件夹
find / -group cat 查找数据group组的cat文件
find / -mmin -5 查找最近5分钟修改过的文件
find / -mtime -1 查找最近24小时修改过的文件
find / -user fred 查找fred用户的文件
find / -size +10000c 查找大于10000000字节的文件(c:字节;w:双字;k:KB;G:GB)
find / -size -1000k 查找小于1000k的文件
find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串
find .|xargs grep -ri "IBM" -l 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名
软件操作
rpm
-i --安装软件
-t --测试安装,并不是真的安装
-h --显示安装进度
-f --忽略所有错误
-U --升级安装
-v --检测软件是否正确安装
-ivh --显示安装进度安装(install verbose hash)
-q --检查系统中是否已安装了该软件
rpm -q -a 查看所有软件
rpm -q -a|grep xxx 查看指定软件
rpm -e 名称 卸载软件
yum
yum [options] [command] [package ...]
[options]:-h,帮助;-y,安装过程中全部选“yes”;-q,不显示安装过程
[command]:要进行的操作
[package]:操作的对象
常用命令
yum check-update 列出所有可更新的软件清单
yum update 更新所有软件
yum install <package_name> 仅安装指定的软件
yum update <package_name> 仅更新指定的软件
yum list 列出所有可安裝的软件清单
yum remove <package_name> 删除软件包命令
yum search <keyword> 查找软件包
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum list installed|grep xxx 查看是否已经安装
yum -y remove xxx 卸载软件
权限操作
useradd 用户名 添加用户
passwd 用户名 为用户设置密码
who am i 查看当前用户
who 查看当前所有登录用户
last 查看登录记录
su 用户名 切换用户
usermod [-L|-U] 禁止/解禁用户
-L --lock
-U --unlock
userdel [-r] 用户 删除用户
cat /etc/passwd 查看用户
chown -r username:direction 目录授权
-c或--changes:小伙类似于“-v”参数,但仅回报更改的部分
-f或--quite:不显示错误信息
-h或--no-dereference:只对符号连接的部分做修改
-R或--recursive:递归处理
-v或version:显示指令执行的过程
网路维护
service network restart|start|stop 网卡重启|启动|关闭
route 查看网关相关信息
ping xxx.xxx.xxx.xxx 测试与该主机的连接情况
ifconfig 查看网络
ip addr 查看网卡
firewall
firewall-cmd --state 查看防火墙状态
systemctl start firewalld.service 开启防火墙
systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 禁止防火墙开机启动
设置防火墙开放指定端口
添加端口 firewall-cmd --permanent --add-port=8080/tcp
删除端口 firewall-cmd --permanent --remove-port=8080/tcp
重启 firewall-cmd --reload
查看端口 firewall-cmd --permanent --query-port=8080/tcp
查看所有端口 firewall-cmd --list-ports
iptables
chkconfig iptables on 开启防火墙(重启后生效)
chkconfig iptables off 关闭防火墙(重启后生效)
service iptables start 开启防火墙(立即生效)
service iptables stop 关闭防火墙(立即生效)
设置防火墙开放指定端口
方法一:
打开 /etc/sysconfig/iptables
添加 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
方法二:
执行 /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
重启 /etc/init.d/iptables restart
保存 /etc/rc.d/init.d/iptables save
修改ip
vi /etc/sysconfig/network-scripts/ifcfg-eth0
参考以下:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
DNS1=192.168.231.1
GATEWAY=192.168.231.1
IPADDR=192.168.231.101
NETMASK=255.255.255.0
centos7.2网卡配置
TYPE="Ethernet"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
UUID="157c8fb5-23b3-414c-8519-25bef9b20a54"
DEVICE="eno16777736"
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.122
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
在vmware中,由于复制虚拟机,网卡会出现一些异常,以下排除方法
1、关闭系统,打开系统安装根目录。打开*.vxm文件,在最后一行添加
ethernet0.virtualDev = "e1000"
2、启动系统,输入命令
ip addr
看到多出一个网卡
3、在/etc/sysconfig/network-scripts/目录下新建该网卡配置、重启网卡即可
删除旧网卡
rm -rf /etc/udev/rules.d/70-persistent-ipoib.rules
SSH服务
service sshd status 检测
service sshd start 启动
service sshd stop 停止
service sshd restart 重启
命令相关技巧
连续执行命令
1、命令间用“;”隔开,无论前边的命令是否执行成功,都会执行下一条
[root@jdu4e00u53f7 redis]# echo 1; echoo 2; echo 3; echo 4
1
-bash: echoo: command not found
3
4
2、命令间用“&&”隔开,只有前边的命令执行成功后才会执行后边的命令
[root@jdu4e00u53f7 redis]# echo 1 && echoo 2 && echo 3 && echo 4
1
-bash: echoo: command not found
3、命令间用“||”隔开,只有前边的命令执行失败了,才会去执行后边的命令
[root@jdu4e00u53f7 redis]# echo 1 || echo 2 || echo 3 || echo 4
1
综合命令
top命令
top
-d 秒数 --指定top命令每隔几秒更新(默认3秒)
-b --使用批处理模式输出,一般和“-n”选项合用
-n --指定top命令执行次数
例如: top -b -n 1 >/home/top.log
键入排序
?
P
M
N
q
详解
[root@jdu4e00u53f7 redis]
top - 14:13:49 up 40 days, 6:41, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 82 total, 2 running, 80 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1884244 total, 241168 free, 806208 used, 836868 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 788716 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2008 root 20 0 103292 1984 1328 S 0.3 0.1 26:03.03 AgentMonitor
29337 root 20 0 2566148 179320 14328 S 0.3 9.5 1:27.68 java
1 root 20 0 43208 3128 1976 S 0.0 0.2 0:30.88 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:05.11 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0
10 root 20 0 0 0 0 S 0.0 0.0 7:21.46 rcu_sched
第一行信息
内容 | 说明 |
---|
14:13:49 | 系统当前时间 |
up 40 days, 6:41 | 已经运行时间 |
1 user | 当前登录用户 |
load average: 0.00, 0.01, 0.05 | 系统在之间1分钟、5分钟、15分钟的平均负载(小于1:负载小,大于1:系统超出负荷) |
第二行信息
内容 | 说明 |
---|
Tasks: 82 total | 系统中的总进程数 |
2 running | 运行的进程数 |
80 sleeping | 休眠的进程数 |
0 stopped | 正在停止的进程 |
0 zombie | 僵尸进程。如果不是0,需要手工检查僵尸进程 |
第三行
内容 | 说明 |
---|
%Cpu(s): 0.3 us | 用户模式占用cpu百分比 |
0.7 sy | 系统模式占用cpu百分比 |
0.0 ni | 改变过优先级的用户进程占用cpu百分比 |
99.0 id | 空闲cpu百分比 |
0.0 wa | 等待输入/输出的进程占用百分比 |
0.0 hi | 硬中断请求服务占用cpu百分比 |
0.0 si | 软中断请求服务占用cpu百分比 |
0.0 st | st(Steal time)虚拟时间百分比。当有值时,虚拟cpu等待实际cpu的时间百分比 |
第四行
内容 | 说明 |
---|
KiB Mem : 1884244 total | 物理内存的总量,单位kb |
241168 free | 空闲的物理内存数量 |
806208 used | 已使用的物理内存数量 |
836868 buff/cache | 作为缓存的内存数量 |
第五行
内容 | 说明 |
---|
KiB Swap: 0 total | 交换分区的总大小 |
0 free | 空闲交换分区的大小 |
0 used | 已使用交换分区的大小 |
788716 avail Mem | 作为缓存的交互分区大小 |
kill命令
kill [信号代码] [线程号] 杀死某进程
信号代码 | 信号名称 | 说明 |
---|
1 | SIGHUP | 该信号让进程立即关闭,然后重新读取配置文件之后重启 |
2 | SIGINT | 程序终止信号,用于终止前台进程。相当于ctrl+c快捷键 |
8 | SIGFPE | 在发生致命的算术运算错误时发出,不仅包含浮点运算错误,还包括溢出及除数为0等其他所有算术的错误 |
9 | SIGKILL | 用来立即结束程序的运行,本信号不能被阻塞、忽略。一般一般用于强制终止进程 |
14 | SIGALRM | 时钟定时信号,计算的是实际的时间或时钟时间alarm函数使用该信号。 |
15 | SIGTERM | 正常结束进程信号,kill命令的默认信号。有时如果进程发生问题,这个信号将无法正常终止进程 |
18 | SIGCONT | 该信号可以让暂停的程序恢复执行,本信号不能被阻断。 |
19 | SIGSTOP | 该信号可以暂停前台进程,相当于ctrl+z快捷键。本信号不能被阻断 |
killall [选项] [信号] 进程名 按名称杀死进程
选项: -i --交互式,询问是否杀死某个进程
-I --忽略进程名的大小写
-q --关闭执行回显
例如:
killall test_again 杀死test_again进程的所有线程
killall -I TEST_AGAIN 忽略大小写杀死test_again进程的所有线程
踢出用户
[root@jdu4e00u53f7 /]# w
16:12:53 up 40 days, 8:40, 2 users, load average: 0.00, 0.02, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 223.223.192.119 09:30 5.00s 0.19s 0.00s w
xiaole pts/2 223.223.192.119 16:12 5.00s 0.00s 0.00s -bash
[root@jdu4e00u53f7 /]# pkill -t -9 pts/2
[root@jdu4e00u53f7 /]#
w 查看当前登录用户
pkill [选项] [信号] 进程名 按终端号踢出用户
选项:
-t --按终端号踢出用户
例如:
pkill -t -9 pts/2
pkill -kill -t pts/2
进程运行与挂起
- “jobs -l”命令,查看后台挂起的程序,-l可以显示pid
- 在启动命令后加“ &”,表示后台启动该程序
- 程序前台运行之后,按“ctrl+z”,程序停止执行,挂起至后台
[root@test-consumer01 web]# jobs -l
[1] 16545 运行中 tail -f bc-tomcat/logs/catalina.out &
[2] 16588 运行中 tail -f cis-tomcat/logs/catalina.out &
[3]+ 16590 停止 tail -f fs-tomcat/logs/catalina.out
[4]- 16659 运行中 tail -f oci-tomcat/logs/catalina.out &
+:表示倒数第一个放入后台
-:表示倒数第二个放入后台
fg %工作号 将后台的停止程序恢复至前台执行
bg %工作号 将后台停止的程序恢复至后台执行
后台命令脱离登录终端执行
1、把需要执行的命令加入到/etc/rc.local文件
2、使用系统定时任务,让系统在指定的时间执行某个后台命令
3、使用nohup命令(推介)
例如:作为服务启动 nohup ./startup.sh &
tail命令
tail -f 日志 追踪新产生的日志
tail -n 行数 日志 查看日志最后xx行
jdk安装
export JAVA_HOME=/usr/local/java/jdk1.7.0_75
export JRE_HOME=/usr/local/java/jdk1.7.0_75/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
开机启动
vi /etc/rc.d/rc.local
*注意rc.local的执行权限
软/硬连接
ln [选项] [源路径] [目标路径]
[选项]
-f : 链结时先将与 dist 同档名的档案删除
-d : 允许系统管理者硬链结自己的目录
-i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软连结时,将 dist 视为一般的档案
-s : 进行软链结(symbolic link)
-v : 在连结之前显示其档名
-b : 将在链结时会被覆写或删除的档案进行备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
--help : 显示辅助说明
--version : 显示版本
【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
直接运行*.war
nohup java -jar /home/jenkins.war --httpPort=80 &
压缩、解压
.zip
zip -2 -r -q -o FileName.zip DirName 压缩
-2:压缩级别(9最大,1最小)
-r:递归打包子目录全部内容
-q:安静模式
-o:输出文件,后边跟打包输出的文件名
-x:排除指定文件(必须为绝对路径)
-e:创建加密压缩包
unzip FileName.zip 解压
-q:安静模式
-d:减压到指定目录
-l:不减压,只查看目录
.tar
tar -cvf FileName.tar FileName 压缩
-c:新建归档文件
-f:对普通文件操作
tar xvf FileName.tar 解压
-r:向归档文件尾追加文件
-x:从规定的文件中读取文件
-O:将文件解读开到标准输出
-v:处理工程中输出相关信息
-f:对普通文件操作
-z:调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩
tar -zxvf xxx.tar.gz 解压软件
tar -zxvf xxx.tar.gz -C /xxx/xx 解压到指定目录
.rar
解压:rar a FileName.rar
压缩:rar e FileName.rar
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
找回yum命令
wget http:
tar xf yum-3.4.0.tar.gz
cd yum-3.4.0
./yummain.py install yum
yum update