.Net程式員學習Linux(一)

来源:http://www.cnblogs.com/androidshouce/archive/2016/06/12/5576479.html
-Advertisement-
Play Games

本次知識點:Linux系統的多終端切換,linux下的用戶,linux遠程訪問工具使用,linux下重要的目錄,命令的組成,通配符,linux的路徑問題,文件操作的綜合運用 為什麼學習linux? 1.很多人都說.net程式員只會在Windows的環境下進行工作,壓根就不懂Linux的使用,也不懂L ...


本次知識點:Linux系統的多終端切換,linux下的用戶,linux遠程訪問工具使用,linux下重要的目錄,命令的組成,通配符,linux的路徑問題,文件操作的綜合運用

為什麼學習linux?

1.很多人都說.net程式員只會在Windows的環境下進行工作,壓根就不懂Linux的使用,也不懂Linux的命令,只會用滑鼠,只會在圖形界面下工作.其實剛開始聽,心裡挺不爽的,作為一個.net程式員,我所熟悉的當然是在windows下工作,因為我們壓根不需要在linux環境使用編碼工具,而且很多php和java的程式,他們也僅僅是會一點點命令,就來鄙視我們,說不懂linux,當時我心裡是挺不爽的,你們接觸得過,懂是當然的,不懂才怪,為了不被鄙視,我也要接觸linux,更要比他們更加熟悉。

2.Linux時代的到來,隨著微軟開源.net,勢必會把.net遷移到多個平臺上,linux因為其免費開源的特征,很多公司未來將會把伺服器的操作系統搭建為linux,並且會把.net平臺遷移到該平臺上,所以.net程式員學習linux是勢在必行了,為了不被時代拋棄,那麼自己就必須進步,把linux當作工作的一部分,那麼自己學習起來就不費勁了.

 

開始學習linux

準備linux系統,我安裝了VMware的虛擬機軟體,傻瓜式的安裝了CentOS6.7的操作系統,關於選擇Linux系統版本的問題,我主要是看當前公司搭建伺服器選擇的linux版本,以及學習的成本來著想,最終選擇了CentOS.

 

Linux系統的多終端與切換

所謂多終端,按我的理解,就是多個用戶,不同用戶有不同的環境,大家相互不影響.因為我安裝的CentOS6.7,所以一進去就是圖形界面.

CentOS共有6個終端,圖形界面這裡也是其中一個終端,對應為鍵盤中的F1,另外5個對應這F2~F6,都是控制台終端

註意:如果從圖形界面進入控制台終端,快捷鍵為:Ctrl+Alt+(F1~F2),如果從控制台進入其餘終端,只需要按Alt+F1~F6,(我不知道是不是安裝這個虛擬機的問題,才需要按Ctrl)

 

Linux終端的帳號密碼

我不知道我這樣理解準不准確,反正超級管理員都是root,密碼就是安裝時填上的密碼,當然linux還有其他的用戶,

 

Linux如何使用命令(小白專用)

對於一名小白來說...可能安裝Linux後,進入了圖形界面 ,在哪裡敲命令都不知道....(我曾經就是...)我選擇了快捷鍵Alt+F2進入終端,然後輸入帳號密碼進入了系統,

 

 

使用工具遠程連接Linux系統

使用secureCRT,可以在Window下遠程連接Linux.下載下來之後,通過授權後(請使用正版=_=!),進入到界面中

在菜單欄-->File-->Quick Connet-->選擇SSH2,填寫Hostname(地址,不知道虛擬機IP的,在 linux下命令行ifconfig),UserName:root,--->點擊Connect--->輸入密碼就可以了

最後出現界面

這裡就相當於終端的控制台了,如果覺得白底不好看,不像linux下的,那麼可以點解session找到對應要連接的linux終端,右鍵properties,進入選項,在Terminal-->Emnulation  -->下拉框選擇Linux主題就變成linux的了,

把字體變大:Ctrl+滑鼠滾輪

     選擇Send Protocol  NO-OP 防止連接伺服器的終端被清掉.

使用了遠程管理工具後,就和在linux使用終端的命令行是一樣的,所以之後都是直接用這個遠程管理工具sucureCRT.

 

Linux重要目錄

ls命令後,顯示為藍色的則為目錄,顯示為白色的為文件,綠色代表可執行文件,淺藍色的代表符號鏈接

有很多重要的目錄:

bin:有一堆命令

etc:裡面存放的是一些重要的配置文件,linux一些配置的,什麼網路環境都在這裡存放

