1. 程式人生 > >Linux程式設計:一、入門

Linux程式設計:一、入門

  1. ~/表示在使用者目錄Home下   /表示可以進入和home同等級的其他路徑,例如 cd /bin進入二進位制檔案目錄    cd /home/wjj進入命令列的預設路徑
    進入其他使用者:~/home/usrname
  2. 搜尋路徑(可以自己新增)有系統管理員配置
    /:根目錄,包含了幾乎所有的檔案目錄,相當於中央系統,cd /
    /boot 載入程式,核心等的存放目錄,例如grub.conf調整啟動的預設作業系統等引數

    /bin:普通使用者可使用命令存放目錄,例如ls cp mkdir
    /usr/bin:類似/bin,使用者二進位制檔案目錄,用於啟動存放使用者使用的標準程式
    /usr/local/bin:本地二進位制檔案目錄,用於存放軟體安裝的程式
    /opt:可選擇的檔案目錄,第三方應用程式,自己編譯的軟體包,可以放在此處
    /sbin或/usr/bin:super超級使用者可以使用的命令的存放目錄

    庫檔案:預先編譯好的函式集合。(例程見
    https://blog.csdn.net/vict_wang/article/details/84989858
    .a:傳統的靜態函式庫
    .so:共享函式庫,利用ldd + 程式名,可以檢視共享庫
    /lib:bin目錄下程式會用到的共享庫目錄
    /usr/lib:目標庫檔案,包括動態連線庫加上一些通常不是直接呼叫的可執行檔案的存放位置。
    使用-L來增加非標準搜尋路徑,類似於標頭檔案的-I
    eg:-L/usr/my/lib xllfred.c -lxll
    可以使用ar來歸檔自己的靜態庫,gcc -c對函式分別進行編譯。eg:

    /dev:裝置檔案目錄,裝置檔案可以用mknod建立
    /home:普通使用者的家目錄($HOME目錄),以使用者名稱作為名字存放在/home下面,例如/home/wjj
    /root:使用者root的$HOME目錄,超級使用者特殊,直接在/root下,不在/home下
    /etc或者/usr/etc:
    全域性的配置檔案存放目錄,另外,一些程式執行時會在當期目錄下生成一個配置檔案,存放當前使用者的配置
    /usr:命令庫檔案和在操作中不會修改的檔案,類似於ProgramFiles
    /usr/share:存放共享檔案的目錄

    標頭檔案:
    /usr/include:C程式語言編譯使用的標頭檔案,通過標頭檔案可以使用某些庫函式
    如果需要使用的標頭檔案不在標準位置/usr/include,則使用-I標誌來包含非標準位置的標頭檔案,eg:
    gcc -I/usr/my/inlcude fred.c
    表示查詢程式fred.c所包含的標頭檔案。(參考:C語言編譯的使用手冊)

    /proc:特殊檔案目錄,可以檢視內部資訊
    /mnt:臨時掛載目錄
    利用tree顯示樹形目錄結構tree -L 1,其中1代表一層。
    截圖快捷鍵shift+截圖
  3.  gcc hello.c -o hello
    ./hello
  4. 環境變數:參考https://www.jianshu.com/p/ac2bc0ad3d74
    1. Linux是一個多使用者多工的作業系統,可以在Linux中為不同的使用者設定不同的執行環境,具體做法是設定不同使用者的環境變數
      1.系統環境變數:系統環境變數對該系統中所有使用者都有效:/etc/profile檔案中新增變數
      vim /etc/profile    
        export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
      注:修改檔案後要想馬上生效還要執行source /etc/profile不然只能在下次重進此使用者時生效

      2.使用者環境變數:顧名思義,這種型別的環境變數只對特定的使用者有效:用vim ~/.bash_profile檔案中增加變數,改變                           量僅會對當前使用者有效,並且是“永久的”。
      注:修改檔案後要想馬上生效還要執行$ source ~/.bash_profile不然只能在下次重進此使用者時生效。
      3.臨時變數:只對當前shell(或子shell)有效:在shell的命令列下直接使用export 變數名=變數值

    2. 常見的環境變數:PATH、HOME、HISTSIZE、HOSTNAME、SHELL、LANG/LANGUGE、MAIL
      PATH:指定命令的搜尋路徑

      PATH宣告用法:
      PATH=$PAHT:<PATH 1>:<PATH 2>:<PATH 3>:--------:< PATH n >
      export PATH
      你可以自己加上指定的路徑,中間用冒號隔開。環境變數更改後,在使用者下次登陸時生效。
      可以利用echo $PATH檢視當前當前系統PATH路徑。

    3. 修改和檢視環境變數的命令
      echo 顯示某個環境變數值 echo $PATH
      export 設定一個新的環境變數 export HELLO="hello" (可以無引號)
      env 顯示所有環境變數
      set 顯示本地定義的shell變數
      unset 清除環境變數 unset HELLO
      readonly 設定只讀環境變數 readonly HELLO

    4. C程式呼叫環境變數函式
      getenv()返回一個環境變數。
      setenv()設定一個環境變數。
      unsetenv()清除一個環境變數。

  5. grep: 定位出包含指定字串的檔案
    eg:grep EXIT_ *.h

  6.