常用bash命令
—
pwd 當前工作目錄
cd(不加參數) 進root
cd(folder) 進入文件夾
cd .. 上級目錄
cd ~ 返回root
cd - 返回上一個訪問的目錄
rm 文件名 刪除
cat 文件名(|less) 在終端下查看文件
ls 列出目錄下所有文件
cp 文件名 目標目錄 將文件拷貝到目標目錄下
~代表root 如:~/Document/CPP2/
mkdiv 新建文件夾
g++ 源文件名 編譯源文件,產生a.out
./文件名 運行 例如:./a.out < 輸入文件名 > 輸出文件名
control+d 中斷a.out運行
nano 編寫腳本語言 ctrl+o存儲
nano ....sh 打開
bash ....sh 運行腳本
echo "...$i..." 輸出語句
—
mac os默認的shell也是bash,打開終端,默認就是bash;
如果在終端中輸入指令bash:
taylors-Mac-mini:~ taylor$ bash
bash-3.2$
然後在bash-3.2$ xxxxxxx
下輸入的指令,其實就相當於 bash ....sh 運行腳本
退出bash的腳本模式直接exit就回到了用戶狀態
—
#!/bin/sh 是指此腳本使用/bin/sh來解釋執行,#!是特殊的表示符,其後面根的是此解釋此腳本的shell的路徑。
例子
#!/bin/bash 以bash shell來解釋
#!/bin/csh 以csh shell來解釋
#!/usr/bin/env python 以下代碼由python來解釋
—
- 批量圖像格式轉換
如果想將某目錄下的所有jpg文件轉換為png文件,只要在命令行模式下輸入:
for %f in (*.jpg) do convert “%f” “%~nf.png”
- 批量圖像resize
convert -resize 1024x768 xxx.jpg xxx1.jpg 將圖像的像素改為1024*768,註意1024與768之間是小寫字母x
—
- 查看命令的操作說明:man name
- 查看文件的類型和具體屬性:file filename
- 查看類型:type name
- 查詢文件位置(模糊查詢,路徑中含有關鍵字的所有文件):locate 關鍵字
- 查看文件/目錄的所有屬性(文件大小,類型,修改時間,所有者,文件權限等):ls filename -al
- 查看目錄下包含隱藏文件在內的所有文件:ls -a/ls -A
- 同一個命令在兩行中輸入:行尾處\Enter,自動進入下一行
—
- 環境變量:$PATH ,$代表後面接著一個變量,輸出環境變量:echo $PATH; 若該變量為擴增變量內容時,則可用 "$變量名稱" 或 ${變量} 累加內容,如下所示:『PATH="$PATH":/home/bin』;若該變量需要在其他子程序運行,則需要以 export 來使變量變成環境變量:
『export PATH』;export:自定義變量轉成環境變量:export 變量名,分享自己的變量配置給後來呼叫的文件或其他程序 - 環境變量=全局變量,自定義變量=局部變量;
—
[[email protected] ~]# history [n]
[[email protected] ~]# history [-c]
[[email protected] ~]# history [-raw] histfiles
選項與參數:
n :數字,意思是『要列出最近的 n 筆命令行表』的意思!
-c :將目前的 shell 中的所有 history 內容全部消除
-a :將目前新增的 history 命令新增入 histfiles 中,若沒有加 histfiles ,
則默認寫入 ~/.bash_history
-r :將 histfiles 的內容讀到目前這個 shell 的 history 記憶中;
-w :將目前的 history 記憶內容寫入 histfiles 中!
範例一:列出目前內存內的所有 history 記憶
[[email protected] ~]# history
—
Linux統計文件行數
語法:wc [選項] 文件…
說明:該命令統計給定文件中的字節數、字數、行數。如果沒有給出文件名,則從標準輸入讀取。wc同時也給出所有指定文件的總統計數。字是由空格字符區分開的最大字符串。
該命令各選項含義如下:
- c 統計字節數。
- l 統計行數。
- w 統計字數。
這些選項可以組合使用。
輸出列的順序和數目不受選項的順序和數目的影響。
總是按下述順序顯示並且每項最多一列。
行數、字數、字節數、文件名
如果命令行中沒有文件名,則輸出中不出現文件名。
例如:
$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total
舉例分析:
1.統計demo目錄下,js文件數量:
find demo/ -name "*.js" |wc -l
2.統計demo目錄下所有js文件代碼行數:
find demo/ -name "*.js" |xargs cat|wc -l 或 wc -l `find ./ -name "*.js"`|tail -n1
3.統計demo目錄下所有js文件代碼行數,過濾了空行:
find /demo -name "*.js" |xargs cat|grep -v ^$|wc -l
常用bash命令