1. 程式人生 > 實用技巧 >百度導航sdk錯誤日誌

百度導航sdk錯誤日誌

Linux基礎

Linux常用命令

  • useradd 建立新使用者
  • passwd 為使用者設定密碼
  • userdel 刪除使用者
  • su 切換使用者,suswitch user 的縮寫,從新的使用者狀態下輸入 exit 即可退回到剛才的使用者狀態
  • date 顯示系統時間
  • cal 顯示日曆
    cal 3 2003 顯示2003年3月的日曆
  • timedatectl status 顯示詳細時間
  • clear 清屏
  • ls list的縮寫,顯示資料夾內的目錄和檔案
  • cd 進入目錄
    cd .. 進入父目錄,cd / 進入根目錄,cdcd ~ 進入home下的使用者目錄
  • tree 顯示樹形的層級目錄結構,非原生命令,需要安裝tree
  • pwd 顯示當前所在目錄
  • mkdir 建立一個新目錄
  • mkdir -p 級聯建立新目錄,即使上級目錄不存在,會按目錄層級自動建立目錄,好處是一次可以建立多級資料夾
  • rmdir 刪除一個空資料夾,如果目錄非空,會出現錯誤資訊 Directory not empty
  • rmdir -p 級聯刪除空資料夾
  • touch 建立檔案,當檔案不存在時,則建立一個新的檔案。touch只能建立空檔案,可更改檔案或目錄的日期時間,包括存取時間和更改時間
    例:touch test.txt 在當前目錄下建立test.txt(注:Linux下沒有檔案字尾名區分檔案型別之說,系統檔案型別只有可執行檔案和不可執行檔案)
  • vim
    編輯檔案,如果檔案不存在,則建立檔案
  • chmod 修改檔案或目錄的許可權
  • cat 從第一行開始顯示檔案內容
  • tac 從最後一行開始顯示檔案內容
  • more 功能類似於cat,more會一頁一頁的顯示,按space空格鍵顯示下一頁,按b鍵上一頁顯示
  • less 與more功能類似,less可以隨意瀏覽檔案,more僅能向前移動,不能向後移動,而且 less 在檢視之前不會載入整個檔案
  • head 顯示檔案的開頭內容,預設顯示前10行,head test.txt -n 20 head -n 20 test.txt 顯示檔案的前20行內容
  • tail 顯示指定檔案末尾內容,不指定檔案時,作為輸入資訊進行處理,常用檢視日誌檔案,tail test.txt -n 20
    tail -n 20 test.txt 顯示檔案的後20行內容
  • rm 刪除檔案,不能刪除目錄
  • rm -f 強制刪除檔案,不能刪除目錄
  • rm -rf 遞迴強制刪除資料夾下的所有資料夾和檔案
  • cp 將檔案複製到指定目錄
  • mv 移動目錄或檔案,重新命名目錄或檔案
    例:mv 557.txt ../a12 將557.txt檔案移動到父目錄的a12資料夾下,mv a12 a34 將目錄a12重新命名為目錄a34
  • grep 強大的文字搜尋命令
    grep 23 test.txt 在當前目錄中,test.txt檔案中包含23字元的行,並打印出該字串的行
  • ln 建立連結
  • echo
  • which 檢視可執行檔案的位置
  • whereis 檢視檔案的位置
  • locate 配合資料庫檢視檔案位置
  • find 實際搜尋硬碟查詢檔名稱
  • tar 用來壓縮和解壓檔案。tar 本身不具有壓縮功能,只具有打包功能,有關壓縮及解壓是呼叫其它的功能來完成。弄清兩個概念:打包和壓縮。打包是指將一大堆檔案或目錄變成一個總的檔案;壓縮則是將一個大的檔案通過一些壓縮演算法變成一個小檔案,tar -cvf log.tar 1.log,2.log 將兩個檔案打包成tar包
  • chown 將指定檔案的擁有者改為指定的使用者或組,使用者可以是使用者名稱或者使用者 ID;組可以是組名或者組 ID
  • lsblk 檢視當前磁碟狀況,sata硬碟名稱一般都為sd開頭,ssd硬碟名稱為nvme開頭
  • df 顯示磁碟空間使用情況。獲取硬碟被佔用了多少空間,目前還剩下多少空間等資訊,如果沒有檔名被指定,則所有當前被掛載的檔案系統的可用空間將被顯示。預設情況下,磁碟空間將以 1KB 為單位進行顯示
  • du 檢視目錄和檔案所使用磁碟空間的大小,du -h ./test.txt 以易讀方式顯示當前目錄下test.txt檔案的大小
  • wc 統計指定的檔案中的行數,單詞數,位元組數,檔名,並將統計結果輸出
    cat test.txt | wc -l 統計輸出結果的行數
  • ps 檢視當前執行的程序狀態
  • top 顯示當前系統正在執行的程序的相關資訊,包括程序 ID、記憶體佔用率、CPU 佔用率等
  • kill 終止程序
    kill -9 $(ps -ef | grep pro1) 先使用ps查詢程序pro1,然後用kill殺掉
  • free 顯示系統記憶體使用情況,包括實體記憶體、互動區記憶體(swap)和核心緩衝區記憶體
  • netstat 顯示網路狀態,首先要安裝net-tools
  • sync 在記憶體中尚未被更新的資料被寫入硬碟中
  • uname -a uname -r 檢視當前作業系統版本的核心資訊
  • cat /proc/version 檢視當前作業系統版本資訊
  • cat /etc/issue cat /etc/redhat-release 檢視當前作業系統發行版資訊
  • cat /proc/cpuinfo 檢視cpu資訊
  • hostname 檢視主機名稱

