1. 程式人生 > >Linux基本命令二

Linux基本命令二

Linux

vim vi 編輯器

sudo apt-get install vim   安裝vim

編輯模式 vi檔案 先進入命令模式 然後進入i o a s 進入編輯模式

按鍵 作用
i 在游標所在位置插入元素
o 在游標的下一行輸入
esc 回到命令模式
a 在游標的下一位置輸入內容
s 先刪除游標位置所在字元
S 刪除游標所在行 然後輸入
I 在游標所在行的行首輸入
A 在游標所在行的行尾輸入
   

命令模式

按鍵 說明
h 向左移動一個字元
j 向下
k
l
yy 複製一行
p 貼上
np 貼上n行
nyy 複製n行 (如果不足n行 有多少複製多少行)
dd 刪除一行
ndd 刪除n行
gg 或( 回到第一行
GG或 ) 回到最後一行
u 撤銷上一次的操作
. 重複上一次的操作

編輯模式完成之後 先回到命令模式 然後進入底部命令模式

 

 

底部命令模式

命令 說明
:w 儲存不退出
:q 不儲存 退出
:wq 儲存退出
:wq! 強制儲存退出
:x 儲存退出
:set nu 設定行號
:行號 定位到所在的行
/內容 回車 查詢文章中的目標內容 n 下一個 從上向下
?內容 回車 查詢文章中的目標內容 n 下一個 從下向上
:s/要查詢的字串/要替換的內容 將指定的內容替換成新的內容 但是 只是替換游標所在的行 多個制定的內容只是替換一個
:s/要查詢的字串/要替換的內容/g 將指定的內容替換成新的內容 但是 只是替換游標所在的行 多個制定的內容全部替換y
:%s/要查詢的字串/要替換的內容 將指定的內容替換成新的內容 替換所有的行 多行制定的內容只是替換第一個
:%s/要查詢的字串/要替換的內容/g 將指定的內容替換成新的內容 替換所有的行 多行制定的內容全部替換
特殊符號需要轉義(: / 等) :%s/http\:\/\/www.baidu.com\/1.html/https\:\/\/www.so.com\/1.py
   
   

 

網路管理

ifconfig
ens33     Link encap:Ethernet(乙太網)  HWaddr(硬體地址) 00:0c:29:34:b8:5d  
          inet addr(ipv4 IP地址):10.8.152.115  Bcast(廣播):10.8.152.255  Mask(掩碼):255.255.255.0
          inet6 addr(ipv6 IP地址): fe80::babd:b6e0:ed56:b141/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric(躍點數):1
          RX packets(接收資料包):192056 errors:0 dropped(丟棄):0 overruns(過載):0 frame(幀數):0
          TX packets(傳送資料包):8105 errors:0 dropped:0 overruns:0 carrier:0
          collisions(碰撞):0 txqueuelen(傳送佇列長度):1000 
          RX bytes(接收位元組):56360578 (56.3 MB)  TX bytes(傳送位元組):673758 (673.7 KB)
​
lo        Link encap:Local Loopback(本地迴環)  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:254 errors:0 dropped:0 overruns:0 frame:0
          TX packets:254 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:21090 (21.0 KB)  TX bytes:21090 (21.0 KB)
​
​
​
enp0s33 虛擬機器的網絡卡名稱
inet   ipv4  ip地址
        閘道器
        子網掩碼
接收資料包:358 錯誤:0 表示網路正常通訊
接收資料包:0   錯誤:358  網路連線失敗
​
​
ifconfig enp0s33  檢視指定網絡卡的資訊
​
ifconfig enp0s33  up  啟動網絡卡
ifconfig enp0s33  down 關閉網絡卡
​
​
​
​
重啟網路服務:
​
[email protected]:/etc$ service networking
Usage: /etc/init.d/networking {start|stop|reload|restart|force-reload}
​
​
service  networking restart|start|stop
/etc/init.d/networking restart|start|stop
​

ping

ping -c 20 www.baidu.com   指定ping20次
ping   -b www.baidu.com  測試閘道器 到百度的連通情況 

netstat檢視網路連線狀況

-a 顯示所有
​
-t tcp協議  記錄通過tcp協議連線過來的
​
    [email protected]:/etc$ netstat -t
    tcp        0      0 10.8.152.115:ssh        10.8.152.10:62657       ESTABLISHED
    
-u udp協議  記錄通過udp協議連結過來的
​
-n 顯示埠號
-p 顯示程序
​
​
/home# sudo netstat -nt   顯示所有的tcp連結
​
​
/home$ sudo netstat -nt | grep 22
​
​
[email protected]:~$ sudo netstat -nt | grep 22
​
tcp        0      0 10.8.152.115:22         10.8.152.10:62657       ESTABLISH
​
​

