基本linux命令有哪些呢?
1、ls命令
就是 list 的縮寫,通過 ls 命令不僅可以查看 linux 文件夾包含的文件,而且可以查看文件許可權(包括目錄、文件夾、文件許可權)查看目錄信息等等。
常用參數搭配:
ls -a 列出目錄所有文件,包含以.開始的隱藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改時間排序
ls -S 以文件大小排序
ls -h 以易讀大小顯示
ls -l 除了文件名之外,還將文件的許可權、所有者、文件大小等信息詳細列出來
實例:
(1) 按易讀方式按時間反序排序,並顯示文件詳細信息
ls -lhrt
(2) 按大小反序顯示文件詳細信息
ls -lrS
(3)列出當前目錄中所有以"t"開頭的目錄的詳細內容
ls -l t*
(4) 列出文件絕對路徑(不包含隱藏文件)
ls | sed "s:^:`pwd`/:"
(5) 列出文件絕對路徑(包含隱藏文件)
find $pwd -maxdepth 1 | xargs ls -ld
2、cd 命令
cd(changeDirectory) 命令語法:
cd [目錄名]
說明:切換當前目錄至 dirName。
實例:
(1)進入要目錄
cd /
(2)進入 "home" 目錄
cd ~
(3)進入上一次工作路徑
cd -
(4)把上個命令的參數作為cd參數使用。
cd !$
3、pwd 命令
pwd 命令用於查看當前工作目錄路徑。
實例:
(1)查看當前路徑
pwd
(2)查看軟鏈接的實際路徑
pwd -P
4、mkdir 命令
mkdir 命令用於創建文件夾。
可用選項:
-m: 對新建目錄設置存取許可權,也可以用 chmod 命令設置;
-p: 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不在的目錄,即一次可以建立多個目錄。
實例:
(1)當前工作目錄下創建名為 t的文件夾
mkdir t
(2)在 tmp 目錄下創建路徑為 test/t1/t 的目錄,若不存在,則創建:
mkdir -p /tmp/test/t1/t
5、rm 命令
刪除一個目錄中的一個或多個文件或目錄,如果沒有使用 -r 選項,則 rm 不會刪除目錄。如果使用 rm 來刪除文件,通常仍可以將該文件恢復原狀。
rm [選項] 文件…
實例:
(1)刪除任何 .log 文件,刪除前逐一詢問確認:
rm -i *.log
(2)刪除 test 子目錄及子目錄中所有檔案刪除,並且不用一一確認:
rm -rf test
(3)刪除以 -f 開頭的文件
rm -- -f*
6、rmdir 命令
從一個目錄中刪除一個或多個子目錄項,刪除某目錄時也必須具有對其父目錄的寫許可權。
注意:不能刪除非空目錄
實例:
(1)當 parent 子目錄被刪除後使它也成為空目錄的話,則順便一並刪除:
rmdir -p parent/child/child11
7、mv 命令
移動文件或修改文件名,根據第二參數類型(如目錄,則移動文件;如為文件則重命令該文件)。
當第二個參數為目錄時,第一個參數可以是多個以空格分隔的文件或目錄,然後移動第一個參數指定的多個文件到第二個參數指定的目錄中。
實例:
(1)將文件 test.log 重命名為 test1.txt
mv test.log test1.txt
(2)將文件 log1.txt,log2.txt,log3.txt 移動到根的 test3 目錄中
mv llog1.txt log2.txt log3.txt /test3
(3)將文件 file1 改名為 file2,如果 file2 已經存在,則詢問是否覆蓋
mv -i log1.txt log2.txt
(4)移動當前文件夾下的所有文件到上一級目錄
mv * ../
8、cp 命令
將源文件復制至目標文件,或將多個源文件復制至目標目錄。
注意:命令行復制,如果目標文件已經存在會提示是否覆蓋,而在 shell 腳本中,如果不加 -i 參數,則不會提示,而是直接覆蓋!
-i 提示
-r 復制目錄及目錄內所有項目
-a 復制的文件與原文件時間一樣
實例:
(1)復制 a.txt 到 test 目錄下,保持原文件時間,如果原文件存在提示是否覆蓋。
cp -ai a.txt test
(2)為 a.txt 建議一個鏈接(快捷方式)
cp -s a.txt link_a.txt
9、cat 命令
cat 主要有三大功能:
1.一次顯示整個文件:
cat filename
2.從鍵盤創建一個文件:
cat > filename
只能創建新文件,不能編輯已有文件。
3.將幾個文件合並為一個文件:
cat file1 file2 > file
-b 對非空輸出行號
-n 輸出所有行號
實例:
(1)把 log2012.log 的文件內容加上行號後輸入 log2013.log 這個文件里
cat -n log2012.log log2013.log
(2)把 log2012.log 和 log2013.log 的文件內容加上行號(空白行不加)之後將內容附加到 log.log 里
cat -b log2012.log log2013.log log.log
(3)使用 here doc 生成新文件
cat >log.txt <<EOF
>Hello
>World
>PWD=$(pwd)
>EOF
ls -l log.txt
cat log.txt
Hello
World
PWD=/opt/soft/test
(4)反向列示
tac log.txt
PWD=/opt/soft/test
World
Hello
10、more 命令
功能類似於 cat, more 會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示。
命令參數:
+n 從笫 n 行開始顯示
-n 定義屏幕大小為n行
+/pattern 在每個檔案顯示前搜尋該字串(pattern),然後從該字串前兩行之後開始顯示
-c 從頂部清屏,然後顯示
-d 提示「Press space to continue,』q』 to quit(按空格鍵繼續,按q鍵退出)」,禁用響鈴功能
-l 忽略Ctrl+l(換頁)字元
-p 通過清除窗口而不是滾屏來對文件進行換頁,與-c選項相似
-s 把連續的多個空行顯示為一行
-u 把文件內容中的下畫線去掉
常用操作命令:
Enter 向下 n 行,需要定義。默認為 1 行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當前行的行號
:f 輸出文件名和當前行的行號
V 調用vi編輯器
!命令 調用Shell,並執行命令
q 退出more
實例:
(1)顯示文件中從第3行起的內容
more +3 text.txt
(2)在所列出文件目錄詳細信息,藉助管道使每次顯示 5 行
ls -l | more -5
按空格顯示下 5 行。
11、less 命令
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,而且 less 在查看之前不會載入整個文件。
常用命令參數:
-i 忽略搜索時的大小寫
-N 顯示每行的行號
-o <文件名> 將less 輸出的內容在指定文件中保存起來
-s 顯示連續空行為一行
/字元串:向下搜索「字元串」的功能
?字元串:向上搜索「字元串」的功能
n:重復前一個搜索(與 / 或 ? 有關)
N:反向重復前一個搜索(與 / 或 ? 有關)
-x <數字> 將「tab」鍵顯示為規定的數字空格
b 向後翻一頁
d 向後翻半頁
h 顯示幫助界面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一行
回車鍵 滾動一頁
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁
實例:
(1)ps 查看進程信息並通過 less 分頁顯示
ps -aux | less -N
(2)查看多個文件
less 1.log 2.log
可以使用 n 查看下一個,使用 p 查看前一個。
12、head 命令
head 用來顯示檔案的開頭至標准輸出中,默認 head 命令列印其相應文件的開頭 10 行。
常用參數:
-n<行數> 顯示的行數(行數為復數表示從最後向前數)
實例:
(1)顯示 1.log 文件中前 20 行
head 1.log -n 20
(2)顯示 1.log 文件前 20 位元組
head -c 20 log2014.log
(3)顯示 t.log最後 10 行
head -n -10 t.log
13、tail 命令
用於顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用查看日誌文件。
常用參數:
-f 循環讀取(常用於查看遞增的日誌文件)
-n<行數> 顯示行數(從後向前)
(1)循環讀取逐漸增加的文件內容
ping 127.0.0.1 > ping.log &
後台運行:可使用 jobs -l 查看,也可使用 fg 將其移到前台運行。
tail -f ping.log
(查看日誌)
14、which 命令
在 linux 要查找某個文件,但不知道放在哪裡了,可以使用下面的一些命令來搜索:
which 查看可執行文件的位置。
whereis 查看文件的位置。
locate 配合資料庫查看文件位置。
find 實際搜尋硬碟查詢文件名稱。
which 是在 PATH 就是指定的路徑中,搜索某個系統命令的位置,並返回第一個搜索結果。使用 which 命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
常用參數:
-n 指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名。
實例:
(1)查看 ls 命令是否存在,執行哪個
which ls
(2)查看 which
which which
(3)查看 cd
which cd(顯示不存在,因為 cd 是內建命令,而 which 查找顯示是 PATH 中的命令)
查看當前 PATH 配置:
echo $PATH
或使用 env 查看所有環境變數及對應值
15、whereis 命令
whereis 命令只能用於程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。whereis 及 locate 都是基於系統內建的資料庫進行搜索,因此效率很高,而find則是遍歷硬碟查找文件。
常用參數:
-b 定位可執行文件。
-m 定位幫助文件。
-s 定位源代碼文件。
-u 搜索默認路徑下除可執行文件、源代碼文件、幫助文件以外的其它文件。
實例:
(1)查找 locate 程序相關文件
whereis locate
(2)查找 locate 的源碼文件
whereis -s locate
(3)查找 lcoate 的幫助文件
whereis -m locate
2. ADB常用命令
android 調試橋 (adb) ,可與設備進行通信。adb 命令可用於執行各種設備操作(例如安裝和調試應用),並提供對 Unix shell(可用來在設備上運行各種命令)的訪問許可權。它是一種客戶端-伺服器程序,包括以下三個組件:
客戶端: 用於發送命令。客戶端在開發機器上運行。可以通過發出 adb 命令從命令行終端調用客戶端。(可以通過它對Android應用進行安裝、卸載、調試)
PC上的手機助手基本都是通過adb命令去完成的。有時候裝了這類手機助手的話,它自帶的adb程序可能會與Android SDK下的adb程序產生沖突,5037埠被佔用,導致adb命令無法連接到設備。Windows下通過netstat -ano|findstr "5037"
守護程序 (adbd): 用於在設備上運行命令。守護程序在每個設備上作為後台進程運行
執行adb shell ps | grep adbd, 可以找到該後台進程,Windows使用findstr替代grep.
adb nodaemon server
伺服器(Service): 用於管理客戶端與守護程序之間的通信。伺服器在開發機器上作為後台進程運行
adb服務啟動後,Windows可以在任務管理中找到adb.exe; linux ps -ef | gref adb 可以查看service
一般都是通過這樣子的格式 adb [-d|-e|-s <設備序列號>] <子命令>
通常只有一台設備就忽略 [-d|-e|-s ] 這一部分
這里介紹一些常用的命令:
獲取設備列表及設備狀態
獲取設備的狀態
注意:設備的狀態有 3 鍾,device , offline , unknown
device:設備正常連接
offline:連接出現異常,設備無響應
unknown:沒有連接設備
結束 adb 服務
啟動 adb 服務
注意:通常兩個命令一起用,有時候我們開啟server會失敗,這是因為我們裝了的手機助手,豌豆莢或者其他軟體自帶有自己的adb,導致埠沖突開啟失敗。一般在連接出現異常,使用 adb devices 未正常列出設備, 設備狀態異常時使用 kill-server,然後運行 start-server 進行重啟服務。
列印 Android 的系統日誌
列印 mpsys、mpstate、logcat 的輸出,也是用於分析錯誤輸出比較多
列印日誌後重定向到一個文件中
安裝應用,覆蓋安裝是使用 -r 選項
注意:有些adb版本無法支持安裝中文的apk
查看手機應用包名
查看應用對應的apk文件在手機上的安裝位置則可以在上面的命令後加-f參數
卸載應用,後面跟的參數是應用的包名,請區別於 apk 文件名
'-k' means keep the data and cache directories , -k 選項,卸載時保存數據和緩存目錄
將 Android 設備上的文件或者文件夾復制到本地
adb pull /sdcard/test.txt C:\Users\Administrator\Desktop\log
推送本地文件至 Android 設備
獲取連接到的手機的序列號
獲取設備的連接狀態
等待設備連接成功
該命令將會阻塞一直到默認連接的那部機器狀態變為device,也就是連接成功。
其實adb shell命令就是調用的是Android設備中的system/bin目錄下的命令。
Android的內核本身就是Linux,所以Android本身也支持Linux命令,但是因為是手機系統,所以進行了一定的刪減,部分命令不支持,而不支持的部分,我們可以通過安裝busybox這個軟體進行。
如何在手機中執行Shell命令?
每次都加上adb shell來進行命令的發送與執行
先通過adb shell進入手機Shell執行狀態,然後直接輸入Linux命令。
使一個apk處於禁用狀態,相當於卸載了:
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile
eg:adb shell su disable com.UCMobile/.main.UCMobile
同時我們在手機上發現,UC瀏覽器的圖標不見了
讓一個apk從禁用狀態恢復過來
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobileeg:
adb shell su enable com.UCMobile/.main.UCMobile
同時我們從手機上發現,UC瀏覽器的圖標又出現了。
查看一個apk所在的路徑
adb shell pm path com.UCMobile
查看手機中裝的所有的包
屏幕開始錄像並且儲存到/sdcard中,同時名字為demo.mp4
錄屏設置時長10s,命名為demo.mp4
注意:現在僅支持一部分手機錄屏,不支持的手機會出現以下提示
解決方法:
安裝了scrcpy之後,只需要輸入如下命令,即可錄取指定設備的屏幕
scrcpy -s device --render-expired-frames -Nr ./demo.pm4
--render-expired-frames:盡可能最大幀率
-N:不在PC端展示
-r:錄制mp4/mkv文件
關閉設備請求,開啟設備
設備關機以及重啟
pm(package manager)可以獲取一些安裝到Android設備上的app的信息
pm list packages 用法:list packages [ options] filter
獲取所有的應用的包名
列出系統應用
列出第三方應用
查看它們的關聯文件
adb shell pm list package -f
查看軟體包的安裝來源
pm mp 包名 很多mp信息
安裝應用
apk如果在電腦用 adb install
如果在Android設備上用 adb shell pm install
卸載應用,同adb uninstall ,後跟包名
清除應用數據
am(activity manager,字面意思就跟activity有關,大家都知道Android的界面都是由一個個activity顯示的)
啟動一個Activity
獲取到package和launch_activity
AndroidSDK中aapt工具,檢索命令結果,可以獲取到package和launch_activity
這里涉及到一個點,如何找到程序的入口,首先你要知道是哪個activity才能啟動;
啟動華為系統相機
打開音樂播放器
播放指定音樂:
先停止目標應用,再啟動
等待應用完成啟動
啟動網頁(android.intent.action.VIEW具體參考Android官網)
結束應用
input
模擬輸入,向獲得焦點的EditText控制項輸入內容
返回主界面
發送一個點擊操作的指令,參數是<x> <y>坐標
從左往右滑動屏幕, /從 100 100 經歷300毫秒滑動到 200 200
長按操作,在 100 100 位置長按 1000毫秒
3. 軟體測試中常用的Linux命令有哪些
軟體測試必須掌握的----常用linux命令總結
Dotest測試學堂-董浩
命令 解釋
cd 進入目錄或退出至主目錄;例:「cd /home」 表示進入home目錄下
cd .. 退出至上一級目錄
cp
ifconfig 查看linuxIP的命令;註:ipconfig是查詢windowsIP的
修改IP即時生效:ifconfig eth0 192.168.1.155 netmask 255.255.255.0
rm -rf 強制刪除目錄或文件;r代表刪除目錄,f代表強制刪除
mv 移動文件或改名;例:「mv test /home」 表示將test移動至home目錄下;「mv test test1」表示將test改名為test1
mkdir 創建文件夾;例:「mkdir dodo」表示創建dodo文件夾
ps -ef 查看進程信息;ps -ef |grep ssh :查看ssh進程的信息
top 進程管理器;top -M
df 查看磁碟使用狀況 df -m
tar -xzvf 解壓安裝包;tar -xzvf +軟體包
apt-get install 下載並安裝;apt-get install +軟體包名
wget+網址 下載對應網址的軟體包
yum install + 軟體包 下載且安裝
rpm -ivh +軟體包 安裝以rpm結尾的軟體包;rpm -ivh +包名
./+可執行程序 ./jdk-6u31-linux-i586-rpm.bin:運行
find 查找系統中的文件;find / -name+文件名
find / -name apache:在當前目錄下搜索以apache開頭的文件
man 命令解析;「man find」 表示將find命令詳解展示
ls -l\ll\ls -a ls -l 和ll 是一樣的作用。ll是ls-l的別名。顯示詳細信息;ls -a:查看隱藏文件+詳細信息
kill -9 結束進程;kill -9 +進程號;kill -15
clear 清屏操作
cat 查看文件內容
pwd 查看當前目錄結構;絕對路徑
vi 編輯文件;註:編輯進入文件後,「i」:代表輸入;「a」:當前游標的下一位;「:wq」:代表退出並保存(在輸入狀態下,需按下Esc鍵);「:q!」:代表不保存退出;「x」:代表刪除單個字元;「dd」代表刪除一行數據。
shift+g:快速到最後一行
/+匹配的內容:退出編輯狀態下,向下快速搜索匹配內容【n:尋找下一個】
?+匹配的內容:退出編輯狀態下,向上快速搜索匹配內容【n:尋找下一個】
touch 表示創建文件;touch .dotest:創建隱藏文件
chmod 給文件以許可權;2:寫;4:讀;1:運行;例:chmod 461 test;表示:給文件擁有用戶寫的許可權,所在組讀寫許可權,其它組用戶運行許可權。
chmod -R 777 wenjianjia:給我文件夾及文件夾下面的所有文件賦值許可權
useradd useradd dotest:創建dotest用戶
passwd passwd dotest :給用戶設置密碼;密碼輸入兩次且不顯示
su 切換用戶;「su - root」切換至root賬戶
whoami 查看當前登錄的是哪個用戶
service 服務名 restart 重啟某個服務;service mysql restart【重啟資料庫】\service network restart【重啟網卡】
重啟網卡 /etc/init.d/network restart
grep grep 1 dotest:搜索文件dotest中匹配包含1所有的信息並顯示出來
history history查看歷史命令
tail 滾動查看日誌;tail + 數量 + 文件名
tail -f log【滾動查看日誌】
tail -n 5 logs 【查看最後5行】
head 匹配前幾行;head -n 4 log
重啟系統 reboot
關機 shutdown 0
date 查看時間;
date -s "2018-03-05 9:00:00"
常用文件 /etc/rc.local;存放自啟動命令的
/etc/profile;存放環境變數設置;
source /etc/profile 快速生效
/etc/sysconfig/network-scripts中的ifcfg-eth0;查看網卡信息的
/etc/crontab;定時任務;
* * * * * +要執行的腳本【完整路徑】
o minute: 區間為 0 – 59
o hour: 區間為0 – 23
o day-of-month: 區間為0 – 31
o month: 區間為1 – 12. 1 是1月. 12是12月.
o Day-of-week: 區間為0 – 7. 周日可以是0或7
例子:
每個月的第一天 1:10 p.m 運行
10 13 1 * * /root/bin/full-backup.sh
查看主機名 hostname
修改主機名 vi /etc/hosts或者hostname + 主機名
軟體包 --version 查看版本信息;
svnserve --version
java --version
4. ubuntu常用命令
②cd / ##打開系統根目錄
③ls ##列出文件和目錄
④cd /home
⑤cd 和 cd ../..和 cd ~類似 ##進入用戶主目錄
⑥cd /etc ##該目錄下存放著系統和軟體的配置文件
⑦cat fstab ##其中定義了各硬碟分區所掛在的目錄路徑
⑧pwd ##顯示當前所在的目錄
⑨cd .. ##退到上一級目錄
①ls -F ##會自動在列出的可執行文件後面加*,目錄後面加/,鏈接後面加@
②ls –a ##查看該目錄下的隱藏文件,默認前面加.
③ls –l ##可以查看該目錄下文件的屬性,會顯示後綴名
④ls /etc ##ls命令後面還可以跟路徑,查看該路徑下的內容
⑤dir /etc ##列出目錄內容和ls相似
⑥vdir /etc ##和ls –l相似,列出目錄和文件的詳細信息
⑦cat 文件名 ##查看文本文件
⑧cat –n 文件名 ##主要是-n可以顯示行號
⑨more 文件名 ##類似於cat,它適合於查看大文件,進行一頁一頁的查看,空格鍵向下查看一頁,enter鍵向下查看一行,按q鍵退出
⑩head 和 tail 指令可以查看指定文件的頭和尾,並指定顯示的行數,例如:head –n 2(行數) 文件名
⑪less /etc/con.cfg ##類似於more,文本閱讀指令,less指令執行完後會有一個:,如果想向下翻頁按空格鍵,如果想向上翻頁按B鍵,如果想搜索一個字元串可以用/字元串來搜索,最後按q鍵退出
① grep un day ##可以在文件day中查找包含un的行,可以快速找到,也可以指定多個文件,例如:grep unday weather;
② grep 『struct list』stack.h ##如果要查找關鍵詞,必須用單引號括起來
① firefox ##從終端啟動火狐瀏覽器或firefox&
② whereis -b find ##查找特定程序文件,-b使用來查詢這個文件的可執行二進制文件,如果沒有找到返回一個空的字元串
③ who ##該指令可以查看當前伺服器中有哪些用戶登錄
④ whoami ##查看當前登錄用戶
⑤ uname–a ##顯示當前系統的所有有用信息
⑥ uname–r ##只顯示當前系統的內核版本信息
⑦ man find ##尋求幫助命令,可以查看命令的使用手冊等
① rm test
刪除指令,刪除文件test
② cd ~
mkdir picture document
③ mkdir~/picture/temp
④ mkdir –p ~/picture1/temp
⑤ touch helloworld
⑥ ls –l test.php
⑦ touch test.php
更新文件創建的日期
⑧ mv hello /bin
mv photos/ /bin
當一個目錄下有相同名的文件時,mv指令移動文件會覆蓋原有文件,並沒有任何提示。因此mv指令提供了-i選項,用來進行提示,避免覆蓋出錯
⑫ rmdir home ##刪除目錄指令,只能刪除空目錄
⑬ rm /home/ .php ##刪除文件或目錄指令,刪除後不能恢復且不會提示刪除,我們可以使用-i選項來讓他進行提示,避免刪除錯誤(rm –i /home/ .php),對於只讀文件的刪除,不加-i選項也會提示
⑭ rm –f hello_bak ##對於只讀文件的刪除,如果確定要刪除,避免進行交互操作,可以用-f選項直接刪除,他的默認回答是y。
⑮ rm -r /home ##遞歸的進行刪除,連同子目錄一塊刪除
簡單命令六:許可權設置
r(讀),w(寫),x(執行)三種許可權
① ls -l /home/login ##帶有-l的ls指令可以查看文件的完整屬性,包括許可權等。
② ls -lb /home ##查看目錄完整屬性,用-lb選項
③ ls -l ##不帶文件名作為參數,表示列出當前目錄下的所有文件
③ su ##切換到root用戶
掛載
卸載
命令用於查看使用空間,命令是對文件和目錄磁碟使用的空間進行查看
實例:
安裝:apt-get install tree
直接輸入tree命令會自以樹形列出當前目錄的文件和文件夾,不加任何參數,tree會自動列出當前目錄下所有深度級別的文件和目錄
導出目錄到文件
In命令用來為文件創建連接,連接類型分為硬連接和符號連接,默認的鏈接類型是硬連接。如果要創建符號連接必須使用-s選項
硬連接
在執行ln命令之前,/usr/test1.c中不存在test1.c。執行之後,在/usr目錄中才有test1.c,表明存在於/opt/test.c和/usr/test1.c這個目錄連接起來。
軟連接
也就是在/usr/test1.c目錄下建立符號鏈接指向/opt/test.c這個文件
.tar.gz
.tar.bz2
.tgz
.zip
.rar
.tar
.gz
.bz2
.bz
Alt + F1 :聚焦到桌面左側任務導航欄,可按上下鍵進行導航
Alt + F2 :運行命令
Alt + F4 :關閉當前窗口
Alt + Tab :切換程序窗口
Alt + 空格 :打開窗口菜單
PrtSc :桌面截圖
Win + A :搜索/瀏覽程序
Win + F :搜索/瀏覽文件
Win + M :搜索/瀏覽音樂文件
Win :搜索/瀏覽程序、文件、音樂文件等
alt+Tab : 電腦多屏幕切換
wn+p :電腦多個屏幕調節
win+Tab :打開界面選擇切換
win+數字 :左側菜單數字切換
ctrl+箭頭 :每次向左或向右跳過一個單詞
ctrl+Tab :瀏覽器切換
win+r :刷新網頁
Ctrl + Alt + T :打開終端
Tab :命令或文件名自動補全
Ctrl + Shift + C :復制
Ctrl + Shift + V :粘貼
Ctrl + Shift + T :在同一個窗口新建終端標簽頁
Ctrl + Shift + W :關閉標簽頁
Ctrl + Shift + N :新建終端窗口
Ctrl + Shift + Q :關閉終端窗口
Ctrl + Shift + PageUp :標簽頁左移
Ctrl + Shift + PageDown :標簽頁右移
Ctrl + D :關閉標簽頁
Ctrl + L :清除屏幕
Ctrl + C :終止當前任務
Ctrl + P :顯示上一條歷史命令
Ctrl + N :顯示下一條歷史命令
Ctrl + R :反向搜索歷史命令
Ctrl + J/M :回車(同enter鍵功能)
Ctrl + A :游標移動到行首
Ctrl + E :游標移動到行尾
Ctrl + B :關閉想後移動一個位置(backward)
Ctrl + Z:把當前任務放到後台運行
Ctrl + PageUp :前一個終端標簽頁
Ctrl + PageDown :下一個終端標簽頁
F1 :打開幫助指南
F11 :全屏切換
Alt + F :打開「文件」菜單(file)
Alt + E :打開「編輯」菜單(edit)
Alt + V :打開「查看「菜單(view)
Alt + S :打開「搜索」菜單(search)
Alt + T :打開「終端」菜單(terminal)
Alt + H :打開「幫助」菜單(help)
Ctrl + → :游標移動到上一個單詞的詞首
Ctrl + ← :游標移動到下一個單詞的詞尾
Ctrl + T :將游標位置的字元和前一個字元進行位置交換
Ctrl + U :剪切從行的開頭到游標前一個位置的所有字元
Ctrl + K :剪切從游標位置到行末的所有字元
Ctrl + Y :粘貼Ctrl + U/Ctrl + K剪切的內容
Ctrl + H/* :刪除游標位置的前一個字元(backspace鍵功能)
Ctrl + D :刪除游標位置的一個字元(delete鍵功能)
Ctrl + W :刪除游標位置的前一個單詞(Alt + Backspace組合鍵功能)
Ctrl + & :恢復Ctrl + H/D/W刪除的內容
Ctrl + Win + ↑ :最大化當前窗口
Ctrl + Win + ↓ :還原/最小化當前窗口
Ctrl + Win + D :最小化所有窗口
Win + W :展示所有窗口
Win + T :打開回收站
tttt2次連續Tab/4次連續Esc/2次連續Ctrl + I:將顯示所有命令和工具名稱
Ctrl + N :新建文檔
Ctrl + W :關閉文檔
Ctrl + S :保存文檔
Ctrl + Shift + S :另存為
Ctrl + F :搜索
Ctrl + H :搜索並替換
Ctrl + I :跳到某一行
Ctrl + C :復制
Ctrl + V :粘貼
Ctrl + X :剪切
Ctrl + Q :退出
5. 我的世界的各種指令。
按「T」或直接輸入「/」打開語言欄,即可在語言欄中輸入指令
/clear 清空背包
/difficulty 調整難度(0:和平 1:簡單 2:普通 3:困難)
/effect 獲得效果(1速度 2緩慢 3急迫 4挖掘疲勞 5力量 6瞬間治療 7瞬間傷害 8跳躍提升 9反胃 10生命恢復 11抗性提升 12防火 13水下呼吸 14隱身 15失明 16夜視 17飢餓 18虛弱 19中毒)
/enchant 手中的裝備會被附魔(目前不清楚附魔ID)
/gamemode (0:生存 1:創造 2:冒險)
/give <玩家名> <物品ID> <數量> (給東西的指令)
/me 命令台會跟你賣萌
/playsound <文件名> <玩家名> <坐標(x,y,z)> <音量>
/say <文本信息>會讓命令台發送廣播消息
/give給予人 物品id 數量 - 給予某人物品,如果不寫數量則給予數量默認為64
/nick ID名稱 -給某人改一個名 ID是加白名單的名字
/backup-運行備份命令
/fireball-發射一個火球(會破壞方塊)
/heal name-治療某人
/invsee name-查看某人的包裹
/lingtning name-天譴(不填寫名字會雷擊滑鼠指向的地方)
/mute name-禁言某人
/ping-乒乓
/seen name-查看某人最後退出的時間
/tp name1 name2-將人物1傳送至人物2身旁
/tp name-將自己傳送至某人身旁
/tphere name-將某人傳送至自己身旁
/tpall-將伺服器內的所有人傳送至自己身旁(大傳送陣)
/unlimited id-給予自己無限的某物品
/weather storm/sun time-改變天氣,雷雨或晴天
/mmoedit name skname rank-如果安裝了MCRPG插件可以用這個命令改變某人的某項技能等級unarmed
/forestgen-在自己身旁形成森林
/pumpkins-在自己身旁形成南瓜林(帶葉子的南瓜林)
/snow-在自己的身旁成為雪後的樣子
/thaw-融雪(和冰)
/butcher-殺死附近的怪物
/tree樹形 -生成一棵樹(樹形不填也可以)
6. linux基本命令
Linux 對我們的生活產生了巨大的沖擊。至少你的安卓手機使用的就是 Linux 核心。盡管如此,在第一次開始使用 Linux 時你還是會感到難以下手。因為在 Linux 中,通常需要使用終端命令來取代 Windows 系統中的點擊啟動圖標操作。但是不必擔心,這里我們會介紹 10 個 Linux 基本命令來幫助你開啟 Linux 神秘之旅。
幫助新手走出第一步的 10 個 Linux 基本命令
當我們談論 Linux 命令時,實質上是在談論 Linux 系統本身。這短短的 10 個 Linux 基本命令不會讓你變成天才或者 Linux 專家,但是能幫助你輕松開始 Linux 之旅。使用這些基本命令會幫助新手們完成 Linux 的日常任務,由於它們的使用頻率如此至高,所以我更樂意稱他們為 Linux 命令之王!
讓我們開始學習這 10 條 Linux 基本命令吧。
1. sudo
這條命令的意思是「以超級用戶的身份執行」,是 SuperUserDo 的簡寫,它是新手將要用到的最重要的一條 Linux 命令。當一條單行命令需要 root 許可權的時候,sudo命令就派上用場了。你可以在每一條需要 root 許可權的命令前都加上sudo。
$ sudo su
2. ls
跟其他人一樣,你肯定也經常想看看目錄下都有些什麼東西。使用列表命令,終端會把當前工作目錄下所有的文件以及文件夾展示給你。比如說,我當前處在 /home 文件夾中,我想看看 /home 文件夾中都有哪些文件和目錄。
/home$ ls
在 /home 中執行ls命令將會返回類似下面的內容:
imad lost+found
3. cd
變更目錄命令(cd)是終端中總會被用到的主要命令。它是最常用到的 Linux 基本命令之一。此命令使用非常簡單,當你打算從當前目錄跳轉至某個文件夾時,只需要將文件夾鍵入此命令之後即可。如果你想跳轉至上層目錄,只需要在此命令之後鍵入兩個點 (..) 就可以了。 舉個例子,我現在處在 /home 目錄中,我想移動到 /home 目錄中的 usr 文件夾下,可以通過以下命令來完成操作。
/home $ cd usr
/home/usr $
4. mkdir
只是可以切換目錄還是不夠完美。有時候你會想要新建一個文件夾或子文件夾。此時可以使用 mkdir 命令來完成操作。使用方法很簡單,只需要把新的文件夾名跟在 mkdir 命令之後就好了。
~$ mkdir folderName
5. cp
拷貝-粘貼-and-paste是我們組織文件需要用到的重要命令。使用 cp命令可以幫助你在終端當中完成拷貝-粘貼操作。首先確定你想要拷貝的文件,然後鍵入打算粘貼此文件的目標位置。
$ cp src des
注意:如果目標目錄對新建文件需要 root 許可權時,你可以使用 sudo命令來完成文件拷貝操作。
6. rm
rm 命令可以幫助你移除文件甚至目錄。如果不希望每刪除一個文件都提示確認一次,可以用-f參數來強制執行。也可以使用-r參數來遞歸的移除文件夾。
$ rm myfile.txt
7. apt-get
這個命令會依據發行版的不同而有所區別。在基於 Debian 的發行版中,我們擁有 Advanced Packaging Tool(APT)包管理工具來安裝、移除和升級包。apt-get 命令會幫助你安裝需要在 Linux 系統中運行的軟體。它是一個功能強大的命令行,可以用來幫助你對軟體執行安裝、升級和移除操作。
在其他發行版中,例如 Fedora、Centos,都各自不同的包管理工具。Fedora 之前使用的是 yum,不過現在 dnf 成了它默認的包管理工具。
$ sudo apt-get update
$ sudo dnf update
8. grep
當你需要查找一個文件,但是又忘記了它具體的位置和路徑時,grep命令會幫助你解決這個難題。你可以提供文件的關鍵字,使用grep命令來查找到它。
$ grep user /etc/passwd
9. cat
作為一個用戶,你應該會經常需要瀏覽腳本內的文本或者代碼。cat命令是 Linux 系統的基本命令之一,它的用途就是將文件的內容展示給你。
$ cat CMakeLists.txt
10. poweroff
最後一個命令是 poweroff。有時你需要直接在終端中執行關機操作。此命令可以完成這個任務。由於關機操作需要 root 許可權,所以別忘了在此命令之前添加sudo。
$ sudo poweroff
總結
如我在文章開始所言,這 10 條命令並不會讓你立即成為一個 Linux 大拿,但它們會讓你在初期快速上手 Linux。以這些命令為基礎,給自己設置一個目標,每天學習一到三條命令,這就是此文的目的所在。
7. 別不信!掌握好這20條Linux基礎命令,讓你的操作效率直接雙倍
今日分享開始啦,請大家多多指教~
linux 系統中採用了多用戶的管理方式使用系統
默認用戶是root,有最高的許可權。(在終端顯示為 #)
普通用戶為:$
在linux系統中沒有盤符的概念,以樹的形式管理文件
整個系統的根文件為 /
# 目錄結構
linux系統中命令的使用
在使用linux系統命令的時候,嚴格區分大小寫
使用命令的語法: 命令 [-選項] 參數
clear 清屏
1.ls命令
ls 顯示文件和目錄列表(list)
常用參數:
-l (long) 長格式顯示文件和目錄信息
-a (all) 顯示所有文件和目錄(包含隱藏文件和目錄)
-R 遞歸顯示指定目錄下的文件清單,即會顯示指定目錄分支內各子目錄中的文件清單。
ls -R ,會遞歸顯示目錄下的文件。
查看指定目錄下的文件
ls /(指定目錄) 例如:ls /etc
查看文件和目錄的組合使用命令
例如 ls -la 指定目錄 查看目錄下所有文件並且長格式展示
2. cd 命令
cd 切換的目錄名
pwd 顯示當前所在目錄
cd /root 回家目錄 或者 cd ~ 或者 cd 快速回家
3.常用操作文件命令
4.ls -l 長格式說明
5.網路相關命令
ip addr 查看當前伺服器地址
簡寫: ip a
ping ip地址 測試網路連通性
會一直ping 。Ctrl+c 結束
6.壓縮相關命令
tar 命令
-c 建立一個壓縮文件的參數指令(create) 打包 .tar
-x 解開一個壓縮文件的參數指令(extract)解壓
-z 是否要用 gzip 壓縮 壓縮 .tar.gz
-v 壓縮過程中顯示文件(日誌)
-f 指定打包名字,f後緊跟名字(必有)
例如: tar -zcvf linux.tar.gz aa.txt bb.txt
tar -zxvf linux.tar.gz
7.centos獨有 服務命令
systemctl
8.進程相關
ps 查詢當前控制台上運行的進程
動態顯示進程 top
殺死進程 kill
9.vi 命令
vi /vim 是linux最常用的文本編輯器,功能非常強大。
vi 有三種模式 :
常用命令
10.軟體相關的命令
rpm 命令 需要有rmp 的安裝包
rpm -ivh gcc-c+ 4.4.7-3.e16.x86_64.rpm
yum命令 [好用,自動檢測依賴下載]
使用yum命令必須連接外部網路。
11.用戶和組相關命令
1.查看當前用戶:whoami
查看登錄用戶:who
退出用戶 exit
添加、刪除組賬號:groupadd、groupdel
添加用戶賬號:useradd
設置用戶名密碼:passwd [用戶名]
su 切換用戶
12.許可權相關命令
linux 文件有三種許可權,r讀,w寫,x執行;r=4,w=2,x=1
chmod
今日份分享已結束,請大家多多包涵和指點!
如何獲取?
轉發分享此文,後台私信我:「1」即可獲取。(註:轉發分享,感謝大家)
8. Linux常用命令
列出當前目錄的文件
常用參數:
-a: 顯示當前目錄的所有文件,包含隱藏文件;
-l: 顯示文件詳情;
-Z: 顯示文件的 SE Linux context。
示例:ls -laZ [if !vml] [endif] 以 acct 為例: drwxr-xr-x:其中 d 代表該文件為目錄,若為 l 則為軟鏈接,軟連接後又箭頭代表其實際指向的文件,如etc -> /system/etc 則訪問 etc 實際等同訪問/system/etc,留空則代表該文件為一個文件;rwxr-xr-x 代表其許可權為 755,具體演算法為將上述欄位每 3 個分為 1 組得 rwx,r-x,r-x,凡是有字母標記的皆計數 1,反之為 0,得二進制 111,101,101,轉為 10 進制數字即得7, 5,5 ,即為該文件許可權; root root :依次代表該文件的所有者(owner)為 root,用戶組(group)為 root,上述屬性可通過 chown 命令修改,日常替換文件需與原文件該屬性維持一致; unlabeled:代表 SE Linux context。
前往指定目錄
更改文件所有者和用戶組 示例:chown root:root temfile 將 tmpfile文件 的所有者和用戶組從 meidia:media 更改為 root:root
將文件內容顯示出來。
注意不要隨便去 cat 一個很大的文件或與 log 驅動節點無關的文件,否則將造成串口輸出亂碼或死機!!!示例:cat /proc/kmsg 將列印出所有 kernel log。
用於抓取 android logcat 列印。
常用參數:
-v : 設置列印格式,可用選項為 brief process tag thread raw time threadtime long,我們比較常用 logcat -v time,此時抓的 log 將在每一行開頭添加時間信息;
-s : 設置過濾器,過濾器的選擇取決於軟體中列印 log 時使用的 TAG ,如
ActivityManagerService.java 中的列印使用的 TAG = ActivityManager,則抓相關列印方法為 logcat -s ActivityManager;
-c : 清除 log 緩存,常用於清除之前的列印緩存,如復現某個必現問題,則可先執行 logcat -c 再抓 logcat 重現必現手法以排除無關 log 冗餘信息影響問題定位; pm
包管理命令,用於管理安卓 app 應用。
常用參數:
-l : 顯示所有安裝包應用,等同於 pm list packages
以 package:/system/priv-app/Launcher2.apk=com.android.launcher 為例:
Apk Launcher2 路徑位於/system/priv-app/Launcher2.apk,其包名為 com.android.launcher
path : 根據報名返回所在 apk 路徑
install : 安裝 apk
-r :安裝一個已經存在的 apk 並保留其數據;
-d : 允許降級安裝
如:pm install -r xxx.apk
uninstall : 卸載 apk,命令僅支持卸載 data/app,後接包名;
如:pm uninstall com.sys.migusmartlink.ott.tv //卸載包名為 com.sys.migusmartlink.ott.tv 的 apk
隨機測試指令,會自動模擬一些用戶操作對 APP 進行壓力測試。
常用參數:
-p :指定啟動的 APK,我們比較常用的是 monkey -p com.xxx.yyy 1 來啟動一個 apk 的隨機頁面。
用於啟動和管理 activity 和 service
常用參數:
start : 後接 intent 啟動一個頁面;
startservice : 後接 intent 啟動一個 service; stopservice :後接 intent 停止一個 service; broadcast :後接一個 intent 發送一個廣播; kill :後接一個 app 包名,殺掉該 app 所有進程;在 shell 環境下用如下參數表述一個 intent:
[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
[-c <CATEGORY> [-c <CATEGORY>] ...]
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
[--esn <EXTRA_KEY> ...]
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
[--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
[--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...]
[--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> ...]
[--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...]
[--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>]
[--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
[--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
[--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
[-n <COMPONENT>] [-f <FLAGS>]
示例:
如我們在 logcat 抓到如下列印啟動了播放器:
START u0 {act=android.intent.action.VIEW dat=file:///storage/external_storage/sda1/[4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 typ=video/* flg=0x13000000 cmp=com.meson.videoplayer/.VideoPlayer} from pid 15204
則我們可以使用如下 am 指令來啟動它:
am start -a android.intent.action.VIEW -d file:///storage/external_storage/sda1/[4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 -t video/* -f 0x13000000 -n com.meson.videoplayer/.VideoPlayer am start -n com.android.settings/.Settings //啟動原生安卓設置主頁
am broadcast -a com.chinamobile.action.KEY_PRESS_DOWN --ei keyCode 11 && am broadcast -a com.chinamobile.action.IR_TEST --es irphycode "0x008EDD22" //發送廣播
查找命令,查找文件中是否包含指定字元串並輸出該行示例:
grep -rns "repeat" /system/etc/remote1.conf //找出/system/etc/remote1.conf 所有包含 repeat 的行並展示行號
參數說明:
-a:此選項通常在復制目錄時使用,它保留鏈接、文件屬性,並復制目錄下的所有內容。其作用等於dpR參數組合。
-d:復制時保留鏈接。這里所說的鏈接相當於Windows系統中的快捷方式。
-f:覆蓋已經存在的目標文件而不給出提示。
-i:與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答"y"時目標文件將被覆蓋。
-p:除復制文件的內容外,還把修改時間和訪問許可權也復制到新文件中。
-r:若給出的源文件是一個目錄文件,此時將復制該目錄下所有的子目錄和文件。
-l:不復制文件,只是生成鏈接文件。
命令示例:cp -a a parentPath/sonPath/ a對應當前文件夾下目錄或文件名 可替換為絕對路徑
移動指令,等效於 windows 的移動和重命名。
示例:
mv /data/tmp1 /data/local/tmp2 //將 data/tmp1移動到/data/local/ 並重命名為 tmp2
刪除指令,用於刪除文件和文件夾,示例:
rm -rf tmp // 刪除 tmp,建議加上-rf參數,其會刪除 tmp 所有的目錄和文件。
創建目錄。常用參數:
-p :若 mkdir -p 後接路徑包含不存在路徑則一並創建。
同步命令,常用於 cp 替換文件或指令結束後同步狀態,有益無害。
重定向,即將一個命令的輸出指向另外路徑的文件,使用覆蓋模式,即重定向到的文件若存在將覆蓋裡面的內容。
示例:
logcat > /data/xxx.log; //將 logcat輸出到/data/xxx.log;
cat /proc/kmsg > /data/kmsg.log; //將 kmsg 列印輸出重定向到/data/kmsg.log
重定向,即將一個命令的輸出指向另外路徑的文件,使用拼接模式,即重定向到的文件若存在則將輸出拼接到原文件的後面。
示例:
logcat > >/data/xxx.log; //例如我們做 netreboot的時候需要每一次開關機的 log,則會用拼接模式記錄log。
將指令放至後台靜默執行。
依次執行指令,若有指令執行失敗,則後續指令不會執行。
示例:
logcat -c && logcat //先清除 logcat 緩存再抓取 log
9. Linux文本操作常用命令
在Linux系統里常用於文本查看、操作、統計的命令:
通過多敲鍵盤,形成手感 肌肉記憶 ,熟練掌握這些命令,在以後生信分析中游刃有餘。以下是每個命令的詳細的介紹(主要是跟著 生信技能樹小郭老師 學習做的筆記)
接下來通過示例把10個命令的常用參數和用法展示出來:
參數的用法介紹:
注意事項:
用 cat 命令可以 查看文本 ,也可以 編輯文本 ,編輯文本要加 > 符號,退出時,另起一行,按 control C 退出
zcat可以查看壓縮的文本文件,tac逆向查看
結合 管道符| 使用
head / tail -n :查看文件的前 / 後 n 行,默認 10 行 (在R語言里head和tail默認是前6行)。
less命令用得最多 ,more命令用得比較少
3.1 less命令
less [參數] 文件名
less命令重要的補充用法1 :
需要注意 退出 :只要使用less命令, 按q鍵
less命令重要的補充用法2 :
參數用法:
less命令 不加參數 查看文件:
less命令加 -N參數 查看文件:顯示行號
less命令加 -S參數 查看文件:單行顯示,非常規整
對比:less和cat命令顯示文本行號的用法:less -N,cat -n
3.2 more命令
**more ** 逐頁查看,按空格翻頁,按回車換行 ,more命令一般很少用,熟練掌握less命令就好
查看壓縮文件
wc 統計字元是也把換行符統計進去,但是別的命令不一定會把換行符算進去,。
常見參數:
切記:用less命令,按q退出
cut命令是按關鍵詞來切的
常見參數:
排列前:
排列後:
解釋:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。
命令行查看一個表格結構時,因為製表符對齊的原因,出現一個錯位的現象。還有 字典排序 可能和我們平時的認知不一樣,所以 加上-n參數 , 讓數值有數學意義上的大小來排序 。
uniq命令去重,只有兩行出現重復,而且是相鄰的兩行,如果不相鄰,即使出現兩行一模一樣,不會去重。
uniq命令通常和sort命令搭配使用
換其它文件試試
總之,uniq命令使用時經常和sort一起
常見參數:
常見用法1:
paste file1 file2
-s :按行合並 演示
常見用法2 : paste - -
常見參數:
要養成一個好習慣,原始數據不要輕易修改,修改的東西另外保存,文本保存用> (重定向)或是 >>(追加)
1. 用 less 查看 example.gtf ,然後管道符傳遞給 wc
2. 截取 example.gtf 第 9 列的內容
3. 在第2步的基礎上截取分號分割的第1列
4. 在第3步的基礎上排序、去重復並統計
5. 在第4步的基礎上,將空格替換成製表符
補充小知識 :
清屏 :control L
查看歷史(輸入過的)命令 :history