Unix/Linux初步掌握

大家好,因為項目需求,我需要使用Ubuntu,但是自己基本沒有Linux使用經(jīng)驗,命令語句更是沒記得幾句,所以,今天先補補,先掌握點基礎(chǔ)操作命令語句,如果有類似需求的同學(xué),希望以下內(nèi)容對您也有所幫助哈。開始!

Unix簡介

Unix操作系統(tǒng)有很多版本,最著名的包括:Sun Solaris, GNU/Linux, and MacOS X。Unix操作系統(tǒng)由三部分組成:

1)the kernel(內(nèi)核):內(nèi)核是操作系統(tǒng)的核心,他負(fù)責(zé):為程序分配時間和內(nèi)存,處理文檔存儲以及系統(tǒng)響應(yīng)等。

2) the shell(外殼) :外殼是用戶和內(nèi)核之間的橋梁(接口),是一個命令行解釋器(a command line interpreter (CLI))。

3)the programs(程序):Unix里面全部內(nèi)容非文件即進(jìn)程(Everything in UNIX is either a file or a process.)

一、關(guān)于文件、目錄處理的部分指令介紹

1、ls(list)->列出當(dāng)前工作目錄下的文件,但不包括以‘.’開頭的文件。以‘.’開頭的文件通常為隱藏文件,如果需要列出所有文件(包括要從隱藏文件),則需要使用指令:ls -a

2、mkdir(make directory)->在當(dāng)前目錄下建立一個子目錄,如mkdir xxx

3、cd(change directory)->從當(dāng)前工作目錄到新的指定的工作目錄,如cd xxx

4、. 和 ..對比->‘.’表示當(dāng)前目錄,比如:cd . 表示繼續(xù)待在當(dāng)前目錄下;cd ..表示返回上級父目錄

5、pwd(print working directory)->顯示當(dāng)前工作目錄的絕對路徑

6、cp(copy)->復(fù)制文件。如:cp file1 file2 表示復(fù)制當(dāng)前工作目錄下的文件file1,且命名為file2

7、mv(move)->移動文件(如果在同一工作目錄下則為重命名): mv file1 file2(move file1 to file2)

8、rm(remove file),rmdir(remove directory)->刪除file或者工作目錄(在刪除工作目錄的時候,需要確保這個工作目錄下內(nèi)容是空的) rm temp.txt

9、clear(clear screen)->清除當(dāng)前終端窗口已經(jīng)有的命令語句,是的終端簡潔;處女座福音哈

10、cat(concatenate)->在屏幕上展示文件內(nèi)容 cat demo.txt

11、less->less demo.txt逐步展示文件(尤其是當(dāng)文件的內(nèi)容很多是)的內(nèi)容,首先展示第一頁,然后點擊空白鍵(space-bar)會繼續(xù)展示下一頁,以此類推,當(dāng)出入q時,退出;而上面提到的cat命令會一次性展示文件的內(nèi)容

12、head->head demo.txt 展示文件前10行內(nèi)容(write the first ten lines of a file to the screen)

13、tail->tail demo.txt 展示文件后10行內(nèi)容(write the last ten lines of a file to the screen)

14、grep->搜索詞或者正則匹配(search files for specified words or pattern) 比如:

grep demo demo.txt(終端會把文件顯示出來,且將里面的demo詞標(biāo)紅)

備注:grep對檢索詞的大小寫敏感,如果要忽略大小寫,可以加一個-i,比如grep -i demo demo.txt,檢索詞組時,用單引號包裹詞組。grep -i 'top three' demo.txt

grep -v x demo.txt ? ? --->顯示不匹配的行的內(nèi)容

grep -n x demo.txt? ? --->顯示匹配的行的行號

grep -c x demo.txt? ? --->顯示匹配的行數(shù)

grep -ivc x demo.txt? ? --->顯示不匹配的行的行數(shù)

15、wc(word count)->計算字符數(shù)

wc -w demo.txt ? --->計算字?jǐn)?shù) ? ? ? ? ? ? ? ? ? ? ? ?wc -l demo.txt ? ?--->計算行數(shù)

16、cat->在鍵盤輸入cat后,在終端輸入語句,點擊return后會在終端打出剛輸入的語句。然后輸入ctrl+d可以退出

cat demo1.txt demo2.txt > demo.txt ? -->復(fù)制demo1和demo2的內(nèi)容,全部寫入demo.txt(如果該文件不存在,系統(tǒng)會自動新建)

17、通配符(* wildcard)->

?ouse will match files like house and mouse, but not grouse

ls list* ->列出所有以list開頭的詞語;ls *list-> 列出所有以list結(jié)尾的詞語

18、man->man x 查詢命令x的功能

19、gzip->壓縮文件 gzip demo.txt

20、gunzip->解壓縮文件 gunzip demo.txt.gz

21、zcat->他可以讀取壓縮文件的內(nèi)容(不需要解壓縮)比如:zcat demo.txt.gz

22、file->可以查看文件的各種信息,比如編碼、大小、文件類型等

23、diff->比較文件差異 diff file1 file2

24、find->通過給定名字、時間、大小或者其他屬性來查找文件(This searches through the directories for files and directories with a given name, date, size, or any other attribute you care to specify.)

find . -name "*.txt" -print ? ? --->在當(dāng)前路徑下(.)查找文件格式為txt的文件,并且打印出來

