国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

linux shell操作- 02 常用命令及案例

這篇具有很好參考價值的文章主要介紹了linux shell操作- 02 常用命令及案例。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

常用命令 續(xù)

  • linux發(fā)行版的工具
    • Ubuntu 包管理器 apt
    • CentOS包管理器 yum
    • OpenSUSE包管理器zypper
      • 包管理器使用
# 在線安裝
zypper install sqlite3-devel
# 查詢
zypper packages | grep -iE "tk-devel"
# 下載rpm
zypper download tk-devel=1.13
  • rpm軟件包的安裝
# 查詢已安裝
rpm -qa | grep -iE "libxcb-devel"
# 安裝
rpm -ivh xxxx.rpm
# 升級安裝
rpm -Uvh xxxx.rpm
# 卸載
rpm -ev xxx.rpm
  • 路徑切換管理

    • 兩個目錄間來回切換使用cd -;
    • 多個目錄來回切換,pushd入棧;
      • pushd dir1;
      • pushd dir2;
      • pushd +0; 切到棧頂目錄 ;
      • pushd +1; 從棧頂依次向下走一步;
      • popd 出棧;
  • 查看文件差異 diff;

    • diff -u version1 version2 > v.patch 查看差異
    • patch -p1 version1 < v.patch 修補(bǔ)版本1 ;需要安裝patch包
      ?
  • 定時任務(wù)

    • 通過文本編輯cron任務(wù),實現(xiàn)定時操作
      • 分 小時 天 月 星期 絕對路徑sh or cmd
      • * 表示每個xxx,如每個小時
      • 每小時的第三分鐘執(zhí)行cmd-> 03 * * * * /home/lauf/scraw.sh
      • 每天的第5、8個小時執(zhí)行-> 00 5,8 * * * cmd
      • 周日的每小時執(zhí)行-> 00 */12 * * 0 cmd
      • 每天凌晨 -> 00 02 * * * cmd
      • 將任務(wù)寫入 task.cron 文件中。
    • 執(zhí)行定時任務(wù) crontab task.cron
    • 或者 crontab <<EOF; xxxx; EOF
    • crontab -e 直接編輯定時任務(wù)
    • crontab -l 查看定時任務(wù)
    • crontab -r 直接移除所有任務(wù)
    • crontab -u 操作某用戶的任務(wù)
    • 案例
      • 01 * * * * ls -l /home/laufing > log.txt
  • 查看信息

    • hostname,查看主機(jī)名信息;編輯主機(jī)名vim /etc/hostname
    • cat /etc/hosts 查看本地地址映射;
    • uname -a,查看內(nèi)核信息
    • cat /proc/cpuinfo cpu信息
    • cat /proc/meminfo 內(nèi)存
    • cat /proc/partitions 分區(qū)
    • cat /proc/version 發(fā)行版
    • /proc 在內(nèi)存中存儲進(jìn)程信息,每個數(shù)字目錄為一個進(jìn)程;
    • which cmd 可執(zhí)行文件的路徑;同whereis,搜索PATH
    • whatis cmd 查看功能信息
    • who 當(dāng)前登錄的用戶;whoami 當(dāng)前終端用戶;users; last 上次登錄信息; uptime系統(tǒng)已運(yùn)行時間;
      ?
  • 進(jìn)程管理

    • ps 查看進(jìn)程信息;
    • ps -ef ; every process所有用戶的進(jìn)程 , f 字段格式
    • ps -axf; 所有進(jìn)程(所有用戶)
    • ps -axu 所有進(jìn)程
    • ps -ef --sort ppid 查看所有進(jìn)程,并根據(jù)ppid排序;
    • ps -ef -o pcpu -o pmem -o comm -o user; 只輸出指定列
    • ps -C xxx ; 根據(jù)進(jìn)程名稱獲取信息
      • ps -C mysqld; 獲取mysql 服務(wù)進(jìn)程信息
      • ps -C postgres;
      • pidof postgres;根據(jù)進(jìn)程名稱,獲取所有的進(jìn)程id;
      • pgrep postgres; 根據(jù)進(jìn)程名稱,獲取所有的進(jìn)程id;
      • ps -ef | cut -f 2 -d " " | xargs kill -9 獲取進(jìn)程id,并殺掉進(jìn)程;
      • pidof postgres | xargs kill -9
    • ps -efL ; -L同時輸出線程信息,LWP為線程id
    • top 查看進(jìn)程的系統(tǒng)資源占用情況
      • top -o %CPU 按CPU降序;
      • top -o %MEM 按內(nèi)存降序
    • linux進(jìn)程間通信,使用信號, kill 向進(jìn)程傳遞信號
      • kill -l 查看所有的信號
        [laufing@centos ~]$ kill -l
      1. SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+338) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+843) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+1348) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-1253) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-758) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-461) SIGRTMAX-3 62) SIGRTMAX-263) SIGRTMAX-1 64) SIGRTMAX
      • kill -s SIGKILL pid; 通過向進(jìn)程傳遞SIGKILL信號 終止進(jìn)程
      • kill -9 pid ;強(qiáng)制殺死進(jìn)程
      • killall 類似pkill,根據(jù)進(jìn)程名稱殺死進(jìn)程
      • Ctrl + C 向進(jìn)程發(fā)送SIGINT信號;
      • 案例,編寫一個腳本,使進(jìn)程一直運(yùn)行(事件循環(huán)), 關(guān)聯(lián)處理函數(shù)與SIGINT信號,每次按Ctrl + C 打印輸出。
