Linux命令與shell程式設計大全

2021-10-11 13:31:09 字數 4520 閱讀 7137

*** 命令***
mkdir 建立目錄 mkdir -p(遞迴式去建立巢狀目錄)

rmdir 刪除空目錄

cp -r 將已有目錄複製到另一目錄下

cat(more) 檢視檔案下內容

touch 建立檔案

rm -f 強制刪除檔案

rm -r 遞迴刪除

mv 剪下

echo 輸出內容到控制台 echo > 重定向 echo >> 內容加到後面

head 顯示頭部內容(預設前10行) head -n(指定行)

tail 顯示尾部內容(tail -f 實時更新) tail -n(指定行)

ln -s 建立軟連線

history 檢視歷史命令

cd -p (跳轉到軟連線真實檔案目錄 )後接目錄

pwd 顯示當前檔案路徑

檔案內操作

shift+g 跳到檔案尾

1+shift+g 跳到檔案頭

esc+:q! 強制退出

esc+:wq 儲存並退出

set um 加行號

yy 複製

dd 刪除

u 返回上一次操作

時間命令

date 檢視時間

date +%y 檢視年份

date +%m 檢視月份

date +%m 檢視分鐘

date +%d 檢視日

date +%h 檢視小時

date +%s 檢視秒

date +%y-%m-%d-%h:%m:%s 組合檢視當前具體時間

date -d 「1 days ago」 檢視前一天時間

date -s 「2020-12-02 08:43:00」 設定時間

cal 檢視日曆

cal 2018 檢視2023年日曆

使用者操作

useradd tangseng 新增使用者

cat /etc/passwd 檢視新增使用者是否成功

useradd -u 666 -g 500 sunwukong 設定使用者id 和 使用者組id

su tangseng 切換使用者到tangseng

cat /etc/shadow 檢視是否設定使用者密碼

passwd 使用者名稱 設定使用者密碼

id 使用者名稱 根據id檢視使用者

usermod -l 修改後 修改前 修改使用者名稱

userdel -r sunwukong 同時刪除sunwukong使用者,及其在home下的資料夾

userdel sunwukong 刪除sunwukong使用者

who am i 檢視當前登入使用者資訊

使用者組管理命令

groupadd xiyouji 增加組

cat /etc/group 檢視組

groupmod -g 505 xiyouji 設定組id為505

groupmod -n 修改後 修改前 修改組名

groupdel qitiandasheng 刪除組

chmod u+rwx,g+rwx,o+rwx a.txt 增加組許可權

chmod u-rwx,g-rwx,o-rwx a.txt 刪除組許可權

chmod u=rwx,g=rwx,o=rwx a.txt 直接給組許可權

chmod -r 555 cc (-r代表連同資料夾下的檔案許可權一起修改 r:4,w:2,x:1)

chown hduser -r cc -r 修改使用者,並遞迴修改

chgrp -r hduser cc 修改使用者組

chown -r root:root cc 同時修改使用者和使用者組

find /root/a -name a.txt 搜尋檔名為a.txt檔案

find /root/a -name *.txt 搜尋以.txt結尾的檔案

find /root/a -type f 根據型別查詢 f:檔案 d:目錄

find /root/a -size 20 根據大小查詢(預設為b,bc均為位元組,w兩個位元組,

k:kb,m:mb,g:gb)

update 建立資料庫

locate 用於模糊查詢,速度快,但是無法指定路徑

「|」 管道符 前乙個命令處理結果輸出並傳給下乙個命令

grep -n world a.txt 查詢a.txt檔案中在第幾行出現world字串

壓縮和解壓縮

gzip a.txt 壓縮

gunzip a.txt 解壓縮

zip ab.zip a.txt b.txt 把a.txt和b.txt壓縮成ab.zip

unzip -d a/ ab.zip 把ab.zip解壓縮到a資料夾下

zip -r abc.zip a/ -r 用於遞迴壓縮

