Linux入門知識

#Linux基礎入門

  • 用戶登錄
  • 終端(terminal)
  • 什么是shell?
  • bash shell是什么?
  • 命令提示符
  • shell內部可執行程序有兩類
  • Hash 緩存表
  • alias 命令的別名
  • 命令格式
  • linux常用命令
  • bash 的快捷鍵

用戶登錄

  • root 用戶
    一個特殊的管理帳戶 也被稱為超級用戶 root 已接近完整的系統控制 對系統損害幾乎有無限的能力 除非必要,為 不要登錄為 root
  • 普通用戶
    權限有限 造成損害的能力比較有限

終端(terminal)

用戶和主機或操作系統交互用到的設備

終端的分類

  • 物理終端

顯示器、鍵盤、鼠標等硬件連接到主機接口上的設備稱為物理終端
又叫物理控制臺(console)表示:/dev/console

  • 虛擬終端

物理終端會自帶的6個虛擬終端,可以使用快捷鍵切換終端 切換方式:Ctrl + Alt + F[1~6] 表示為:/dev/tty[1~6]

  • 圖形終端

附加在物理終端上的終端,提供桌面環境,使用簡單 切換方式:Ctrl + Alt + F7 表示為:/dev/tty7

  • 偽終端

通過ssh軟件遠程連接登錄到系統打開的命令行終端 表示為:/dev/pts/0

  • 查看當前終端設備的命令:tty

終端交互式接口

啟動終端后,終端設備會附加一個交互式的應用程序

  • GUI:圖形化界面,基于X協議事項的窗口管理器

桌面系統種類:

GNOME (C, gtk(開發庫)),
KDE (C++, qt(開發庫))
XFCE (輕量級桌面)

  • CLI:命令行界面,與之交互的程序就是shell程序

shell程序種類: Sh、csh、Ksh、Bash、zsh

遠程連接

ssh協議:secure shell;

查看系統是否監聽于tcp協議的22號端口; ss -tnl

查看IP地址;

ip addr list 或 ifconfig
ping:探測網絡的目標主機與當前主機之間的連通性

關閉防火墻:

~]# iptables -L -n

CentOS 7:
~]# systemctl disable firewalld.service 停止防火墻
~]# systemctl stop firewalld.service 關閉防火墻

CentOS 6:
~]# service iptables stop 停止防火墻
~]# chkconfig iptables off 關閉防火墻

什么是shell?

  • Shell 是Linux 系統的用戶界面,提供了用戶與內核進行交互操作的一種 接口。它接收用戶輸入的命令并把它送入內核去執行
  • shell 也被稱為LINUX 的命令解釋器(command interpreter) )
  • shell 是一種高級程序設計語言

bash shell是什么?

是GNU計劃中重要的工具軟件之一,目前也是 Linux 標準的shell ,
與sh兼容,CentOS 默認使用shell

  • 顯示當前使用的shell

echo ${SHELL}

  • 顯示當前系統使用的所有shell

cat /etc/shells

命令提示符

命令提示符是在操作系統中,提示進行命令輸入的一種工作提示符

  • 格式:[root@localhost ~]#
  • 顯示提示符格式格式:

echo $PS1
[\u@\h \w]$
\u:表示用戶名
\h:表示主機名縮寫
\w:表示當前工作目錄
#:表示管理員賬號
$:表示普通用戶賬號

shell內部可執行程序有兩類

  • 內建命令:有shell自帶,通過命令的形式提供

help 內部命令列表 enable cmd 啟用 內部命令 enable –n cmd 禁用 內部 命令 enable –n 查看所有禁用的內部命令

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

查看方式:which -a|–skip-alias; whereis

  • 如何查看一個命令是內部命令還是外部命令?

type command

Hash 緩存表

系統初始hash表為空,當外部命令執行時,默認會從PATH 路徑下尋找該命令,
找到后會將這 條命令的 路徑記錄到hash表中,當再次使用該命令時,
shell 解釋器首先會查看hash表,存在將執行之,
如果不存在,將會去PATH 路徑下尋找。
利用hash 緩存表可大大提高命令的調用速度

  • hash 常見用法

hash 顯示 hash 緩存
hash –l 顯示 hash 緩存,可作為輸入使用
hash –p path name 將命令全路徑path起別名為name
hash –t name 打印緩存中name 的路徑
hash –d name 清除name 緩存
hash –r 清除緩存

alias 命令的別名

