二、linu

1、經常使用linux命令python

昨日內容回顧

linux基本命令

ls 查看目錄和文件
ls -la 查看全部文件和目錄詳情(包括隱藏文件, -l和-a能夠單獨使用)
mkdir
rmdir
touch
cat
cd
rm -rf()
pwd
more
tail

 

今日內容

1 linux命令基本操做

在linux下面: 沒有提示(沒有報錯)就是最好的提示!!!mysql

在linux下面: 沒有提示(沒有報錯)就是最好的提示!!!linux

在linux下面: 沒有提示(沒有報錯)就是最好的提示!!!sql

1.1 IP地址;
192.168.1.155 本機IP地址
127.0.0.1 本地迴環地址
0.0.0.0 也是本地迴環地址, 它包括了192.168.1.155和127.0.0.1
1.2 linux操做小技巧
1.tab鍵    用於自動補全命令/文件名/目錄名
2.ctrl + l  清理終端顯示
3.clear/cls 清理終端顯示
4.ctrl + c 終止當前操做
1.3 建立用戶命令

useradd huangwen passwd huangwenvim

1.4 linux系統命令操做語法格式
命令 空格 參數 空格 【文件或路徑】須要處理的內容
rm   -rf   /tmp/*
ls   -la   /home
1.5 安裝好虛擬機就要作的事情 (很是重要************)

(1) 被系統自帶的防火牆阻止(firewalld)windows

systemctl stop firewalld   # 先臨時關閉防火牆
systemctl disable firewalld # 再永久關閉防火牆

(2) 美國國家安全局的防火牆(selinux)安全

# 臨時關閉
getenforce # 查看狀態(0表示關閉 1表示開啓)
setenforce 1/0 # 表示開啓/關閉

# 永久關閉
vim /etc/selinux/config
# 修改
SELINUX=disabled

 

2 linux基本命令

2.1 PS1(重要指數**)
echo $PS1

# 修改命令提示符
PS1="[\u@\h \w \t]\$"
2.2 更改主機名
hostnamectl set-hostname qishione
2.3 建立多個目錄的命令
mkdir -p
mkdir -p /root/qishi5/gaoxin/{1,2,3} # 建立多個目錄,放在大括號裏面用逗號隔開,千萬要注意不能有空格
touch /root/qishi5/gaoxin{1,2,3} # 建立多個普通文件
2.4 vim(重要指數*)
vi/vim操做流程: 
1. vi 打開文件 此時進入命令模式,你能夠輸入 i/a/o 命令,進入編輯模式
2. 在編輯模式下,開始輸入字符串
3. 寫完以後, 按下 esc 回到命令模式,按下 : 進入底線命令模式
4. :w 寫入不退出 :wq! 寫入且強制退出
底線命令模式 
w 保存
q 退出
wq 保存退出
q! 無理由退出
wq! 無理由保存退出 
2.5 cat命令(重要指數***)
cat -n 文件名  查看文件,並顯示行號

cat 文件名  查看文件

# 追加文字到文件
cat >>/tmp/oldboy.txt << EOF
難難難 道德玄
不對知音不可談
對了知音談幾句
不對知音枉費舌尖
EOF
2.6 more和less命令(重要指數***)

主要是用來查看大容量的文件服務器

more /etc/passwd
按下空格space是翻頁
按下b鍵是上一頁
回車鍵向下讀取內容
2.7 cp命令(重要指數)

複製文件或文件夾網絡

複製 > copy > cp
# 移動xxx.py到/tmp目錄下
cp xxx.py /tmp/
# 移動xxx.py順便更名爲tiger.py
cp xxx.py /tmp/tiger.py
cp -r 遞歸,複製目錄以及目錄的子孫後代
cp -p 複製文件,同時保持文件屬性不變
2.8 刪除命令(重要指數)
刪除  > remove > rm
參數  -i  須要刪除確認
   -f  強制刪除
      -r  遞歸刪除目錄和內容

rm -r也有提示,由於有alias設置less

alias命令查看別名
alias rm="rm -i"
2.9 alias命令(重要指數***)

當你輸入rm命令時,提示"你這個餓貨,不要再使用rm命令了,求你了大哥"

alias rm="echo '你這個餓貨,不要再使用rm命令了,求你了大哥'"
2.10 查找命令find(重要指數***)

查找我想要的文件,過濾掉不須要的文件

-name 按照文件名查找文件
-type 查找某一類型的文件,諸如:
b - 塊設備文件。
d - 目錄。################
c - 字符設備文件。
p - 管道文件。
l - 符號連接文件。#############
f - 普通文件。#################
s - socket文件
# 找出/tmp全部以 .txt 結尾的文件
find /tmp/ -type f -name "*.txt"

# 找到/etc下全部名字以host開頭的文件
find /etc -name 'host*'

# 找到/opt上一個名爲settings.py
find /opt -name 'settings.py'
2.11 管道符"|" (重要指數)

第一個命令輸出的結果,提供給第二個命令進行過濾,還能夠進行第三次或屢次過濾

ps -ef 表示查看當前系統運行的全部進程

netstat -tunlp 表示查看當前系統開放的全部端口

ps -ef | grep lvmeatad   # 過濾出全部lvmaetad關鍵字的進程
netstat -tunlp  查看服務器的端口占用狀況
netstat -na | find "445"  windows下查看並過濾出445端口的佔用狀況
139和445是windows下面的共享文件端口

主機IP相關:

192.168.12.139表示個人linux機器
127.0.0.1/localhost 表示我本身
0.0.0.0 表示192.168.1.197和127.0.0.1和localhost組合起來
2.12 grep命令,查找文件下有關鍵字的內容(重要指數)
# 找出/etc/passwd下root用戶
grep "root" /etc/passwd

# 找出網卡配置文件下的dhcp
grep "dhcp" /etc/sysconfig/network-scripts/ifcfg-ens33

grep /sbin/nologin /etc/passwd

# 找到/etc/passwd的全部與mysql有關行,行號
cat /etc/passwd |grep -n 'mysql' 
2.13 head和tail命令
head顯示文件前幾行,默認前10行
tail顯示文件後幾行,默認後10行
#查看前兩行
head -2 /tmp/oldboy.txt
#查看後兩行
tail -2 /tmp/oldboy.txt
#持續刷新顯示
tail -f xx.log
2.14 which命令(重要指數)

which命令用於查找並顯示給定命令的絕對路徑,環境變量PATH中保存了查找命令時須要遍歷的目錄。

which python       #python命令在哪
/usr/bin/python    #命令文件絕對路徑
2.15 遠程COPY命令(scp) (重要指數*)

用於linux之間的文件或目錄的遠程傳輸

語法
scp 【可選參數】 本地源文件 遠程文件標記

scp 本地文件  遠程用戶名@遠程ip:遠程文件夾/
scp 本地文件  遠程用戶名@遠程ip:遠程文件夾/遠程文件名
scp -r  本地文件夾  遠程用戶名@遠程ip:遠程文件夾/

scp Python-3.6.6.tgz 192.168.1.189:/opt/  # 將文件拷貝到遠程機器上
scp 192.168.1.189:/opt/Python-3.6.6.tgz . # 將遠程機器上的文件拷貝到本地

參數

-r :遞歸複製整個目錄
-v:詳細方式輸出
-q:不顯示傳輸進度條
-C:容許壓縮
scp -v -r /opt 192.168.1.155:/tmp/  
# 遞歸拷貝opt目錄到遠程服務器上(顯示詳細輸出,如debug信息)
scp -r /opt 192.168.1.155:/tmp/   # 遞歸拷貝opt目錄到遠程服務器上
scp -C -r /opt 192.168.1.155:/tmp/   # 遞歸拷貝opt目錄到遠程服務器上,並壓縮傳輸
2.16 du命令,用於顯示目錄或文件的大小(重要指數***)
du 【參數】【文件或目錄】
-s 顯示總計
-h 以k,M,G爲單位顯示,可讀性強

df -h 查看磁盤大小, 和佔用空間
# 顯示/home的總大小
du -sh /home
2.17 top命令, 動態監視進程活動與系統負載等信息(重要指數*)

2.18 chattr與lsattr(重要指數***)

給文件加鎖,只能寫入數據,沒法刪除文件

chattr +a test.py
chattr -a test.py

查看文件隱藏屬性(查看文件是否有鎖,是否有a屬性)

lsattr test.py
2.19 linux時間同步(重要指數***)
//手動修改時間
date 091117152019   # 0911表示月和日, 1715表示時分, 2019表示年份

//以系統時間爲基準,修改硬件時間
[root@oldboy_python ~ 10:29:07]#hwclock -w

//以硬件時間爲基準,修改系統時間
[root@oldboy_python ~ 10:29:21]#hwclock -s

ntp時間服務器同步

ntpdate -u ntp.aliyun.com
2.20 小知識點(重要指數**)

lrzsz工具包(能夠提供linux服務器的上傳和下載)

yum install lrzsz   # 下載此工具包

rz   # 上傳文件
sz   # 下載文件
2.21 上傳下載命令(重要指數*)
wget命令用於在終端下載網絡文件
參數是 wget [參數] 下載地址
wget -r -p http://www.luffycity.com#遞歸下載路飛全部資源,保存到www.luffycity.com文件中
2.22 開關機命令(重要指數*)
reboot或init 6命令用於重啓機器
poweroff或init 0用於關閉系統

 

3 VIM編輯器

3.1 vim編輯器工做原理

3.2 vim基本操做命令

重要的我會標爲高亮,必需要會,其餘的瞭解就能夠

3.2.1 移動光標

w(e)  移動光標到下一個單詞 b    移動到光標上一個單詞

數字0  移動到本行開頭 $    移動光標到本行結尾

H    移動光標到屏幕首行 M    移動到光標到屏幕的中間一行 L    移動光標到屏幕的尾行 gg    移動光標到文檔的首行 G    移動光標到文檔尾行

ctrl + f  下一頁 ctrl + b  上一頁

`.  移動光標到上一次的修改行

3.2.2 查找

/tiger 在整篇文檔中搜索tiger字符串,向下查找 ?tiger 在整篇文檔中搜索tiger字符串,向上查找

查找到關鍵字以後:
n 表示查找下一個關鍵字
N 表示查找上一個關鍵字

查找整個文檔,匹配光標所在的全部單詞,按下n查找下一處,N上一處

查找整個文檔,匹配光標所在的全部單詞,按下n查找下一處,N上一處

gd 找到光標所在單詞匹配的單詞,並停留在非註釋的第一個匹配上

%    找到括號的另外一半!!

 

3.2.3. 複製粘貼刪除命令

yy 拷貝光標所在行

nyy 拷貝以光標開始往下數n行內容

dd 刪除光標所在行 D 刪除當前光標到行尾的內容 dG 刪除當前行到文檔尾部的內容 p 粘貼yy所複製的內容 x   刪除光標所在的前一個字符 del鍵 刪除光標所在的字符 u 撤銷上一步的操做

 

3.2.4 底線命令模式

:q! 強制退出 :wq! 強制寫入退出 :set nu 顯示行號

: set nonu 取消顯示行號

:數字  調到數字那行

隨時按下esc能夠退出底線命令模式

 

2、總結

一、linux界面

提示符,#爲root管理員用戶,$爲普通用戶

 二、更改主機名:hostnamectl  set-hostname  主機名

 三、遞歸建立文件夾:

遞歸建立一個文件夾:mkdir  -p  文件1/文件2/文件3

遞歸建立多個文件夾(大括號中的文件用逗號分隔,不能有空格):mkdir  -p  /路徑1/路徑2/{文件夾1,文件夾2,文件夾3。。。   }

五、往文件中追加文字:echo  "追加的字符串"  >>  文件名

清空文件:echo  ""  >>  文件名

六、建立多個文件:touch  文件1  文件2  文件3

在某個文件夾下建立多個文件:touch  /路徑1/路徑2/{文件1,文件2,文件3,。。。}

七、cat命令

文件查看:cat 文件名

文件查看(默認查看10條):head 文件名 ( tail  文件名 )     -----head查看頭部10條,tail查看尾部10條

動態查看文件:tail -f 文件名

cat複製文件(將文件1複製到某路徑下並命名文件2):cat  文件1  >   /路徑/文件2   

cat 追加內容( EOF 表示結束追加 ):cat  >>  文件 << EOF

  查看文件,同時顯示行號:cat -n xxx.py

查看大型文件:

more  文件名    ----空格向下翻頁、b是向上翻頁、回車鍵向下讀取內容、按q退出查看或Ctrl  c   用來終止操做

( less  文件名    ----可用方向鍵進行上下翻頁 或空格向下翻頁)

查看頭部或尾部數據(能夠在後面加  -數字   表示顯示指定行數,默認顯示10行,數字位置不能放末尾):

head 表示從上往下數10行,tail 表示從下往上數10行

head(尾部: tail )文件名

  head -11 /home/passwd 

假如須要中間位置10到20數據:head -20  /etc/passwd  |  tail  -10 /etc/passwd

八、複製文件1 到某路徑下並命名:cp  文件1  路徑/文件2

cp  -r  :遞歸複製

cp  -r  :複製文件,同時保持文件屬性不變

九、移動文件1 到某路徑下並命名:mv  文件1  路徑/文件2

十、查找文件(查找的文件名最好加引號,這樣可使用通配符 * 來進行模糊搜索,否則報錯)

只能在根目錄下查找:find  -name  文件名

在指定目錄下查找(文件名加引號):find   指定目錄  -name   ‘’文件名‘’

查找根目錄下type表示查找類型參數,f是普通文件類型,name表示按文件名查找:find /  -type  f  -name  文件名

例如,找出以txt結尾的文件(測試結果是文件名帶不帶引號都可查詢):find /  -type  f  -name  " *.txt "

十一、-type 查找某一類型的文件,諸如:

b - 塊設備文件。
d - 目錄。################
c - 字符設備文件。
p - 管道文件。
l - 符號連接文件。#############
f - 普通文件。#################
s - socket文件

 十二、grep 用法

查詢進程:ps -ef

進行多級查詢:ps -ef | grep "ssh" | grep "pts" | grep "auto"

查看系統開放的端口( tcp與udp協議的端口狀況):netstat  -tunlp

查看系統開放的端口( 只查看tcp協議的端口狀況):netstat  -ntlp

配合grep查看指定( 22 )端口: netstat  -ntlp  |  grep  22

grep 參數:-n  表示查找的同時顯示行號

查詢某文件中的指定文字並攜帶行號:cat  /etc/passed   |  grep  -n  "mysql"

從文件中查找指定文字:grep  "文字"   文件名

 從文件中查找指定文字而且攜帶對應行號:grep   -n  "文字"   文件名

grep  參數:-i   表示查詢的同時忽略大小寫查詢

grep  參數:-v  反向選擇,表示查詢的是你沒有指定的文字

1三、linux建立用戶: useradd  用戶名

給建立的用戶建立密碼: passwd  用戶名  

切換用戶: su   -   用戶名

1四、linux中建立目錄是區分大小寫的(大小寫不一樣能夠建立不一樣目錄),windows中建立目錄不區分大小寫(大小寫不一樣的目錄表示同一個目錄,不能建立)

1五、遠程傳輸文件(傳輸後須要輸入遠程root密碼):scp 文件路徑 遠程ip:遠程ip的路徑/命名新文件名

scp /home/pass 192.168.12.168:/home/ceshi-hu

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2019-11-07

相關文章
相關標籤/搜索