LINUX 入門及一些基本的操做

Linux 入門

目錄
1、 用戶登陸
2、 終端
3、 shell介紹
4、 執行命令
5、 簡單命令
6、 命令行歷史
7、 bash快捷鍵
8、 使用ghome-ternimal
9、 文件管理
10、. 目錄、inode表與文件
11、 軟/硬連接
node

1、用戶登陸

  在Linux系統中有兩種用戶,一種爲root用戶,一種爲普通用戶,linux

 一、root 用戶

   root是一種特殊的管理帳戶,擁有管理系統的全部權利,至關於windows的超級管理員,能夠管理任何的文件,也能夠管理其它普通用戶的權限,對於管理系統很是的方便,(可是對系統損害也幾乎擁有無限的能力,除非必要不要登陸root)git

 二、普通(非特權)用戶

  權限有限,也不能對其它的用戶信息及權限進行修改,形成損害的權利比較有限shell

2、終端terminal

   終端是用來管理Linux 的的一種數據庫

 一、設備終端

  鍵盤鼠標顯示器windows

 二、物理終端(/dev/console)

  控制檯 console緩存

 三、虛擬終端(tty:teletypewriters, /dev/tty# #爲[1-6])

  tty 可有多個,ctrl+Alt+F[1-6]安全

 四、圖形終端(/dev/tty7) starx, xwindows

  Centos 6:ctrl+Alt+F7
  Centos 7:在哪一個終端啓動,即位於哪一個虛擬終端bash

 五、串行終端(/dev/ttys$)

  ttyssocket

 六、僞終端(pty: pseudo-tty, /dev/pts/#)

  pty ,SHH 遠程鏈接

 七、查看當前終端設備的命令是

  tty
LINUX 入門及一些基本的操做

3、shell 介紹

  shell 是Linux系統的用戶界面,提供了用戶與內核進行互相操做的一種接口。它接受用戶輸入的命令並把它送到內核去執行。shell也被稱爲Linux的命令解釋器,shell是一種高級程序語言。
  一、echo 顯示輸出到終端
LINUX 入門及一些基本的操做
  二、cat /etc/shells 顯示當前系統使用的全部shell
LINUX 入門及一些基本的操做
  三、命令提示符  [root@localhost ~]#
  # 表明當前登陸帳號爲管理員
  $ 表明當前登陸帳號爲普通用戶
  四、echo $PS1 顯示提示符格式
LINUX 入門及一些基本的操做
  五、設置命令提示符
   PS1="\[\e[31m\][\u@\h \W]\\$\[\e[0m\]"
 \e \033 顏色  \u 當前用戶
 \h 主機名簡稱  \H  主機名
 \w 當前工做目錄  \W 當前工做目錄基名
 \t 24小時時間格式  \T 12小時時間格式
 ! 命令歷史數  # 開機後命令歷史數
(顏色有不少個值呦,你們能夠不妨能夠多輸幾個值,調試出本身喜歡的顏色,樣式能夠高亮或者有下劃線,也不止我輸的那幾個值,均可以試試的,調到本身滿意爲止)
LINUX 入門及一些基本的操做

4、執行命令

  輸入命令後回車便可執行命令

 一、在shell中可執行的命令分爲兩種:

  內部命令:由shell自帶的,並且經過某命令形式提供
   help 顯示全部的內部命令列表
   enable 顯示全部已激活的內部命令
   enable cmd 激活被禁用的內部命令
   enable -n cmd 禁用某個內部命令
   enable -n 顯示全部被禁用的內部命令
   enable -a顯示所欲內部命令
   enable -a |wc -1 顯示全部的內部命令的數量
   enable |wc -1 顯示激活中的內部命令的數量
(文中cmd可不是字面上cmd的意思哦,是表明着某一個命令,命令的英文是command,在這裏我就簡寫了,後面的內容也是這個意思)

 二、外部命令:在文件系統路徑下有對應的可執行程序文件

  查看路徑:which -a |--skip-alias ;whereis

 三、區別制定的命令是內部命令或是外部命令的命令:

  type cmd

 四、當執行一條命令時的查找順序

  1.別名

  2.內部命令

  3.外部命令

  4.hash(緩存表)

  5.path(存儲外部命令的命令)

 五、hash 緩存表

  hash緩存表:系統重啓後hash表爲空,當執行一個外部命令時,默認會從path路徑下尋找該命令,找到後會將這條命令的路徑記錄到hash表中,當再次使用該命令時,shell解釋器首先會查看hash表,存在則執行之,若是不存在,將會去path路徑下尋找。利用hash緩存表可大大提升命令的調用速率
  hash命令的常見用法
   hash 顯示全部被hash的命令路徑
   hash -l 顯示全部被hash的命令路徑,包含別名
   hash -p 路徑 別名 手工添加一條hash
   hash -t name 顯示別名(命令)的hash路徑
   hash -d 別名(命令) 刪除指定命令或別名的hash條目
   hash -r 清空全部的hash

 六、alias 顯示全部的別名信息

  alias 別名=‘cmd -選項 參數’ 定義一個命令的別名
  unalias 別名 取消一個別名
  unalias -a 取消全部的別名
  別名的保存 /etc/bashrc
  若是一個別名跟另外一個命令重名了,要想使用哪一個命令而不是哪一個別名的話,可使用下列方式:
   \cmd
   'cmd'
   "cmd"
   /path/cmd

 七、設置別名

  在命令行中定義的別名,僅對當前shell進程中有效,若是想要永久有效,能夠定義在配置文件中,
  僅對當前用戶的配置文件:~/.bashrc
  對全部用戶有效的配置文件:/etc/bashrc
  編輯配置給出的新配置不會當即生效,須要從新讀取配置文件後才能生效
   source /path/to/config_file

5、 簡單命令

 一、命令的執行語法

  cmd 選項 參數
   選項:用於啓用或關閉命令的某些功能(選項能夠跟多個)
   參數:命令的做用對象,
  小注意:
   1.多個選項以及多參數和命令之間使用空白字符分隔
   2.取消命令和結束命令:Ctrl+c ,Ctrl+d
   3.多個命令在一行能夠用;符號分開
   4. 一個命令能夠用\分紅多行

 二、Linux中一些基礎的命令

  1.時間

   date 顯示系統日期和時間
   clock,hwclock :顯示硬件時鐘
LINUX 入門及一些基本的操做
   Linux的兩種時鐘,
    系統時鐘:Linux的系統時間,關機後則再也不工做
    硬件時鐘:硬件時鐘,在關機後仍然工做,依靠主板上的一 顆 鈕釦電池供電
   hwclock -s 以硬件時間爲準,校訂系統時鐘
   hwclock -w 以系統時間爲準,校訂硬件時鐘
   date
    +%Y 只顯示 年
    +%m 只顯示月
    +%d 日
    +%H 時
    +%M 分
    +%S 秒
    +%F 年-月-日
    +%T 時:分:秒
LINUX 入門及一些基本的操做
   還能夠 用date 設置系統時間
    date 月日時分年[.秒] date 102013112020.45
    dae -s ‘年-月-日 時:分:秒’
LINUX 入門及一些基本的操做

  2. cal 顯示日曆

   cal 顯示今年本月的日曆
   cal 年份 顯示該年一全年的日曆
   cal 月份 年份

  3.關於開關機

   poweoff 關機
   reboot 重啓
   init 0 關機
   init 6 重啓
   shutdown -r 重啓
   shutdown -h 關機
   shutdown +n n分鐘後關機
   shutdown 20:20 20:20 關機(定時關機)
(如何取消關機,在當前終端能夠Ctrl+c 取消關機,在其餘終端能夠打命令shutdown -c 取消關機計劃)

  4.關於查看當前用戶的信息

   whoami 顯示當前用戶名
   who am/are/is 任意字符 顯示當前終端的信息
   who 顯示全部終端的信息
   w 顯示全部終端的詳細信息及操做

  5.screen命令

   screen 建立一個會話可讓不一樣地方兩個終端共享一個終端,在其中一個終端上敲命令,另外一個終端上也能顯示出來
   screen : 生成默認名字的會話
   screen -S 會話名 : 建立指定名的screen
   screen -ls: 查看全部已打開的screen
   screen -x 會話名 : 加入已建立的screen
   exit : 退出當前會話

  6.echo 輸出內容在終端上

   -E 不開始解釋功能,默認
   -n 不自動換行
   -e 「」開啓解釋功能「」
   \a 警告聲
   \b 退格
   \c 不換行
   \n 回車換行
   \r 回車,即光標移至行首,但不換行
   \t 插入tab
   \\ 插入\字符

  7.關於whatis 的用法和做用

   whatis cmd或man -f cmd 僅能提供命令基本的介紹。不提供用法,基於數據庫的查找,優勢是檢索速度快,缺點是缺少實時性。

  8.pwd 查看當前所在目錄的路徑

   pwd -d 當前目錄爲軟連接時,顯示其源目錄

  9.ls用法

   ls -a 顯示全部目錄和文件,包括隱藏文件
   ls -A 顯示全部文件,除. , ..
   ls -l 以長格式列出文件和目錄
LINUX 入門及一些基本的操做
    文件類型|owner權限group權限other權限|硬連接數|owner|group|文件大小(bytes)|mtime|文件名
   ls -R 遞歸
   ls -ld 顯示指定目錄的詳細信息
   ls -S 按文件大小降序排列
   ls -t 按修改時間(Mtime) 重新到舊排列
   ls -ut 按訪問時間(atime) 重新到舊排列
   ls -U 按文件存放前後順序
   ls -X 按文件後綴排序
   ls -i 顯示inode號
  小注意:
   時間戳
    atime 訪問時間
    mtime 文件數據修改時間
    ctime 文件元數據修改時間
    查看某個文件或目錄的時間戳:stat 文件或目錄路徑

6、命令行歷史

 歷史查詢
  history 歷史命令查詢命令,顯示當前終端的歷史記錄
  history 查詢歷史記錄
  history -c 清空當前的全部歷史記錄
  history -d 刪除某條歷史
  history -a 將當前終端執行的命令寫入歷史記錄文件中 (文件由變量HISTORY決定,歷史記錄文件默認爲用戶家目錄的.bash_history)
  history -w /path/filename.txt 將歷史記錄寫入指定文件
  history -n 將未讀過的歷史從文件中讀取
  history -r 將所欲歷史從文件中讀取
 重複執行歷史命令
  !! 重複執行上一條命令
  !n 重複執行倒數第n條命令
  !n重複執行第n條命令
  !:0 執行前一條命令(去除參數)
  !str 重複前一個以str 開頭 的命令
  !? 重複前一個包含str的命令
  !str:p 僅打印以str開頭的命令歷史,而不執行
  !$:p 打印輸出!$ 上一條命令的最後一個參數的內容
  !*:p 打印輸出(上一條命令中全部的參數)的內容
 快捷鍵
  ctrl r 在歷史命令中搜索命令
  ctrl g 從歷史搜索模式中退出
  esc .(點擊esc鍵鬆開,而後點擊.鍵)
  alt . (按住alt鍵的 同時點擊 . 鍵)
 調用歷史參數
  cmd ! ^ 利用上一個命令的第一個參數作cmd的參數
  cmd !$ 利用上一個命令的最後一個參數作cmd的參數
  cmd !* 利用上一條命令的所有參數作cmd的參數
  cmd !:n 利用上一個命令的第n個參數作cmd的參數
  cmd !n:^ 調用第n條命令的第一個參數
  cmd !n:m 調用第n條命令的第m個參數
  cmd !n:* 調用第n條命令的全部參數
  cmd !str:^ 從命令歷史中搜索以str開頭的命令,並獲取它的第一個參數
  cmd !str:$ 從命令歷史中搜索以str開頭的命令,並獲取它的最後一個參數
  cmd !str:n 從命令歷史中搜索以str開頭的命令,並獲取它的第n個參數
  cmd !str:* 從命令歷史中搜索以str開頭的命令,並獲取它的 全部參數
(str在這裏是代指字符串,字符串的英文全稱是string,n,m代指數字)

7、bash快捷鍵

  是指在遠程登陸界面的通用快捷鍵
  Ctrl+L 清屏
  Ctrl+O 執行當前命令,並從新顯示本命令
  Ctrl+s 鎖定,輸入運行任何命令屏幕上都不顯示,但仍執行命令
  Ctrl+q 解鎖
  Ctrl+C 強制結束
  Ctrl+D 正常終止
  Ctrl+Z 掛起(暫停命令)
  Ctrl+a 光標移動到命令行首,至關於home
  Ctrl+e 光標移動到命令行尾,至關於end
  Ctrl+f 光標向右移動一個字符
  Ctrl+b 光標向左移動一個字符
  Ctrl+xx 光標在命令行首和光標當前位置之間移動
  Ctrl+u 刪除光標以前的內容
  Ctrl+k 刪除光標以後的內容
  Ctrl+w 從光標處向左刪除至單詞首
  Ctrl+d 刪除光標後的一個字符
  Ctrl+h 刪除光標錢的一個字符
  Ctrl+y 將刪除的字符粘貼至光標後
  Ctrl+t 交換光標處和以前的單詞位置
  Alt +f 向右移動一個單詞
  Alt +b 向左移動一個單詞
  Alt +r 清除所有內容
  Alt +d 從光標處向右刪除至單詞尾
  Alt +c 從光標處開始向右更改成首字母大寫的單詞
  Alt +u 從光標處開始,將右邊一個單詞更改成大寫
  Alt +l 從光標處開始,將右邊一個單詞更改成小寫
  Alt +t 交換光標處和以前的單詞位置
  Alt +N 提示輸入指定字符後,重複顯示該字符n次(n表示具體數字)

8、使用ghome-ternima

  在Linux上的
  Ctrl-Shift-n 建立新窗口
  Ctrl-Shift-q 關閉當前窗口
  Ctrl-Shift-t 建立一個標籤頁
  Ctrl-Shift-w 關閉一個標籤頁
  Ctrl-Paup/padn 切換到上一個/下一個標籤頁
  Ctrl-Shift-c 複製選中的文本
  Ctrl-Shift-v 把文本粘貼到當前光標處

9、文件管理

 一、文件系統

  文件和目錄被組織成一個倒根樹結構。
  文件系統從根目錄下開始,用「/」表示
  文件名區分大小寫,
  以.開頭的文件爲隱藏文件,
  路徑分隔符「/」
  文件有兩類數據,
   元數據metadata
   數據 data
  文件名最長255個字節,包含路徑在內文件名稱最長4095個字節
  藍色 -->目錄;綠色 --> 可執行文件 ; 紅色 - -> 壓縮文件;淺藍色 --> 連接文件;灰色-->其餘文件

 二、Linux根目錄下的目錄的做用

  /boot: 引導文件存放目錄,內核文件、引導加載器都存放於此
  /bin : 供全部用戶使用的基本命令
  /sbin: 管理類的基本命令
  /lib : 啓動時程序依賴的基本共享庫文件以及內核模塊文件
  /lib64: 專用於x86_64系統上的輔助共享庫文件存放位置
  /etc: 配置文件目錄
  /home : 存放着普通用戶的家目錄
  /root : 管理員root的家目錄
  /media: 便攜式移動設備掛載點
  /mnt : 臨時文件系統掛載點
  /dev : 設備文件及特殊文件存放位置
  /opt: 第三方應用程序的安裝位置
  /srv: 系統上運行的服務用到的數據
  /tmp: 臨時文件存儲位置
  /proc: 用於輸出內核與進程信息相關的虛擬文件系統
  /sys: 用於輸出當前系統上硬件設備相關信息虛擬文件系統
  /selinux:securityenhanced Linux,selinux相關的安全政策等信息的存儲位置

 三、Linux下的文件類型

  -:普通文件
  d:目錄文件
  b:塊設備
  c:字符設備
  l:符號連接文件
  p:管道文件pipe
  s:套接字文件socket

 四、顯示當前工做目錄

  每一個shell和系統進程都有一個當前的工做目錄
  pwd 顯示當前的工做目錄
   -p 顯示真實物理路徑
   -L 顯示鏈路路徑(默認)

 五、路徑的表示方式

  絕對路徑:以正斜槓開始,是從根目錄開始到達目標目錄
  相對路徑:不以正斜槓開頭,從當前目錄開始到達目標目錄

 六、更改目錄

  cd 單獨一個cd命令會從當前目錄切換至登陸用戶的家目錄
  cd 目標路徑:從當前目錄切換至目標目錄

 七、文件通配符

  [:digit:]:任意數字,至關於0-9
  [:lower:]:任意小寫字母
  [:upper:]: 任意大寫字母
  [:alpha:]: 任意大小寫字母
  [:alnum:]:任意數字或字母
  [:blank:]:水平空白字符
  [:space:]:水平或垂直空白字符
  [:punct:]:標點符號
  [:print:]:可打印字符
  [:cntrl:]:控制(非打印)字符
  [:graph:]:圖形字符
  [:xdigit:]:十六進制字符

 八、建立空文件和刷新時間

  touch 選項 文件路徑 : 建立一個文件
   -a 僅改變 atime和ctime
   -m 僅改變 mtime和ctime
   -t [[CC]YY]MMDDhhmm[.ss]
    指定atime和mtime的時間戳
   -c 若是文件不存在,則不予建立

 九、複製文件或目錄

  cp 選項 原文件路徑(src) 目標文件路徑(dest)
   -i:覆蓋前提示
   –n:不覆蓋,注意二者順序
   -r: -R: 遞歸複製目錄及內部的全部內容
   -a: 歸檔,至關於-dR --preserv=all
   -d:--no-dereference --preserv=links 不復制原文件,只複製鏈名
   -p: 等同--preserv=mode,ownership,timestamp
   -v: --verbose 顯示覆制的過程
   -f: --force 當普通用戶對某目錄有rx權限時,使用-f能夠將沒有修改權限的文件強制覆蓋。即刪除再建立
  src是文件:
   若是dest不存在:新建dest,並將src中內容填充至dest中
   若是dest存在:
    若是dest是文件:將src的內容覆蓋至dest中,基於安全,建議爲cp命令下使用-i選項
    若是dest是目錄:在dest下新建與src同名的文件,並將src中的內容填充至新文件中
  src是目錄:此時使用選項-r
   若是dest不存在:則建立指定目錄,複製src目錄中全部文件至 dest中;
   若是dest存在:
    若是dest是文件:報錯
    若是dest是目錄:將src目錄下全部文件或目錄一次複製至 dest目錄下

 十、移動和重命名文件

  mv 選項 src dest
   -i :交互式
   -f :強制
   -r :遞歸

 十一、刪除文件

  rm 選項 目標路徑
   -i:交互式
   -f:強制刪除
   -r:遞歸

 十二、 顯示目錄樹

  tree 選項 目錄路徑
   -d :只顯示目錄
   -L level:指定顯示的層級數目
   -p pattern:只顯示由指定pattern匹配到的路徑

 13 建立目錄

  mkdir 目錄路徑 在該目錄下建立一個目錄
   -p:存在於不報錯,且可自動建立所需的各目錄
   -v:顯示詳細信息
   -m mode:建立目錄時直接指定權限

 1四、刪除空目錄

  rmkdir 目錄路徑 刪除這個空目錄
   -p:遞歸刪除父空目錄
   -v:顯示詳細信息
   rm -r:遞歸刪除目錄樹

10、目錄、元數據、inode表與文件

  人是經過目錄文件名來引用一個文件,每個文件都有一個相對應的i元數據,每個元數據都對應着一個inode號,目錄是目錄下的文件和文件inode號之間的映射

 一、元數據裏面包括:

  文件類型,權限,UID,GID
  連接數
  該文件的和不一樣的大小和不一樣的時間戳
  指向磁盤上文件的數據塊指針
  有關文件的其餘數據

 二、在cp的命令:

  分配一個空閒的inode號,在inode表中生成新的條目
  在目錄中建立一個目錄項,將名稱與inode編號關聯
  拷貝數據生成新的文件

 三、rm命令

  連接數遞減,從而釋放的inode號能夠被重用
  把數據塊放在空閒列表中
  刪除目錄項
  數據實際上不會立刻被刪除,但當另外一個文件使用數據塊時將被覆蓋

 四、mv和inode

  若是mv命令的目標和源文件在相同的文件系統,做爲mv命令
   用新的文件名建立對應新的目錄項
   刪除舊目錄條目對應的舊的目錄名
   不影響inode表(除時間戳)或磁盤上的數據位置:沒有數據移動
   若是目標和源不一樣的文件系統,mv至關於cp和rm

11、軟/硬連接

 一、硬連接

  建立硬連接會增長額外的記錄項以引用文件
  對應於同一文件系統上一個物理文件
  每一個目錄引用相同的inode號
  建立時連接數遞增
  刪除文件時:
   rm命令遞減計數的連接,文件要存在,至少有一個連接數,當連接數爲0時,該文件被刪除
  不能跨越分區
  建立硬連接的語法:
   ln filename [linkname]

 二、軟連接

  一個符號連接指向另外一個文件
  ls - l的 顯示連接的名稱和引用的文件
  一個符號連接的內容是它引用文件的名稱
  能夠對目錄進行
  能夠跨分區
  指向的是另外一個文件的路徑;其大小爲指向的路徑字符串的長度;不增長或減小目標文件inode的引用計數;
  語法:
   ln -s filename [linkname]

 三、查看文件類型

  文件能夠包含多種類型的數據使用file能夠檢查文件的類型,而後肯定適合的命令或應用程序使用,其語法規則爲:  file 選項 文件目錄路徑   -b :列出文件辨識結果時,不顯示文件名稱   -f filelist: 列出文件filelist中文件名和文件類型   -F:使用指定分隔符號替換輸出文件名後默認的:分隔符   -L:查看對應軟連接對應文件的文件類型   --help:顯示命令在線幫助

相關文章
相關標籤/搜索