alias:顯示當前shell進程的所有可用別名

alias name=‘value’ #定義命令別名
例如: alias cdnet=’cd /etc/sysconfig/network-scripts’

unalias name #撤銷別名
unalias -a name #撤銷所有別名

如果別名和原命令同名,想執行原命令,可以使用:
\command
‘command’

在命令行定義的別名,僅在當前shell進程有效
如果想永久有效,需要定義在配置文件中
僅對當前用戶有效: ~/.bashrc
對所有用戶有效: /etc/bashrc

編輯配置給出的新配置不會立即生效
需要bash 進程重新讀取配置文件
source /path/to/config_file
. /path/to/config_file

命令格式

command [options] [arguments]
選項(options):用于啟動或關閉命令的某個功能

短選項: -c 例如: -l, -h 短選項可合并 -lh
長選項: –world 例如: –all,–human

參數(arguments):命令的作用對象,比如文件名,用戶名等

注意:
多個選項以及多參數和命令之間使用空白字符分隔
取消和結束命令執行:Ctrl+c ,Ctrl+d
多個命令可以用’;’號分開
一個命令可以用”

linux常用命令

  • pwd: printing working directory 顯示工作目錄
  • cd:change directory 切換目錄

cd [/PATH/TO/SOMEDIR]

cd: 切換回家目錄;
注意:bash中, ~表示家目錄;
cd ~:切換回自己的家目錄
cd ~USERNAME:切換至指定用戶的家目錄;
cd -:在上一次所在目錄與當前目錄之間來回切換;
相關的環境變量
$PWD:當前工作目錄
$OLDPWD:上一次的工作目錄

  • ls: list, 列出指定目錄下的內容

ls [OPTION]… [FILE]…

-a: 顯示所有文件,包括隱藏文件;
-A:顯示除.和..之外的所有文件;
-l: –long, 長格式列表,即顯示文件的詳細屬性信息;
-h, –human-readable:對文件大小單位換算;換算后結果可能會非精確值;
-d:查看目錄自身而非其內部的文件列表;
-r: reverse, 逆序顯示;
-R: recursive,遞歸顯示;

  • cat:讀取文件的內容,將文件的內容按正常的順序打出;

cat [OPTION]… [FILE]…

-n:給顯示的文本行編號;
-E: 顯示行結束符$;

  • tac: 讀取文件的內容,將文件的內容按逆序打出;

tac [OPTION]… [FILE]…

-n:給顯示的文本行編號;
-E: 顯示行結束符$;

  • file:查看文件內容類型;
  • echo:回顯

echo [SHORT-OPTION]… [STRING]..

-n: 不進行換行;
-e:讓轉義符生效;
\n:換行
\t:制表符

STRING可以使用雙引號,單引號和反向單引號均可用 ;

單引號:強引用,變量引用不執行替換;
~]# echo ‘$SHELL’
雙引號:弱引用,變量引用會被替換;
~]# echo “$SHELL”
反向單引號:會將引號內的字符當做命令或變量執行
~]# echo `$SHELL`
注意:變量引用的正規符號
${name}

  • 關機或重啟命令:shutdown

shutdown [OPTIONS…] [TIME] [WALL…]
OPTIONS:

-h: halt
-r:reboot
-c:cancel

TIME:

now:立刻
hh:mm:絕對時間,指定具體時間
+m:相對時間,幾分鐘后

WALL:發送一條信息到所有的終端

  • 關機:halt,poweroff
  • 重啟:reboot

-f:強制
-p:切斷電源

  • date: 顯示日期時間

date [OPTION]… [+FORMAT]
+FORMAT:格式符

%F– 年月日
%T– 時分秒
%Y– 年
%m– 月
%d– 日
%H– 時
%M– 分
%S– 秒
%s– 時間戳 從1970年1月1號0點0分0秒到命令執行那一刻經過的秒數;

設定日期時間:date [MMDDhhmm[[CC]YY][.ss]]
月日年 時 分 秒

  • hwclock, clock:顯示或設定硬件時鐘

-s, –hctosys:以硬件為準,把系統調整為與硬件時間相同;
-w, –systohc:以系統為準,把硬件時間調整為與系統時鐘相同;

  • cal:顯示日歷
  • which命令:查看可執行文件的位置
  • whereis命令:查看文件的位置

whereis [options] name…

