日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

【AI白身境】Linux干活三板斧,shell、vim和git

發(fā)布時(shí)間:2025/3/20 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【AI白身境】Linux干活三板斧,shell、vim和git 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章首發(fā)于微信公眾號(hào)《與有三學(xué)AI》

【AI白身境】Linux干活三板斧,shell、vim和git

今天是專欄《AI白身境》的第二篇,所謂白身,就是什么都不會(huì),還沒(méi)有進(jìn)入角色。

上一篇給大家介紹了要想真正進(jìn)入深度學(xué)習(xí)這個(gè)行業(yè),必須要先學(xué)會(huì)使用Linux,今天就和大家說(shuō)說(shuō)我們應(yīng)該如何使用Linux,如何利用shell,vim和git這三大神器。

作者?|?湯興旺?言有三

編輯?|?湯興旺?言有三

?

01?Linux基礎(chǔ)命令與shell腳本

通過(guò)第一篇的介紹,我們已經(jīng)知道在Linux下面操作會(huì)比windows下效率高很多,下面和大家講解一下Linux的基礎(chǔ)操作,默認(rèn)大家已經(jīng)裝好了Linux系統(tǒng)。

1.1?cd命令

命令格式:cd?<路徑>

意義:cd是change?directory?的縮寫(xiě);cd命令后面跟一個(gè)路徑,用于切換當(dāng)前用戶所在的路徑,其中路徑可以是絕對(duì)路徑也可以是相對(duì)路徑。

示例:

cd?/system/bin?表示切換到/system/bin路徑下。

cd?logs?表示切換到logs路徑下。

cd?/?表示切換到根目錄。

cd?../?表示切換到上一層路徑。

1.2?ls命令

命令格式:ls?<參數(shù)>?<路徑>

意義:ls是list的縮寫(xiě);ls命令后面可以跟一個(gè)路徑或參數(shù),也可以不跟,表示列出路徑或當(dāng)前目錄下的所有文件信息。最常用的的參數(shù)是“-l",也就是“l(fā)s?-l”命令。

示例:

ls?/?顯示根目錄下的所有文件及文件夾。

ls?-l?/data?顯示/data路徑下的所有文件及文件夾的詳細(xì)信息。

ls?-l?顯示當(dāng)前路徑下的所有文件及文件夾的詳細(xì)信息

ls?*l?wc顯示當(dāng)前目錄下面的文件數(shù)量。

1.3?cat命令

命令格式:?cat?<文件>

意義:cat是concatenate?的縮寫(xiě)。表示讀取文件內(nèi)容及拼接文件。

示例:

cat?/sys/devices/system/cpu/online?讀取?/sys/devices/system/cpu/路徑下online文件內(nèi)容。

cat?test.txt?讀取當(dāng)前路徑下test.txt文件內(nèi)容。

1.4?rm命令

命令格式:?rm?<文件>?或?rm?-r?<文件夾>

意義:rm是remove?的縮寫(xiě)。用于刪除文件或文件夾,常用參數(shù)-r?-f,-r表示刪除目錄,也可以用于刪除文件,-f表示強(qiáng)制刪除,不需要確認(rèn)。同樣的,刪除文件前需保證當(dāng)前用戶對(duì)當(dāng)前路徑有修改的權(quán)限。

示例:

rm?-rf?path?刪除path。

rm?test.txt?刪除test.txt。

1.5?mkdir命令

命令格式:?mkdir?文件夾

意義:mkdir是make?directory?的縮寫(xiě)。用于創(chuàng)建文件夾。創(chuàng)建文件夾前需保證當(dāng)前用戶對(duì)當(dāng)前路徑有修改的權(quán)限。

示例:

mkdir?/data/path?在/data路徑下創(chuàng)建path文件夾。

mkdir?-p?a/b/c?參數(shù)?-p用于創(chuàng)建多級(jí)文件夾,這句命令表示在當(dāng)前路徑下創(chuàng)建文件夾a,?而a文件夾包含子文件夾b,b文件夾下又包含子文件夾c。

1.6?cp命令

命令格式:?cp?<文件><目標(biāo)文件>或者cp?-r<文件夾><目標(biāo)文件夾>

意義:cp是copy?的縮寫(xiě)。用于復(fù)制文件或文件夾。

示例:

cp?/data/logs?/data/local/tmp/logs?復(fù)制/data路徑下的logs到/data/local/tmp路徑下。

cp?1.sh?/sdcard/?復(fù)制當(dāng)前路徑下的1.sh到/sdcard下。

1.7?kill命令

命令格式:kill?PID碼

意義:結(jié)束當(dāng)前進(jìn)程

