一、shell常用命令
下面命令應用中,雙引號可以不加;
<1>alias 給乙個已經存放的檔案取乙個別名 (臨時有效)
alias 別名="源命令的名稱"
alias dir_list='ls -l' (空格不能要)
unalias 取消乙個別名
unalias dir_list;
在home/ubuntu/.bashrc中修改,重啟乙個終端,別名永遠有效;
<2>環境變數:作業系統給我們提供的全域性變數。(在任何乙個終端,任何乙個目錄都是全域性可見)
(1)path環境變數:若是我們需要執行預設命令的時候,系統缺省會到path環境變數中路徑找我們的書寫命令。path環境變數
存放的是一些路徑。
shell中系統提供的變數特點:
a.常常大寫。
b.沒有資料型別,可以直接使用。
(2)檢視path環境變數的內容:
echo $path
(3)把自己當前的路徑到系統提供的環境變數中的方法:
$path 引用原來系統已經存在的環境變數的值
export path=$path:路徑1:路徑2:路徑3
a.例如:
export path=$path:/home/ubuntu/work
只在當前終端有效,同時加在/etc/profile或/home/ubuntu/.bashrc中,才能在其他終端中有效;
原理:當我們執行乙個命令的時候,系統缺省會在path環境變數中找我們的輸入的命令的原始檔。
/home/ubuntu/.bashrc shell的乙個配置,當我們每次開啟乙個終端的時候時候,都會執行一遍,是用來初始化shell執行的環境。
<3>linux常見的命令
(1)pwd
(2)cd
(3)ls
(4)cp 複製檔案/資料夾到另乙個路徑下
例如: cp hello.c /home/ubuntu 把hello.c 複製到/home/ubuntu目錄下
cp dir_list /home/ubuntu -a 把dir_list資料夾複製到/home/ubuntu目錄下
(5)mv 移動檔案/資料夾到另乙個路徑下
例如:mv hello.c /home/ubuntu 把hello.c 複製到/home/ubuntu目錄下
mv dir_list /home/ubuntu 把dir_list資料夾複製到/home/ubuntu目錄下
mv hello.c world.c 把當前目錄下的hello.c重新命名為world.c
(6)cat 顯示檔案的內容
例如:cat hello.c 顯示hello.c檔案的內容
cat -n hello.c 帶行號顯示hello.c檔案的內容
(7)rm 刪除檔案
引數:-r 刪除資料夾
-f 強制執行
常用:rm hello.c 刪除hello.c這個檔案
rm -rf dir_list 刪除dir_list這個資料夾
<4>linx高階命令
(1)grep 從檔案中搜尋字串
格式:grep "搜尋的字串" 檔名
例如: 在/etc/passwd中查詢「xt」
grep "xt" /etc/passwd
常用引數:
a.搜尋file檔案中,以"string"開頭的行
例如: grep "^string" file
b.搜尋file檔案中,以"string"結尾的行
例如: grep "string$" file
c.搜尋file檔案中,只包含「string」的行
例如:grep "^string$" file
d.在搜尋檔案的時候,同時顯示行號
例如:grep "xt" -n /etc/passwd
習慣的用法:
e.在當前目錄下所有的檔案中搜尋"main"(包括子目錄)
grep "main" * -nr
(2)find :在指定路徑下搜尋檔案
常用:find 路徑 -name 檔名
例如:find /home/chw -name test.c
(3)管道鏈結符"|" ->將乙個命令的輸出當作另乙個命令的輸入
(理解:後乙個命令的操作,在前乙個名來的基礎上進行的。)
例如:cat /etc/passwd | grep "chw"
ls /usr/include | grep "stdio.h"
ls /home/ubuntu | grep "test.c"
(4)wc :統計 行數 單詞的個數 位元組數
引數:-l 顯示乙個檔案的行數
-w 顯示乙個檔案的單詞個數
-c 顯示乙個檔案的位元組數
(5)head 顯示檔案頭n行的內容
head -行數 檔名
例如:head -10 /etc/passwd
(6)tail 顯示檔案最後n行的內容
tail -行數 檔名
例如:tail -1 /etc/passwd 顯示最後一行的內容
tail -2 /etc/passwd 顯示倒數兩行的內容
思考:如何顯示第10行的內容?(只顯示第10行的內容)
head -10 /etc/passwd | tail -1
(7)cut : 字串裁剪命令
注:改命令一般與管道一起使用。
格式:cut -d "分割字元" -f 字段
引數:-d 指定我們的分割字元
-f 指定我們顯示的區域
例如:cat /etc/passwd | grep "ubuntu" | cut -d ":" -f 1,2,3
得到結果:ubuntu:x:1001
(8)echo 先螢幕上輸出資訊
等價於puts("hello wold");
echo "hello world" 想螢幕上輸出「hello world」
(9)su 切換使用者
格式: sudo su 使用者名稱 切換到其他使用者
<5>shell中的萬用字元講解
(1)含義:shell通用的匹配符號,我們叫做萬用字元。
(2)常用符號:
* 匹配任意長度的字串 例如:ls file_*.c
? 匹配乙個字元 例如: ls file_?.c
[..] 匹配輸入其中指定的乙個字元,全部列出來選擇乙個使用 例如: file_[abc].c
[起始-終止] 匹配乙個字元範圍 例如: file_[a-z].c file[1-9].c
[^..] 匹配除了指定字元意外的單個字元 例如: file[^abc].c
<6>輸入/輸出重定向
預設輸入:鍵盤
預設輸出:顯示器
含義:改變預設的輸入和輸出方式,把本來應該輸入到螢幕的上的內容,該輸出到其他的位置。(檔案)
(1)輸出重定向(>)
含義:改變預設輸出方式。把本來應該輸出到螢幕的上的正確的內容,該輸出到其他的位置。
格式: 輸出到螢幕上的資訊 > 新的檔名
例如:echo "hello world" > log [重定向之前,會先把檔案的內容給清除掉]
echo "welcome to handsom" >> log [以追加的方式在下一行中寫入資料]
ls > log
pwd > log
grep "ubuntu" /etc/passwd > log
(2)輸入重定向(<)
含義:改變預設輸入方式。把本來應該從鍵盤獲取的資訊,該輸出到其他的位置。(檔案)
wall 給當前所有的使用者傳送廣播訊息 ,當輸入完成後,按下回車表示輸入結束按下ctrl + d,給所有的使用者傳送訊息
wall < log 把檔案中的內容傳送給其他使用者
練習:1. 通過echo 命令把「good good study,day day up」寫到 log.txt檔案中
2. 開啟乙個新的終端,利用su命令切換乙個新的使用者
3. 通過wall命令把log.txt檔案的內容傳送給其他使用者
(3)出錯重定向(2>)
含義:改變預設輸出方式。把本來應該輸出到螢幕的上的錯誤的內容,該輸出到其他的位置。
格式: 輸出到螢幕上的錯誤資訊2> 新的檔名
例如:ls dasfadsf****dsf.txt > log (該檔案不存在,系統會提示錯誤,把錯誤的訊息輸出到檔案中)
<7>命令置換
含義: 將乙個命令的輸出當作另外乙個命令的引數。
格式:command1 `command2`
注:這裡的符號不是單引號,而是反撇號,esc下面那個鍵。
例如:find `pwd` -name "hello.c"
ls `pwd`
shell 常用命令
shell 程式設計中使用到得if語句內判斷引數 b 當file存在並且是塊檔案時返回真 c 當file存在並且是字元檔案時返回真 d 當pathname存在並且是乙個目錄時返回真 e 當pathname指定的檔案或目錄存在時返回真 f 當file存在並且是正規檔案時返回真 g 當由pathname...
shell常用命令
1.echo echo 用於輸出,相當於c語言中的printf 用echo輸出變數的值,需要在變數前面加 輸出a的值 a 1echo a shell中變數不需要定義,直接賦值 要用到變數時,需要加 2.管道 命令之間的輸入。將乙個命令的輸出作為另乙個命令的輸入。管道相當於一種過濾功能。3.grep ...
Shell常用命令
shell常用命令總結 1 ls命令 列出檔案 ls la 列出當前目錄下的所有檔案和資料夾 ls a 列出當前目錄下所有以 a字母開頭的檔案 ls l txt 列出當前目錄下所有字尾名為 txt的檔案 2 cp命令 複製 cp a.txt b.txt 把檔案 a的內容複製到b檔案 cp a.txt...