系統操作
sudo
#以其他身份執行命令,預設root
date
cal 2020
clear
#清屏shutdown -h now #關閉系統
init 0
telinit 0
shutdown -r now #重啟
reboot
#重啟logout
#登出
目錄操作
cd *** #在當前目錄下進入***目錄
#藍色為資料夾,白色為檔案,綠色為可執行檔案
cd..
#返回上一目錄
cd../..
#返回上兩級目錄
cd - #返回上次所在目錄
pwd#檢視當前路徑
檢視目錄
ls
#顯示當前目錄中的檔案
ls -l #顯示當前目錄檔案機資訊
ls -a #顯示所有檔案(包括隱藏)
建立
touch ***.*** #當前目錄下建立***.***檔案
mkdir *** #在當前目錄下建立***目錄(-p確保檔案已存在)
複製
cp *** target #將***複製到target目錄(不包括目錄),指定絕對目錄
cp -a *** target #將***的所有檔案及目錄複製到target
重新命名和移動
mv *** yyy #將當前目錄下的***檔案重新命名為yyy
mv *** source targrt #將***檔案從source目錄移動到target目錄,向外移指明絕對目錄
刪除操作
rm *** #刪除當前目錄下的***(目錄非空時無法刪除)
rmdir *** #刪除當前目錄下的***目錄
rm -rf *** #刪除***目錄及目錄下的內容
#指定絕對目錄
apt軟體工具
apt-get
install *** #安裝或更新乙個deb包
apt-get update #公升級列表中的軟體包
apt-get upgrade #公升級所有已安裝的軟體
開啟檔案
vim *** #用vim開啟當前目錄下的***檔案,若沒有則建立
一般模式/*** 向下查詢***,n上乙個重複操作(繼續向下查詢)
?*** 向上查詢***,n繼續向上查詢
編輯模式
在一般模式下按下i,o,a,r任意字母進入編輯模式
此時可以編輯**
按下esc退出編輯模式回到一般模式
命令列模式
按下: / ? 可進入命令列模式,使用命令列**進行儲存退出等操作
:w #儲存
:q #退出
:wq #儲存並退出
zz(shift+zz)
:set nu #顯示行號
:set nonu #取消顯示行號
使用g++命令
g++ ***.*** #預設編譯方式,生成a.out
g++ -std=c++14 ***.*** #指定使用的編譯方式
g++ ***.*** -o yyy #指定得到執行檔案的名稱
雖然任何乙個程式都可以使用g++命令進行編譯,但當程式規模變得很大,存在多個資料夾,原始檔,類,個檔案之間還存在依賴關係,此時使用g++指令就會變得非常複雜,此時我們便選擇使用cmake來管理專案
在乙個cmake工程中,我們使用cmake命令生成makefile檔案,再用make命令根據makefile的內容編譯整個工程,makefile可理解為系統自動生成的編譯指令
首先在專案目錄下建立cmakelists.txt,用於告訴cmake要在此目錄下做的事
# 宣告要求的 cmake 最低版本
cmake_minimum_required( version 2.8 )
# 宣告乙個 cmake 工程,括號內為工程的名稱
project( helloworld )
# 新增乙個可執行程式,括號內為可執行程式名,加入編譯的檔名
# 語法:add_executable( 程式名 源**檔案 )
add_executable( hello helloworld.cpp )
上述語法必須遵從
編譯步驟
cmake .
#分析該工程(當前目錄),此時會生成中間檔案如makefile
make
#對工程進行編譯
#通過後,在該目錄下就得到cmakelists.txt中宣告的hello檔案
./hello #執行
實際上,完成的程式我們是不想保留中間檔案的,所以一般我們在專案目錄下建立乙個build檔案儲存中間檔案,完成後刪除build檔案再發布原始碼即可
mkdir build
cd build
cmake ..
#對上一目錄分析
make
在c++的程式編譯中,只有帶main函式的檔案才會被編譯成可執行檔案另一些檔案只會被打包成庫,供其他程式呼叫,c++的庫稱為library
乙個庫可以是許多演算法,程式的集合,需要標頭檔案(.h)和原始檔(.cpp)
linux中的庫分靜態庫(***.a)和共享庫(***.so),靜態庫每次呼叫都會生成乙個副本,共享庫只有乙個副本,更節省空間
add_library( hlib hello_lib.cpp )
#靜態庫
add_library( hlib shared hello_lib.cpp )
#共享庫
編譯後會生成libhlib.a或libhlib.so檔案,就是得到的庫
要使得編譯的可執行檔案能跟庫鏈結,需在cmakelists.txt新增
add_executable( usehello usehello.cpp )
target_link_libraries( usehello hlib )
#使usehello與hlib鏈結
再使用cmake和make命令即可 Linux實操篇 常用指令
linux基礎篇 linux實操篇 vi和vim編輯器 linux實操篇 常用指令 linux實操篇 linux使用者 linux實操篇 許可權管理 linux實操篇 程序管理 pwd 顯示當前工作目錄的絕對路徑。ls 顯示檔案和目錄 基本語法 常用選項 cd 切換目錄 基本語法 常用引數 mkdi...
linux常用指令總結
service start nohup 1 dev null 2 1 含 釋 nohup no hang up 不掛起,一般和 連用 後台執行 dev null 空洞,即扔掉,不需要 1 標準輸出 預設是標準輸出,即 1 dev null 也可以寫成 dev null 2 錯誤輸出 重定向 乙個尖括...
常用Linux指令及用法
boot 啟動目錄,核心存放地 etc 配置檔案存放地 tem 程式產生的臨時檔案 home 使用者的目錄,新增使用者賬號時,使用者的家目錄都存放在此目錄 lib 可執行檔案和常用linux命令 sbin 系統管理員的命令和工具 user 應用程式和檔案的安裝地 mnt 掛接其他檔案系統 root ...