最近在做Android 組件開發,經常需要在Ubuntu下編譯庫文件,因此要用到一些基本Linux命令,這裏把一些基本的Linux命令列出,方便查詢和交流:
1:man 查詢某個具體命令的用法
eg: man ls (按q鍵或Ctrl+c 可以退出此命令)
2:printenv 查看和設置環境變量(配置環境變量的時候經常用到)
eg: printenv 查看用戶全部的環境變量
printenv USERNAME 查看USERNAME環境變量的值
export USERNAME = alohaha11 設置USERNAME環境變量的值爲alohaha11
unset USERNAME 取消設置的USERNAME環境變量值
3:ls 列出目錄下的文件清單(包括子目錄)
ls -l 詳細列出某個目錄下的文件清單(包括子目錄)
4:chown 把一個文件的所有權修改爲其他用戶
chown -R username filename
(注:只有root纔有權進行這種操作)
5:chgrp 改變一個文件所屬組
chgrp -R groupname filename
6:chmod 更改文件的訪問權限
三個字符(r,w,x)一組組成數據段,其分別表示的含義:
第一組表示文件所有者的訪問權限 (user)
第二組表示文件所在分組的訪問權限 (group)
第三組表示全系統的訪問權限 (other)
--- 表示無訪問權限 (對應數值 0)
r-- 只讀權限 (對應數值4)
rw- 讀寫權限 (對應數值6)
rwx 讀寫可執行權限 (對應數值7)
eg:chmod -rwxr-xr-x file1 或 chmod 755 file1 表示所有者擁有file1文件的讀,寫和執行權限,其他人擁有讀和執行權限。
chmod u+x file2 表示爲user(即所有者)添加執行權限。
chmod a-x file3 表示爲user,group和other'均取消執行權限。
7:pwd 顯示當前工作目錄
8:cp 拷貝(原文件存在)
eg:cp a.txt b.txt (將a.txt 拷貝成b.txt )
cp a.txt /opt/a.txt 將當前路徑下文件 a.txt 拷貝到/opt目錄下
cp a.txt /opt/b.txt 將當前路徑下文件 a.txt 拷貝到/opt目錄下並命名爲b.txt
9:mv 移動文件或更改文件名(原文件會被刪除)
eg:: mv a.txt /opt/b.txt 將當前路徑下文件a.txt 移動到/opt目錄下並命名爲b.txt (a.txt則不存在)
mv a.txt b.txt 將a.txt 更名爲b.txt
10:rm 刪除文件或文件夾
eg:rm a.txt 刪除a.txt文件
rm -r test 刪除test子目錄及其子目錄中的所有文件和目錄
11:find查找文件
eg :find /tmp -atime 7 -print 查找/tmp目錄中至少7天沒有被訪問過的文件,並按列打印顯示文件名
find ./ -name "a*" -exex rm {}\ 查找當前目錄中名字以a開頭的文件並刪除
find /home -name "*.txt" -size +10k -print 查找/home目錄下長度大於10k的txt 文件,並按列打印文件名
12:mkdir 創建目錄
eg: mkdir -p /tmp/mydir/mysubdir (參數-p 表示可以在沒有上級目錄的情況下完成子目錄的創建)
13:rmdir 刪除目錄
eg:rmdir -p /tmp/mydir/mysubdir (參數-p可以連同上級子目錄一塊刪除)
14:tar命令 文件解壓縮(解壓縮命令針對不同的壓縮方式,有很多種不同的解壓縮方式和命令)
eg:tar -cvzf apache.tar.gz /usr/src/apache (建立包含/usr/src/apache目錄中全部文件經gzip壓縮 名爲apache.tar.gz 檔案文件)
eg:tar -xvzf apache.tar.gz (解壓縮此檔案文件)
15:cat 顯示文件內容
eg:cat /test/thread.c 將thread.c文件內容顯示到控制終端
cat /test/b.txt /opt/a.txt > /home/c.txt 將文件a.txt 和b.txt合併到c.txt中
16:du 磁盤操作
eg:du -sh /home
17:ps 顯示進程信息
eg:ps -aux
(其中-a 表示 列出帶有控制終端的全部進程, -u列出進程的所有者,-x 列出沒有控制終端的進程)
18:top 動態的列出進程信息(每隔2~3秒會刷新進程信息)
19:kill signal pid ( 向進程發送信號)
eg:kill -9 593 (向進程593發送信號9,表示殺死進程)
eg:kill -s 可以查看有哪些信號
20:su 改變用戶身份
eg:su 切換到root用戶,
eg:su alohaha11 切換到普通用戶alohaha11
21:重定向命令
> 輸出到文件 eg: cat a.txt > b.txt (將文件a.txt輸入到b.txt,b.txt以前的內容將被覆蓋掉)
>>輸出到文件尾部,即追加文件 eg: cat a.txt > >b.txt (將文件a.txt輸入到b.txt,文件內容追加到b.txt尾部)
< 發送文件作爲輸入 eg :grep “alohaha11” < a.txt (輸出a.txt中包含alohaha11的內容)
22:clear 和date
clear 清屏
date 顯示當前時間
23:cd .. 進入上級目錄
eg:cd ../.. 進入上上級目錄
24:mount [參數] 要加載的設備載入點
eg: mount /dev/cdrom
cd /mnt/cdrom //進入光盤目錄
25:whoami,whereis,which,id
whoami:確認自己身份
whereis:查詢命令所在目錄以及幫助文檔所在目錄
which:查詢該命令所在目錄(類似whereis)
id:打印出自己的UID以及GID。(UID:用戶身份唯一標識。GID:用戶組身份唯一標識。每一個用戶只能有一個唯一的UID和 GID)
26:history 顯示用戶用過的命令
27:!!執行最近一次的命令
28:passwd 設置口令
29:head和tail 顯示文件的開頭部分和結尾部分
eg:head a.txt 顯示文件的前十行
heas -n 20 a.txt 顯示文件的前二十行
tail a.txt 顯示文件的後十行
tail -n 20 a.txt 顯示文件的後十行
tail -f a.txt 顯示文件的後十行,在內容增加的情況下,顯示增加的內容
30:sed 行編輯器命令
eg:查看文件n行到n+m行之間的內容 sed -n “n,n+mp” a.txt
查看指定字符創之間的內容 sed -n “/string1/,/string2/p” a.txt
31:網絡命令ifconfig、ifup、ifdown。