============================================================================= a.txt c:\abc\a.txt windows寫法(反斜槓) /abc/a.txt linux寫法(斜槓) ----------------------------------------------------------------------------- 相對路徑表達方法 cat a.txt 如果不加任何路徑說明,默認是當前目錄下的文件。 cat ./a.txt 明確的指明,a.txt在當前目錄下,這是一種相對路徑的寫法。 cat ../a.txt 明確的指明,a.txt在上一級目錄下,這也是一種相對路徑的寫法。 cat ./../a.txt 明確的指明,a.txt在上一級目錄下,這也是一種相對路徑的寫法(與上一種等同)。 cat ../2/a.txt a.txt 在上一級目錄的2子目錄下。 ----------------------------------------------------------------------------- 絕對路徑,絕對路徑總是從根目錄開始的。 /home/zhujy/2/a.txt
============================================================================= 注意: 普通用戶的主目錄一般都是在/home/下 root用戶的主目錄在/目錄下 ----------------------------------------------------------------------------- 常見的Unix/Linux系統目錄如下: /: Unix/Linux系統的根目錄,包含Unix/Linux系統的所有目錄和文件。 /etc: 有關係統設備與管理的配置文件。 /sbin: 存放系統啓動時所需的運行程序。 /bin: 該目錄中含有常用的命令文件。 /usr/local: 存放用戶後期安裝的應用程序文件。 /root: 超級用戶主目錄。 /dev: 接口設備文件目錄,保存外圍設備代號。(Unix/Linux系統把每個設備都映射成一個文件,這就是設備文件。) /home: 普通用戶的宿主目錄,通常將其設置在獨立的分區。 ----------------------------------------------------------------------------- PC機上最多有4個IDE設備,可能是磁盤,也可能是CD/DVD設備。
(PC機上裝的硬盤一般都是IDE硬盤:價格便宜、讀寫速度慢、不能熱插拔) 在Unix/Linux中,對於IDE磁盤,使用“hd”表示,並且在“hd”之後使用小寫字母表示磁盤編號。 磁盤編號之後是分區編號,使用阿拉伯數字表示。主分區的編號依次是1~4,擴展分區上的邏輯分區編號從5開始。
SATA和SCSI磁盤共同使用“sd”表示。常用存儲設備的名稱表示如表所示。
(服務器上裝的硬盤一般都是SCSI硬盤)
============================================================================= Unix/Linux文件的命名規則: (1) 文件名最長可以達到256個字符,可由A~Z、a~z、0~9、.、-、_、等符號組成。 (2) 文件名區分大小寫。 (3) 文件沒有擴展名的概念。 (4) 使用“/”作爲根目錄和目錄層之間的分隔符。 (5) 支持相對路徑和絕對路徑。 在Unix/Linux操作系統中也必須區分文件類型,通過文件類型可以判斷文件屬於可執行文件、文本文件還是數據文件。 在Unix/Linux系統中文件可以沒有擴展名。 通常,Unix/Linux系統中常用的文件類型有5種:普通文件、目錄文件、設備文件、管道文件和鏈接文件。 ----------------------------------------------------------------------------- windows中 a.txt,A.TXT是一樣的 linux中 a.txt,A.txt是不一樣的 ----------------------------------------------------------------------------- A.txt a.txt a.Txt a.tXt A.Txt 在linux中都不一樣
============================================================================= 修改文件或目錄的訪問權限
法一:使用chmod命令和參數的方式: chmod [參數] 文件或目錄名 chmod o+w a.txt 給其他用戶添加寫的權限 chmod u-r a.txt 給屬主解除讀的權限 u:屬主,即文件或目錄的所有者,擁有對文件最大的讀寫權限。 g:屬組,即與文件屬組有相同組ID的所有用戶。 o:表示其他用戶,通常只具有瀏覽權限。 a:表示以上所以用戶。
法二:使用數字的方式: rwx rwx rwx 對應於 111 111 111 --- --- --- 對應於 000 000 000
000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7
rw- r-- --- rwx rwx rwx r-x -w- --x 110 100 000 6 4 0 7 7 7 5 2 1 chmod 640 1 chmod 777 1 chmod 521 1 ----------------------------------------------------------------------------- 對一個目錄來講, 如果沒有r權限,那麼就不能用ls命令查看目錄的內容了(讀權限) 如果沒有w權限,那麼就不能在目錄下刪除或者增加文件了(寫權限) 如果沒有x權限,那麼就不能用cd命令來進入這個目錄了(執行權限)
============================================================================= 修改文件的所有者 使用chown 用戶名 文件或目錄名 例如:chown root a.txt
修改文件的所有組 chgrp 用戶名 文件或目錄名 例如:chgrp root a.txt
============================================================================= vi默認是命令模式, 在命令模式下按i或者a進入輸入模式。 在輸入模式下按esc進入命令模式。 ----------------------------------------------------------------------------- 保存: 在命令模式下按 :w 文件名 退出: 在命令模式下按 :q ----------------------------------------------------------------------------- vi 命令後面沒有加文件名時,默認會開啓vi,但不會自動打開任何文件,如果在vi中輸入了字符,那麼就需要執行w命令的時候,後面加文件名。 vi 文件名 如果文件存在,那麼就打開這個文件;如果文件不存在,那麼就創建這個文件,那麼執行w命令的時候,就不需要再寫文件名。 :wq 保存同時並退出,不能寫成:qw ----------------------------------------------------------------------------- 用vi打開一個文件,修改內容後,如果沒有用 :w 保存,直接用 :q 退出的話會提示失敗。 如果想不保存退出,那麼用 :q! ----------------------------------------------------------------------------- 和很多基於圖形的編輯器一樣vi也提供撤銷功能,對於一個編輯器來說,提供撤銷功能是必要的。 用戶可以在命令模式下輸入“u” 就可以撤銷上一次操作。 ----------------------------------------------------------------------------- vi的插入模式 a 光標位置右邊插入文字 i 光標位置當前處插入文字 o 光標位置下方開啓新行 O 光標位置上方開啓新行 I 光標所在行首插入文字 A 光標所在行尾插入文字 ----------------------------------------------------------------------------- 退出vi ZZ 保存退出 :wq 保存退出 :x 保存退出 :w filename 保存到指定文件 :q 退出,如果文件修改但沒有保存,會提示無法退出 :q! 退出,不保存 :! 命令暫時退出vi,執行相應命令 ----------------------------------------------------------------------------- vi的刪除功能 在vi的輸入模式下,用戶可以使用Backspace(退格鍵)來刪除光標前面的內容,還可以使用delete鍵來刪除當前的字符。 此外,在vi的命令模式下還提供了幾個按鍵用來刪除一個字符或進行整行刪除, x 刪除當前光標所在的字符 X 刪除光標前一個字符 D 刪除光標所在開始到此行尾的字符 dd 刪除光標所在的行 dG 刪除光標所在開始到文件尾的所有字符 J 合併兩行 ----------------------------------------------------------------------------- vi的行定位功能 Ctrl + f 向前捲動一個屏幕 Ctrl + b 向後捲動一個屏幕 G 到文件最後一行行首,G必須爲大寫 :$ 到文件最後一樣行尾 mG 到指定行,m爲目標行數, :set nu 顯示行號(這個命令很重要) :set nonu 顯示行號(這個命令很重要) /內容 查找指定內容 ----------------------------------------------------------------------------- vi的文本查找功能 /字符串 查找指定字符串 n 尋找下一個 N 回到前一個 ? 尋找上一個 /^字符串 查找以字符串開始的行 /字符串$ 查找以字符串結尾的行 /a.b 查找字符串a到任意字符b ----------------------------------------------------------------------------- vi的文本替換功能 r 替換當前光標字符 :r 文件名 在光標當前位置載入另一個文件的內容 :開始行號,截止行號 s /源字符串/目標字符串/g 在指定行號範圍內替換字符串(例子如下所示) :1,$ s /start/end/g 從第一行開始到文件最後,將字符串start全部替換爲end ----------------------------------------------------------------------------- vi的set指令 :set ic 搜尋時忽略大小寫 :set noic 搜尋時不忽略大小寫 :set nu 顯示行號 :set nonu 不顯示行號
============================================================================= 小練習步驟:
1、進入root,先創建一個用戶abc(注意:創建用戶後需要設置用戶密碼) useradd -d /home/abc abc -m -s /bin/bash -s代表指定一個shell(這個bash shell更舒服更漂亮些) useradd -d /home/abc abc -m -s /bin/sh -s代表指定一個shell(默認sh shell) 2、退出root,登錄到用戶abc 3、用vi寫一個c語言的hello world (注意:文件名叫a.c 如果是c語言的源代碼文件,擴展名必須是.c) 4、編譯這個程序(編譯c語言的源代碼文件) gcc -o a a.c -o a:意思是指定編譯後的程序名爲a。即要編譯a.c這個源文件,編譯後的可執行程序名字叫a 5、運行這個程序 linux默認不會在當前目錄下查找可執行程序; ./a 明確的告訴操作系統,a是在當前目錄下。 ============================================================================= 如何設置語法高亮? SeccureCRT中的終端類型默認是VT100或者Xterm,我們要選擇linux。字符集一定要是utf8 ----------------------------------------------------------------------------- 如何設置默認vi開啓的時候,自動顯示行號? 第一步,回到用戶的主目錄下的方法 cd 什麼都不加回車即可。 第二步,回到主目錄下,生成一個叫.vimrc的文件,文件名前面必須有個。 第三步,在.vimrc中輸入set nu。 第四步,保存退出。 ----------------------------------------------------------------------------- shell 一個linux的字符界面會有很多種不同的shell,shell是字符界面的人機交互模式 sh是最古老的,也是最基本的unix的shell 如果在創建用戶的時候,沒有指定shell,那麼登錄這個用戶的時候默認的shell是sh shell本身也是一個程序,一般在/bin目錄下
============================================================================= gcc在linux下是操作系統自帶的,因爲linux操作系統本身就是用gcc編譯的。
windows並不會自帶gcc,在windows系統下如何使用gcc呢? 方法一,直接去gcc的官網下載安裝版本; 方法二,安裝QT的時候QT會帶一個gcc的版本,gcc一般在qt的安裝目錄下。 找到gcc.exe在windows下的安裝路徑,然後把這個路徑放入windows系統環境變量的path裏面,在path的最後面加上 ;gcc的安裝路徑。
============================================================================= 如何設置linux系統可以在當前目錄查找可執行程序的方法? 1,回到用戶的主目錄 cd 2,在用戶的主目錄下,打開文件.profile(在ubuntu系統), .bash_profile(在redhat、centos系統下) 3,在.profile文件的最後,添加一行 export PATH=$PATH:. 注意這裏要大小寫敏感 4,保存退出 5,執行 source .profile (redhat系統)source .bahs_profile 注意:以上所有的的修改只是針對具體某一個用戶的,比如說用戶a修改了,但用戶b不會生效,比如說root修改了,那麼其他用戶也不會生效。
============================================================================= ifconfig 顯示網絡參數 ifconfig –a 顯示網絡配置信息
eth0 網絡接口名稱 Link encap 鏈路封裝協議 Hwaddr 網絡接口的MAC地址 Inet addr IP地址 Bcast 廣播地址 Mask 子網掩碼 UP 網絡接口狀態標識,UP已經啓用,DOWN已經停用 BROADCAST 廣播標識,標識網絡接口是否支持廣播 RUNNING 傳輸標識,標識網絡接口是否已經開始傳輸分組數據 MULTICAST 多播標識,標識網絡接口是否支持多播 MTU,Metric MTU:最大傳輸單位,單位:字節。Metric:度量值,用於RIP建立網絡路由用 RX bytes 接收數據字節統計 TX bytes 發送數據字節統計 ----------------------------------------------------------------------------- route 網絡路由設置 route 可以增加,修改,顯示路由信息 ----------------------------------------------------------------------------- netstat 該命令監控網絡狀態,包括接口設置,IP路由,各種網絡協議的統計 ----------------------------------------------------------------------------- ping 測試遠程主機連通性 ping通過ICMP協議向遠程主機發送ECHO_REQUEST請求,期望主機回覆ECHO_REPLY消息 通過ping命令可以檢查是否與遠程主機建立了TCP/IP連接。
============================================================================= 一般服務器會放在機房,很多時候我們一般是通過一某個軟件進行遠程連接到服務器,然後再去工作。
如何把服務器上的abc.c文件傳輸到windows下去呢? 1、在CRT上的鏈接對話框右鍵打開 選擇連接SFTP會話 2、在sftp裏面要進入遠程的路徑和本地的路徑,如下: 先用命令pwd 查看遠程連接到的linux的目錄 cd 1 進入遠程連接到的linux的1目錄 lcd \test 進入本地window目錄 3、get abc.c 從遠程目錄得到文件abc.c,放入本地目錄test ----------------------------------------------------------------------------- 如何把windows下的aaa.c文件傳輸到linux服務器去呢? 1、在CRT上的鏈接對話框右鍵打開 選擇連接SFTP會話 2、使用命令 sftp> put aaa.c 3、在CRT下使用 cat aaa.c 查看aaa.c
============================================================================= windows下的http.tar.gz源代碼文件的使用方法? 步驟零:在CRT上的鏈接對話框右鍵打開 選擇連接SFTP會話 步驟一:先將windows的文件上傳到linux put http.tar.gz 步驟二:回到原始命令行界面 解壓 gzip -d http.tar.gz (得到.tar文件) tar -xvf http.tar (得到http目錄) 步驟三:進入http目錄 cd http 步驟四:編譯這個源代碼 make 步驟五:切換到root用戶 su 步驟六:用root用戶啓動程序 ./myhttp start 當看到如下: listen 80 success myhttp begin 代表程序成功啓動了(雖然不會寫,但是我們會成功部署別人寫好的程序啊!) 在windows瀏覽器打開 http://192.168.40.134/ 可以進行搜索哦! 然後在CRT上的鏈接對話框右鍵打開 在新窗口克隆 進入到 chen@ubuntu:~/Desktop/haha/01/http$ 目錄下,編輯一個a1.c文件(內容爲 hello world) 使用 gcc -o a.cgi a1.c 進行編譯後 使用 ./a.cgi 運行得出結果 再在windows瀏覽器輸入 http://192.168.40.134/a.cgi 回車 得到在網頁顯示的hello world 但是呢,這樣顯示有些醜,我們可以添加些內容 #include <stdio.h> int main() { printf("<html>"); printf("<img src=aaa.jpg>"); printf("<font color=red size=48>"); printf("hello aheng\n"); printf("</font>"); printf("</html>"); return 0; } =============================================================================