proc:虛擬目錄,系統運行過程中產生的一些文件,通過裡面的內容瞭解系統內部情況,相當於系統開了一個視窗讓你去看系統內一些內部信息

sbin:也是存放命令的,只是它是保存一些比較底層接近物理操作的命令,例如什麼關機開機,修改系統時間等等,涉及到一些物理硬體的操作,但是需要的許可權較高,

home:主工作目錄, 相當於登錄者的一個基地,每個用戶都有自己的主工作目錄,如果是root用戶,則是在/根目錄下的root文件中

 

命令的組成

每個命令行的顯示的組成:,如果是普通用戶是$,root則是#    如果是在[圖中標的當前所處目錄]顯示為~,則表示進入到當前主工作目錄

 

 

查看命令使用手冊

使用man commond 就可以調出命令的手冊,按F可以下一頁,按B可以上一頁,按Q可以退出命令手冊

 

linux基本命令(以後每節都會持續更新)

adduser username 添加新的用戶

passwd username 修改用戶密碼    

su username  使用username用戶登錄終端    

 date 當期系統的日期  

hwclock 硬碟的時鐘

clear  清除屏幕上的信息

cal   日曆  

who  當前誰線上  

uname  當前系統的信息  

top 查看那當前啟動的任務,系統動態的信息,可以監控系統的負荷  

shutdown now  馬上關機,如果沒有now則是等待所有用戶logout才能被關掉  

logout 退出當前的用戶,但是不關機  

pwd查看當前所在目錄  

----------以下命令對文件的操作----

 

echo  content >   directory/filename  表示如果打開fliename則輸出content,  ">"代表輸出重定向,如果沒有則直接在屏幕中輸出content    

touch  filename  創建一個0位元組的文件,如果touch一個已經存在的文件,那麼就會改變這個文件最後的打開時間戳  

chown newuser /directory/filename 更改文件的擁有者,就是ls -l看到的那個擁有者, 第三個參數需要帶上路徑  

chgrp newuser /directory/filename  更改擁有者組

 ls list列出當前打開目錄的文件或者子目錄

 cat catalog 打開文件或者打開目錄 

 rm remove 刪除文件或者文件目錄

mv move 移動目錄或者改文件名 

cp copy 複製文件

mkdir make directory 創建目錄

cd change directory 改變當前目錄

rmdir remove directory 刪除目錄

使用ls -l 列出詳細目錄或者以及其詳細信息

 

使用通配符

*:代表在其所在位置上有0或以上任意個字元

?:代表在其位置上僅有一個任意字元

[]:在其位置上,有[]中任意的字元集 ,如果是連續的可以寫成[1-9][a-z][a-zA-Z]

純字母:例如,寫成a?那麼在第一個必須匹配a

 

         

 

 

 

Linux下的文件目錄與路徑

所有文件都是從根目錄/開始.

路徑的表示有:相對路徑 和 絕對路徑   例子:相對路徑:我要訪問K---->cd /a/e/k      絕對路徑:我當前處於g 但我要訪問h ----> cd ../../d/h

作為一個程式員,大家也知道什麼是絕對路徑和相對路徑的了,

 

文件操作的綜合運用

先預設一下命名防止混亂: text表示內容,file開頭的表示文件,directory開頭的表示目錄

 創建一個文件:  [root@localhost ~]# echo text > /root/filea  --->表示在root目錄下,創建一個filea文件,如果打開該文件,則會輸出text

打開一個文件:[root@localhost ~]# cat filea-->因為現在已經處於root目錄下,所以直接使用cat打開文件filea

返回主工作目錄:直接輸入cd 即可

更改文件名字: [root@localhost ~]# mv filea fileb    --->使用mv改名   mv 動作 第一個參數:原文件名,可以帶路徑的  第二個參數,需要改的名字

複製一個文件:[root@localhost ~]# cp fileb filec  ---->適用cp進行文件複製, cp動作  第一個參數:原文件的名字,可以帶路徑的 第二個參數,把原文件複製成 目錄下的某個文件名 

創建一個目錄:[root@localhost ~]# mkdir directory1   ---->創建文件目錄mkdir  直接在當前目錄創建一個名為directory1的文件夾,如果要在其他路徑創建那麼就帶上路徑

移到一個文件到目錄中:[root@localhost ~]# mv fileb directory1     ----->mv就是移動文件 , 如果第二參數參數是一個目錄,那麼就是移動到該目錄下,如果不是目錄,則是改名了

如果一個目錄中不存在文件夾,如何創建:[root@localhost ~]# mkdir -p directory2/directory3    ----->directory2如果這個目錄不存在,普通mkdir不帶參數的,是不能創建的,如果帶參數-p就可以創建了

