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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux学习记录-----《快乐的Linux命令行》.

發布時間:2025/3/20 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux学习记录-----《快乐的Linux命令行》. 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前自學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 仍
會繼續執行。

?

?

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

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

刪除一個命令 ? ?[me@linuxbox ~]$ unalias foo

?


開。它像這樣工作:

command1; command2; command3...

我們會用到下面的例子:

[me@linuxbox ~]$ cd /usr; ls; cd -
bin games kerberos lib64 local share tmp
...
[me@linuxbox ~]$

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

[me@linuxbox ~]$ type test
test is a shell builtin

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

[me@linuxbox ~]$ type foo
bash: type: foo: not found

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

[me@linuxbox ~]$ alias foo='cd /usr; ls; cd -'

注意命令結構:


alias name='string'

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

[me@linuxbox ~]$ foo
bin games kerberos lib64 local share tmp
...
[me@linuxbox ~]$

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

[me@linuxbox ~]$ type foo
foo is aliased to `cd /usr; ls ; cd -'

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

[me@linuxbox ~]$ unalias foo
[me@linuxbox ~]$ type foo
bash: type: foo: not found

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

[me@linuxbox ~]$ type ls
ls is aliased to 'ls --color=tty'

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


[me@linuxbox ~]$ 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 中去,由文件代替屏幕。

[me@linuxbox ~]$ ls -l /usr/bin > ls-output.txt

?

6 ?| 從 shell 眼中看世界、

? echo -顯示一行文本

?

1 . 算術表達式展開

[me@linuxbox ~]$ echo $((2 + 2))

[me@linuxbox ~]$ echo $(($((5**2)) * 3))

?

2. 花括號的使用

[me@linuxbox ~]$ echo Front-{A,B,C}-Back
Front-A-Back Front-B-Back Front-C-Back

?

使用了一系列整數:

[me@linuxbox ~]$ echo Number_{1..5}
Number_1 Number_2 Number_3 Number_4 Number_5

?

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

[me@linuxbox ~]$ 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

?

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

[me@linuxbox ~]$ mkdir Pics
[me@linuxbox ~]$ cd Pics
[me@linuxbox Pics]$ mkdir {2007..2009}-0{1..9} {2007..2009}-{10..12}
[me@linuxbox 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

?

轉義字符 ? ? ?\

?

?7 ?| 鍵盤高級操作技巧

? clear -清空屏幕

? history -顯示歷史列表內容

?

通過tab實現自動補全

自動補全
shell 能幫助你的另一種方式是通過一種叫做自動補全的機制。當你敲入一個命令時,按下
tab 鍵,自動補全就會發生。

?

搜索歷史命令

通過輸入 history ? ? 在通過 !加前面的號碼

?

8 ? | 權限

?

在這一章中,我們將看看這一系統安全的本質部分,會介紹以下命令:

? id –顯示用戶身份號

? chmod –更改文件模式

? umask –設置默認的文件權限

? su –以另一個用戶的身份來運行 shell

? sudo –以另一個用戶的身份來執行命令

? chown –更改文件所有者

? chgrp –更改文件組所有權

? passwd –更改用戶密碼

?

?9 ?| 進程

這一章將介紹以下命令:

? ps –報告當前進程快照
? top –顯示任務
? jobs –列出活躍的任務
? bg –把一個任務放到后臺執行
? fg –把一個任務放到前臺執行
? kill –給一個進程發送信號
? killall –殺死指定名字的進程
? shutdown –關機或重啟系統

?

10 ?| vi 簡介

?關于vim的學習,可以在shll中輸入vimtutor 進入系統自帶的教程

?

?

移動光標
當在 vi 命令模式下時,vi 提供了大量的移動命令,其中一些是與 less 閱讀器共享的。這里
列舉了一些:

按鍵 移動光標
l or 右箭頭 向右移動一個字符
h or 左箭頭 向左移動一個字符
j or 下箭頭 向下移動一行
k or 上箭頭 向上移動一行
0 (零按鍵) 移動到當前行的行首。
? 移動到當前行的第一個非空字符。
$ 移動到當前行的末尾。
w 移動到下一個單詞或標點符號的開頭。
W 移動到下一個單詞的開頭,忽略標點符號。
b 移動到上一個單詞或標點符號的開頭。
B 移動到上一個單詞的開頭,忽略標點符號。
Ctrl-f or Page Down 向下翻一頁
Ctrl-b or Page Up 向上翻一頁
numberG 移動到第 number 行。例如,1G 移動到文件的
第一行。
G 移動到文件末尾。

?

全局替換

?

?

?

1. 如何確切知道自己是否安裝了某個軟件?

?

答案: $ dpkg -l filename

一般來說我們不知道軟件的全稱,可能只知道關鍵詞。比如我想知道自己是否安裝了google瀏覽器:
$ dpkg -l "google"????????????? 這樣會找不到。

$ dpkg -l "*google*"?????????? 使用通配符就可以方便查找了。

?

2. 如何卸載某個軟件?

?

$ sudo apt-get --purge remove <programname>

purge表示徹底刪除。

?

3. 如果想刪除apt-get下載的某個軟件安裝包呢?


Ubuntu 中apt-get下載的安裝包放在/var/cache/apt/archives里。所以可以在這個路徑下刪除。

或者使用以下命令:
$ apt-get autoclean
這個命令將已經刪除了的軟件包的.deb安裝文件從硬盤中刪除掉。

$ apt-get clean
這會把你已安裝的軟件包的安裝包也刪除掉。

?

?

?

?

·

轉載于:https://www.cnblogs.com/KK150713/p/7508918.html

總結

以上是生活随笔為你收集整理的Linux学习记录-----《快乐的Linux命令行》.的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。