1. 程式人生 > >Linux中常用的操作命令和vi操作命令以及gdb除錯命令

Linux中常用的操作命令和vi操作命令以及gdb除錯命令

Linux簡介及Ubuntu安裝

常見指令

系統管理命令

打包壓縮相關命令

關機/重啟機器

Linux管道

Linux軟體包管理

vim使用

使用者及使用者組管理

檔案許可權管理

Linux簡介及Ubuntu安裝

Linux,免費開源,多使用者多工系統。基於Linux有多個版本的衍生。RedHat、Ubuntu、Debian

安裝VMware或VirtualBox虛擬機器。具體安裝步驟,找百度。

再安裝Ubuntu。具體安裝步驟,找百度。

常用指令

ls          顯示檔案或目錄

     -l           列出檔案詳細資訊l(list)

     -a          列出當前目錄下所有檔案及目錄,包括隱藏的a(all)

mkdir         建立目錄

     -p           建立目錄,若無父目錄,則建立p(parent)

cd               切換目錄

touch          建立空檔案

echo            建立帶有內容的檔案。

cat              檢視檔案內容

cp                拷貝

mv               移動或重新命名

rm               刪除檔案

     -r            遞迴刪除,可刪除子目錄及檔案

     -f            強制刪除

find              在檔案系統中搜索某檔案

wc                統計文字中行數、字數、字元數

grep             在文字檔案中查詢某個字串

rmdir           刪除空目錄

tree             樹形結構顯示目錄,需要安裝tree包

pwd              顯示當前目錄

ln                  建立連結檔案

more、less  分頁顯示文字檔案內容

head、tail    顯示檔案頭、尾內容

ctrl+alt+F1  命令列全屏模式

1. 在終端下:

          複製命令:Ctrl + Shift + C  組合鍵.

          貼上命令:Ctrl + Shift + V  組合鍵.

 2. 在控制檯下:

          複製命令:Ctrl + Insert  組合鍵  或  用滑鼠選中即是複製。

          貼上命令:Shift + Insert  組合鍵  或  單擊滑鼠滾輪即為貼上。

Export是檢視環境變數的

env顯示所有的環境變數

set命令顯示所有本地定義的Shell變數

echo命令檢視單個環境變數

linux環境變數的配置和檢視方法

‍Linux環境變數的設定和檢視方法

  1. 顯示環境變數HOME

  $ echo $HOME

  /home/redbooks

  2. 設定一個新的環境變數hello

  $ export HELLO="Hello!"

  $ echo $HELLO

  Hello!

1.Linux的變數種類

  按變數的生存週期來劃分,Linux變數可分為兩類:

  1.1 永久的:需要修改配置檔案,變數永久生效。

  1.2 臨時的:使用export命令宣告即可,變數在關閉shell時失效。

2.設定變數的三種方法

  2.1 在/etc/profile檔案中新增變數【對所有使用者生效(永久的)】

  用VI在檔案/etc/profile檔案中增加變數,該變數將會對Linux下所有使用者有效,並且是“永久的”。

  例如:編輯/etc/profile檔案,新增CLASSPATH變數

  # vi /etc/profile

  export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

  注:修改檔案後要想馬上生效還要執行# source /etc/profile不然只能在下次重進此使用者時生效。

  2.2 在使用者目錄下的.bash_profile檔案中增加變數【對單一使用者生效(永久的)】

  用VI在使用者目錄下的.bash_profile檔案中增加變數,改變數僅會對當前使用者有效,並且是“永久的”。

  例如:編輯guok使用者目錄(/home/guok)下的.bash_profile

  $ vi /home/guok/.bash.profile

  新增如下內容:

  export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

  注:修改檔案後要想馬上生效還要執行$ source /home/guok/.bash_profile不然只能在下次重進此使用者時生效。

  2.3 直接執行export命令定義變數【只對當前shell(BASH)有效(臨時的)】

  在shell的命令列下直接使用[export 變數名=變數值] 定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變數也就失效了,再開啟新shell時就沒有這個變數,需要使用的話還需要重新定義。


系統管理命令

stat              顯示指定檔案的詳細資訊,比ls更詳細

who               顯示線上登陸使用者

whoami          顯示當前操作使用者

hostname      顯示主機名