Linux重要檔案

/etc目錄下的重要檔案

/etc/rc.local 存放開機自啟動內容的檔案。chkconfig -一般用來管理yum/rpm包裝的服務。
/etc/fstab 開機自動掛載檔案
/etc/inittab 執行級別的配置檔案
/etc/profile 環境變數配置檔案
/etc/bashrc 配置命令別名
/etc/motd 登陸系統後顯示檔案內容
/etc/issue /etc/issue.net 登陸系統前顯示
/etc/locale.conf 字符集配置檔案
/etc/passwd 賬號資訊檔案
/etc/shadow 賬號密碼資訊檔案
/etc/sudoers 可以執行sudo命令的配置檔案(許可權提升)
/etc/rsyslog.conf 日誌設定檔案,限C6.X
/etc/resolv.conf 設定Linux本地的DNS的配置檔案
/etc/host 域名和IP地址的對應關係

/var目錄下的重要檔案

/var/log/messages 預設的系統日誌檔案,非常重要
/var/log/secure 記錄系統登陸資訊
/var/spool/cron/root 定時任務crontab的預設路徑,按使用者名稱命令的檔案。
/var/spool/clientmqueqe sendmail臨時檔案目錄,需定時清理clientmqueue目錄垃圾檔案防止佔滿磁碟空間。

/proc目錄下的重要檔案

/proc 虛擬目錄,是記憶體的對映,核心和程序的虛擬檔案系統目錄
/proc/version 核心版本
/proc/cupinfo 關於處理器的資訊,如型別,型號和效能等
/proc/meminfo 系統記憶體資訊
/proc/interrupts 正在使用的中斷
/proc/loadavg 系統負載的資訊

/usr目錄下的重要檔案

/usr/local 自編譯安裝軟體存放目錄
/usr/src 核心原始碼存放目錄

/dev目錄下的重要檔案

/dev/sda磁碟
/dev/urandom (生成輸出隨機內容檔案)
/dev/urandom 生成隨機內容 tr + head
/dev/zero 不斷輸出資訊
/dev/null (黑洞 把東西放進去就沒了)
/dev/urandom 生成輸出隨機內容

Linux常用快捷鍵

  • vim中可輸入 /關鍵字 查詢該文件中的內容,查詢時 dd鍵 剪下一行命令,yy鍵 複製一行命令, gg鍵 回到文件頂部, x鍵 剪下一個字元, p鍵 貼上一行命令, n鍵 查詢下一個符合條件的資訊, esc鍵 :wq 儲存退出編輯狀態,
  • tab鍵提示命令或補全命令
  • ctrl+C停止當前程式
  • 有圖形介面的情況下,按CTRL+Alt+f1就可以切換到文字介面,按CTRL+Alt+f2就可以切換到圖形介面
  • 終端翻頁快捷鍵shift+pgup,shift+pgdn

基本知識

  • shell和bash的關係
    Shell 是一個用 C 語言編寫的程式,它是使用者使用 Linux 的橋樑。Shell 既是一種命令語言,又是一種程式設計語言。
    Shell 是指一種應用程式,這個應用程式提供了一個介面,使用者通過這個介面訪問作業系統核心的服務Shell 指令碼(shell script),是一種為 shell 編寫的指令碼程式。
    業界所說的 shell 通常都是指 shell 指令碼,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念

    bash(GNU Bourne-Again Shell)是最常用的一種shell。是當前大多數Linux發行版的預設Shell。其他的shell還有:sh、bash、ksh、rsh、csh等。Ubuntu系統常用的是bash,Bio-linux系統是基於ubuntu定製的,但是卻使用了zsh。

    sh的全名是Bourne Shell。名字中的玻恩就是這個Shell的作者。

    而bash的全名是Bourne Again Shell。最開始在Unix系統中流行的是sh,而bash作為sh的改進版本,提供了更加豐富的功能。一般來說,都推薦使用bash作為預設的Shell。

    Shell相當於是一個翻譯,把我們在計算機上的操作或我們的命令,翻譯為計算機可識別的二進位制命令,傳遞給核心,以便呼叫計算機硬體執行相關的操作;同時,計算機執行完命令後,再通過Shell翻譯成自然語言,呈現在我們面前。

    echo $SHELL 可以檢視當前Linux系統使用的shell型別

  • vi和vim的關係
    vi和vim都是Linux中的編輯器,不同的是vim比較高階,可以視為vi的升級版本,它不僅相容vi的所有指令,而且還包含一些新的特性,vi適用於文字編輯,vim更適用於coding。

    vi有3個模式:插入模式、命令模式、低行模式。

    1. 插入模式:在此模式下可以輸入字元,按ESC將回到命令模式。
    2. 命令模式:可以移動游標、刪除字元等。
    3. 低行模式:可以儲存檔案、退出vi、設定vi、查詢等功能(低行模式也可以看作是命令模式裡的)。

    vim一共有4個模式:

    • 正常模式 (Normal-mode)
    • 插入模式 (Insert-mode)
    • 命令模式 (Command-mode)
    • 可視模式 (Visual-mode)