#!/bin/bash
#handle function
handler(){
  echo "ctrl + c pressed."
}
#associate
trap "handler" SIGINT
while true;do
        echo running... > log.txt
done
  • 查看文件內(nèi)容cat、head、tail
    • cat a.txt
    • cat a.txt b.txt > c.txt 查看并拼接內(nèi)容
    • head -n 20 /etc/profile 查看前20行;
    • head -n -10 /etc/profile; -10表示后10行之前的內(nèi)容;
    • tail -n 10 /etc/profile; 查看后10行
    • tail -n +10 /etc/profile; 查看前10行之后的內(nèi)容
    • tail -f /etc/profile; 追蹤新寫入的內(nèi)容;
    • tail --pid 123 與寫入的進(jìn)程同步;

?

  • wc 統(tǒng)計

    • wc -l test.sh ; 統(tǒng)計行數(shù)
    • wc -w test.sh;統(tǒng)計單詞數(shù)
    • echo my name is jack | wc -w
    • wc -c test.sh 統(tǒng)計字符數(shù)
    • wc -L test.sh ;最長行的長度
  • tree 目錄樹

    • tree -h 查看文件樹,并展示文件大小;
    • tree -h -o result.txt;-o 結(jié)果輸出到文件中
    • tree -h -P test.sh ;-P 匹配文件
    • du -ah 磁盤文件的使用情況;
    • du -sh *;
    • df -h 磁盤的可用情況;

?

  • 正則匹配grep
    • grep 正則匹配,默認(rèn)使用通配符模式,返回匹配到的行
    • -i 忽略大小寫
    • -E 正則匹配模式 ,相當(dāng)于egrep
    • -o 返回匹配的內(nèi)容,默認(rèn)返回匹配到的行
    • -v 匹配到的行以外的內(nèi)容;
    • -c 統(tǒng)計匹配到的行數(shù)
    • -n 顯示匹配到的行號
    • –color=auto/always 標(biāo)注匹配內(nèi)容顏色
    • -l 返回匹配到的文件列表;-L 返回未匹配到的文件列表
    • -e 指定多個匹配模式; -r 遞歸; -q 靜默,匹配成功 $?為0,否則為1;
    • -Z 以0作為定界符;
    • 連帶內(nèi)容 -A 3 匹配的行 連帶后三行; -B 2 匹配的行 連帶前兩行;-C 2 連帶前、后兩行
# 匹配文件內(nèi)容
grep -iE -l  "^while" *.sh
test.sh

# 標(biāo)準(zhǔn)輸入 中的匹配
echo laufing | grep -i -e 'au' -e ng
laufing