find . -size +1M -ls? -->在當(dāng)前路徑下(.)查找文件大小超過1M的文件,并且打印結(jié)果

25、history->顯示先前輸入的命令 history(show command history list)

26、chmod->修改文件權(quán)限:chmod [who] [+ | - | =] [mode] 文件?

說明:+表示增加某個權(quán)限;-表示取消某個權(quán)限;= 表示給定權(quán)限并取消其他所有權(quán)限(如果有的話)。設(shè)置mode所表示的權(quán)限可用下述字母的任意組合:r 可讀;w 可寫;x 可執(zhí)行(只有目標(biāo)文件對某些用戶是可執(zhí)行的或該目標(biāo)文件是目錄時才追加x 屬性);s 在文件執(zhí)行時把進(jìn)程的屬主或組ID置為該文件的文件屬主;方式“u+s”設(shè)置文件的用戶ID位,“g+s”設(shè)置組ID位;t 保存程序的文本到交換設(shè)備上;u 與文件屬主擁有一樣的權(quán)限;g 與和文件屬主同組的用戶擁有一樣的權(quán)限;o 與其他用戶擁有一樣的權(quán)限。文件名:以空格分開的要改變權(quán)限的文件列表,支持通配符。例如:

chmod +x talker.py? ? 執(zhí)行talker.py

二、關(guān)于進(jìn)程處理的指令

1、ps(process)->顯示進(jìn)程

ps -a --->列出包括其他user的進(jìn)程狀況

ps -u --->顯示面向用戶的進(jìn)程狀況(比-a更加詳細(xì))

ps -x --->顯示包括沒有終端控制的進(jìn)程狀況

ps -w --->使用較寬的顯示模式來顯示進(jìn)程狀況

2、kill->kill 指令的用途是送一個signal給某一個進(jìn)程。因為大部份送的都是用來殺掉進(jìn)程的SIGKILL 或 SIGHUP,因此稱為 kill。kill 的用法為:

kill [-SIGNAL] pid…

kill -l(此處是list的l,不是1)

SIGNAL 為一個 singal 的數(shù)字,從 0 到 31,其中 9 是 SIGKILL,也就是一般用來殺掉一些無法正常 terminate 的訊號。其余訊號的用途可參考 sigvec(2)中對 signal 的說明。你也可以用 kill -l 來察看可代替 signal 號碼的數(shù)目字。

圖1

三、網(wǎng)絡(luò)指令

1、rlogin(remotelogin)->rlogin host[-l username] 選項-l username 是當(dāng)你在遠(yuǎn)方的機(jī)器上的 username 和 localhost 不同的時後,必須輸入的選項,否則 rlogin 將會假設(shè)你在那邊的 username 與 localhost 相同,然後在第一次 login 時必然會發(fā)生錯誤

2、rsh->rsh host [-l username][command]在遠(yuǎn)方的機(jī)器上執(zhí)行某些指令,而把結(jié)果傳回localhost

3、telnet->telnet [hostname| ip -address][port] 是一個提供 user 經(jīng)由網(wǎng)路連到 remotehost。

4、ftp(file transfer program)->ftp [hostname| ip-address]? 網(wǎng)絡(luò)文件傳輸格式。利用 ftp,可以在不同的機(jī)器上將所需要的資料做轉(zhuǎn)移,某些特別的機(jī)器可以存放大量的資料以供各地人抓取

ftp 常用命令:

ascii 將傳輸模式設(shè)為 ascii 模式。通常用於傳送文字檔。

binary 將傳輸模式設(shè)為 binary 模式,通常用於傳送執(zhí)行檔,壓縮檔與影像檔等。

cd remote-directory 將 remotehost 上的工作目錄改變。

lcd [directory]更改 localhost 的工作目錄。

ls [remote-directory][local-file]列出 remotehost 上的文件。

get remote-file[local-file]取得遠(yuǎn)方的文件。

mget remote-files 可使用通用字元一次取得多個文件。

put local-file[remote-file]將 localhost 的文件送到 remotehost。

mput local-files 可使用通用字元一次將多個文件放到 remotehost 上。

help[command]線上輔助指令。

mkdir directory-name 在 remotehost 造一個目錄。

prompt 更改交談模式,若為 on 則在 mput 與 mget 時每作一個文件之傳輸時均會詢問。

quit/bye 離開 ftp。

5、wget是linux最常用的下載命令, 一般的使用方法是: wget + 空格 + 要下載文件的url路徑

例如(下載到某一文件夾): # wget?linuxsense.org/xxxx/xxx.tar.gz">http://www.linuxsense.org/xxxx/xxx.tar.gz

已經(jīng)在目標(biāo)文件夾,下載網(wǎng)絡(luò)資源:$ wget https://raw.github.com/ros/ros_tutorials/kinetic-devel/rospy_tutorials/001_talker_listener/talker.py

簡單說一下-c參數(shù), 這個也非常常見, 可以斷點續(xù)傳, 如果不小心終止了, 可以繼續(xù)使用命令接著下載

例如: # wget -c?http://www.linuxsense.org/xxxx/xxx.tar.gz

可能基礎(chǔ)的、常用的命令就是這些,以后項目中遇到再不斷豐富內(nèi)容。希望對大家也有所幫助哈~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容