程序管理 類似於 widow的工作管理員

ps   process status簡稱 檢視當前系統程序狀態
  引數:
  -a  顯示所有的程序
  -u  使用者的程序
  -x 跟a配合使用 顯示詳細的資訊
  
  [email protected]:~$ ps -aux(顯示所有使用者程序的詳細資訊)
  USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.5 119616  5708 ?        Ss   18:18   0:02 /sbin/init 
cai        1602  0.0  0.3  94892  3508 ?        R    18:18   0:00 sshd: [email protected]
​
  
  
ps -u root | more -10  顯示root使用者的程序  每一頁顯示10條  
ps -aux | grep ssh  #顯示正在記憶體中的程式 匹配ssh  
​
  USER    PID       %CPU                %MEM
 使用者    程序號    該程序佔用了多少cpu   該cpu佔用了多少記憶體     
 
 
  tty 近程的控制終端  
  ? 表示 不是通過終端進來的  
  pts 遠端過來的   
  
  
先用 ps -aux | grep    檢視對應的 pid 
殺死程序  : kill -9 pid 程序號
​
​
所有相關的程序 全部幹掉 (結束虛擬機器所有程序,xshell會與虛擬機器斷開連結)
killall -TERM sshd 不用關心具體的程序號是多少   程序相關的全部幹掉 
(結束所有的程序  ssh也會斷開連線   需要在虛擬機器重新啟用服務  然後xshell才能與虛擬機器連線)
[email protected]:~$ sudo service ssh start  (開啟ssh協議)
​

 

top工作管理員中的效能

top  顯示虛擬機器所有執行情況
主要檢視 cpu 記憶體利用率  以及負載等
​
top - 21:18:59(當前時間) up  1:48(系統運行了時間),  2 users(使用者),  load average: 0.00, 0.01, 0.02  (系統的負載   每一分鐘  每五分鐘  每十五分鐘  
單核 這個值不能超過1   壓力越大 這個值越接近於1  
雙核 不能超過2     )
Tasks: 222 total,   1 running, 221 sleeping,   0 stopped(沒有停止的程序 ),   0 zombie
%Cpu(s):  3.7 us,  1.3 sy,  0.0 ni, 95.0 id,  0.0 wa,  0.0 hi,  0.0 si, 
KiB Mem :   985848 total,   107772 free,   635756 used,   242320 buff/ca
KiB Swap:  1046524 total,  1008892 free,    37632 used.   156620 avail M
​
   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ 
  2050 cai       20   0 1258120 150260  39088 S  3.0 15.2   4:23.37 
  1021 root      20   0  543368 112452  17348 S  0.7 11.4   1:00.90 
  3102 cai       20   0   94892   3416   2480 S  0.3  0.3   0:00.15 
  3119 cai       20   0   48868   3684   3028 R  0.3  0.4   0:00.39 
     1 root      20   0  185368   4728   3212 S  0.0  0.5   0:02.80 
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 
    
​

htop

動態顯示系統程序
​
首先要安裝軟體:sudo apt-get install htop 
​
htop  可以直接手動選擇 然後f9 kill掉

登陸狀態

uname  -r       核心版本號
​
    [email protected]:~$ uname -r
    4.13.0-45-generic
​
       -v       系統的版本號
[email protected]:~$ uname -v
#50~16.04.1-Ubuntu SMP Wed May 30 11:18:27 UTC 2018
​
       
       -a       顯示系統的所有資訊
[email protected]:~$ uname -a
Linux hello-world 4.13.0-45-generic #50~16.04.1-Ubuntu SMP Wed May 30 11:18:27 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
       
       
       
hostname       獲得主機名
sudo hostname  新名字 (設定主機名)
​
​
永久的設定主機名:
    sudo vim /etc/hostname
    
    
    
whoami :檢視當前登陸的使用者
​
​
who    :檢視終端 及遠端 使用者誰登陸   什麼方式
​
cai      tty7(控制終端)         2018-07-23 19:46 (:0)
cai      pts/4(遠端)        2018-07-23 19:50 (10.8.152.10)
​
​
w       :檢視使用者登陸資訊 及負載
​
[email protected]:~$ w
 20:02:05 up  1:43,  2 users,  load average: 0.03, 0.04, 0.06
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
cai      tty7     :0               19:46    2:27m 24.29s  0.17s /sbin/upstart
cai      pts/4    10.8.152.10      19:50    1.00s  0.06s  0.00s w
​
​
​
last   檢視最近登陸使用者的資訊
last -10  檢視最近的10個登陸的使用者資訊
​