tar -czvf ab.tar.gz a.txt b.txt 壓縮a.txt和b.txt

tar -xzf ab.tar.gz 解壓縮ab.tar.gz

kill -9 id號 強制殺掉程序

ps -ef 顯示程序上下關係

ps -aux 顯示程序占用記憶體大小

df -h 檢視系統資源使用情況

pstree 樹狀圖顯示

top 檢視系統健康 預設3s重新整理一次

top -d 秒數 設定幾秒重新整理

top -p id 監控程序

netstat -tn 檢視埠占用情況

service crond status 檢視crond服務運**況 定時任務

service crond start/stop 啟動/關閉定時任務

crontab -l 檢視定時任務

crontab -r 刪除定時任務

crontab-e 編輯定時任務

虛擬機器配置靜態ip

vim /etc/sysconfig/network-scripts/ifcfg-eth0 路徑

配置主機名

vim /etc/sysconfig/network

vim /etc/hosts ip和主機的對映

c:\windows\system32\drivers\etc\hosts windows設定對映

關閉防火牆(只能暫時關閉,重啟後重新開啟)

sudo service iptables status 檢視防火牆狀態

sudo service iptables stop 關閉防火牆

sudo service iptables start 開啟防火牆

chkconfig設定後台服務的自啟配置

chkconfig iptables on 開啟防火牆自啟動

chkconfig iptables off 關閉防火牆自啟動

chkconfig iptables –-list 檢視防火牆自啟動狀態

關閉重啟命令

sync 將資料由記憶體同步到硬碟中

halt 關閉系統,等同於shutdown -h now 和 poweroff

reboot 重啟,等同於 shutdown -r now

shutdown -h -h=halt 關機

shutdown -r -r=reboot 重啟

shutdown 數字 幾分鐘後重啟

rpm概述

rpm -qa | grep mysql 查詢是否存在mysql服務

rpm -e 解除安裝軟體包

rpm -e –-nodeps 解除安裝軟體包並不考慮依賴

rpm -ivh rpm包全名 安裝軟體

修改轉殖後虛擬機器的ip

vim /etc/udev/rules.d/70-persistent-net.rules 改ip位址

uuidgen 獲取轉殖後虛擬機器的實體地址

迴圈語句

for迴圈

for ((a=1;a<10;a++)) for b in 22 33 44

do do

echo $a echo $b

done done

case迴圈

case $1 in

「1」)

echo 「11111」

;;「2」)

echo 「22222」

;;*)

echo 「&&&&&&&」

;;esac

while迴圈

a=0while [ a -lt 10 ]

doecho aa=

a a=

aa=[katex parse error: expected '}', got 'eof' at end of input: …()

read -p 「第乙個數為:」 n1

read -p 「第二個數為:」 n2

fun $n1 $n2

《Linux命令列與shell指令碼程式設計大全》

系統記憶體管理 核心通過硬碟上的儲存空間來實現虛擬記憶體,這塊區域稱為交換空間。換出 換入 cat proc meminfo 共享記憶體頁面 ipcs m 檢視系統上的當前共享記憶體頁面 init程序 啟動系統上所有其他程序 開機時要自動啟動的程序 etc inittab 而ubuntu等 etc ...

Linux命令列與shell程式設計筆記 結構化命令

if command then command fi這個結構就是if 部分命令成功執行,就執行then,否則跳過then。就是c語言中的if沒有else的部分。但是不要理解為ifcommand為真執行then部分的命令。if command then command else command fi如...

Linux命令列與Shell指令碼程式設計(四)

ps 只會顯示執行在當前控制台下的屬於當前使用者的程序。linux系統中使用的gnu ps 命令支援3中不同型別的命令列引數 1 unix風格的引數,前面加單破折線 2 bsd風格的引數,前面不加破折線 3 gnu風格的長引數,前面加雙破折線。注 詳細該風格引數在虛擬機器執行查詢或在書本p65。un...