1. 程式人生 > >python學習第九十六天:linux基礎

python學習第九十六天:linux基礎

systemctl status sshd 檢視ssh
ss -lnupt
ss -tnlu 檢視監聽的埠 t tcp u udp n 顯示埠

grep 過濾
grep 'root' passwd 查詢帶有root的行
grep 'root' passwd /etc/passwd 查詢多個檔案中的
grep -e '^$' -v passwd -e使用正則 '^$'取空行 -v 取反

sed 取行,替換
sed -n '3,5p' passwd 查詢第三到五行 -n顯示找到的 -i儲存
sed -n '3iaaa' passwd 第三行插入aaa ‘’中i插入 d刪除 a追加 c替換
sed 's#root#oldboy#g' passwd |grep 'oldboy' 替換並查詢

取ifconfig ens33中的ip
ifconfig ens33|sed -n '2p'|sed 's#.*inet ##g'|sed 's# net.*##g' 取ip
grep -o '正則'

awk
awk -F ':' '{print $1}' passwd 以:分隔取出第一列 $1第一列 $0全部 $NF最後一列 $(NF-1)最後第二列
awk -F ':' 'NR==2 {print $NF}' passwd 取第二行最後一列 NR==2第二行
NR:表示記錄數量,在執行過程中對應當前的行號。
NF:表示欄位數量,在執行過程中對應當前行的欄位數。

過濾帶root的行列印最後一列
awk -F ":" '/root/ {print $1}' passwd

1加到十
seq 10|awk 'BEGIN {sum=0;print"1+2..+10="} {sum+=$1} END{print sum}'

列印行數
方法一:awk 'END{print NR}' passwd
方法二:awk 'BEGIN {h=0} {h+=1} END{print h}' passwd

用空格分割,列印2,4,6列
ifconfig ens33|awk -F " " 'NR==2 {print $2,$4,$6}' # 預設分隔符為空格 -F " "可以不寫

打包檔案
tar czvf [壓縮目標] [打包檔案] [打包檔案]
-c 建立新的歸檔檔案
-t 顯示歸檔檔案的內容
-v 顯示執行的過程
-z 使用gzip方式壓縮或者解壓縮打包檔案。
-f 指定歸檔檔案,注意f後面要直接接歸檔的檔名,不能再新增其他引數。


top 檢視系統狀態 q退出
free -mh 檢視記憶體 h為人類可讀
uptime

特殊符號

命令

功能

備註

>或1>

把前面的內容輸入後面的檔案中,清除原有內容。

輸出重定向

>>或1>>

把前面的內容追加到檔案的尾部,不清除原有內容

追加輸出重定向

<或0<

輸入重定向

 

<<或0<<

追加輸入重定向

 

\

轉義

 

.

當前目錄

 

..

上一級目錄

 

-

上一次的目錄(搖控器的回看功能)

 

管道

 

命令分隔符

 

{}

生成序列,前面命令的結果(find,xargs)

 

~

當前使用者家目錄

 

&&

並且and

 

||

或 or

 

!+字母

調取最近操作過的命令

 

!!

表示使用最近一次操作的命令

 

!+數字

表示調出歷史命令的第n條

 

取反

 

*

代表所有字元

 

任意一個字元

 

命令分隔符

 

#

配置檔案註釋

 

$

變數前加可以呼叫變數。

 

/

根目錄,路徑分隔符

 

‘’

所見即所得

 

“”

會先解析變數,再列印

 

··

等價於$(),引用命令

 


快捷鍵

命令

功能

備註

tab

路徑命令補全

 

ctrl+a

移動游標到命令列開始處

 

ctrl+e

移動游標到命令列末尾處

 

ctrl+u

刪除游標以前的內容

 

ctrl+k

刪除游標以後的內容

 

ctrl+c

中斷命令執行

 

ctrl+l

清屏

 

ctrl+shift+v

貼上

 

ctrl+shift+c

複製

 

ctrl+d

退出當前使用者

 


第1章 SSH優化
配置檔案/etc/ssh/sshd_config
13 Port 52113
122 UseDNS no
42 PermitRootLogin no
15 ListenAddress 192.168.33.*
81 GSSAPIAuthentication no

