系統操作
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/
文件權限
權限項 | 讀 | 寫 | 執行 | 讀 | 寫 | 執行 | 讀 | 寫 | 執行 |
---|
字符表示 | 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