導航:首頁 > 源碼編譯 > ash源碼

ash源碼

發布時間:2022-12-06 22:37:25

① 求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)。

② 電影《普羅米修斯》講的什麼

該片是《異形》的前傳電影,講述了一個團隊在地球上發現了人類起源的線索,並踏上了太空之旅後,必須血戰到底以保護人類在未來不被毀滅的故事 。

劇情簡介

21世紀末,人類的科技水平已高度發達,克隆人技術和宇宙航行早已實現,不再是夢想。與此同時,許多科學家仍孜孜不倦追索著人類起源的秘密與真相。通過對許多古老文明的考察與對比,科學家伊麗莎白·肖(勞米·拉佩斯飾)和查理·赫洛維(羅根·馬歇爾-格林飾)發現,人類可能是來自一個遙遠星系的外星人創造的。

在Weyland公司資助下,他們乘坐維克絲(查理茲·塞隆飾)所掌管的宇宙飛船普羅米修斯號前往那顆未知的星球。經過對當地的考察,地球人的設想成功得到印證。可是他們貿然探查「神的秘密」的行為,也將自己引入萬劫不復的深淵。







角色介紹

1、伊麗莎白·肖演員勞米·拉佩斯

伊麗莎白·肖是一名不僅具備科學知識,還具有信念的科學家。她在很年輕時喪父,也是「普羅米修斯號」探險的主角。她和男友奉太空船企業老闆彼得·威蘭之命,遠赴外太空探索人類起源的秘密。

2、大衛演員邁克爾·法斯賓德

大衛是一個有著性格缺陷的雌雄同體機器人,他是資助「普羅米修斯號」任務的「Weyland」企業所派遣的耳目,也是船上的太空管家。他在途中表面上負責照顧所有人的生活,暗地裡卻在執行一項秘密行動。

③ 知道網站後台和用戶名,如何破解進入後台

用戶名知道了還要知道密碼網站不是你自己的密碼你不知道無法進入就要找漏洞,如果是你自己的數據裡面找到加密碼的代碼直接修改成你自己的就可以了

希望能幫到您!

④ 我下載火狐瀏覽器的源代碼 怎麼把他變回可以執行的程序呢

源代碼編譯安裝Firefox(linux下)http://forums.mozine.cn/index.php?showtopic=601

Windows下如何編譯Mozilla源代碼http://www.firefox.net.cn/newforum/viewtopic.php?p=12810

如何在window環境下編譯mozilla/firefox
zz from lotusroots.bokee.com

mozilla/firefox這個瀏覽器(現在的最高版本是firefox 2.0 rc3,穩定版本是firefox1.5.0.7)已經很有名氣了,這次,我因為需要使用裡面的某些部分,不得不從源代碼開始編譯它。當然了,自己不太可能使用linux來編譯,所以我使用的環境是win2003系統。
1,首先到網上找信息,發現編譯它並不是那麼容易的事情,許多人都出現了許多問題。值得一看得有如下幾個網頁:官方關於編譯的頁面:http://developer.mozilla.org/en/docs/Build_Documentation;使用vs2005編譯mozilla(firefox)的頁面:http://cs.senecac.on.ca/~david.humphrey/writing/firefox-win32-build.html;更清楚的講解vs2005編譯的頁面:http://zenit.senecac.on.ca/wiki/index.php/Assignment_1_(pstdenis);
2,准備編譯工具。要准備的工具實在是很多哦,包括:vs2005、cygwin、nsis、moztools共4項。第一項好說,去任何一個站點下載免費版的vs2005,第二項的下載地址為:http://www.cygwin.com/,第三項需要到如下地址去下載:http://nsis.sourceforge.net/Download,第四項的下載地址為:http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/moztools-static.zip。
3,安裝編譯工具。vs2005的安裝(主要安裝的是vc++)沒有什麼可說的,唯一的一點就是:為了以後配置的方便,推薦使用默認目錄安裝。nsis的安裝也容易,注意使用full安裝選項,不要漏掉什麼東西了。moztools只是一個壓縮包,解壓縮後放到一個目錄就行了。cygwin的安裝是一個比較麻煩的事情,因為你下載的只是一個客戶端,你需要運行它,然後在線升級(安裝)你需要的功能,一定要選擇一個快速的伺服器(如果你的網路很慢的話,我建議你就不要編譯mozilla了)。安裝的時候,你需要選擇如下幾個包:
* ash
* diffutils
* fileutils
* fintils
* gawk
* grep
* sed
* sh-utils
* textutils
這幾個都是默認安裝的。你還需要額外的安裝如下幾個包:
* coreutils
* cvs
* cygutils
* libiconv
* make
* patch
* patchutils
* perl
* unzip
* zip
版本隨便都可以。當然了,這個只是奢望,目前的mozilla的源代碼僅僅支持3.80版本的make程序,而現在從cygwin裡面是無法安裝上make 3.80版本的,因為最低都是3.81版本。所以,你還需要到下面去下載一個make 3.80版本回來:http://ftp.gnu.org/pub/gnu/make/,然後把那個裡面的bin\make.exe拷貝到cygwin目錄下的bin\make.exe位置,覆蓋原來的那個make.exe即可。
4,配置。總共有2個部分需要配置,一個是各種工具的路徑,一個是編譯必需的mozconfig文件。為了開始配置,我們需要設定一個目錄,用來保存 mozilla的源文件。推薦的方式是這樣的:a) 建立目錄:c:\proj;b) 建立目錄:c:\proj\mozilla;c)把moztools工具保存到c:\proj\moztools下;d) 把cygwin安裝到c:\proj\cygwin目錄下。當然,這不是必需的。於是,第一部分配置可以使用如下的一個配置文件實現:
@echo off