示例:

先通過(guò)輸入命令?ps?au查看進(jìn)程,找到需要終止進(jìn)程的PID再通過(guò)kill?PID即可,如我這里想要終止的進(jìn)程是vimtest.py,查到的PID是3163,我們可以輸入kill?3163結(jié)束這個(gè)程序,如果結(jié)束不了,可以通過(guò)kill?-9?PID碼強(qiáng)制結(jié)束,即kii?-9?3163

除了這七個(gè)命令,還有許多常見(jiàn)的命令,如pwd命令,這個(gè)可以查看當(dāng)前路徑,這個(gè)在移動(dòng)數(shù)據(jù)集或者整理文件list的時(shí)候很有用;tar命令,這個(gè)可以文件壓縮;unzip命令,這個(gè)可以用于文件解壓,這樣的命令其實(shí)還有很多,需要我們?cè)谑褂玫倪^(guò)程中不斷熟練,需要我們不停的查閱學(xué)習(xí)。

1.8?shell腳本文件之"hello?world"

有了基本的命令之后,接下來(lái)就可以寫(xiě)一些常用的腳本。腳本常用于獲取參數(shù),循環(huán)遍歷。

首先我們看一個(gè)“hello?world”。

#!/bin/sh
a="hello?world!"

num=2

echo?"a?is?:?$a?num?is?:?${num}nd"

運(yùn)行結(jié)果:

a?is?:?hello?world!?num?is?:?2nd

可以看出,用$來(lái)獲取變量值,通常運(yùn)行腳本的時(shí)候,可以用$1,$2,$3等獲取多個(gè)參數(shù)。

比如腳本test.sh

x=$1

y=$2

z=$3

echo?$1?$2?$3

調(diào)用的時(shí)候就可以:sh?test.sh?1?2?3

1.9?shell腳本文件之遍歷目錄

問(wèn)題:

1.?切換工作目錄至/tmp

2.?依次向/tmp目錄中的每個(gè)文件或子目錄問(wèn)好(Hello,log)

3.?統(tǒng)計(jì)/tmp目錄下共有多個(gè)文件,并顯示出來(lái)

#!/bin/bash

cd?/tmp

