1. 程式人生 > >Linux學習記錄-----《快樂的Linux命令行》.

Linux學習記錄-----《快樂的Linux命令行》.

-c 圓點 如何 創建目錄 虛擬機 baidu 分享 all 報道

之前自學python的時候一直用的Win7,沒想過,也有點怕使用Linux,可能人對未知的東西都有點恐懼,但是,但是,學了4個多月,退無可退了,不管是網站的部署,還是基於後端工作的需求,Linux的學習必須提上日程, 參考用書,,, 《快樂的Linux命令行》,操作系統通過虛擬機安裝的Ubuntu 16

很喜歡書中的一句話

技術分享

最開始的準備工作進入超級用戶,,,,

su -
這樣,就在當前目錄下,變更成超級用戶
如果之前沒有設置過超級用戶密碼的話
需要使用sudo passwd root
按照提示,如果是提示輸入密碼,就是你的用戶密碼
然後提示輸入 Unix密碼
確認Unix密碼
然後再使用 su - 然後提示輸入root密碼,再然後就進入root權限了

1文件系統中的跳轉

我們需要學習的第一件事(除了打字之外)是如何在 Linux 文件系統中跳轉。在這一章節
中,我們將介紹以下命令:

? pwd —打印出當前工作目錄名

? cd —更改目錄

? ls —列出目錄內容快捷鍵 運行結果

cd 更改工作目錄到你的家目錄。

cd - 更改工作目錄到先前的工作目錄。
cd ?user name 更改工作目錄到用戶家目錄。例如, cd ?bob 會更改工作目
錄到用戶“bob”的家目錄。

2

ls —列出目錄內容

? ?le —確定文件類型

? less —瀏覽文件內容

理解ls命令後面帶的字母的意思

ls 命令有大量的選項。表 列出了最常使用的選項。

選項 長選項 描述
-a --all 列出所有文件,甚至包括文件名以圓點開頭的默認會
被隱藏的隱藏文件。


-d --directory 通常,如果指定了目錄名,ls 命令會列出這個目錄中
的內容,而不是目錄本身。把這個選項與 -l 選項結合
使用,可以看到所指定目錄的詳細信息,而不是目錄
中的內容。


-F --classify 這個選項會在每個所列出的名字後面加上一個指示
符。例如,如果名字是目錄名,則會加上一個’/’ 字
符。


-h --human-readable 當以長格式列出時,以人們可讀的格式,而不是以字
節數來顯示文件的大小

-l 以長格式顯示結果。
-r --reverse 以相反的順序來顯示結果。通常,ls 命令的輸出結果
按照字母升序排列。


-S 命令輸出結果按照文件大小來排序。


-t 按照修改時間來排序。

3.操作文件和目錄

cp —復制文件和目錄

? mv —移動/重命名文件和目錄

? mkdir —創建目錄

? rm —刪除文件和目錄

? ln —創建硬鏈接和符號鏈接

用到了5個最常見的命令

rm(刪除)最常用的的

選項 意義
-i, --interactive 在刪除已存在的文件前,提示用戶確認信息。 如果不指定
這個選項,rm 會默默地刪除文件
-r, --recursive 遞歸地刪除文件,這意味著,如果要刪除一個目錄,而此目
錄又包含子目錄,那麽子目錄也會被刪除。要刪除一個目
錄,必須指定這個選項。
-f, --force 忽視不存在的文件,不顯示提示信息。這選項顛覆了“--
interactive”選項。
-v, --verbose 在執行 rm 命令時,顯示翔實的操作信息。

表 5-8: rm 選項

命令 運行結果
rm ?le1 默默地刪除文件
rm -i ?le1 除了在刪除文件之前,提示用戶確認信息之外,和上面的命
令作用一樣。
rm -r ?le1 dir1 刪除文件 ?le1, 目錄 dir1,及 dir1 中的內容。
rm -rf ?le1 dir1 同上,除了如果文件 ?le1,或目錄 dir1 不存在的話,rm 仍
會繼續執行。

用別名(alias)創建你自己的命令
現在是時候,感受第一次編程經歷了!我們將用 alias 命令創建我們自己的命令。但在開始
之前,我們需要展示一個命令行小技巧。可以把多個命令放在同一行上,命令之間用 “;” 分

生成一個命令 alias foo=‘cd /usr; ls; cd -‘

刪除一個命令 [[email protected] ~]$ unalias foo


開。它像這樣工作:

command1; command2; command3...

我們會用到下面的例子:

[[email protected] ~]$ cd /usr; ls; cd -
bin games kerberos lib64 local share tmp
...
[[email protected] ~]$

