Linux基礎操作
Linux系統下一切皆文件
打開Ubuntu
的Terminal
,會看到以下信息
ubuntu@ubuntu:~$
其中第一個ubuntu
代表當前用戶名,第二個ubuntu
是指出當前操作系統,:
解釋,~
代表當前處於用戶工作目錄,$
表示普通用戶身份。
在Linux
系統中會有一個最基本的幫助手冊man
,通過man
指令可以查看指定命令的使用說明,例如
ubuntu@ubuntu:~$ man man
通過help
命令同樣可以查看命令的使用幫助,只不過help
命令只能用於shell
內置命令,而man
沒有內建和外部命令的區別,此外--help
只能查詢外部命令。還有,info
是一種文檔格式,也是閱讀此格式文檔的閱讀器,可以用它來查看Linux命令的info文檔。
shell的概念:shell就是一個命令解釋器,當在linux界面發出一個指令時,命令先傳到shell,然後在將這個指令翻譯成計算機可以識別的二進制語言,然後傳給計算機內核,告訴他要做什麼事情。計算機內核將結果返還給shell,shell翻譯成人所熟悉的語言,將結果展示出來。
內建命令和外部命令的區別:
內建命令實際上是 shell 程序的一部分,其中包含的是一些比較簡單的 Linux 系統命令,這些命令是寫在bash源碼的builtins裏面的,由 shell 程序識別並在 shell 程序內部完成運行,通常在 Linux 系統加載運行時 shell 就被加載並駐留在系統內存中。而且解析內部命令 shell 不需要創建子進程,因此其執行速度比外部命令快。比如:history、cd、exit 等等。
外部命令是 Linux 系統中的實用程序部分,因爲實用程序的功能通常都比較強大,所以其包含的程序量也會很大,在系統加載時並不隨系統一起被加載到內存中,而是在需要時纔將其調入內存。雖然其不包含在 shell 中,但是其命令執行過程是由 shell 程序控制的。外部命令是在 Bash 之外額外安裝的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。
type
命令可以用來區分內建和外部命令。
ubuntu@ubuntu:~$ type man
man is hashed (/usr/bin/man)
ubuntu@ubuntu:~$ type cd
cd is a shell builtin
有些命令既可以是內建命令也可以是外部命令,通過-a
參數查詢
ubuntu@ubuntu:~$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
查看當前工作目錄的絕對路徑命令
ubuntu@ubuntu:~$ pwd
/home/ubuntu
使用touch
命令創建文件
ubuntu@ubuntu:~/Desktop$ touch file
使用rm
命令刪除文件
ubuntu@ubuntu:~/Desktop$ rm file
使用mkdir
命令創建子目錄,rmdir
刪除目錄
ubuntu@ubuntu:~/Desktop$ mkdir test
ubuntu@ubuntu:~/Desktop$ rmdir test/
mv
命令在當前目錄下進行重命名,在其他目錄下進行文件移動。
cp
命令對文件進行復制,-r
選項使其可以複製非空目錄。
向txt文件中簡單的寫入字符
ubuntu@ubuntu:~/Desktop$ echo "aaaaaaaaaaaaaa" > test.txt
ubuntu@ubuntu:~/Desktop$ cat test.txt
aaaaaaaaaaaaaa
如果是以追加的方式寫入,則可以
ubuntu@ubuntu:~/Desktop$ echo "aaaaaaaaaaaaaa" >> test.txt
ubuntu@ubuntu:~/Desktop$ cat test.txt
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
也可以將一個txt文件中的內容寫入另一個txt文件中
ubuntu@ubuntu:~/Desktop$ touch test1.txt
ubuntu@ubuntu:~/Desktop$ cat test.txt >> test1.txt
ubuntu@ubuntu:~/Desktop$ cat test1.txt
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
以上例子中的>
重定向,將本該顯示到屏幕的信心,定向到文件中;>>
追加重定向。
cat
命令是將文件中的全部內容顯示出來,而head
命令默認輸出頭部十行,並通過選項調整輸出行數,tail
默認輸出尾部十行信息。
more
命令是用來按頁查看文檔內容。
關於文件權限
ubuntu@ubuntu:~/Desktop$ ls -l
-rw-r--r-- 1 ubuntu ubuntu 30 Jun 27 18:56 test1.txt
-rw-r--r-- 1 ubuntu ubuntu 30 Jun 27 18:55 test.txt
r
讀權限;w
權限;x
可執行權限,也可以使用八進制的形式表示。
通過chmod
命令可以修改文件權限。
通過tree
命令可以查看文件結構。
// 如果tree
命令未安裝,可以使用sudo apt install 軟件名
的方式進行安裝。
使用命令行對文件進行編輯不是很方便,可以使用vim
編輯器對文件進行操作。
ubuntu@ubuntu:~/Desktop$ vim test.txt
按i
進輸入模式,按esc
退出到命令模式,輸入:
進入編輯模式,r
進入替換模式。
在命令模式下,常用到[n]x
剪切右邊n個字符,[n]X剪切左邊n個字符
,d[n]w
刪除n個單詞,d[n]l
刪除右邊n個詞,d[n]h
刪除左邊n個詞,dd
刪除整行,複製使用y
,與刪除方式相同,p
用來粘貼。
在編輯模式下w
保存,q
退出,!
強制。
除了 vim
編輯器,ubuntu下還有gedit
和code
編輯器,可以嘗試使用。