rem --- CVS Setup
SET CVSROOT=:pserver:[email protected]:/cvsroot
SET CVS_RSH=ssh

rem --- paths of moztools
set MOZ_TOOLS=c:\proj\moztools
set GLIB_PREFIX=%MOZ_TOOLS%
set LIBIDL_PREFIX=%MOZ_TOOLS%

rem --- path of window
SET INCLUDE=
SET LIB=
SET PATH=c:\;c:\windows\system32;c:\windows\system32\wbem

rem --- path of cygwin
SET PATH=c:\proj\cygwin\bin;%PATH%

rem --- path of vc8(vs 2005)
CALL "c:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86

rem --- path of moztools/glib and /libidl
SET PATH=%PATH%;%GLIB_PREFIX%;%GLIB_PREFIX%\bin
SET INCLUDE=%GLIB_PREFIX%\include;%INCLUDE%
SET LIB=%GLIB_PREFIX%\lib;%LIB%

rem --- moztools comes last after glib/libIDL
SET PATH=%PATH%;%MOZ_TOOLS%\bin

rem --- path of NSIS
SET NSIS=c:\NSIS
SET PATH=%PATH%;%NSIS%
把這些文本保存為一個bat文件,比如:buildsetup.bat,推薦保存到c:\proj目錄下。
第二部分的處理有點特點,現在我們需要建立一個如下內容的名字叫做:「.mozconfig」的文件,不要試圖直接建立這個文件,因為window會告訴你說必須鍵入文件名!你使用記事本,輸入如下內容,然後保存為「.mozconfig」即可:
# Building Firefox Trunk with Debugging
. $topsrcdir/browser/config/mozconfig

# Put all obj files in one place, not in src tree
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-objdir
ac_add_options --disable-static
ac_add_options --enable-shared

# Debug Build Setup Options
ac_add_options --disable-optimize
ac_add_options --enable-debug

# I'm using Canvas for my work
ac_add_options --enable-canvas

# I disabled the installer
ac_add_options --disable-installer
這個文件必須保存到剛才建好的c:\proj\mozilla目錄下。
5,開始下載源文件。你可以不下載源文件,你可以到ftp.mozilla.org去下載最新的代碼,然後保存到mozilla,再進行第6步操作。但是,需要提醒你的是:我下載了4份源代碼(seamonkey,mozilla,firefox),卻沒有一個能夠編譯的,不是說少了文件就是說哪個代碼編譯錯誤。反正我建議你是用下面的這種直接通過cvs到mozilla上下載源代碼的辦法(因為它沒有壓縮,所以,這些代碼的大小在240M左右,壓縮後的代碼一般在30M左右)。
a)首先進入c:\proj目錄,並執行buildsetup.bat,下面是屏幕的操作過程:
C:\Documents and Settings\Administrator>C:
C:\>cd proj
C:\proj>buildsetup.bat
Setting environment for using Microsoft Visual Studio 2005 x86 tools.
C:\proj>
b)然後下載cvs的配置文件,下面是屏幕顯示:
C:\proj>cvs login
Logging in to :pserver:[email protected]:2401/cvsroot
CVS password:
C:\proj>cvs co mozilla/browser/config mozilla/client.mk
cvs checkout: Updating mozilla/browser/config
C:\proj>
這里,注意輸入的password為:anonymous。
c)接著進入mozilla目錄,然後就開始了漫長的源文件下載了,一個字:等待:

