Linux C編程(一) 之 系統基本操作

linux虛擬機安裝

可參考:https://blog.csdn.net/u013142781/article/details/50529030

linux 基礎快捷鍵和工具說明

  1. Ctrl+alt+t 圖形界面中呼出控制終端
  2. alt+shift+ = 放大終端
  3. ctrl + - 縮小終端
  4. ctrl + alt +F1~F6 切換至無圖形界面操作狀態 共tty1到tty6六個終端
  5. ctrl + alt + F7 切換回圖形界面
  6. 安裝VMtools 實現物理機和虛擬機的文件傳輸和複製粘貼
    可參考:https://blog.csdn.net/blessed_sy/article/details/81173746
  7. 推薦安裝openssh-server 使用Xshell6 等shell連接工具和 Filezilla 連接SFTP服務進行文件傳輸
  8. xrandr 可查看當前界面分辨率
  9. xrandr -s 1152x864 設置分辨率(重啓後失效)可在VMware查看選項選擇全屏和獨佔模式 ctrl+alt退出獨佔模式
  10. ping url[ip] 例如:ping www.baidu.com ping 8.8.8.8 查看本機和目標主機連通性
  11. ifconfig 查看本機網卡信息
  12. linux下一切皆文件 文件擴展名僅用於人操作時易於識別 對於系統毫無意義

基礎命令說明

  1. ls 顯示當前路徑下文件
    -a 顯示所有文件 包括隱藏文件
    -l 顯示詳細信息
  2. cd 切換目錄
  3. mkdir 創建文件夾
  4. vim 著名的終端編輯器
  5. tmux linux下終端分屏工具
  6. apt-get install + 安裝文件名 軟件安裝
  7. touch 創建文件
  8. chmod 修改權限
  9. chown 修改文件屬主
  10. ./可執行文件 執行二進制可執行文件或腳本
  11. gcc 編譯文件
  12. tar 解壓
  13. reboot 系統重啓
  14. cat 查看文件內容
  15. mv 移動文件
  16. cp 複製文件
  17. sudo su 切換至root權限
  18. su 切換用戶
  19. pwd 查看當前路徑、
  20. man應用
man 1 command   ls(1)//命令
man 3 printf  printf(3)   //庫函數
man 2 open  open(2)   //系統調用

linux下好用的分屏工具

(1)安裝工具

在ubuntu系統中使用sudo apt-get install tmux

(2)使用工具

   1,輸入命令tmux使用工具

   2,上下分屏:ctrl + b  再按 "

   3,左右分屏:ctrl + b  再按 %

   4,切換屏幕:ctrl + b  再按o

   5,關閉一個終端:ctrl + b  再按x

   6,上下分屏與左右分屏切換: ctrl + b  再按空格鍵

其他:

! 將當前面板置於新窗口,即新建一個窗口,其中僅包含當前面板
Ctrl+方向鍵 以1個單元格爲單位移動邊緣以調整當前面板大小
Alt+方向鍵 以5個單元格爲單位移動邊緣以調整當前面板大小
空格鍵 可以在默認面板佈局中切換,試試就知道了
q 顯示面板編號
方向鍵 移動光標選擇對應面板
{ 向前置換當前面板
} 向後置換當前面板
Alt+o 逆時針旋轉當前窗口的面板
Ctrl+o 順時針旋轉當前窗口的面板

文件類型

  • 文件類型

     -    普通文件
     d    文件夾文件
     b    塊設備文件
     c    字符設備文件
     p    管道文件
     s    socket類型的文件
     l    軟鏈接文件
    

C語言數據類型補充(明白以下定義含義)

int arr[2][3]={11,21,31,16,26,36};
int (*p)[3];
p=arr;
p++;
*p++;
(*p)++;
int p;
int *p;
int **p;
int *p[3];
int (*p)[3]
void *malloc();
int (*f)(int,int);
int (*f[3])(int,int);

include <>和""的區別

  • “” 先在當前路徑下找頭文件,如果找不到,到系統指定的路徑下找.如果還找不到報錯
  • <> 在系統指定的路徑下找,找不到報錯.
  • 系統指定的路徑是什麼?
    視系統而定 ubuntu /usr/include/

頭文件編寫

#ifndef XXX  
#define XXX
常量定義
文件內部使用的宏
文件內部使用的數據類型
全局變量
本地變量(即靜態全局變量)
局部函數原型
類的實現
全局函數
局部函數
#endif