使用一條命令修改上述配置:sed -i '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no' sshd_config


檔案傳輸
sz oldboy.tar.gz 傳到本機電腦
rz 電腦傳給linux

程序相關
kill pid 結束程序 -9強制殺掉
pkill 服務名稱


目錄結構
which cp 檢視位置
tree -L 1 樹狀檢視目錄
who 檢視使用者


網絡卡的配置檔案
/etc/sysconfig/network-scripts/ifcfg-ens33 網絡卡配置檔案
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.11
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=223.5.5.5

DNS配置檔案
/etc/resolv.conf DNS配置檔案(優先順序低於網絡卡的配置)
DEVICE=eth0 #//物理裝置名
HWADDR=00:0c:29:14:fc:a6 #//網絡卡的MAC地址
TYPE=Ethernet #//網路型別 乙太網
UUID=e4c93060-c578-486d-9c8a-fb807fc3aab1
ONBOOT=yes #//控制網絡卡是否開機自啟動
NM_CONTROLLED=yes
BOOTPROTO=dhcp #//引導協議,期中,proto取值:nono引導時不使用協議,static靜態分配地址,bootp,使用BOOTP協議,或dhcp,使用DHCP協議。
APADDR=10.0.0.8 #//ip地址
NETMASK=255.255.255.0 #//子網掩碼
GATEWAY=10.0.0.254 #//閘道器地址
DNS1=202.106.0.20 #//DNS域名解析服務

域名解析配置檔案
/etc/hosts The static table lookup for hostnames

主機名配置檔案
/etc/hostname


first field要掛載的裝置
second field 掛載點
third field 檔案系統
fourth field 掛載選項
fifth field 是否備份,0不備份
sixth field 開機自檢磁碟,0不自檢。fsck命令進行檢查(不要檢查好的磁碟)

生成鑰匙對
ssh -keygen -t rsa 生成公鑰私鑰
ssh-copy-id -i /root/.ssh/id_rsa [email protected]
ssh 10.0.0.11 "mkdir /tmp/test1"
scp /etc/sysconfig/network-scripts/ifcfg-ens33 10.0.0.11:/tmp/



etc相關

/etc/profile.d/下的指令碼,每次登入都執行。
/etc/motd 登陸後顯示的字串。
/etc/issue開機登入提示檔案。安全優化清空該檔案。
/etc/redhat-release檢視linux版本資訊。


/etc/passwd 帳號檔案
/etc/shadow 帳號密碼檔案
/etc/group 組賬號檔案
/etc/gshadow 組賬號密碼檔案
/etc/sudoers可以執行使用sudo命令的配置檔案。visudo類似vi
/etc/suders,visudo –c可以檢查配置是否正確。
/etc/securetty 設定那些終端可以讓root登入
/etc/login.defs 所有使用者登入時的預設配置。
/etc/modprobe.conf 核心模組額外引數設定
/etc/rsyslog.conf 日誌設定檔案
/etc/sysctl.conf 核心引數配置檔案。sysctl –p使配置生效。
/etc/mounts 磁碟分割槽及掛載資訊。(df -h)
/etc/exports設定NFS系統用的配置檔案路徑。
/etc/skel/ 預設建立使用者時,把該目錄拷貝到家目錄下。

proc相關
/proc/cupinfo 處理器相關資訊
/proc/meminfo 系統記憶體資訊
/proc/devices 當前執行核心所配置的所有裝置清單
/proc/dma 當前正在使用的DMA通道。
/proc/filesystems 當前執行核心所配置的檔案系統。
/proc/interruts 正在使用的中斷,和曾經有多少箇中斷。
/proc/ioports 當前正在使用的I/O埠。
/proc/loadavg 系統負載平均值資訊。uptime的結果。

使用者相關
useradd tes -M t -s /sbin/nologin 新增虛擬使用者 -M 不建立家目錄
groupadd --gid=888 test888 建立組888
useradd --uid=555 --gid=888 test4 指定建立uid和gid,gid必須先存在
passwd 使用者名稱 修改密碼

 

chmod 755 檔名
chmod

磁碟情況
df

檢視檔案型別
file