# 遞歸搜素指定的文件
grep -rn --include='*.sh' --include='*.txt' -e 'while' . # 指定目錄
./test.sh:10:while true
# --exclude=*.sh  排除指定文件
# --exclude-from

# 遞歸匹配 
grep -Rn 'xxx' .

linux shell操作- 02 常用命令及案例,linux,linux,服務(wù)器,定時操作
?

  • cut 過濾字段
    • cut -f 3 result.txt ;獲取文件中的第三列;
    • -d 指定定界符,默認(rèn)為\t;
    • -f 指定第幾列,從1開始;
    • -f 1 --complement ;第一列以外的列;
    • -c 1-5 ; 字符范圍 作為列
      查看8010端口的進(jìn)程,并根據(jù)pid殺掉所有進(jìn)程
# netstat -tnp
lsof -i:8010 | cut -f 2 -d " " | xargs kill -9

?

  • 磁盤使用情況
    • df -h;可以空間 kb單位
    • du -h; 文件大小
      • -a 遞歸
      • -h 可讀性
      • -c 統(tǒng)計
      • -s 總結(jié)
      • -b 以byte為單位
    • 找出指定的目錄中,最大的十個文件,并降序輸出
# 總結(jié)
du -sh /home/laufing/* | sort -nrk 1 | head  

簡單案例

  1. 編寫shell腳本,輸出當(dāng)前用戶是否為root用戶。
#!/bin/bash
# 開啟調(diào)試
set -x

# 數(shù)值比較 測試
if [ $UID -eq 0 ]; then
	echo "you are root."
else
	echo "you are common user."
fi

添加可執(zhí)行權(quán)限:chmod u+x lauf.sh

  1. 編寫shell腳本,接收命令行參數(shù) m 、 n,輸出 m n {m^n} mn
#!/bin/bash
# 變量直接賦值,一切值均為字符串
m=$1
n=$2
echo $m $n
echo -e "calc result:\n" # -e 有轉(zhuǎn)義字符
echo "${m}^${n}" | bc

  1. 編寫shell腳本,創(chuàng)建一個普通數(shù)組(‘tom’ ‘jack’ ‘lucy’),使用for循環(huán)遍歷出每個元素。
#!/bin/bash

#!/bin/bash

arr=('tom' 'jack' 'lucy')
for((i=0; i < ${#arr[*]}; i++)){ # 數(shù)組長度
    echo ${arr[i]}  # 普通數(shù)組,索引訪問 arr[@] / arr[*] 獲取所有的元素
    echo ${#arr[i]} # 每個元素的長度
}
  1. 編寫shell腳本,存儲水果的價格,apple: 3.4,pear: 2.3,banana: 2.8;命令行傳參一個水果的名字,輸出它的價格。
#!/bin/bash

# 聲明關(guān)聯(lián)數(shù)組,支持字符串索引,相當(dāng)于python字典
declare -A price
price['apple']=3.4
price['pear']=2.3
price['banana']=2.8

echo "${price[$1]}"

# 命令行執(zhí)行
$ ./lauf.sh  apple

?
5. 編寫shell腳本,查看當(dāng)前目錄下占用磁盤空間最大的5個文件,并自定義一個命令,名為lauf,命令行下執(zhí)行l(wèi)auf命令即可執(zhí)行腳本。

  • du -ah 查看磁盤使用情況
  • alias 定義命令別名,防止輸入過長。命令行下臨時生效,配置文件中永久生效
  • 開啟調(diào)試模式
    • sh -x lauf.sh
    • #!/bin/bash -xv
    • set -x 寫在腳本語句中 set +x 關(guān)閉調(diào)試
#!/bin/bash
du -ah | sort -nrk 1 | head -n 5

# sort 
# -n 數(shù)值排序
# -k 指定列
# -r 逆序排序

linux shell操作- 02 常用命令及案例,linux,linux,服務(wù)器,定時操作
6. 編寫shell腳本,要求用戶輸入用戶名、密碼,其中輸入密碼時不允許顯示,最后打印用戶名及密碼,并統(tǒng)計程序執(zhí)行的時間。

  • read 獲取用戶的輸入,如 read password, 讀取內(nèi)容并存入password變量;
    read -p “提示:”,
    read -s 靜默輸入,不顯示,
    read -n 讀取指定數(shù)量的字符
  • stty -echo 不允許顯示; stty echo 允許顯示;
  • date 獲取日期時間,date? +%s 獲取時間戳, date +%a星期, date +%d日期,date +%b月份, date +%y/Y年,date +%H小時,date +%M分鐘,date +%S秒
#!/bin/bash

# 計算開始時間
start=$(date +%s)   # (xxx) 子shell , 即子進(jìn)程; $() 相當(dāng)于``
# 輸入用戶名
read -p "input your name:" username
# 不顯示
stty -echo
read -p "input your password:" password
# 顯示
stty echo

# 輸出
echo "your name: $username"
echo "your password: $password"
# 計算結(jié)束時間
end=$(date +%s)

# 計算差值
let delta=end-start
echo "total time: $delta s."

?
7. 編寫shell,循環(huán)10次,每次延遲5s,計算程序執(zhí)行總時間。

#!/bin/bash
start=$(date +%s)
for i in {1..10}; do
	sleep 5 # 休眠  命令行參數(shù)傳入時間
	echo $i
done
end=$(date +%s)

delta=$[end-start]
echo "total time: $delta s."

?
?
上一篇: linux shell操作- 01 基礎(chǔ)必備
下一篇:linux shell操作- 03 用戶切換及shell案例文章來源地址http://www.zghlxwxcb.cn/news/detail-733313.html

到了這里,關(guān)于linux shell操作- 02 常用命令及案例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 常用的 55 個 Linux Shell 腳本(包括基礎(chǔ)案例、文件操作、實用工具、圖形化、sed、gawk)

    1、第一個案例:helloworld 2、打印運(yùn)行的python進(jìn)程 3、獲取并打印參數(shù) 4、用腳本寫for循環(huán) 5、使用C語言風(fēng)格的for命令 6、while循環(huán)案例 7、使用break跳出外部循環(huán) 8、使用continue命令 9、case案例 10、判斷兩個數(shù)是否相等 11、使用雙圓括號 12、使用雙方括號 13、反引號的使用 14、字

    2024年02月07日
    瀏覽(22)
  • 游戲思考26:游戲服務(wù)器壓力測試文檔(新增linux相關(guān)命令,02/10未完待續(xù))

    游戲思考26:游戲服務(wù)器壓力測試文檔(新增linux相關(guān)命令,02/10未完待續(xù))

    ①流量 ②內(nèi)存 ③一些主要的功能才做壓力測試,比如 同時注冊 , 最大在線 , 戰(zhàn)斗 , 地圖移動 , 數(shù)據(jù)存取 等。 ④2個壓力宏觀數(shù)據(jù)保持不變: a. 各接口的壓力比例不變 , 首先從同類型游戲或者本游戲內(nèi)測階段,日志插樁,收集各個接口的調(diào)用比例;然后,將接口比例

    2024年02月01日
    瀏覽(19)
  • Linux操作服務(wù)器常用操作

    Linux操作服務(wù)器常用操作

    查看操作系統(tǒng)版本: cat /proc/version 查看操作系統(tǒng)64位還是32位: getconf LONG_BIT 查看CPU: 基本信息:lscpu 詳細(xì)信息:cat /proc/cpuinfo 過濾想要的信息: grep \\\'physical id\\\' /proc/cpuinfo |sort |uniq |wc -l? ? #CPU個數(shù) grep \\\'cpu cores\\\' /proc/ cpuinfo lunia? ? ? ? ? ? ? ? ? ? #一個CPU有多少物理核心

    2023年04月22日
    瀏覽(86)
  • linux常用查看服務(wù)器內(nèi)存的命令

    linux常用查看服務(wù)器內(nèi)存的命令

    free 命令用來顯示系統(tǒng)內(nèi)存狀態(tài),包括系統(tǒng)物理內(nèi)存、虛擬內(nèi)存(swap 交換分區(qū))、共享內(nèi)存和系統(tǒng)緩存的使用情況,其輸出和 top 命令的內(nèi)存部分非常相似。 ? free 命令的基本格式如下: [root@localhost ~]# free [選項] 表 1 羅列出了此命令常用的選項及各自的含義。 表 1 free 命令

    2024年02月16日
    瀏覽(103)
  • 華為云云耀云服務(wù)器L實例評測|docker 常用操作命令

    華為云云耀云服務(wù)器L實例評測|docker 常用操作命令

    ? 前面講到了docker環(huán)境的安裝,這是我們可以直接打開遠(yuǎn)程連接華為云云耀云服務(wù)器L實例,直接連接公網(wǎng)IP,就可以使用。我們先查看docker版本,可以看到版本為24.0.4。 當(dāng)您購買了云耀云服務(wù)器L實例后,可以根據(jù)業(yè)務(wù)需要搭建為不同的環(huán)境、網(wǎng)站或應(yīng)用。本文匯總了基于云

    2024年02月07日
    瀏覽(16)
  • Linux CentOS 7 服務(wù)器集群硬件常用查看命令

    (一)查看內(nèi)核:uname -a (二)查看系統(tǒng): cat /etc/redhat-release (三)查看CPU: cat /proc/cpuinfo 或者 lscpu tips:兩者命令差不多,lscpu更簡潔,主要關(guān)注 Core(s) per socket 和 Socket(s) 參數(shù),以及 Thread(s) per core 。后者表示邏輯核心,一般是1,如果使用超線程技術(shù),則是2; CPU(s) 是三者

    2024年04月27日
    瀏覽(93)
  • 【Linux技術(shù)專題】「夯實基本功系列」帶你一同學(xué)習(xí)和實踐操作Linux服務(wù)器必學(xué)的Shell指令(排查問題指令 - 上)

    【Linux技術(shù)專題】「夯實基本功系列」帶你一同學(xué)習(xí)和實踐操作Linux服務(wù)器必學(xué)的Shell指令(排查問題指令 - 上)

    在線上排查問題時,查詢?nèi)罩?、查看系統(tǒng)配置和分析操作系統(tǒng)信息是至關(guān)重要的。這些操作可以幫助我們深入了解軟件和服務(wù)的兼容性,并解決潛在的問題。在本次學(xué)習(xí)中,我們將介紹并深入學(xué)習(xí)一些我在處理類似問題時常用的指令。通過掌握這些指令,你將能夠更加高效地

    2024年01月16日
    瀏覽(42)
  • Python 與機(jī)器學(xué)習(xí),在服務(wù)器使用過程中,常用的 Linux 命令包括哪些?

    Python 與機(jī)器學(xué)習(xí),在服務(wù)器使用過程中,常用的 Linux 命令包括哪些?

    ?? CSDN 葉庭云 : https://yetingyun.blog.csdn.net/ 本博客旨在分享在實際開發(fā)過程中,開發(fā)者需要了解并熟練運(yùn)用的 Linux 操作系統(tǒng)常用命令。Linux 作為一種操作系統(tǒng),與 Windows 或 MacOS 并駕齊驅(qū),尤其在服務(wù)器和開發(fā)環(huán)境中占據(jù)重要地位。Linux 命令,簡而言之,就是指導(dǎo)計算機(jī)執(zhí)行

    2024年04月12日
    瀏覽(28)
  • HDFS操作常用的Shell命令

    HDFS操作常用的Shell命令

    目錄 (1)?? 向HDFS 中上傳任意文本文件,如果指定的文件在HDFS中已經(jīng)存在,由用戶指定是追加到原有文件末尾還是覆蓋原有的文件; (2)?? 從HDFS中下載指定文件,如果本地文件與要下載的文件名稱相同,則自動對下載的文件重命名; (3)?? 將HDFS中指定文件的內(nèi)容輸出到終端中

    2023年04月10日
    瀏覽(59)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包