刪除文件:[root@localhost directory3]# rm file333    --->會提示 rm: remove regular file `file333'?  如果刪除則填入Y ,不刪除則N

修改文件rwx的許可權:[root@localhost ~]# chmod a+x filec   ---->使用chmod 命令   a+x 則是user,group,othor的許可權都修改  a的含義就all  x就是對應的可執行的許可權,也可以是r或者w

         [root@localhost ~]# chmod a-x filec     ---->就是刪除x的許可權

         [root@localhost ~]# chmod u+x filec     ---->a換成了u就是針對user的許可權了,分別對應首字母

 硬鏈接,就是把一個子文件共用給另外的目錄上: [root@localhost ~]# ln directory1/fileabc dirctory3    ---->把directory1中的fileabc文件鏈接給directory3,所以在3也能打開fileabc,相當於程式中高類聚,修改了fileabc,同時兩個目錄下讀到的都是修改後的內容,相當於多個老爸,雖然修改的了之後,兩個老爸都能共用到,但是其中一個老爸被刪除了,但是另外一個老爸還是可以讀到文件的信息,如果要刪除的話,就只能兩邊都刪除

創建一個鏈接指向別的目錄或者文件:[root@localhost directory1]# ln -s ../directory2/directory3 link   ----->ln -s 指向另外一個目錄或者文件,實現快速打開,只需要ls link 就測試link是否指向了不同的目錄

 

只是上了一些課程,對操作的總結,linux作為一個操作系統當然是博大精深拉,以後的路還長著,但是對於文件的管理已經有了一個基本的認識了.

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 所有可能的設置:新建一個文件夾,將它命名為“some_name.{ED7BA470-8E54-465E-825C-99712043E01C}”,打開就是這臺電腦的所有設置視窗【所有的設置視窗都在桌面的文件夾里】 雙擊鎖住電腦:在桌面上新建一個快捷方式,在鍵入項目的地址上輸入“rundll32.exe ...
  • Let's Encrypt是一個免費SSL證書發行項目,發行的證書已經獲得主流瀏覽器的支持,親測谷歌瀏覽器(桌面版)、火狐瀏覽器(桌面版)、UC瀏覽器(手機版)、360瀏覽器(手機版)支持,其它的暫沒測試; 本文講解如何使用Let's Encrypt獲得免費SSL證書,配置apache的SSL功能, ...
  • 源內容:http://www.cnblogs.com/shouce/p/5558095.html#undefined 下麵的內容是根據“源內容”進行了整改、補充。 三種方式實例化一類,包括無參數構造形式與有參數構造形式性能測試。 測試環境: 1) Visual studio 2015 Communi ...
  • 先收藏,後看;千萬不要做一個屯書的人,一定要堅持有選擇性的看下去; 資料庫類 資料庫類 SqlServer Oracle .NET 更多... .NET 更多... Web 更多... Web 更多... 架構 架構 不颳了,直接可以看到了。 鏈接: http://pan.baidu.com/s/1 ...
  • 近期都在處理淘寶商品數據包識別問題,滿以為CSV文件就是以行為分割,以逗號為欄位分割的文件體系。 自己在編寫處理程式時,增加了2個參數: 第一個,字元集,第二,告知處理方法,文件的列在第幾行。 同時,對某些生成出來的數據包不規據的,例如生成出2個同名列的,等等文件,做了一定的容錯。 滿以為這樣就OK ...
  • 前言 在前一篇文章中我已經做過開篇,接下來的隨筆會詳細講一下我們的開發框架是如何實現的,專業的事由專業的人來講,以後就由我們的高級碼農小李英文名查爾斯和他的師父廠長(因為姓陳,酷愛攝影,我們的文藝片都是從他那裡來的,所以叫廠長) 技術選型 “查爾斯,這個敏捷開發框架我們要開始做了,給你分點任務,你要 ...
  • 這篇教程將告訴你如何使用 Visual Studio 2015 構建一個 ASP.NET Core MVC Web 應用程式的基礎知識。 ...
  • OO思想現在已經在軟體開發項目中廣泛應用,其中最重要的一個特性就是繼承,最近偶簡單的複習了下在C#中涉及到繼承這個特性時,所需要用到的關鍵字,其中有一些關鍵點,特地整理出來,方便大家查閱。 一、在C#中,new這個關鍵字使用頻率非常高,主要有3個功能: a) 作為運算符用來創建一個對象和調用構造函數 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...