uname           顯示系統資訊

top                動態顯示當前耗費資源最多程序資訊

ps                  顯示瞬間程序狀態 ps -aux

du                  檢視目錄大小 du -h /home帶有單位顯示目錄資訊

df                  檢視磁碟大小 df -h 帶有單位顯示磁碟資訊

ifconfig          檢視網路情況

ping                測試網路連通

netstat          顯示網路狀態資訊

man                命令不會用了,找男人  如:man ls

clear              清屏

alias               對命令重新命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit

kill                 殺死程序,可以先用ps 或 top命令檢視程序的id,然後再用kill命令殺死程序。

打包壓縮相關命令

gzip:

bzip2:

tar:                打包壓縮

     -c              歸檔檔案

     -x              壓縮檔案

     -z              gzip壓縮檔案

     -j              bzip2壓縮檔案

     -v              顯示壓縮或解壓縮過程 v(view)

     -f              使用檔名

例:

tar -cvf /home/abc.tar /home/abc              只打包,不壓縮

tar -zcvf /home/abc.tar.gz /home/abc        打包,並用gzip壓縮

tar -jcvf /home/abc.tar.bz2 /home/abc      打包,並用bzip2壓縮

當然,如果想解壓縮,就直接替換上面的命令  tar -cvf  / tar -zcvf  / tar -jcvf 中的“c” 換成“x” 就可以了。

tar命令可以用來壓縮打包單檔案、多個檔案、單個目錄、多個目錄。

常用格式:

單個檔案壓縮打包 tar czvf my.tar.gz file1

多個檔案壓縮打包 tar czvf my.tar.gz file1 file2,...(file*)(也可以給file*檔案mv 目錄在壓縮)

單個目錄壓縮打包 tar czvf my.tar.gz dir1

多個目錄壓縮打包 tar czvf my.tar.gz dir1 dir2

解包至當前目錄:tar xzvf my.tar.gz


關機/重啟機器

shutdown

     -r             關機重啟

     -h             關機不重啟

     now          立刻關機

halt               關機

reboot          重啟

Linux管道

將一個命令的標準輸出作為另一個命令的標準輸入。也就是把幾個命令組合起來使用,後一個命令除以前一個命令的結果。