正如我們看到的,我們在一行上聯合了三個命令。首先更改目錄到/usr,然後列出目錄
內容,最後回到原始目錄(用命令 “cd ~”), 結束在開始的地方。現在,通過 alia 命令把這
一串命令轉變為一個命令。我們要做的第一件事就是為我們的新命令構想一個名字。比方說
“test”。在使用”test” 之前,查明是否 “test” 命令名已經存在系統中,是個很不錯的主意。為
了查清此事,可以使用 type 命令:

[[email protected] ~]$ type test
test is a shell builtin

哦!“test” 名字已經被使用了。試一下”foo”:

[[email protected] ~]$ type foo
bash: type: foo: not found

太棒了!“foo” 還沒被占用。創建命令別名:

[[email protected] ~]$ alias foo=‘cd /usr; ls; cd -‘

註意命令結構:


alias name=‘string‘

在命令 “alias” 之後,輸入“name”,緊接著(沒有空格)是一個等號,等號之後是一串用
引號引起的字符串,字符串的內容要賦值給 name。我們定義了別名之後,這個命令別名可以
使用在任何地方。試一下:

[[email protected] ~]$ foo
bin games kerberos lib64 local share tmp
...
[[email protected] ~]$

我們也可以使用 type 命令來查看我們的別名:

[[email protected] ~]$ type foo
foo is aliased to `cd /usr; ls ; cd -‘

刪除別名,使用 unalias 命令,像這樣:

[[email protected] ~]$ unalias foo
[[email protected] ~]$ type foo
bash: type: foo: not found

雖然我們有意避免使用已經存在的命令名來命名我們的別名,但這是常做的事情。通常,
會把一個普遍用到的選項加到一個經常使用的命令後面。例如,之前見到的 ls 命令,會帶有色
彩支持:

[[email protected] ~]$ type ls
ls is aliased to ‘ls --color=tty‘

要查看所有定義在系統環境中的別名,使用不帶參數的 alias 命令。下面在 Fedora 系統中
默認定義的別名。試著弄明白,它們是做什麽的:


[[email protected] ~]$ alias
alias l.=‘ls -d .* --color=tty‘
...

5 | 重定向

這堂課,我們來介紹可能是命令行最酷的特性。它叫做 I/O 重定向。“I/O” 代表輸入/輸
出,通過這個工具,你可以重定向命令的輸入輸出,命令的輸入來自文件,而輸出也存到文
件。也可以把多個命令連接起來組成一個強大的命令管道。為了炫耀這個工具,我們將敘述以
下命令:

? cat -連接文件

? sort -排序文本行

? uniq -報道或省略重復行

? grep -打印匹配行

? wc -打印文件中換行符,字,和字節個數

? head -輸出文件第一部分

? tail - 輸出文件最後一部

I/O 重定向允許我們來重定義標準輸出送到哪裏。重定向標準輸出到另一個文件除了屏幕,
我們使用 “>” 重定向符,其後跟著文件名。為什麽我們要這樣做呢?因為有時候把一個命令的
運行結果存儲到一個文件很有用處。例如,我們可以告訴 shell 把 ls 命令的運行結果輸送到文
件 ls-output.txt 中去,由文件代替屏幕。

[[email protected] ~]$ ls -l /usr/bin > ls-output.txt

6 | 從 shell 眼中看世界、

? echo -顯示一行文本

1 . 算術表達式展開

[[email protected] ~]$ echo $((2 + 2))

[[email protected] ~]$ echo $(($((5**2)) * 3))

2. 花括號的使用

[[email protected] ~]$ echo Front-{A,B,C}-Back
Front-A-Back Front-B-Back Front-C-Back

使用了一系列整數:

[[email protected] ~]$ echo Number_{1..5}
Number_1 Number_2 Number_3 Number_4 Number_5

一系列以倒序排列的字母:

[[email protected] ~]$ echo {Z..A}
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

那麽這對什麽有好處呢?最普遍的應用是,創建一系列的文件或目錄列表。例如,如果我
們是攝影師,有大量的相片。我們想把這些相片按年月先後組織起來。首先,我們要創建一系
列以數值 “年-月” 形式命名的目錄。通過這種方式,目錄名按照年代順序排列。我們可以鍵
入整個目錄列表,但是工作量太大了,並且易於出錯。反而,我們可以這樣做:

[[email protected] ~]$ mkdir Pics
[[email protected] ~]$ cd Pics
[[email protected] Pics]$ mkdir {2007..2009}-0{1..9} {2007..2009}-{10..12}
[[email protected] Pics]$ ls
2007-01 2007-07 2008-01 2008-07 2009-01 2009-07
2007-02 2007-08 2008-02 2008-08 2009-02 2009-08
2007-03 2007-09 2008-03 2008-09 2009-03 2009-09
2007-04 2007-10 2008-04 2008-10 2009-04 2009-10
2007-05 2007-11 2008-05 2008-11 2009-05 2009-11
2007-06 2007-12 2008-06 2008-12 2009-06 2009-12

·

Linux學習記錄-----《快樂的Linux命令行》.