Linux的基本命令

來源:互聯網
上載者:User

Linux的基本命令


#目錄與檔案操作 pwd ls cd mkdir cp mv rm file
/*{{{*/
一.pwd 顯示當前工作目錄所在絕對路徑(以/為起點表示的路徑)
eg:pwd
#選項-P顯示連結檔案路徑
二.ls 顯示目錄下檔案及目錄
可以帶參數,指定目錄或檔案
可不帶參數,顯示目前的目錄

eg:查看主目錄下workdir目錄的內容(~代表使用者主目錄)
ls ~/workdir
ls

#A.選項 -a 顯示所有檔案,包括隱藏檔案(以.開頭的檔案)
eg:(帶參數:指定目錄或檔案)查看主目錄下workdir目錄下所有檔案
ls -a /home/tim/workdir

eg:(不帶參數)查看目前的目錄下所有檔案及目錄
ls -a

#B.選項 -l 顯示檔案或目錄的屬性資訊,(僅解釋檔案大小,其它細節在檔案系統部分解釋)
eg:顯示目前的目錄下檔案及目錄的屬性資訊
ls -l
eg:顯示指定目錄或檔案的屬性資訊,注意可以帶多個參數!
ls -l /home/tim examples.desktop

#C.選項 -h 以K,M,G為單位顯示檔案大小,與-l一起用。

注意:bash下通過alias命名了l,la,ll。效果請自行測試

注意:幾個特別的目錄 . .. / ~ -


三.cd 切換工作目錄 關於檔案系統的路徑。絕對與相對

eg:不帶選項和參數,返回目前使用者的主目錄.
cd斷行符號

eg:切換到根目錄下的home目錄下
cd /home

eg:切換到上層目錄
cd ..

eg:切換到前一個目錄
cd -

eg:切換到上層目錄的上層目錄,從主目錄切換到根目錄.
cd ~
cd ../..

四.mkdir 建立空目錄
eg:目前的目錄下建立目錄dir
mkdir dir

eg:在/home/tim/workdir目錄下建立目錄dir
mkdir /home/tim/workdir/dir

#選項-p遞迴建立多層目錄
eg:在~下建立dir1/dir2/dir3
mkdir ~/dir1/dir2/dir3 -p

五.cp 拷貝源檔案或目錄到目標檔案或目錄,可實現備份
eg:將共用目錄下的檔案拷貝到主目錄下
cp /mnt/hgfs/share/jeffy-vim-v2.0.zip ~

eg:將主目錄下的jeff-vim-v2.0.zip 備份為jeffy-vim-v2.0_bak.zip
cp jeff-vim-v2.0.zip jeffy-vim-v2.0_bak.zip

#選項-a拷貝整個目錄內容
eg:將目錄jeffy-vim-v2.0拷貝到Desktop目錄下
cp jeffy-vim-v2.0 ~/Desktop -a

六.mv 移動源檔案或目錄到目標檔案或目錄,可實現重新命名
eg:將主目錄下的test.txt檔案移動到共用目錄下
vi test.txt
mv test.txt /mnt/hgfs/share

eg:將主目錄下的Videos目錄重新命名為MyVideos
mv Videos MyVideo

七.rm 刪除一個或多個檔案或目錄,物理刪除,不可恢複。-rf
eg:刪除在主目錄下jeffy-vim-v2.0_bak.zip
rm jeffy-vim-v2.0_bak.zip

#選項-rf強制移除檔案或目錄
eg:刪除主目錄下的dir目錄
rm -rf dir

八.file 查看檔案類型
eg:查看主目錄下test.c檔案類型
file test.c

eg:查看主目錄下shared檔案類型
file shared

/*}}}*/

練習:
/*{{{*/
如果/mnt/hgfs/目錄下沒有可用目錄,將共用目錄換為~/Videos
cp
2.將使用者主目錄下的passwd檔案備份為passwd-bak
cp
3.在使用者主目錄下建立目錄test_dir
mkdir
4.將passwd-bak移動到test_dir目錄下
mv
5.將test_dir目錄下的passwd-bak檔案改名為passwd

6.將test_dir目錄拷貝到你的共用目錄下

7.將共用目錄下的test_dir目錄改名為dir

8.刪除以上產生的檔案
/*}}}*/

#編輯與查看檔案內容 touch vi/vim cat more/less head/tail sort uniq diff
/*{{{*/

九.touch 可用於建立新檔案
eg:在主目錄下建立檔案test_touch
touch test_touch

十.vi / vim 建立或編輯
使用小技巧:
vi file +行號 開啟檔案時游標直接定位到指定行
vi file1 file2 -d 比較兩個檔案的差異