例:grep -r "close" /home/* | more       在home目錄下所有檔案中查詢,包括close的檔案,並分頁輸出。

Linux軟體包管理

dpkg (Debian Package)管理工具,軟體包名以.deb字尾。這種方法適合系統不能聯網的情況下。

比如安裝tree命令的安裝包,先將tree.deb傳到Linux系統中。再使用如下命令安裝。

sudo dpkg -i tree_1.5.3-1_i386.deb         安裝軟體

sudo dpkg -r tree                                     解除安裝軟體

注:將tree.deb傳到Linux系統中,有多種方式。VMwareTool,使用掛載方式;使用winSCP工具等;

APT(Advanced Packaging Tool)高階軟體工具。這種方法適合系統能夠連線網際網路的情況。

依然以tree為例

sudo apt-get install tree                         安裝tree

sudo apt-get remove tree                       解除安裝tree

sudo apt-get update                                 更新軟體

sudo apt-get upgrade        

將.rpm檔案轉為.deb檔案

.rpm為RedHat使用的軟體格式。在Ubuntu下不能直接使用,所以需要轉換一下。

sudo alien abc.rpm

sed是一個很好的檔案處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作,下面先了解一下sed的用法
sed命令列格式為:
         sed [-nefri] ‘command’ 輸入文字        

常用選項:
        
-n∶使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN的資料一般都會被列出到螢幕上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。
        -e∶直接在指令列模式上進行 sed 的動作編輯;
        -f∶直接將 sed 的動作寫在一個檔案內, -f filename 則可以執行 filename 內的sed 動作;
        -r∶sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)
        -i∶直接修改讀取的檔案內容,而不是由螢幕輸出。
       

常用命令:
        a   ∶新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~
        c   ∶取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!
        d   ∶刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;
         i   ∶插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);
         p  ∶列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起運作~
         s  ∶取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!

舉例:(假設我們有一檔名為ab)
     刪除某行
     [[email protected] ruby# sed '1d' ab              #刪除第一行 
     [[email protected] ruby] # sed '$d' ab              #刪除最後一行
     [[email protected] ruby] # sed '1,2d' ab           #刪除第一行到第二行
     [[email protected] ruby] # sed '2,$d' ab           #刪除第二行到最後一行

  顯示某行
.    [[email protected] ruby# sed -n '1p' ab           #顯示第一行 
     [[email protected] ruby] # sed -n '$p' ab           #顯示最後一行
     [[email protected] ruby] # sed -n '1,2p' ab        #顯示第一行到第二行
     [[email protected] ruby] # sed -n '2,$p' ab        #顯示第二行到最後一行

  使用模式進行查詢
     [[email protected] ruby] # sed -n '/ruby/p' ab    #查詢包括關鍵字ruby所在所有行
     [[email protected] ruby] # sed -n '/\$/p' ab        #查詢包括關鍵字$所在所有行,使用反斜線\遮蔽特殊含義

  增加一行或多行字串
     [[email protected] ruby]# cat ab
     Hello!
     ruby is me,welcome to my blog.
     end
     [[email protected] ruby] # sed '1a drink tea' ab  #第一行後增加字串"drink tea"
     Hello!
     drink tea
     ruby is me,welcome to my blog. 
     end
     [[email protected] ruby] # sed '1,3a drink tea' ab #第一行到第三行後增加字串"drink tea"
     Hello!
     drink tea
     ruby is me,welcome to my blog.
     drink tea
     end
     drink tea
     [[email protected] ruby] # sed '1a drink tea\nor coffee' ab   #第一行後增加多行,使用換行符\n
     Hello!
     drink tea
     or coffee
     ruby is me,welcome to my blog.
     end

  代替一行或多行
     [[email protected] ruby] # sed '1c Hi' ab                #第一行代替為Hi
     Hi
     ruby is me,welcome to my blog.
     end
     [[email protected] ruby] # sed '1,2c Hi' ab             #第一行到第二行代替為Hi
     Hi
     end

  替換一行中的某部分
  格式:sed 's/要替換的字串/新的字串/g'   (要替換的字串可以用正則表示式)
     [[email protected] ruby] # sed -n '/ruby/p' ab | sed 's/ruby/bird/g'    #替換ruby為bird
   [[email protected] ruby] # sed -n '/ruby/p' ab | sed 's/ruby//g'        #刪除ruby

     插入
     [[email protected] ruby] # sed -i '$a bye' ab         #在檔案ab中最後一行直接輸入"bye"
     [[email protected] ruby]# cat ab
     Hello!
     ruby is me,welcome to my blog.
     end
     bye

     刪除匹配行

      sed -i '/匹配字串/d'  filename  (注:若匹配字串是變數,則需要“”,而不是‘’。記得好像是)

      替換匹配行中的某個字串

      sed -i '/匹配字串/s/替換源字串/替換目標字串/g' filename


vim使用

vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。

命令模式下:

:q                      退出

:q!                     強制退出

:wq                   儲存並退出

:set number     顯示行號

:set nonumber  隱藏行號

/apache            在文件中查詢apache 按n跳到下一個,shift+n上一個

yyp                   複製游標所在行,並貼上

h(左移一個字元←)、j(下一行↓)、k(上一行↑)、l(右移一個字元→)

使用者及使用者組管理

/etc/passwd    儲存使用者賬號

/etc/group       儲存組賬號

/etc/shadow    儲存使用者賬號的密碼

/etc/gshadow  儲存使用者組賬號的密碼

useradd 使用者名稱

userdel 使用者名稱

adduser 使用者名稱

groupadd 組名

groupdel 組名

passwd root     給root設定密碼

su root

su - root 

/etc/profile     系統環境變數

bash_profile     使用者環境變數

.bashrc              使用者環境變數

su user              切換使用者,載入配置檔案.bashrc

su - user            切換使用者,載入配置檔案/etc/profile ,載入bash_profile

更改檔案的使用者及使用者組

sudo chown [-R] owner[:group] {File|Directory}

例如:還以jdk-7u21-linux-i586.tar.gz為例。屬於使用者hadoop,組hadoop

要想切換此檔案所屬的使用者及組。可以使用命令。

sudo chown root:root jdk-7u21-linux-i586.tar.gz

檔案許可權管理

三種基本許可權

R           讀         數值表示為4

W          寫         數值表示為2

X           可執行  數值表示為1

如圖所示,jdk-7u21-linux-i586.tar.gz檔案的許可權為-rw-rw-r--

-rw-rw-r--一共十個字元,分成四段。

第一個字元“-”表示普通檔案;這個位置還可能會出現“l”連結;“d”表示目錄

第二三四個字元“rw-”表示當前所屬使用者的許可權。   所以用數值表示為4+2=6

第五六七個字元“rw-”表示當前所屬組的許可權。      所以用數值表示為4+2=6

第八九十個字元“r--”表示其他使用者許可權。              所以用數值表示為2

所以操作此檔案的許可權用數值表示為662 

更改許可權

sudo chmod [u所屬使用者  g所屬組  o其他使用者  a所有使用者]  [+增加許可權  -減少許可權]  [r  w  x]   目錄名 

例如:有一個檔案filename,許可權為“-rw-r----x” ,將許可權值改為"-rwxrw-r-x",用數值表示為765

sudo chmod u+x g+w o+r  filename

上面的例子可以用數值表示

sudo chmod 765 filename

////////////////////////////////////////////////////////////////////////////////////////

 linux 基本命令

 ls     (list 顯示當前目錄下檔案和目錄 ls -l 詳細顯示 =ll )

[[email protected] ~]# ls [-aAdfFhilRS] 目錄名稱 
[[email protected] ~]# ls [--color={none,auto,always}] 目錄名稱 
[[email protected] ~]# ls [--full-time] 目錄名稱 
引數: 
-a :全部的檔案,連同隱藏檔( 開頭為 . 的檔案) 一起列出來~ 
-A :全部的檔案,連同隱藏檔,但不包括 . 與 .. 這兩個目錄,一起列出來~ 

相關推薦

Linux常用操作命令vi操作命令以及gdb除錯命令

Linux簡介及Ubuntu安裝常見指令系統管理命令打包壓縮相關命令關機/重啟機器Linux管道Linux軟體包管理vim使用使用者及使用者組管理檔案許可權管理Linux簡介及Ubuntu安裝Linux,免費開源,多使用者多工系統。基於Linux有多個版本的衍生。RedHat

Linux 命令Linux常用操作命令快捷鍵

1  34 個簡單實用的 Ubuntu 快捷鍵 快捷鍵 在alt+ctrl+t 終端 按win鍵開啟搜素dash 1. Ctrl + W: 關閉當前 Nautilus 視窗 2. Ctrl+T: 在 Nautilus 開啟新的 Tab 3. Ctrl +

LinuxLinux常用操作命令

詳細信息 hadoop 用戶組 軟件 name vim使用 title redhat tail Linux簡介及Ubuntu安裝 常見指令 系統管理命令 打包壓縮相關命令 關機/重啟機器 Linux管道 Linux軟件包管理 vim使用 用戶及用戶組管理 文件權限管理

Linux常用操作命令

有用 lena 第一個字符 pda dha 查看 加載 rmdir 結構 常用指令 ls:顯示文件或目錄 -i:列出文件詳細信息(list) -a:列出當前目錄下所有文件及目錄,包括隱藏文件和文件夾(a) mkdir:創建目錄 -p:創建目錄,若無上級目錄則創建(

Linux常用操作命令(轉)

備份 並不會 使用方法 nts 系統 版本 不定 vim常用 相同 1、cd命令 這是一個非常基本,也是大家經常需要使用的命令,它用於切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。如: [plain] view plain

[翻譯] Linux 內核的位數組操作

用法 修改 CP 容易 並且 strong face 是我 hot Linux 內核裏的數據結構 [TOC] 原文鏈接與說明 https://github.com/0xAX/linux-insides/blob/master/DataStructures/bitmap.m

linux下終端11選5平臺出租常用命令vi命令修改文件及保存的使用方法

首開 mman bin 軟件包管理 系統啟動 左右移動 包含 地方 執行 首先11選5平臺出租 haozbbs.com Q1446595067介紹一下Ubuntu下各個目錄的一般作用: /這就是根目錄,一臺電腦有且只有一個根目錄,所有的文件都是從這裏開始的。舉個例子:當

linux下檔案目錄結構檔案操作命令

剛學linux,總結下。 檔案目錄結構 linux 是多使用者作業系統,多個使用者可以共享的全部硬體和軟體。 ubuntu沒有盤的概念,有且只有一個根目錄 / ,所有的檔案都在根目錄下面。 根目錄下有個home資料夾,是系統預設的使用者家目錄,新增使用者的家目錄都放在這裡。 其他資料

常用shell命令vi編輯器

css lin str 目錄 用戶輸入 重定向 move 處理 操作 Shell 介紹 Shell:殼(區別於:核) 普通意義上的shell就是可以接受用戶輸入命令的程序。它之所以被稱作shell是因為它隱藏了操作系統低層的細節。 Bourne-Again shell(ba

Linux 常用命令

ln -s directory 沒有 開始 media 關機命令 範圍 後臺作業 解壓縮 命令基本格式: 命令提示符:[[email protected]/* */ ~]# root 代表當前的登錄用戶(linux當中管理員賬號是root)