for?i?in?/tmp/*

do

????echo?"Hello?,?$i"

done

count=`ls?-l|grep?'^-'|wc?-l`

echo?"====file_count:$count===="

運(yùn)行結(jié)果:

shell命令還有很多高級(jí)用法,大家在實(shí)戰(zhàn)中進(jìn)行練習(xí)提高吧。

?

02?github

github是全球最大的程序員交友平臺(tái),所以如果你要想從事技術(shù)行業(yè),就必須擁有一個(gè)賬號(hào),跟微信一樣離不開(kāi)你的生活。

2.1?注冊(cè)github????????????????????????????

https://github.com/這個(gè)是github官方網(wǎng)站,我們可以在官網(wǎng)上注冊(cè)屬于自己的gitHub賬號(hào)。點(diǎn)擊網(wǎng)址后,界面如下圖,由于我們沒(méi)有g(shù)ithub賬戶,?我們需要點(diǎn)擊Sign?up?for??Github進(jìn)行簡(jiǎn)單的注冊(cè)。

點(diǎn)擊Sign?up?for?Github后,進(jìn)入下方這個(gè)界面,在Step1中填寫(xiě)好個(gè)人信息,Step2-3全部采用默認(rèn)設(shè)置,即可完成github注冊(cè),記得要去自己的郵箱verify,不然后面沒(méi)辦法創(chuàng)建倉(cāng)庫(kù)。是不是很簡(jiǎn)單。

完成上面的步驟后你就擁有了自己的github賬戶,下圖就是我的github主頁(yè)。

2.2?創(chuàng)建倉(cāng)庫(kù)

有了上面的主頁(yè)后,我們點(diǎn)擊start?a?project后就可以創(chuàng)建倉(cāng)庫(kù)了,下圖就是倉(cāng)庫(kù)需要填寫(xiě)一些信息的界面。

倉(cāng)庫(kù)名通常就填寫(xiě)我們的項(xiàng)目名,為了說(shuō)明,這里我填寫(xiě)my_github,描述可以對(duì)自己的倉(cāng)庫(kù)進(jìn)行一個(gè)簡(jiǎn)單的說(shuō)明,也可以不填。點(diǎn)擊“Create?repository”按鈕,就成功地創(chuàng)建了一個(gè)新的github倉(cāng)庫(kù),如下圖所示:

現(xiàn)在我們就有了自己的github和倉(cāng)庫(kù),為了便于管理,我們需要安裝一個(gè)軟件git。

2.3?安裝git

下面我將說(shuō)一下在ubuntu18.04上安裝git,其他的linux系統(tǒng)其實(shí)也是一樣的,安裝方法很簡(jiǎn)單,輸入下面命令即可安裝。

sudo?apt?install?git

安裝完成后,你可以用下面命令查看git版本。

?git?--version

2.4?配置參數(shù)

接下來(lái)你需要做的就是在git中配置自己的名稱和電子郵件地址,可以通過(guò)使用以下命令來(lái)完成此操作:

$git?config?--global?user.name?"your?name"
$git?config?--global?user.email??"your?email"

我們可以通過(guò)下面命令查看是否正確配置。

git?config?--list

這還沒(méi)有完,我們還需要?jiǎng)?chuàng)建一個(gè)ssh?key,這個(gè)實(shí)際上就是一個(gè)將你的電腦和github賬號(hào)聯(lián)系在一起的密鑰,這樣以后就可以十分方便的通過(guò)git上傳你的代碼。下面介紹一下如何獲得這個(gè)密鑰,又是如何輸入到你的Github中。

獲取密鑰的方法如下:

首先在命令行輸入cd??~/.ssh,第一次配置會(huì)顯示沒(méi)有那個(gè)文件或目錄,這是正常現(xiàn)象。然后在命令行輸入ssh-keygen?-t?rsa?-C?"郵箱地址",接下來(lái)連按三次回車就可以了。

命令行代碼如下:

這樣我們的密鑰就創(chuàng)建成功了。

然后打開(kāi)/home/tangxingwang/.ssh/id_rsa文件夾下id_rsa.pub文件,復(fù)制里面的內(nèi)容,打開(kāi)之后不要驚訝,這就是你需要的密鑰。你需要登錄你的github來(lái)添加這個(gè)密鑰,登錄github后找到SSH?and?GPG?keys這個(gè)選項(xiàng)(在setting里面),然后點(diǎn)擊網(wǎng)頁(yè)右上角的New?SSH?keys進(jìn)行添加。具體細(xì)節(jié)如下圖:

點(diǎn)擊New?SSH?keys后界面如下圖所示,這里的Title是讓你給你的密鑰起一個(gè)名字,隨便起一個(gè)就行,然后把你剛剛復(fù)制的密鑰填寫(xiě)在下邊的大框里,點(diǎn)擊Add?SSH?keys即可。

2.5?clone操作

當(dāng)我們想要從github上面拉取代碼時(shí),就需要使用clone操作,現(xiàn)在我們看看怎么進(jìn)行clone,其實(shí)很簡(jiǎn)單,只需要輸入?git?clone<需要clone的地址>,示例如下:

git?clone?git@github.com:tangxingwang/my_github.git

這樣就clone成功了,是不是很簡(jiǎn)單。

有的時(shí)候我們需要拉取依賴庫(kù),就需要加上--recursive選項(xiàng)。

2.6?push操作

說(shuō)完clone,我們?cè)僦v講push,現(xiàn)在我想在剛剛clone下的文件夾my_github里面添加一個(gè)新的文件test.py,然后把它push到github中。命令如下:

cd?my_github??

touch?test.py

git?add?test.py

git?status

git?commit?-m"first?commit"

git?push?origin?master

這樣我們就push成功了,我們?cè)倏纯磄ithub

?

03?VIM基本操作

最后我們說(shuō)說(shuō)編輯器之神vim。vim是從vi發(fā)展出來(lái)的一個(gè)文本編輯器,其在代碼補(bǔ)全、編譯等方便的功能特別豐富,在程序員中被廣泛使用。

3.1?基本命令模式

用戶剛剛啟動(dòng)?vi/vim,便進(jìn)入了命令模式。

此狀態(tài)下敲擊鍵盤(pán)動(dòng)作會(huì)被vim識(shí)別為命令,而非輸入字符。比如我們此時(shí)按下i,并不會(huì)輸入一個(gè)字符,i被當(dāng)作了一個(gè)命令。

以下是常用的幾個(gè)命令:

  • i?切換到輸入模式,以輸入字符。

  • x?刪除當(dāng)前光標(biāo)所在處的字符。

  • :?切換到底線命令模式,以在最底一行輸入命令

3.2?輸入模式

在輸入模式下可以對(duì)文件執(zhí)行寫(xiě)操作,類似在Windows?的文檔中輸入內(nèi)容。進(jìn)入輸入模式的方法是輸入?i、a、o等插入命令,編寫(xiě)完成后按?Esc?鍵即可返回基本命令模式。

3.3?底線命令模式

如果要保存、查找或者替換一些內(nèi)容等,就需要進(jìn)入底線命令模式。

底線命令模式的進(jìn)入方法為:在基本命令模式下按":"鍵,vim?窗口的左下方會(huì)出現(xiàn)一個(gè)":"符號(hào),這時(shí)就可以輸入相關(guān)的指令進(jìn)行操作了。

對(duì)于新手來(lái)說(shuō),經(jīng)常不知道自己處于什么模式,不論是自己忘了,還是不小心切換了模式,都可以按一次?Esc?鍵返回基本命令模式。如果你多按幾次?Esc?鍵后聽(tīng)到"嘀————"的聲音,則代表你已經(jīng)處于基本命令模式了。

3.4?vim使用實(shí)例

現(xiàn)在我們使用?vim?來(lái)建立一個(gè)名為?test.py?的文件,你可以這樣做:vi?test.py,這樣就就入了基本命令模式了

按下?i?進(jìn)入輸入模式,開(kāi)始編輯文字,其實(shí)在基本命令模式下,只要按下?i,?o,?a?等字符就可以進(jìn)入輸入模式了!但各自的功能不同。

其中i是光標(biāo)前插入,a是光標(biāo)后插入,o是換行。另外在輸入模式當(dāng)中,你可以發(fā)現(xiàn)在左下角狀態(tài)欄中會(huì)出現(xiàn)?–插入-?的字樣,那就是可以輸入任意字符的提示。這個(gè)時(shí)候,鍵盤(pán)上除了?Esc?這個(gè)按鍵之外,其他的按鍵都可以視作為一般的輸入按鈕了,所以你可以進(jìn)行任何的編輯。

那么假設(shè)我已經(jīng)按照下面的樣式給它編輯完畢了,應(yīng)該要如何退出呢?其實(shí)很簡(jiǎn)單,就是給它按下Esc這個(gè)按鈕即可!馬上你就會(huì)發(fā)現(xiàn)畫(huà)面左下角的?–插入?–?不見(jiàn)了!

對(duì)文件編輯完后,我們需要對(duì)文件進(jìn)行保存,其實(shí)存盤(pán)并離開(kāi)的指令很簡(jiǎn)單,在基本命令模式下輸入?:wq?即可保存離開(kāi)!

或者按住shift,連續(xù)按兩次大寫(xiě)的ZZ。

OK!?這樣我們就成功創(chuàng)建了一個(gè)test.py文件

3.5?vim按鍵說(shuō)明

除了上面簡(jiǎn)易范例的?i,?o,a,Esc,?:wq?之外,其實(shí)?vim?還有非常多的按鍵可以使用

?

這些基本命令需要我們?cè)谑褂眠^(guò)程中不斷的總結(jié),這樣才會(huì)融會(huì)貫通。附上一張vim的鍵盤(pán)圖,哈哈。

3.6?vim插件攻略

工欲善其事,必先利其器。一個(gè)強(qiáng)大的開(kāi)發(fā)環(huán)境可以大大提高工作效率。好吧,我知道這是廢話。。。不過(guò),我想一定有很多跟我一樣打算進(jìn)入Linux平臺(tái)開(kāi)發(fā)的新手,一開(kāi)始都為找不到一個(gè)像Windows下的VS那樣可以一鍵安裝并且功能幾乎完美無(wú)缺的開(kāi)發(fā)工具而郁悶不已,甚至打算收回剛剛邁出的腳步。所幸的是,Vim有許多強(qiáng)大的插件。

3.6.1vim插件之Vundle

vim?通過(guò)插件可以被拓展出不同層次的功能。通常,所有的插件和附屬的配置文件都會(huì)存放在?~/.vim目錄中。由于所有的插件文件都被存儲(chǔ)在同一個(gè)目錄下,所以當(dāng)你安裝更多插件時(shí),不同的插件文件之間相互混淆。因而,跟蹤和管理它們將是一個(gè)恐怖的任務(wù)。然而,這正是?Vundle?所能處理的。

Vundle,分別是?vim?和?Bundle?的縮寫(xiě),它是一款能夠管理?vim?插件的非常實(shí)用的工具。它為每一個(gè)你安裝的插件創(chuàng)建一個(gè)獨(dú)立的目錄樹(shù),并在相應(yīng)的插件目錄中存儲(chǔ)附加的配置文件。因此,相互之間沒(méi)有混淆的文件。簡(jiǎn)言之,Vundle?允許你安裝新的插件、配置已有的插件、更新插件配置、搜索安裝的插件和清理不使用的插件。所有的操作都可以在一鍵交互模式下完成

3.6.2?Vim插件之YouCompleteMe

使用Vim編寫(xiě)程序少不了使用自動(dòng)補(bǔ)全插件。這時(shí)候當(dāng)然少不了YouCompleteMe,它是一個(gè)隨鍵而全的、支持模糊搜索的、高速補(bǔ)全的插件。YCM?由?google?公司搜索項(xiàng)目組的軟件工程師?Strahinja?Val?Markovic?所開(kāi)發(fā),YCM?后端調(diào)用?libclang(以獲取AST,當(dāng)然還有其他語(yǔ)言的語(yǔ)義分析庫(kù))、前端由?C++?開(kāi)發(fā)(以提升補(bǔ)全效?率)、外層由?python?封裝,這就是最好用的自動(dòng)補(bǔ)全插件。vim插件還有很多,大家可以根據(jù)自己的需要進(jìn)行安裝。

當(dāng)我們真正熟悉使用了上面的3類工具之后,就從Linux菜鳥(niǎo)開(kāi)始進(jìn)步了。

?

總結(jié)

你現(xiàn)在對(duì)shell,vim,git是不是有點(diǎn)感覺(jué)了,抓緊學(xué)習(xí),也要期待我們下一篇的內(nèi)容喲。

下期預(yù)告:下一期我們會(huì)講python的常用基礎(chǔ),如果你有建議,歡迎留言,我們會(huì)及時(shí)采納的。

?

轉(zhuǎn)載文章請(qǐng)后臺(tái)聯(lián)系

侵權(quán)必究

AI白身境系列完整閱讀:

第一期:【AI白身境】深度學(xué)習(xí)從棄用windows開(kāi)始

第二期:【AI白身境】Linux干活三板斧,shell、vim和git

第三期:【AI白身境】學(xué)AI必備的python基礎(chǔ)

第四期:【AI白身境】深度學(xué)習(xí)必備圖像基礎(chǔ)

第五期:【AI白身境】搞計(jì)算機(jī)視覺(jué)必備的OpenCV入門基礎(chǔ)

第六期:【AI白身境】只會(huì)用Python?g++,CMake和Makefile了解一下

第七期:【AI白身境】學(xué)深度學(xué)習(xí)你不得不知的爬蟲(chóng)基礎(chǔ)

第八期:?【AI白身境】深度學(xué)習(xí)中的數(shù)據(jù)可視化

第九期:【AI白身境】入行AI需要什么數(shù)學(xué)基礎(chǔ):左手矩陣論,右手微積分

第十期:【AI白身境】一文覽盡計(jì)算機(jī)視覺(jué)研究方向

第十一期:【AI白身境】AI+,都加在哪些應(yīng)用領(lǐng)域了

第十二期:【AI白身境】究竟誰(shuí)是paper之王,全球前10的計(jì)算機(jī)科學(xué)家

AI初識(shí)境系列完整閱讀

第一期:【AI初識(shí)境】從3次人工智能潮起潮落說(shuō)起

第二期:【AI初識(shí)境】從頭理解神經(jīng)網(wǎng)絡(luò)-內(nèi)行與外行的分水嶺

第三期:【AI初識(shí)境】近20年深度學(xué)習(xí)在圖像領(lǐng)域的重要進(jìn)展節(jié)點(diǎn)

第四期:【AI初識(shí)境】激活函數(shù):從人工設(shè)計(jì)到自動(dòng)搜索

第五期:【AI初識(shí)境】什么是深度學(xué)習(xí)成功的開(kāi)始?參數(shù)初始化

第六期:【AI初識(shí)境】深度學(xué)習(xí)模型中的Normalization,你懂了多少?

第七期:【AI初識(shí)境】為了圍剿SGD大家這些年想過(guò)的那十幾招

第八期:【AI初識(shí)境】被Hinton,DeepMind和斯坦福嫌棄的池化,到底是什么?

第九期:【AI初識(shí)境】如何增加深度學(xué)習(xí)模型的泛化能力

第十期:【AI初識(shí)境】深度學(xué)習(xí)模型評(píng)估,從圖像分類到生成模型

第十一期:【AI初識(shí)境】深度學(xué)習(xí)中常用的損失函數(shù)有哪些?

第十二期:【AI初識(shí)境】給深度學(xué)習(xí)新手開(kāi)始項(xiàng)目時(shí)的10條建議

感謝各位看官的耐心閱讀,不足之處希望多多指教。后續(xù)內(nèi)容將會(huì)不定期奉上,歡迎大家關(guān)注有三公眾號(hào) 有三AI

?

?

?

總結(jié)

以上是生活随笔為你收集整理的【AI白身境】Linux干活三板斧,shell、vim和git的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。