C:\proj\mozilla>make -f client.mk checkout
6,一切准備妥當了,現在該開始編譯程序了:
c:\proj\mozilla>make -f client.mk build

其他說明:
1,下載的源文件大概有240M,所以,下載是一個漫長的過程,我用了30多分鍾;
2, 編譯是一個更加漫長的過程,我使用了3個小時才搞定,我的配置是:1.8G + 512M;
3,因為我們在「.mozconfig」文件裡面使用了debug模式,編譯出來的是一個debug模式下的名字叫做firefox.exe 的文件,如果你是用它進行網路連接的話,你會發現常常跳出錯誤窗口,這個是用來測試的(你需要每次點忽略才能繼續執行)。會十分的麻煩的,所以,你可以把 「ac_add_options --enable-debug」這一行去掉,免得麻煩。換上:「ac_add_options --disable-debug」,記住,這樣處理後能夠加快編譯的速度!加快速度的另外一個辦法是加上:「ac_add_options --disable-tests」,這樣就不會生成許多測試程序了。推薦的,編譯firefox時,最好的「.mozconfig」是這樣的:
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt-static
ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --disable-static
ac_add_options --enable-shared
ac_add_options --disable-tests
mk_add_options MOZ_CO_PROJECT=browser
4, 編譯好了的文件在c:\proj\mozilla\firefox-objdir\dist\bin 目錄下(如果你使用的是非debug的模式,那麼,文件在目錄c:\proj\mozilla\ff-opt-static\dist\bin下),名字叫:firefox.exe,可是,當你執行它了之後,你到幫助下面查看它的版本,會發現它叫:MineField 3.0a1(以前不是著名字)的。赫赫。
5, 如果你想編譯成一個安裝的版本,你可以刪除:「ac_add_options --disable-installer」。其他更多的編譯選項可以參考:http: //developer.mozilla.org/en/docs/Configuring_Build_Options。

如果大家有什麼問題可以隨時發送上來。

⑤ 什麼是liunx

一、歷史及版本
Liunx的前身源於unix,由芬蘭的helsinki大學技術科學系學生lins torvalds開發,1991年發生了linux0.11版。
其它版本:由於linux標榜自由開放,致使其發行趨於多樣化,最常見有以下版本:
1、Redhat linux 2、debian
3、slackware linux 4、turbo linux
5、open linux 6、linux mandrake
7、informagic 8、suse linux

二、linux優勢
Linux是一種非常優秀的操作系統,支持多用戶,多進程,實時性好,功能強大而且穩定。同時具有良好的兼容性和可移植性。
Redhat作為目前眾多發行版本中的一種,一方面它已經是行業的標准,有大量為其開發的軟體;另一方面redhat是自由軟體,獲得途徑很多,可以自由使用;redhat系統的穩定性及安全性非常出色。
Redaht具備unix最基本的命令、排版、文本處理、各種伺服器管理、程序設計開發、網路聯機與管理甚至還可以使用windows98,具體表現如下:
1、多任務管理
Linux是搶占式多任務,多用戶操作系統,具有優秀的內存和多任務管理能力,不僅可以讓用戶可以同時執行數十程序,還允許用戶遠程登陸,對用戶帳號等各方面都極其出色。
2、多重機開機管理
Linux自帶開機管理程序:lilo及GRUB來對多操作系統進行配置。
3、圖形集面界面
Linux配有特殊的用戶界面即x windows system,這是unix系統的標准圖形界面。
4、網路功能
Linux使用tcp/ip協議作為主要的網路通信協議,內建ftp、telnet、mail、apache等各種功能,另外也提供撥號方式連接網路。而且穩定性高。Windows能夠做得,linux都能做,而且穩定性及安全性都要比windows好得多多。
5、程序開發工具
Linux當中包含大量的開發工具,例如:gcc、cc、c++、perl等。
6、便捷的升級程序獲得
因為linux是免費的,自由的開放的操作系統,所以很多軟體可以容易在互聯網上找到其升級包。無須任何費用。

