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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章