linux源碼bash
1. linux中bash是什麼
linux中bash是什麼?我們一起來了解一下吧。bash是指GNU項目編寫的中的Unixshell,也就是指的linux所用的shell,而Shell是指提供使用者使用界面的軟體,也就是一個命令行解釋器,BASH是SHELL中的一種,是大多數LINUX發行版默認的SHELL。
linux系統與windows系統的區別
區別1:開放性
所謂的開放性就是linux操作系統是開放源碼系統,可以對其程序進行編輯修改。而微軟的windows系統是手微軟版權保護,就是只能微軟內部進行開發及修改。
區別2:價格不同
linux系統是免費使用,而微軟開發的windows系統則是需要花費金錢去購買。
區別3:文件格式不同
windows操作系統內核是NT,而linux是shell;另外,windows硬碟文件格式是fat32或NTSF,而linux需要的文件格式是ext2或ext3,該操作系統還多一個SWAP格式的交換分區。
本文章基於ThinkpadE15品牌、centos7系統撰寫的。
2. 在linux中bash指的是什麼
bash shell是sh shell的增強版本,目前linux大部分使用的都是bash shell。
3. linux的bash是什麼和運行程序寫./是不是一樣啊
和Windows里cmd相似
bash是Linux中處理命令行的一個程序
我們寫的*.sh腳本就可以由它運行
默認情況下./*.sh是用的sh(一個軟鏈接,指向bash或dash)來運行腳本的
亦可使用bash *.sh來運行腳本
希望能幫到你
4. 求Linux下命令的源代碼,
1.ash
(1)簡介
ash --a shell
這是由Kenneth Almquist在1989年編寫的,ash是Linux下的許多命令解釋器中的一個,它的許多特性接近於SYSTEM V的shell。
(2)部分參數說明
ash [ -efIijnsxz ] [ +efIijnsxz ] [ -c命令] [ 參數 ]
-c 命令:若用-c參數,則ash從標准輸入中讀入命令(在執行完-c帶的命令之後)。
-s:若用-s參數,則ash從標准輸入中讀入命令(在執行完-c帶的命令之後)。
如果不跟-c -s參數則ash以所跟的第一個參數為文件名,從此文件中讀入命令。如無參數則ash預設設定-s參數,從標准輸入中讀入命令,直到輸入exit。
如果參數0的第一個字母是"-"則ash確定為login shell,ash將從/etc/profile或用戶的根目錄中的.profile讀入相應的設置和環境變數。
-e:若用-e參數,則ash執行命令後返回值為非零值時則退出ash。
-f:若用-f參數,則ash關閉自動產生文件名功能。
-j:打開伯克利UNIX風格的工作控制。
-n:讀入命令但是並不執行。
(3)範例
ash -c ls
ash執行ls這個命令後退回原先的目錄和shell。
ash -s
ash執行一個新的shell,現在可以在這個shell中工作,按(Ctrl-D)或輸入exit後,則退回原先的目錄和shell,所設定的環境變數返回原先的值。
2.at
(1)簡介
at,batch,atq,atrm:安排、檢查、刪除隊列中的工作。
由Thomas Koenig編寫。
(2)部分參數說明
at [-V] [-q隊列] [-f文件名] [-mldbv] 時間
at -c 作業 [作業…]
atq [-V] [-q隊列] [-v]
atrm [-V] 作業 [作業…]
batch [-V] [-q隊列] [-f文件名] [-mv] [時間]
at在設定的時間執行作業。
atq列出用戶排在隊列中的作業,如果是超級用戶,則列出隊列中的所有工作。
atrm刪除隊列中的作業。
batch用低優先順序運行作業,只要系統的loadavg(系統平均負載)<1.5(或者在atrun中設定的值)它就開始執行作業。
-V:若用-V參數,則顯示版本號到標准錯誤輸出。
-q隊列:若用-q參數,則指定可選隊列名稱,隊列名稱可以是a到z或A到Z之間的任意字母。at的預設隊列名是c,batch的預設隊列名是E,隊列的字母順序越高,則隊列的優先順序越低。如果是大寫字母的話則提交給batch,如果atq使用-q參數,則只顯示這個隊列中的作業。
-m:執行完作業後即使此作業並沒有輸也給提交作業的用戶發送提示mail。
-f文件名:從文件中讀取作業。
-l:等於atq。
-d:等於atrm。
-b:等於batch。
時間:這是用戶設定的作業開始執行的時間。時間的格式分成三個部分:時間、日期、偏移量。可接受的時間形式是HHMM或HH:MM,在一天中指定的時間運行,如果時間過去了就在第二天執行。可以在時間後加入AM或PM使其在上午或下午運行,也可以指定在哪一天執行,給出日期的格式應為MMDDYY或MM/DD/YY或MM.DD.YY,也可以給出偏移量:
時間+計數時間間隔
時間間隔可以是minutes,hours,days,weeks。
也可以指定today讓作業在今天執行,指定tommorow讓作業在明天執行。
(3)注意事項
如果沒有指定-f選項,是at從標准輸入讀入所有的命令,所以可以通過管道、重定向或交互輸入來輸入命令。
超級用戶可以在任何情況下使用at系列的命令。一般用戶使用at系列命令的權利由文件/etc/at.allow,/etc/at.deny控制。如果/etc/at.allow存在,則只有列在這個文件中的用戶才能使用at系列的命令。如果/etc/at.allow文件不存在,則檢查/etc/at.deny這個文件。只要不列在這個文件中的用戶都可以使用at系列的命令。預設的配置是/etc/at.deny,是一個空文件,這表明所有的用戶都可以使用at系列的命令。
(4)範例
at -f work 4pm + 3 days
在三天後下午4點執行文件work中的作業。
at -f work 10am Jul 31
在七月31日上午10點執行文件work中的作業。
3.banner
banner:列印大標題。
banner在標准輸出上列印高質量的標題,如果沒有輸入要列印的文字,則其等待從標准輸入輸入一行文字。其標題由"*"組成。由Mark Horton編寫。
(2)部分參數說明
/usr/bin/banner [ -wn ]信息
-w寬度 輸出寬度從131到n,n預設為80列。
(3)注意事項
不能列印字元:< ,>,[,],\,^,_,{,},|,-。信息長度為10個英文字元,如果用空格分開字元串,還是連續列印字元串,兩個字元串可以被括在引號(")中。這命名banner把這些字任串置於同一行中。
4.bash
(1)簡介
bash:GNU Bourne-Again Shell
自由軟體基金會(Free Software Foundation Inc)擁有bash版權。
bash是Linux下的許多命令解釋器中的一個,同sh兼容,並且包含了ksh和csh中一些有用的特性。遵從IEEE Posix Shell and Tools specification(IEEE Working Group 1003.2)。
5. Linux裡面bash是什麼
bash實質上是一個可執行程序,一個用戶的工作環境。
bash的功能一是可以記入歷史命令,第二呢,可以用tab鍵自動補全。第三。alias命令別名,第四呢,工作控制,可以將某些任務放到後台去運行。再一個是程序腳本就是可以執行shell腳本文件。還有通配符以及內建命令type。
6. 在linux下 什麼是bash.什麼又是shell
bash 是一個為GNU項目編寫的Unix shell,也就是linux用的shell。
Shell俗稱殼(用來區別於內核),是指「提供使用者使用界面」的軟體,就是一個命令行解釋器。
BASH是SHELL的一種,是大多數LINUX發行版默認的SHELL,除BASH SHELL外還有C SHELL等其它類型的SHELL。
(6)linux源碼bash擴展閱讀:
linux主要特性:
1,基本思想:
Linux的基本思想有兩點:第一,一切都是文件;第二,每個軟體都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬體和軟體設備、操作系統、進程等等對於操作系統內核而言,都被視為擁有各自特性或類型的文件。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。
2,完全免費:
Linux是一款免費的操作系統,用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由於這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程序員的精華,不斷壯大。
3,完全兼容POSIX1.0標准:
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
4,多用戶、多任務:
Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。
5,良好的界面:
Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。
7. bash(shell)命令解釋器,Linux界面介紹
Linux bash命令行:bash命令行解釋器或者翻譯官,命令行輸入命令都是由bash解釋執行的。
一、命令行
二、查詢當前登錄的用戶:
root
三、查詢當前用戶主機名:
oldboy
四、查詢當前用戶所在的路徑:
/root
五、切換用戶:
#切換到oldboy用戶
(#$是普通用戶的提示符。一般大臣,布衣。)
oldboy
六、符號的意思
~ 用戶家目錄
- 上一次所在的目錄
. 表示當前目錄
.. 上一級目錄
../.. 表示上一級的上一級目錄
8. linux怎麼讓bash
Linux下查看bash:
1、查看所有可用的shell:
cat /etc/shells
2、查看當前的shell:
echo $SHELL 命令詳情介紹請看下圖查詢:
9. linux源碼在哪個目錄
如果是別人發布的二進制包,可執行文件通常都安裝到Linux系統 /usr/bin 下面;如果是自己從源代碼安裝的,可執行文件通常都在 /usr/local/bin 下面,除非配置時指定了安裝位置。
例如:
rpm -ivh xxx1.rpm
可執行文件通常都安裝到 /usr/bin 下面
./configure (或者 ./configure --prefix=/usr/local)
make
make install
可執行文件通常都在 /usr/local/bin 下面,因為默認參數就是 --prefix=/usr/local
./configure --prefix=/usr (或者 ./configure --prefix=/opt 也可以指定其他位置,如你的家目錄 --prefix=~,~就是 /home/xxx<即你的家目錄>的縮寫)
make
make install
可執行文件通常都在 /usr/bin 下面(或者相應地位於 /opt/bin 下面,或者 /home/xxx/bin 下面,xxx 是你的家目錄)
無論那種方法,在 bash 控制台下只要輸入可執行文件頭幾個字母,然後連續按兩次 Tab 鍵,就可以列出可能的所有命令,如果只有一種可能,則自動顯示該文件全名,這稱為命令補全。想執行當前目錄下的可執行文件,則必須使用 ./ 作為命令前導,例如:
./myprogram
除此之外,一般的可執行文件都處在系統的搜索路徑里,只要在控制台直接輸入命令名就可執行。例如你編譯安裝了一個叫 synaptic 的軟體,只需要在 KDE 的 konsole 虛擬控制台下輸入 synaptic 即可。
如果不幸,你的可執行文件不在系統的搜索路徑里,就會報告沒有這個命令。那麼你需要把那個可執行文件的位置加入環境變數 PATH 里,用冒號作分割符,例如:
在你的家目錄的 .profile 文件或 .bashrc 文件里添加如下命令
PATH="~/bin:$PATH" 就可以把你的家目錄的 bin 目錄追加到搜索路徑里。
無論任何時候想知道系統里某個「命令文件」的位置,都可以使用 which 命令,例如:
$which pwd
/usr/bin/pwd
說明 pwd 命令位於 /usr/bin 下面。
10. linux下各種.bash等文件是什麼文件
使用man bash命令查看到的聯機幫助文件中的相關解釋如下:
.bashrc - The indivial per-interactive-shell startup file.
這個文件主要保存的是用戶的一些個性化設置,如命令別名、路徑等。下面是個例子:
# User specific aliases and functions
PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
LANG=zh_CN.GBK
export PATH LANG
alias rm='rm -i'
alias ls='/bin/ls -F --color=tty --show-control-chars'
例子中定義了路徑,語言,命令別名(使用rm刪除命令時總是加上-i參數需要用戶確認,使用ls命令列出文件列表時加上顏色顯示)。
每次修改.bashrc後,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻載入修改後的設置,使之生效。
默認會在.bash_profile文件的最後部分顯式調用.bashrc。登陸linux啟動bash時首先會去讀取~/.bash_profile文件,這樣~/.bashrc也就得到執行了,用戶的個性化設置也就生效了。
當然要把普遍設置與用戶個人設置分開哦