十一.cat 在標準輸出(顯示器)顯示檔案內容
eg:顯示主目錄下的檔案test.c
cat test.c

#選項-n 顯示檔案內容時顯示行號
eg:顯示主目錄下的檔案test.c同時顯示行號
cat -n test.c

十二.more/less 分屏顯示檔案
cat 顯示檔案時一次性全在螢幕上顯示出來了,查看前面內容不太方便,
more/less命令能解決這個問題
使用異同點
eg:分屏顯示檔案內容
more /etc/passwd
less /etc/passwd

相同操作方法
d鍵下翻頁,b鍵上翻頁
斷行符號下翻行,空格下翻頁

不同操作:less支援上下鍵,pagedown和pageup鍵上下翻行翻頁
顯示區別,more顯示當前顯示內容百分比。

退出按q鍵。

十三.head/tail 顯示檔案開頭/結尾
如果只想查看檔案開頭或最後幾行內容,可使用head/tail命令,預設顯示10行
eg:查看/etc/passwd檔案開頭10內容
head /etc/passwd
eg:查看/etc/passwd檔案結尾處10內容
tail /etc/passwd

#選項-num指定顯示內容的行數
eg:查看/etc/passwd檔案開頭20行內容
head -20 /etc/passwd
tail 用法類似
head與tail常與管道結合使用


十四.sort 按行排序從小到大顯示檔案內容,注意排序結果不會影響原檔案
顯示結果與語系相關,為了以ASCII碼值為結果使用LANG=C統一
可以通過echo $LANG查看
eg:排序查看檔案內容
vi test.c
每行寫入字元,數字,符號
sort test.c

#選項-r從大到小的順序排序顯示
eg:逆序排序查看檔案內容
sort -r test.c

#選項-n對數字排序時以數值結果排序,而不是ASCII碼值排序
eg:按數字數值排序
vi test
每行寫入數字
sort test
sort -n test
顯示區別

#選項-o指定排序結果輸出到檔案
eg:將test.c 排序結果寫回test.c
sort test.c -o test.c

十五.uniq顯示檔案內容,去掉相鄰重複的行
eg:顯示時重複相鄰行只顯示一行。
uniq test

十六、diff按行比較兩個檔案的不同,將兩具檔案中不同內容顯示出來
常用於程式新舊版本對比
eg:顯示sort1.c與sort2.c不同處
diff sort1.c sort2.c
顯示結果不直觀,建議用vim sort1.c sort2.c -d代替,直觀對比
顯示結果中a表示追加,d表示刪除,c表示更改,
<表示屬於第一個檔案,>表示屬於第二個檔案.

/*}}}*/

#尋找與搜尋 find grep
/*{{{*/
十七、find在目前的目錄下遞迴尋找檔案顯示路徑,即包括子目錄
用法:find -name filename
或find -name 'filename'
或find -name "filename"
eg:在目前的目錄(主目錄)下尋找test.c檔案
find -name test.c

用法:find 路徑 -name filename
eg:在workdir目錄下尋找test.c檔案
find ~/workdir -name test.c

十八、grep在檔案中尋找字串
eg:在/etc/passwd 檔案中尋找"tim"
grep "tim" /etc/passwd

#選項-n顯示字串所在行號
eg:在/etc/passwd檔案中尋找"tim",並顯示所在行號
grep "tim" /etc/passwd

eg:在目前的目錄下所有檔案中搜尋"main"(不包括子目錄)
grep "main" *

eg:在目前的目錄下所有檔案中搜尋"main"(包括子目錄)
grep "main" * -nR

#搜尋字串的匹配方式 ^ $
eg:尋找所有含有tim的字串
將/etc/passwd 拷貝到主錄目下
cp /etc/passwd ~
grep "tim" passwd

eg:尋找以tim開頭的字串
grep "^tim" passwd

eg:搜尋以tim結尾的字串
grep "tim$" passwd

eg:搜尋出只含"tim"的字串
grep "^tim$" passwd

/*}}}*/

#打包目錄與壓縮檔,(結合ppt 3 66頁) zip unzip gzip gunzip bzip2 bunzip2 tar
/*{{{*/

十九、zip對多個檔案進行壓縮,產生.zip尾碼名壓縮檔,unzip進行解壓縮
!用法:zip 壓縮包名.zip 檔案1 檔案2 ……
eg:將test.c test1.c test2.c 壓縮到test.zip檔案中
zip test.zip test.c test1.c test2.c

eg:將test.zip解壓到目前的目錄下
unzip test.zip

二十、gzip對一個檔案進行普通壓縮,不能對目錄壓縮
eg:將test.c壓縮成test.c.gz
gzip test.c

