您好,登錄后才能下訂單哦!
所謂命令行,我們這里指的是基于文本的界面,這個界面允許你輸入命令,執行命令并查看運行結果。你能運行一個終端(圖形桌面上的字符界面或圖形界面之外的文本控制臺自身)和嵌入其中的一個命令解釋器(Shell)。
3.2.1 如何進入命令行
當你的系統正常啟動后,進入命令行最簡單的方式是在你的圖形桌面會話中運行終端程序。
圖3.1 啟動GNOME終端
例如,在默認的Kali Linux系統上,GNOME終端可以從最喜歡應用程序中啟動。你也可以在活動屏幕出現時(當你把鼠標移到左上角時)鍵入“terminal”,然后點擊出現的應用程序圖標(見圖3.1)。
如果圖形界沒中斷,你仍然可以在虛擬控制臺上獲得一個命令行(通過CTRL+ALT+F1到CTRL+ALT+F6 6個組合鍵可以最多訪問6個控制臺,如果已經在文本模式,Xorg或Wayland的圖形界面之外,可以省掉CTRL鍵)(釋注:Wayland是與X Window屬于同一級的事物,而不是僅僅作為X Window下X Server的替代。也就是說,Wayland不僅僅是要完全取代X Window,而且它將顛覆Linux桌面上X Client/X Server的概念,也許以后將沒有所謂的“X Client”了,而是“Wayland Client”。)在訪問命令行及其shell之前,你將獲得一個基本的登錄屏幕,并在此輸入登錄名和蜜碼:
Kali GNU/Linux Rolling kali-rolling tty3
kali-rolling login: root
Password:
Last login: Fir Mar 25 12:30:05 EDT 2016 from 192.168.122.1 on pts/2
Linux kali-rolling 4.4.0-kali1-amd4 #1 SMP Debian 4.4.6-1kali1 (2016-03-18) x86_64
The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@kali-rolling:~#
接受輸入并執行你命令的程序叫做shell(或者叫命令解釋器)。Kali Linux提供的默認shell是Bash(它表示Bourne Again SHell)。結尾的字符“$”或“#”表明shell在等待你的輸入。同時最后這個字符也表明Bash認為你是一個普通用戶($)還是一個超級用戶(#)。
3.2.2 命令行基礎:瀏覽目錄樹和管理文件
這一節只提供相關命令的一個概覽,所有的命令都有很多選項,這里就不詳述了,可以參看與各自命令相關的手冊。在***測試中,當成功利用(Exploit)之后,你通常會得到對系統Shell的訪問權,而不是圖形用戶界面。因此,熟練掌握命令行對你成為一名成功的安全專家至關重要。
當一個會話打開后,pwd命令(表示print working directory)顯示你在文件系統中的當前位置。當前位置可以通過cd directory命令(cd 表示change directory)進行改變。當你使用cd -,你可以回至先前的工作目錄(最近一次cd命令之前的那個目錄)。父目錄通過用..表示(雙點),而當前目錄用.(單點)表示。ls命令允許列出(listing)一個目錄下的內容。如果你不提供參數,ls命令列出的是當前目錄下的內容。
$ pwd
/home/buxy
$ cd Desktop
$ pwd
/home/buxy/Desktop
$ cd .
$ pwd
/home/buxy/Desktop
$ cd ..
$ pwd
/home/buxy
$ ls
Desktop Downloads Pictures Templates
Documents Music Public Videos
你可以使用mkdir directory命令創建一個目錄,使用rmdir directory命令刪除一個已存在的(空的)目錄。mv命令允許你移動和重命名文件和目錄;刪除一個文件用rm file命令,拷貝一個文件用cp source-file target-file命令。
$ mkdir test
$ ls
Desktop Downloads Pictures Templates Videos
Documents Music Public test
$ mv test new
$ ls
Desktop Downloads new Public Videos
Documents Music Pictures Templates
$ rmdir new
$ ls
Desktop Downloads Pictures Templates Videos
Documents Music Public
Shell通過在PATH環境變量中指明的目錄列表中,找到符合給定名稱的第一個程序并執行這個程序。大多數情況下,這些命令在/bin,/sbin/,/usr/bin,或/usr/sbin中。例如,ls命令可以在/bin/ls找到,which命令可以給出所給命令所在的目錄。有些命令可以由shell直接處理,這些命令被稱為shell內置命令(cd和pwd都是);type命令可以查詢每個命令的類型。
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ which ls
/bin/ls
$ type rm
rm is /bin/rm
$ type cd
cd is a shell builtin
注意echo命令的使用,它只是在終端上簡單地顯示一個字符串。在這種情況下,它用于打印環境變量的內容,因為shell在執行命令之彰會自動替換變量的值。
環境變量:環境變量允許存儲用于shell或其它程序的全局設置。它們是上下文相關并且是可以繼承的。例如,每個進程有他自己的環境變量集合(上下文相關)。像登錄Shell(login shells)可以聲明變量,并且這些變量可以向下傳遞給其它可執行程序(可繼承的)。
這些變量可以定義在系統范圍內使用的/etc/profile文件中,或者是定義在每個用戶獨有的~/.profile文件中,但是不特定于命令行解釋器的變量定義在/etc/environment中比較好,因為這些變量通過可插入認證模塊(PAM)會注入到所有的用戶會話中——甚至沒有shell被執行情況下也可以。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。