變量的定義是要爲變量分配空間的.變量的聲明是不需要分配空間.
其實變量的聲明是變量作用域的擴充.

環境變量

  • 每個進程都維護着一個環境變量的列表.進程可以使用這些環境變量指定的值去訪問計算機系統的相關資源.

  • bash這個進程的環境變量.

      bash進程有兩種類型的變量  自定義類型的變量  環境變量
      環境變量是可以被子進程繼承的變量.
      自定義變量是進程私有的,不能被子進程繼承.
    
  • 如何查看bash進程的環境變量列表

      env(1)
      USER=tarena  //這是環境變量的組織格式
      $name   取環境變量的值
      USER=beijing   如果有這個環境變量,將環境變量的值改爲beijing
      如果沒有這個環境變量,將這個變量添加到進程的自定義變量列表中.
      注意一點  = 的兩邊絕對的不允許出現空格
    
  • export name 將name設定爲環境變量 關閉shell後失效

  • unset name 刪除環境變量

  • PS1自定義變量

      指定了bash的提示符
      tarena@ubuntu:~/uc/day03/t_math$ echo $PS1
      \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
        
      tarena@ubuntu:~/uc/day03/t_math$ env|grep PS1
      
      PS1="\W\$"
      
      bash進程執行的時候,會執行一個腳本文件.通常將環境變量  自定義變量  別名定義在這個腳本文件中.可使設置的環境變量永久生效
      ~/.bashrc
    
PATH 環境變量
	~$echo $PATH
	/home/tarena/Qt5.4.1/Tools/QtCreator/bin:/home/tarena/Qt5.4.1/5.4/gcc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
	
	在bash上輸入a.out的時候,執行當前路徑下的a.out可執行文件.
	PATH=/home/tarena/Qt5.4.1/Tools/QtCreator/bin:/home/tarena/Qt5.4.1/5.4/gcc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:.
	
	export PATH=$PATH:.
環境變量組織方式

  • 每個進程都有一張環境表,環境表是一個字符指針數組,每個指針指向一個以‘\0’結尾的環境字符串。Main函數的第三個參數就是環境表地址。
HOME

該變量指定用戶的主工作目錄,即用戶登錄到Linux系統時,默認的目錄。

root@juggler:/work# echo $HOME
/root
root@juggler:/work# su juggler
juggler@juggler:/work$ echo $HOME
/home/juggler

釋:環境變量是一個變量,它的值隨着用戶的不同而不同。

HISTSIZE

該變量指定保存歷史命令的數目。

juggler@juggler:~$ echo $HISTSIZE
1000

釋:在Linux系統中最多保存1000條命令記錄

LOGNAME

該變量指定顯示用戶的登錄名。

juggler@juggler:~$ echo $LOGNAME
juggler
readonly

該命令用於設置只讀環境變量。
釋:將環境變量MY_ENV設置爲只讀模式後,就不能在對它進行修改了,直到用戶退出登錄後才失效

存放環境變量的文件

5.1 /etc/profile
該文件的作用是當用戶登錄時獲取系統的環境變量,只獲取一次。
5.2 /etc/bashrc
當執行完/etc/profile文件後,用戶想打開bash Shell就會讀取該文件。如果想每次打開bash Shell後都執行某些操作,可以在該文件中設置。
5.3 ~/.bash_profile
每個用戶都可使用該文件輸入專用於自己使用的shell信息。當用戶登錄時,該文件僅僅執行一次,默認情況下,它設置一些環境變量,執行用戶的.bashrc文件。
單個用戶此文件的修改只會影響到他以後的每一次登陸系統。因此,可以在這裏設置單個用戶的特殊的環境變量或者特殊的操作,那麼它在每次登陸的時候都會去獲取這些新的環境變量或者做某些特殊的操作,但是僅僅在登陸時。
5.4 ~/.bashrc
該文件包含專用於單個人的bash shell的bash信息,當登錄時以及每次打開一個新的shell時,該該文件被讀取。
單個用戶此文件的修改會影響到他以後的每一次登陸系統和每一次新開一個bash。因此,可以在這裏設置單個用戶的特殊的環境變量或者特殊的操作,那麼每次它新登陸系統或者新開一個bash,都會去獲取相應的特殊的環境變量和特殊操作。
5.5 ~/.bash_logout
當每次退出系統(退出bash shell)時,執行該文件。

vim模式轉換

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章