Linux的啟動級別

電源---》 加電自檢 ---》讀取mbr引導分割槽---》載入Linux核心---》載入Linux程序---》系統初始化----》看到畫面

 

  • [email protected]:/etc/init$ cat rc-sysinit.conf (rc-sysinit.conf 在init檔案中)

  • vim /etc/rc-sysinit.conf 設定啟動級別

  • env DEFAULT_RUNLEVEL=2 (更改預設值 改變虛擬機器的開機啟動級別)

  Ubuntu(預設啟動級別2) Redhat(預設啟動級別3)
0 關機 關機
1 單使用者模式 以root的身份開啟一個虛擬控制檯 主要用來 管理系統用 單使用者模式
2 帶顯示管理的GUI 完整多使用者模式 多使用者模式 但是沒網路
3 帶顯示管理的GUI 完整多使用者模式 完整多使用者模式
4 帶顯示管理的GUI 完整多使用者模式 留給使用者自定義
5 帶顯示管理的GUI 完整多使用者模式 圖形介面模式 從命令列切換到 圖形介面
6 重啟 重啟

切換root根目錄

/etc/init/$ sudo passwd root  (設定root密碼)
​
enter new unix password
​
然後切換  su root

Linux定時任務 人工不干預

js中的定時任務
    超時  間歇呼叫
    
    
注意  注意  注意   
首先要看自己的定時服務打開了沒有:
ps -aux | grep cron  
​
要是沒有開啟要先開啟:
​
service  cron start|stop|restart   (開啟  停止 重新開啟)
​
第一種:修改配置檔案
​
vim /etc/crontab
 分  時  日   月   周   使用者    命令
(m  h   dom  mon dow  user  command)
​
例:[email protected]:/$ sudo vim /etc/crontab 
    23 22 23 7 1 cai echo '你好嗎啊啊啊啊' >> /1.txt(在根目錄資料夾1.txt中追加內容 你好嗎啊啊啊啊 )
​
注意::::目錄檔案必須是絕對路徑
​
​
第二種:crontab 命令  (指令碼編輯)
​
crontab     -l 列出所有的定時任務 看不到配置檔案中的定時任務
​
​
crontab     -e 新增計劃任務 跟上面的區別在於 沒有使用者名稱
分   時   日   周   命令
[email protected]:/# crontab -e(開啟)
# m h  dom mon dow   command
分  時  日  月 周    命令
35 22 23 7 1 echo 'ninininihao好' >> /1.txt
[email protected]:/# cat 1.txt (檢視詳情)
123456
i love YOu
好氣啊》》》》
你好嗎啊啊啊啊
ninininihao好
​
​
​
crontab     -r 清空計劃任務   
​

壓縮 解壓縮

windows  常見的壓縮包   rar  zip   7zip  iso
Linux      壓縮包       zip   gz   bz2  tar

gz的壓縮與解壓縮

gizp 檔名
gizp

bz2的壓縮於解壓縮

 

tar 打包

tar
    -c 打包
    -v 視覺化
    -f 指定的檔名
    -t 檢視包裡的內容
    -x 解包
    
    
    -z 以gzip壓縮  解壓縮
    -j 以bzip2壓縮 解壓縮
    
tar -cvf kang.tar 1.txt 2.txt (把1,2檔案打包)
tar -cvf kang.tar 1.txt 2.txt (把1,2檔案解包)
​
​
gz:
tar -zcvf kang.tar.gz 1.txt 2.txt  (打包 並壓縮)
tar -zxvf kang.tar.gz            (解包 並解壓縮)
​
bz2
tar -jcvf kang.tar.bz2 1.txt 2.txt (打包並壓縮)
tar -jxvf kang.tar.bz2 (解包 並解壓縮)
​
xz
tar -Jcvf kang.tar.xz 1.txt 2.txt 打包並壓縮 
tar -Jxvf kang.tar.xz  (解包 並解壓縮)
​
    

zip unzip

軟體安裝

  • apt-get

    • 解決dpkg 的順序關係 依賴關係

      sudo apt-catch showsrc 包名
      sudo apt-get resource  包名​
      
  • dpkg 安裝 debian

    dpkg -l | grep zip     檢視已經安裝的保護那zip的安裝包
    ​
    depk -i 安裝包   安裝
        -r          解除安裝
        -p          解除安裝軟體的同時 將配置資訊一起刪除