linux常用時間字符串之間相互轉化

時間函數 spa lin cell form time函數 地理 -1 名稱 在Linux中經常會遇到時間和字符串相互轉化的情形,有兩個函數專門對應相應的轉化。 1、時間轉字符串函數strftime 函數原型:size_t strftime(char *s,size_t m

linux常用的壓縮、解壓命令詳解

壓縮 不管在windows中還是在linux中,我們會經常看到各種壓縮的文件,此刻我們需要使用就得解壓,在這就介紹介紹linux中解壓、壓縮的命令。 在做實驗之前,我們先創建幾個文件,大小都是100M,方便我們更能清晰理解。 一、compress【選項】file(不是太常用,而且tab鍵還不能補齊)

linux關於硬盤分區操作

linux 硬盤 分區 不管是在真機還是在虛擬機上裝入linux系統時,都會涉及到磁盤分區這一步驟,只有在磁盤規劃好後,系統才會裝入系統文件及相關程序文件。下面介紹關於linux系統中分區所涉及到的一些命令及註意事項。 首先我們要知道一塊物理硬盤要被利用起來要經歷哪些步驟: ①識別硬盤---只有在硬盤被電腦

Linux常用壓縮命令

指定 log 常用 gpo 所有 包名 壓縮命令 文件名 body .zip格式壓縮 zip 壓縮文件名 源文件 壓縮文件 zip -r 壓縮文件名 源目錄 壓縮目錄 .zip格式解壓縮 unzip 壓縮文件 解壓.zip文件 .gz格式壓

Linux常用的基礎命令

命令 基礎 Linux常用的命令的使用方法:1.echo (printf)echo - display a line of text 常用選項: -n:不換行; -e:使用\所引導的轉義序列生效; \n:換行 \t

Linux常用的網絡命令

Linux一、設置網絡參數的命令ifconfig:查詢、設置網卡與IP網絡等相關參數 [root@www ~]# ifconfig {interface} {down|up} [root@www ~]# ifconfig interface {options} interface:eth0、eth1、ppp0

Linux常用命令pipe

必須 強調 std 而且 ss命令 strong 目錄下的文件 文件 last 大多數linux命令處理數據後都會輸出到標準輸出,但是如果數據要經過系列列的步驟處理後,才是需要的數據個數,這種需求就需要管道來幫助完成。 管道命令使用"|"作為界定符,將界定符前的命令的執行結

Linux 常用的基礎命令

pts con 執行 div where x86 每次 屏幕 buildid 1、目錄相關命令的使用 pwd(printing working directory) 顯示當前工作目錄 ? pwd命令相關的環境變量: ?? PWD??保存了當前工作目錄路徑

Linux下安裝配置JDKTomcat操作步驟

下面以JDK7和Tomcat7為例,介紹CentOS7.5下安裝配置JDK和Tomcat的操作步驟。 1、安裝JDK 1.1、檢視yum庫中都有哪些jdk版本 yum search java|grep jdk1.2、選擇指定的版本安裝 yum install java-1.7.0-openj

docker基本命令基本操作命令

docker-教程 docker程式設計環境小書匠 docker 教程 Docker官方英文資源 docker官網:http://www.docker.com Docker windows入門:https://docs.docker.com/windows/