Linux學習筆記

2021-09-30 18:08:15 字數 1827 閱讀 3613

設定行號(vi命令模式下使用)

set nonu :關閉行號

set nu :開啟行號

sp hello.c 在乙個.c檔案中呼叫另乙個檔案

ctrl ww 切換游標的所在的位置

查詢/加查詢的內容 也可以進入底行模式輸入字串查詢n查詢下乙個,shift n查詢上乙個

%s/要查詢的字串/要替換的字串/g g:代表所有

vim 的配置

/s/etc/vimrc vim 有關的**都在這個資料夾裡面,要配置則在這裡面修改,這裡的**的注釋用的是「,和c語言上的有些不同

gcc的使用

預處理:gcc -e hello.c -o hello.i(文字檔案)

編譯 :gcc -s hello.i -o hello.s(彙編**)

彙編 :gcc -c hello.s -o hello.o

鏈結 :gcc 所有的.o檔案 hello

gcc -i 指定標頭檔案的路徑,在同乙個目錄中則不用新增

比如在「/root/workplace/gcc」下有兩個檔案:

hello1.c:

#include

int main()

my.h:

#include

gcc -static 靜態鏈結

就可在gcc命令列中加入「-i」選項:

#gcc hello1.c –i /root/workplace/gcc/

-o hello1

工程管理器:$不明白是什麼意思

編寫makefile 檔案

target=helo

object=hello.o print.o

( ta

rget

):

(target):

(targe

t):shell程式設計

shell程式設計的檔案一般字尾為.sh

例如:#! /bin/bash

echo 「想要輸出在螢幕上的字串」

echo 「字串」 >檔名.txt :把字串放在這個檔案裡面,沒有則先建立

注意點:echo 類似與輸出乙個字串,>:轉向輸入符號,第二次用則之前的內容會被覆蓋 >> 這個符號不會被覆蓋

例如:cat 檔案1路徑 >>檔案2 把檔案1裡面的東西放在檔案二中

${} 引用

$數字 第幾個引數 如$1則是第乙個引數(類似於形參)

shell寫迴圈

vim test.sh

#!/bin/bash

for((i=0;i<5;i++))

doecho 「字串」

done

for i in 111 222 333 444

doecho $i

done

for i in $1 $2 $3 $4

domkdir $1

cd $i

echo > $1 「**」

done

if [$2 -gt 0 ]; then

echo 「…」

elif [ $2 -lt 0 ]; then

echo

遇到的問題

在呼叫數學庫時,顯示函式未定義

解決方法:在gcc編譯的時候加上-lm

-lm是連線數學庫;

-lm命令是使編譯的時候,鏈結數學庫, -lptread 鏈結執行緒庫,可以使自己編譯的庫 ;

g++編譯程式成為.o目標函式,然後需要和庫函式連線到一起;

gcc 在編譯時就可以將其替換為對應的值(gcc 優化的一部分),從而不需要鏈結 sqrt 所在的數學庫 libm;而像 sqrt(n); 這種呼叫,一般無法做這種替換,因此需要鏈結 libm。

學習筆記 Linux學習

echo i am whoami 反引號裡的內容會被當做命令執行 echo the cpu in my pc has cat proc cpuinfo grep c processor cores 等價於反引號 a 10 定義乙個變數,等號兩邊不能有空格 echo a的值為 a a的值為10 ech...

linux學習筆記

開機流程簡介 1 載入 bios 的硬體資訊,並取得第乙個開機裝置的代號 2 讀取第乙個開機裝置的 mbr 的 boot loader 亦即是 lilo,grub,spfdisk 等等 的開機資訊 3 載入 kernel 作業系統核心資訊,kernel 開始解壓縮,並且嘗試驅動所有硬體裝置 4 ke...

Linux 學習筆記

配置 telnet 服務 vi etc hosts.deny 在all all 行前加 號注釋,登出該行。新增一行all all 用 登出disable yes,或者修改為 disble no vi etc pam.d login 在auth required lib security pam se...