linux日常操作命令一览

系统操作

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 [email protected]:/root/maven-3.0.5 /root/
文件权限
权限项执行执行执行
字符表示rwxrwxrwx
数字表示421421421
权限分配 文件所有者  文件所属组  其他用户 
ls -l 文件名            查看文件权限信息 
chmod u+x 文件          该当前用户添加执行该文件的权限
chmod 777 文件          该改文件赋所有权限
文件编辑
file 文件               查看文件类型(linux中文件没有扩展名 )
vi 文件                 打开/新建文件
    i           ---进入编辑状态
    esc键       ---退出编辑状态
    :q          ---保存/未更改
    :wq         ---保存并退出
    :q!         ---强制退出
    :e 文件名   ---继续打开新文件
    u           ---撤销操作
    yy          ---复制光标所在行
    dd          ---删除光标所在行
Ctrl-f          ---向下翻1页,相当于 [Page Down]
Ctrl-b          ---向上翻1页,相当于 [Page Up]
Ctrl-d          ---向下翻半页
Ctrl-u          ---向上翻半页
/word           ---向光标之下寻找一个名称为 word 的字符串
?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"
#BOOTPROTO="dhcp"
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"
#ONBOOT="yes"

#static assignment
NM_CONTROLLED=no #表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理
ONBOOT=yes #开机启动
BOOTPROTO=static #静态IP
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   --以cpu使用排序,默认
    M   --以内存使用率排序
    N   --以pid排序
    q   --退出
详解
[root@jdu4e00u53f7 redis]# top
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 stst(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 [信号代码] [线程号]        杀死某进程
信号代码信号名称说明
1SIGHUP该信号让进程立即关闭,然后重新读取配置文件之后重启
2SIGINT程序终止信号,用于终止前台进程。相当于ctrl+c快捷键
8SIGFPE在发生致命的算术运算错误时发出,不仅包含浮点运算错误,还包括溢出及除数为0等其他所有算术的错误
9SIGKILL用来立即结束程序的运行,本信号不能被阻塞、忽略。一般一般用于强制终止进程
14SIGALRM时钟定时信号,计算的是实际的时间或时钟时间alarm函数使用该信号。
15SIGTERM正常结束进程信号,kill命令的默认信号。有时如果进程发生问题,这个信号将无法正常终止进程
18SIGCONT该信号可以让暂停的程序恢复执行,本信号不能被阻断。
19SIGSTOP该信号可以暂停前台进程,相当于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

进程运行与挂起

  1. “jobs -l”命令,查看后台挂起的程序,-l可以显示pid
  2. 在启动命令后加“ &”,表示后台启动该程序
  3. 程序前台运行之后,按“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://yum.baseurl.org/download/3.4/yum-3.4.0.tar.gz
tar xf yum-3.4.0.tar.gz
cd yum-3.4.0
./yummain.py  install yum
yum update
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章