二十一、gunzip對gz格式壓縮檔解壓
eg:將test.c.gz解壓
gunzip test.c.gz

二十二、bzip2對一個檔案進行高比例壓縮,不能對目錄壓縮
eg:將test.c檔案壓縮為test.c.bz2
bzip2 test.c

二十三、bunzip2 對bz2格式壓縮檔進行解壓
eg:將test.c.bz2解壓
bunzip2 test.c.bz2

二十四、tar將多個檔案或目錄打包
#常用選項
-c 建立
-x 釋放

-z 處理gzip壓縮的tar包
-j 處理bzip2壓縮的tar包

-v 顯示詳細資料
-f 指定打包或解包的檔案,需放在選項最後

!用法
打包
eg:將jeffy-vim-v2.0打包產生jeffy-vim-v2.0.tar
tar -cvf jeffy-vim-v2.0.tar jeffy-vim-v2.0

解包
eg:將jeffy-vim-v2.0.tar解包
tar -xvf jeffy-vim-v2.0.tar

先打包,再使用gzip bzip2命令壓縮
tar -cvf jeffy-vim-v2.0.tar jeffy-vim-v2.0
gzip jeffy-vim-v2.0.tar <= 產生jeffy-vim-v2.0.tar.gz
或bzip2 jeffy-vim-v2.0.tar <= 產生jeffy-vim-v2.0.tar.bz2

直接打包並壓縮
以gzip壓縮 -czvf,尾碼.tar.gz 或.tgz
tar -czvf jeffy-vim-v2.0.tar.gz jeffy-vim-v2.0
tar -czvf jeffy-vim-v2.0.tgz jeffy-vim-v2.0

以bzip2壓縮 -cjvf ,尾碼.tar.bz2 或.tbz2
tar -cjvf jeffy-vim-v2.0.tar.bz2 jeffy-vim-v2.0
tar -cjvf jeffy-vim-v2.0.tbz2 jeffy-vim-v2.0

解壓縮並解包 -xvf,對gzip與bzip2處理的檔案均有效
tar -xvf jeffy-vim-v2.0.tar.bz2
tar -xvf jeffy-vim-v2.0.tbz2
tar -xvf jeffy-vim-v2.0.tgz

/*}}}*/

#其它命令 clear date echo which whereis man
/*{{{*/

二十五、clear 清屏
快速鍵 ctrl + l

二十六、date 查看日期及時間
eg:date

二十七、echo顯示一行文本,常用於顯示環境變數值
eg:顯示字串hello world!
echo "hello world!"
echo hello world!
注意區別,加""原樣輸出,否則算多個字串輸出

eg:顯示環境變是LANG的值,注意查看環境變數需要加$
echo $LANG

二十八、which 尋找命令所在路徑
eg:尋找ls 所在路徑
which ls

二十九、whereis 尋找命令所在路徑,源,man手冊檔案所在位置
whereis ls

三十、man 查協助手冊
eg:查ASCII碼錶
man ascii

eg:查whereis 命令協助頁
man whereis

eg:查函數strcmp

/*}}}*/

#系統維護命令 sudo su passwd shutdown
/*{{{*/
三十一、sudo以超級使用者身份執行一條命令
eg:查看系統下存放帳號密碼檔案內容,需超級使用者權限
$cat /etc/shadow
$cat: /etc/shadow:Permission denied

$sudo cat /etc/shadow
$[sudo]password for tim: <=輸入tim使用者的密碼,注意密碼不會回顯!

三十二、su臨時切換使用者
eg:切換到root使用者
su
Passwd: <=輸入root使用者密碼!
exit可退出切換的使用者

eg:切換到root使用者,並切換到root主目錄/root
su -
Passwd: <=輸入root使用者密碼

注意如果第一次切換root使用者可能會提示密碼錯誤

三十三、修改密碼passwd
eg:修改tim使用者密碼
sudo passwd tim <=加sudo 是可以設定短密碼

eg:修改root密碼
sudo passwd root

三十四、shutdown關機命令
eg:5分鐘後關機
sudo shutdown +5

eg:立即關機
sudo shutdown -h now

eg:立即重啟
sudo shutdown -r now
sudo reboot

/*}}}*/

#使用者管理 adduser deluser
/*{{{*/
三十五、adduser添加使用者,會要求輸入新使用者密碼,全名,
並在/home目錄下建立新使用者主目錄
eg:sudo adduser max <=輸入目前使用者密碼

三十六、deluser刪除使用者
eg:刪除使用者max
sudo deluser max

#選項--remove-home,刪除使用者同時刪除該使用者主目錄
eg:sudo deluser --remove-home max
/*}}}*/

剩下命令
du df mount umount ln "ls -l" chmod chown chgrp ps kill

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.