歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux命令 >> Linux的基本命令

Linux的基本命令

日期:2017/2/28 9:58:22   编辑: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

Copyright © Linux教程網 All Rights Reserved