四、linux作為伺服器操作系統的原因
1、廣泛的協議支持
1)、TCP/IP通信協議 2)、IPX/SPX通信協議
3)、Apple talk通信協議 4)、ISDN通信協議
5)、PPP、SLID、PLIP等通信協議 6)、ATM通信協議
2、文件系統下良好的兼容性
可與當前主要的網路操作系統保持良好的兼容性,『文件與列印共享』,可兼容的環境有apple環境、windows、novell、unix環境。
3、支持多種網路互聯:
1)、支持路由器、橋接器、IP偽裝、IP記帳、IP別名及網路流量控制。
2)、支持防火牆、埠傳遞、負載均衡、代理伺服器、通信協議隧道和虛擬專用網路等。
4、完善的網路支持:
1)web伺服器及客戶端 2)支持FTP伺服器
3)支持電子郵件服務及客戶端 4)支持dns及dhcp伺服器
5)支持網路信息服務NIS 6)支持認證服務
5、遠程執行任務
1)、telnet遠程終端服務 2)、遠程命令方式
3)、X windows方式
6、多種應用系統的支持
1)語言編程環境:c、c++、java
2)圖形環境:gnome、kde、gimp、windows maker等
3)編輯器:xemacs、vim、gedit、pico等
4)shell:bash、tcsh、ash、csh等
5)文字處理軟體:open office、kwork、abivord
6)資料庫:mysql、postgresql、oracle8I等。

android 怎麼樣實現ashmem 詳細�0�3

anonymous/named mmap,其好處是提供了輔助內核內存回收演算法的pin/unpin 機制。
ashmme 的典型用法是先打開設備文件,然後做mmap 映射。
第一步通過調用ashmem_create_region 函數,這個函數完成這幾件事:
java 代碼:
1. fd = open(「/dev/ashmem」, O_RDWR);
2. ioctl(fd, ASHMEM_SET_NAME, region_name); // 這一步可選
3. ioctl(fd, ASHMEM_SET_SIZE, region_size);復制代碼
第二步,應用程序一般會調用mmap 來把ashmem分配的空間映射到進程空間:
mapAddr = mmap(NULL, pHdr->mapLength, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
可以說ashmem以較小的代價(用戶需進行額外的ioctl 調用來設置名字,大小,pin 和unpin),獲得了一些內存使用的智能性。
ashmem本身實現也很小巧,只有不到700 行。原因是藉助了內核已經有的工具,例如shmem_file_setup(支撐文件),cache_shrinker(slab 分配
演算法的頁面回收的回調函數)等。
如果ashmem不使用內核驅動實現,則pin/unpin 的語義比較難以實現,或者即使實現,效率也不會很高。但查詢android 源碼,使用pin
/unpin 很少,看來ashmem還是沒有很好地用起來。
如果不使用ashmem驅動,並且舍棄pin/unpin 語義,那麼模擬ashmem的語義還是很簡單的。首先,ashmem_create_region 可以為進程創建一
個唯一的文件(如進程名+時戳),打開,然後返回這個文件的fd;接著應用程序可以進性一般的mmap 操作了。如果不使用
ashmem_create_region 介面函數,那麼使用anonymous 的mmap 就可以了,但這種方式屬於正在 被丟棄的方式,而且並不是所有的系統都支
持,比如Macos 就不支持。

閱讀全文

與ash源碼相關的資料

熱點內容
文件夾怎麼做標題 瀏覽:31
騰訊雲伺服器如何防止被攻擊 瀏覽:879
六稜柱的體積演算法 瀏覽:933
淘寶什麼雲伺服器好用 瀏覽:340
pythonoa項目 瀏覽:307
android杜比音效 瀏覽:341
殺手47為什麼連接不了伺服器 瀏覽:108
靜態路徑命令 瀏覽:533
一直編譯不過怎麼辦 瀏覽:829
汽車串聯並聯演算法 瀏覽:458
助眠解壓的聲音音頻小哥哥 瀏覽:277
pythoncmd換行 瀏覽:376
linux取消行號 瀏覽:355
安卓原生系統官網是什麼 瀏覽:444
底部主圖源碼 瀏覽:878
伺服器崩了有什麼提示 瀏覽:780
遠程海康伺服器用什麼瀏覽器 瀏覽:232
解壓報紙圖片 瀏覽:956
python微信公眾號開發平台 瀏覽:895
知識付費網站java源碼 瀏覽:255