中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      linux shell編程的簡介

      時間:2024-10-28 02:01:18 Linux認證 我要投稿
      • 相關推薦

      linux shell編程的簡介

        從程序員的角度來看, Shell本身是一種用C語言編寫的程序,從用戶的角度來看,Shell是用戶與Linux操作系統溝通的橋梁。用戶既可以輸入命令執行,又可以利用 Shell腳本編程,完成更加復雜的操作。在Linux GUI日益完善的今天,在系統管理等領域,Shell編程仍然起著不可忽視的作用。深入地了解和熟練地掌握Shell編程,是每一個Linux用戶的必修功課之一。

        Linux的Shell種類眾多,常見的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的Shell語言的語法有所不同,所以不能交換使用。每種Shell都有其特色之處,基本上,掌握其中任何一種就足夠了。在本文中,我們關注的重點是Bash,也就是Bourne Again Shell,由于易用和免費,Bash在日常工作中被廣泛使用;同時,Bash也是大多數Linux系統默認的Shell。在一般情況下,人們并不區分 Bourne Shell和Bourne Again Shell,所以,在下面的文字中,我們可以看到#!/bin/sh,它同樣也可以改為#!/bin/bash。

        利用vi等文本編輯器編寫Shell腳本的格式是固定的,如下:

        #!/bin/sh

        #comments

        Your commands go here

        首行中的符號#!告訴系統其后路徑所指定的程序即是解釋此腳本文件的Shell程序。如果首行沒有這句話,在執行腳本文件的時候,將會出現錯誤。后續的部分就是主程序,Shell腳本像高級語言一樣,也有變量賦值,也有控制語句。除第一行外,以#開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上",這個符號表明下一行與此行會合并為同一行。

        #號開頭的語句是注視行。與C編程中的//一樣。

        編輯完畢,將腳本存盤為filename.sh,文件名后綴sh表明這是一個Bash腳本文件。執行腳本的時候,要先將腳本文件的屬性改為可執行的:

        chmod +x filename.sh

        執行腳本的方法是:

        ./filename.sh

        下面我們從經典的“hello world”入手,看一看最簡單的Shell腳本的模樣。

        #!/bin/sh

        #print hello world in the console window

        a = "hello world"

        echo $a

        Linux認證常用命令及技巧

        一. 通用命令:

        1. date :print or set the system date and time

        2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)

        3. passwd: print or set the system date and time (用passwd -h查看)

        4. logout, login: 登錄shell的登錄和注銷命令

        5. pwd: print or set the system date and time

        6. more, less, head tail: 顯示或部分顯示文件內容.

        7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.

        8. 更改文件權限: chmod u+x...

        9. 刪除非空目錄:rm -fr dir

        10.拷貝目錄: cp -R dir

        11. fg jobid :可以將一個后臺進程放到前臺。

        Ctrl-z 可以將前臺進程掛起(suspend), 然后可以用bg jobid 讓其到后臺運行。

        job & 可以直接讓job直接在后臺運行。

        12. kill 的作用: send a signal to a process. eg: kill -9 發送的是SIG_KILL信號。。。 具體發送什么信號 可以通過 man kill 查看。

        13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session顯示的sessionid, tpgid顯示前臺進程組id, comm顯示命令名稱。)

        二 .ubuntu常用命令:

        1. dpkg: package manager for Debian

        * 安裝: dpkg -i package

        * 卸載: dpkg -r package

        * 卸載并刪除配置文件: dpkg -P |--purge package

        * 如果安裝一個包時。說依賴某些庫。 可以先 apt-get install somelib...

        * 查看軟件包安裝內容 :dpkg -L package

        * 查看文件由哪個軟件包提供: dpkg -S filename

        * 另外 dpkg還有 dselect和aptitude 兩個frontend.

        2. apt

        * 安裝: apt-get install packs

        * apt-get update : 更新源

        * apt-get upgrade: 升級系統。

        * apt-get dist-upgrade: 智能升級。安裝新軟件包,刪除廢棄的軟件包

        * apt-get -f install : -f == --fix broken 修復依賴

        * apt-get autoremove: 自動刪除無用的軟件

        * apt-get remove packages :刪除軟件

        * apt-get remove package --purge 刪除包并清除配置文件

        * 清除所以刪除包的殘余配置文件: dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P

        * 安裝軟件時候包的臨時存放目錄 : /var/cache/apt/archives

        * 清除該目錄: apt-get clean

        * 清除該目錄的舊版本的軟件緩存: apt-get autoclean

        * 查詢軟件some的依賴包: apt-cache depends some

        * 查詢軟件some被哪些包依賴: apt-get rdepends some

        * 搜索軟件: apt-cache search name|regexp

        * 查看軟件包的作用:apt-cache show package

        * 查看一個軟件的編譯依賴庫: apt-cache showsrc packagename|grep Build-Depends

        * 下載軟件的源代碼 : apt-get source packagename (注: sources.list 中應該有 deb-src 源)

        * 安裝軟件包源碼的同時, 安裝其編譯環境 :apt-get build-dep packagename (有deb-src源)

        * 如何將本地光盤加入安裝源列表: apt-cdrom add

        3. 系統命令:

        * 查看內核版本: uname -a

        * 查看ubuntu 版本: cat /etc/issue

        * 查看網卡狀態 : ethtool eth0

        * 查看內存,cpu的信息: cat /proc/meminfo ; cat /proc/cpuinfo

        (/proc下面的有很多系統信息)

        * 打印文件系統空間使用情況: df -h

        * 查看硬盤分區情況: fdisk -l

        * 產看文件大小: du -h filename;

        * 查看目錄大小: du -hs dirname ; du -h dirname是查看目錄下所有文件的大小

        * 查看內存的使用: free -m|-g|-k

        * 查看進程: ps -e 或ps -aux -->顯示用戶

        * 殺掉進程: kill pid

        * 強制殺掉: killall -9 processname

        4. 網絡相關:

        * 配置 ADSL: sudo pppoeconf

        * ADSL手工撥號: sudo pon dsl-provider

        * 激活 ADSL : sudo /etc/ppp/pppoe_on_boot

        * 斷開 ADSL: sudo poff

        * 根據IP查網卡地址: arping IP地址

        * 產看本地網絡信息(包括ip等): ifconfig | ifconfig eth0

        * 查看路由信息: netstat -r

        * 關閉網卡: sudo ifconfig eth0 down

        * 啟用網卡: sudo ifconfig eth0 up

        * 添加一個服務: sudo update-rc.d 服務名 defaults 99

        * 刪除一個服務: sudo update-rc.d 服務名 remove

        * 臨時重啟一個服務: /etc/init.d/服務名 restart

        * 臨時關閉一個服務: /etc/init.d/服務名 stop

        * 臨時啟動一個服務: /etc/init.d/服務名 start

        * 控制臺下顯示中文: sudo apt-get install zhcon

        * 查找某個文件: whereis filename 或 find 目錄 -name 文件名

        *通過ssh傳輸文件

        scp -rp /path/filename username@remoteIP:/path #將本地文件拷貝到服務器上

        scp -rp username@remoteIP:/path/filename /path #將遠程文件從服務器下載到本地

        5. 壓縮:

        *解壓縮 a.tar.gz: tar zxvf a.tar.gz

        *解壓縮 a.tar.bz2: tar jxvf a.tar.bz2

        *壓縮aaa bbb目錄為xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb

        *壓縮aaa bbb目錄為xxx.tar.bz2: tar jcvf xxx.tar.bz2 aaa bbb

        6. Nautilus:

        特殊 URI 地址

        * computer:/// - 全部掛載的設備和網絡

        * network:/// - 瀏覽可用的網絡

        * burn:/// - 一個刻錄 CDs/DVDs 的數據虛擬目錄

        * smb:/// - 可用的 windows/samba 網絡資源

        * x-nautilus-desktop:/// - 桌面項目和圖標

        * file:/// - 本地文件

        * trash:/// - 本地回收站目錄

        * ftp:// - FTP 文件夾

        * ssh:// - SSH 文件夾

        * fonts:/// - 字體文件夾,可將字體文件拖到此處以完成安裝

        * themes:/// - 系統主題文件夾

        * 顯示隱藏文件: Ctrl+h

        * 顯示地址欄: Ctrl+l

        * 查看已安裝字體: 在nautilus的地址欄里輸入”fonts:///“,就可以查看本機所有的fonts

        7.補充部分:

        * 查看本地所有的tpc,udp監聽端口: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)

        * 通過man搜說相關命令: man -k keyword . eg: man -k user

        * 或者用 apropos

        * 統計文件所占用的實際磁盤空間: du (du - estimate file space usage)

        * 統計文件中的字符,字節數: wc -c/-l/-w (wc - print the number of newlines, words, and bytes in files)

        * 查看文件的內容: od -x/-c/.... (od - dump files in octal and other formats)

        我認為od最有用的就是文件的字節流了: od -t x1 filename

        查看文件的 Ascii 碼形式: od -t c filename (其中統計信息最左邊的是: 字節數)

        * 查找命令所在文件的位置: which od 輸出: /usr/bin/od

        查看該文件由哪個包提供: dpkg -S /usr/bin/od 輸出: coreutils: /usr/bin/od

        再查看coreutils包的全部內容就知道了linux的核心命令: dpkg -L coreutils

        然后 info coreutils 哈哈,認真學吧, 滿世界都是命令!

        * 可以用man 命令產看某個命令的所有section 的解釋: man -a tty

        然后用q,和next 轉換到下一個section的解釋

        * bash 的好用的快捷鍵:

        ctrl+a:光標移到行首。

        ctrl+b:光標左移一個字母

        ctrl+c:殺死當前進程。

        ctrl+d:退出當前 Shell。

        ctrl+e:光標移到行尾。

        ctrl+h:刪除光標前一個字符,同 backspace 鍵相同。

        ctrl+k:清除光標后至行尾的內容。

        ctrl+l:清屏,相當于clear。

        ctrl+r:搜索之前打過的命令。會有一個提示,根據你輸入的關鍵字進行搜索bash的history

        ctrl+u: 清除光標前至行首間的所有內容。

        ctrl+w: 移除光標前的一個單詞

        ctrl+t: 交換光標位置前的兩個字符

        ctrl+y: 粘貼或者恢復上次的刪除

        ctrl+d: 刪除光標所在字母;注意和backspace以及ctrl+h的區別,這2個是刪除光標前的字符

        ctrl+f: 光標右移

        ctrl+z : 把當前進程轉到后臺運行,使用’ fg ‘命令恢復。比如top -d1 然后ctrl+z ,到后臺,然后fg,重新恢復

        * 快速粘貼:先在一個地方選中文字,在欲粘貼的地方按鼠標 中鍵 即可。

        * 等效中鍵:a 、按下滑輪等效于中鍵。b、同時按下鼠標 左右鍵,等效于中鍵。

        * 快速重啟X服務: 同時按下: Alt + Ctrl + Backspace 三個鍵。

        * 打開"運行"窗口: 同時按下 Alt + F2 鍵。

        * 戴屏: a、全屏:直接按下 PrtScr 鍵。

        b、當前窗口:同時按下 Alt + PrtScr 鍵。

        c、延時戴屏:在 終端 或 "運行"窗口中輸入命令: gnome-screenshot --delay 3 ,將延時 3 秒后戴屏。

        * 直接將 文件管理器 中的文件拖到 GNOME終端 中就可以在終端中得到完整的路徑名。 8.ulimit

        ulimit:顯示(或設置)用戶可以使用的資源的限制(limit),這限制分為軟限制(當前限制)和硬限制(上限),其中硬限制是軟限制的上限值,應用程序在運行過程中使用的系統資源不超過相應的軟限制,任何的超越都導致進程的終止。

        ulimited 不限制用戶可以使用的資源,但本設置對可打開的最大文件數(max open files)

        和可同時運行的最大進程數(max user processes)無效

        -a 列出所有當前資源極限

        -c 設置core文件的最大值.單位:blocks

        -d 設置一個進程的數據段的最大值.單位:kbytes

        -f Shell 創建文件的文件大小的最大值,單位:blocks

        -h 指定設置某個給定資源的硬極限。如果用戶擁有 root 用戶權限,可以增大硬極限。任何用戶均可減少硬極限

        -l 可以鎖住的物理內存的最大值

        -m 可以使用的常駐內存的最大值,單位:kbytes

        -n 每個進程可以同時打開的最大文件數

        -p 設置管道的最大值,單位為block,1block=512bytes

        -s 指定堆棧的最大值:單位:kbytes

        -S 指定為給定的資源設置軟極限。軟極限可增大到硬極限的值。如果 -H 和 -S 標志均未指定,極限適用于以上二者

        -t 指定每個進程所使用的秒數,單位:seconds

        -u 可以運行的最大并發進程數

        -v Shell可使用的最大的虛擬內存,單位:kbytes

        eg: ulimit -c 1000(可以先通過ulimit -c 查看原來的值)


      【linux shell編程的簡介】相關文章:

      Linux shell常用命令匯總10-26

      Linux系統shell工具打印輸出08-16

      Linux Shell文本處理工具10-08

      Linux文件系統簡介06-01

      Linux流行的廠商版本簡介10-12

      linux下etc/fstab文件的簡介10-23

      2024年Linux認證考試要點:shell程序控制結構語句09-20

      php調用shell的方法技巧07-15

      關于Shell腳本調試技術09-30

      Linux認證概念10-29

      主站蜘蛛池模板: 国产精品国产三级国av在线观看| bbbbbxxxxx欧美性| 女同另类国产精品视频| 久久精品美女久久| 国产成人一区二区三区久久精品| 日韩一区二区三区中文字幕 | 蜜桃一区二区午夜啪啪| 吴忠市| 四虎国产精品成人影院| 精品一区二区三区人妻久久 | 伊人av一区二区三区中文字幕| 秦皇岛市| 黔西县| 天天澡天天揉揉AV无码人妻斩| 日本一区二区精品在线观看| 国产精品成人免费久久黄| 中文字幕乱码免费在线视频| 日本韩国黄色三级三级| 奈曼旗| 当阳市| 乐平市| 利津县| 伊春市| 国产精品亚洲一区二区毛片 | 商南县| 共和县| 最新国产成人综合在线观看| 一区二区三区在线蜜桃| 亚洲综合日韩中文字幕| 男女互操视频网站在线观看| 亚洲一区二区三区无吗| 国产日韩一区二区精品| 亚洲午夜久久久久中文字幕久| 韩国三级大全久久网站| 丰满少妇人妻无码超清| 亚洲国产精品日韩专区av| 国产精品毛片99久久久久| 精品久久杨幂国产杨幂| 亚洲国产成人久久综合三区| 国产一区二区三区免费看视频| 亚洲人成无码网站十八禁|