-b: 僅搜索二進制程序路徑;
-m:僅搜索使用手冊文件路徑;

  • whoami: 顯示當前登錄有效用戶
  • who:顯示哪用戶連接到本地服務器
  • w:顯示哪用戶連接到本地服務器,并顯示用戶正在執行的指令
  • screen:用于命令行終端切換的自由軟件

創建新screen 會話
screen –S [SESSION]
加入screen 會話
screen –x [SESSION] 可用于遠程幫助
退出并關閉screen 會話
exit
剝離當前screen 會話
Ctrl+a,d
顯示所有已經打開的screen 會話
screen -ls
恢復某screen 會話
screen -r [SESSION]

  • history:命令歷史,顯示shell進程會其會話中保存此前用戶提交執行過的命令

-c: 清空命令歷史;
-d offset:刪除指定命令歷史
-r: 從文件讀取命令歷史至歷史列表中;
-w:把歷史列表中的命令追加至歷史文件中;
history #:顯示最近的#條命令;

調用命令歷史列表中的命令:

!#:再一次執行歷史列表中的第#條命令;
!!:再一次執行上一條命令;
!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;

注意:命令的重復執行有時候需要依賴于冪等性;

定制history的功能,可通過環境變量實現:

HISTSIZE :命令歷史記錄的條數
HISTFILE :指定歷史文件,默認為~/.bash_history
HISTFILESIZE :命令歷史文件記錄歷史的條數
HISTTIMEFORMAT=“%F %T “ 顯示時間
HISTIGNORE=“str1:str2*:… “ 忽略str1 命令,str2 開頭的歷史

.bash_history:命令記錄保存文件

控制命令歷史記錄的方式:
環境變量:HISTCONTROL

ignoredups:忽略重復的命令;
ignorespace:忽略以空白字符開頭的命令;
ignoreboth:以上兩者同時生效;
erasedups:刪除 重復命令

例如:export HISTCONTROL=”ignoreboth”
環境變量存放在 /etc/profile 或 ~/.bash_profile

  • 調用上一條命令的最后一個參數:

快捷鍵:ESC, .
字符串:!$
字符串:!:n : 利用上一個命令的第n個參數做cmd

bash 的快捷鍵

Ctrl + l 清屏,相當于clear 命令
Ctrl + o 執行當前命令,并重新顯示本命令
Ctrl + s 阻止屏幕輸出,鎖定
Ctrl + q 允許屏幕輸出
Ctrl + c 終止命令
Ctrl + z 掛起命令
Ctrl + a 光標移到命令行首,相當于Home
Ctrl + e 光標移到命令行尾,相當于End
Ctrl + f 光標向右移動一個字符
Ctrl + b 光標向左移動一個字符
Alt + f 光標向右移動一個單詞尾
Alt + b 光標向左移動一個單詞首
Ctrl + xx 光標在命令行首和光標之間移動
Ctrl + u 從光標處刪除至命令行首
Ctrl + k 從光標處刪除至命令行尾
Alt + r 刪除當前整行

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97686

(2)
綠野綠野
上一篇 2018-05-07
下一篇 2018-05-07

相關推薦

  • 如何搭建CA(向CA申請證書)

    系統中搭建CA CA的配置文件 vim /etc/pki/tls/openssl.cnf 默認 CA_default? (可建多個) [ CA_default ] dir???????????? = /etc/pki/CA????? # Where everything is kept? CA的工作目錄 certs?????????? = $dir/cert…

    Linux筆記 2018-05-19
  • Linux基本指令

    hostname??完整主機名cat?+文件路徑??可查看文件信息cat /etc/shells??顯示所有shelluname -r????查看內核版本ls?cpu???查看cpu信息free命令??查看內存?后面加-k是顯示的內存以kb為單位,-m(MB),-g(GB),-h顯示易讀單位lsblk??查看硬盤dmesg??查看計算機啟動的一些相關信息dm…

    2018-07-22
  • 第十次筆記

    自動化運維之自動化安裝系統

    2018-05-24
  • sed常用操作命令

    sed 為流編輯器,標準輸出為屏幕,默認不會改動源文件 -n :使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN 的數據一般都會被列出到終端上。但如果加上 -n 參數后,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。-e :直接在命令列模式上進行 sed 的動作編輯;-f :直接將 sed 的動作寫在一個文件內, -…

    2018-04-08
  • 課堂筆記(6)

    筆記

    Linux筆記 2018-04-08
  • SHELL編程

    2018-03-21
欧美性久久久久