Linux基本命令二
阿新 • • 發佈:2018-11-25
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 解除安裝軟體的同時 將配置資訊一起刪除