Linux基礎與命令解釋

Linux基礎與命令

Linux起源

    ? 1984 年:Richard Stallman 發起GNU 項目和自由軟件基金會

創建開源的UNIX 實用工具版本

創建通用公共許可證(GPL

開源軟件許可實施原則

? 1991 年:Linus Torvalds 發布Linux

創建開放源碼,類Unix 的內核,在GPL 下發布

下載:www.kernel.org

? Linux 操作系統:

Linux 內核+ GNU 工具= 完整的類UNIX 操作系統

如:CentOS,Ubuntu,Android

Linux發行版

   slackware:SUSE Linux Enterprise Server (SLES)

opensuse 桌面

 debian: ubuntu ,mint

 redhat rhel: redhat enterprise linux

    每18 個月發行一個新版本

   CentOS :兼容rhel 的格式

   中標 麒麟:中標 軟件

   fedora :每6 個月發行一個新版本

 ArchLinux :輕量簡潔

Gentoo :極致性能, 不提供傳統意義的安裝程序

LFS: Linux From scratch  自制Linux

Android: kernel+busybox (工具集)+java 虛擬機、

? Linux 分支參考網站:http://futurist.se/gldt/

世界上的開源許可證,大概有上百種

? GPLv2, GPLv3, LGPL(lesser) copyleftWordPress

? Apache: apache

? BSD: bsd

? Mozilla

? Apache

? MIT

Linux 哲學思想

一切都是一個文件(包括硬件)

?  小型,單一用途的程序

鏈接程序,共同完成復雜的任務

避免令人困惑的用戶界面

配置數據存儲在文本中

? CentOS

https://wiki.centos.org/Download

http://mirrors.aliyun.com

http://mirrors.sohu.com

http://mirrors.163.com

   用戶登錄

? root  用戶:

 一個特殊的管理帳戶

 也被稱為超級用戶

 root 已接近完整的系統控制

 對系統損害幾乎有無限的能力

 除非必要, 不要登錄為 root

? 普通( 非特權  )用戶

 權限有限

 造成損害的能力比較有限

            終端terminal

?  設備終端

鍵盤 鼠標顯示器

? ( 物理終端( /dev/console ) )

控制臺console

?  虛擬終端(tty :teletypewriters, , /dev/tty# # 為[1-6])

tty  可有n 個,Ctrl+Alt+F[1-6]

? ( 圖形終端( /dev/tty7 ) ) startx, xwindows

CentOS 6: Ctrl + Alt + F7

CentOS 7:  在哪個終端啟動,即位于哪個虛擬終端

? ( 串行終端( /dev/ttyS# ) )

ttyS

? ( 偽終端( pty :pseudo-tty , , /dev/pts/# ) )

pty, SSH 遠程 連接

?  查看 當前的 終端設備:#tty

     交互式接口:啟動終端后,在終端設備附加一個交互式應用程序

    GUI :Graphic User Interface

X protocol, window manager, desktop

Desktop:

GNOME (C,  圖形庫gtk), ,

KDE (C++, 圖形庫qt)

XFCE ( 輕量級桌面)

    CLI :Command Line Interface

shell 程序:sh (bourn) csh tcsh ksh (korn)

            bash (bourn again shell)GPL zsh

? Shell  是Linux 系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入內核去執行。

? shell 也被稱為LINUX 的命令解釋器(command interpreter) )

? shell 是一種高級程序設計語言

               bash shell

? GNU Bourne-Again Shell(bash) 是GNU 計劃中重要的工是 具軟件之一,目前也是 Linux 標準的shell ,與sh 兼容

? CentOS 默認使用

?  顯示當前使用的shell

      #echo ${SHELL}

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

      #cat /etc/shells

?命令提示符: :prompt  

?  顯示提示符格式

    [root@localhost ~] :echo $PS1

?  修改提示符格式

    PS1="\[\e[31m\][\u@\h \W]\\$\[\e[0m\]"

    \e \033 

    \u  當前用戶

    \h  主機名簡稱 

    \H  主機名

    \w  當前工作 目錄 

    \W  當前工作目錄基名

    \t 24 小時時間格式 

    \T 12 小時時間格式

    \!  命令歷史數 

    \#  開機后命令歷史數

        ? 在shell 中可執行的命令有兩類:

    內部命令:由shell 自帶的,而且通過某命令形式提供

    help  內部命令列表

    enable cmd  可以啟用

    enable –n cmd  禁用 內部 命令

    enable –n  查看所有禁用的內部命令

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

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

    區別指定的命令是內部或外部命令:

        # type COMMAND

    Hash 緩存表:

        系統初始hash 表為空 ,當外部命令執行時,默認會 從ATH 路徑下尋找該 命令,找到后會將這 條命令的 路徑記錄到

        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 清除緩存

命令別名

      ?  顯示當前shell 進程所有可用的命令別名

       #alias

定義別名NAME ,其相當于執行命令VALUE

#alias NAME='VALUE'

在命令行中定義的別名,僅對當前shell 進程有效

如果想永久有效,要定義在配置文件中

僅對當前用戶:~/.bashrc

對所有用戶有效:/etc/bashrc

       ?  撤消別名:unalias

unalias [-a] name [name …]

-a取消所有別名

date  顯示日期和時間

? Linux 兩種 時鐘

系統 時鐘:由Linux 內核通過CPU 的工作頻率進行

硬件 時鐘:主板

hwclock ,clock:  顯示硬件時鐘

-s, –hctosys  以硬件時鐘 準,校正系統時鐘

-w, –systohc  以系統時鐘為準 , 校正硬件時鐘

時區: /etc/localtime

時間方面 :

% : 印出 %

%n : 下一行

%t : 跳格

%H :小時(0..23

%I : 小時(01..12

%k : 小時(0..23

%M : 分鐘(0..59

%p : 顯示本地時段上午下午

%r : 直接顯示時間 12 小時制,格式為 hh:mm:ss [AP]M)

%s : 1970 1 1 00:00:00 UTC 到目前為止的秒數

%S : 秒(00..61

%T : 直接顯示時間 24 小時制)

%X : 相當于 %H:%M:%S

%Z : 顯示時區

日期方面 :

%a : 星期幾 (Mon..Sun)

%A : 星期幾 (Monday..Sunday)

%b : 月份 (Jan..Dec)

%B : 月份 (January..December)

%c : 直接顯示日期與時間

%d : (01..31

%D : 直接顯示日期 (mm/dd/yy)

%h : %b

%j : 一年中的第幾天 (001..366

%m : 月份 (01..12

%U : 一年中的第幾周 (00..53 (以 Sunday 為一周的第一天的情形)

%w : 周中的第幾天 (0..6

%W : 一年中的第幾周 (00..53 (以 Monday 為一周的第一天的情形)

%x : 直接顯示日期 (mm/dd/yy)

%y : 年份的最后兩位數字 (00.99

%Y : 完整年份 (0000..9999

若是不以加號作為開頭,則表示要設定時間,而時間格式為 MMDDhhmm[[CC]YY][.ss],其中 MM 為月份,DD 為日,hh 為小時,mm 為分鐘,CC 為年份前兩位數字,YY 為年份后兩位數字,ss 為秒數

把計 :

-d datestr : 顯示 datestr 中所設定的時間 (非系統時間)

–help : 顯示輔助訊息

-s datestr : 將系統時間設為 datestr 中所設定的時間

-u : 顯示目前的格林威治時間

–version : 顯示版本編號

例子 :

顯示時間后跳行,再顯示目前日期 :

date +%T%n%D

顯示月份與日數 :

date +%B %d

顯示日期與設定時間(12:34:56 :

date –date 12:34:56

    ? cal  顯示日歷

           cal –y

    ? nano  文本編輯

關機:halt, poweroff

重啟:reboot

-f:  強制,不調用shutdown

-p:  切斷電源

關機或重啟:shutdown

shutdown [OPTION]… TIME [MESSAGE]

-r: reboot

-h: halt

-c cancel

TIME:now:  立刻

+m: 相對時間表示法,多久之后;例如 +3

hh:mm:  絕對時間表示,指明具體時間

       用戶登錄信息查看命令:

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]

echo 命令

  功能:顯示字符

-E (默認)不支持解釋功能

-n 不自動換行

-e 啟用字符的解釋功能

啟用命令 選項-e,若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出

\a  發出警告聲

\b  退格鍵

\c  最后不加上換行符號

\n  換行且光標移至行首

\r  回車,即光標移至行首,但不換行

\t  插入tab

\\  插入\ 字符

\0nnn  插入nnn (八進制)所代表的ASCII 字符

echo -e '\033[43;31;5mmagedu\033[0m'

\xHH 插入HH (十六進制)所代表的ASCII

122.png

  重復前一個命令,有4 種方法:

重復前一個命令 使用上方向鍵,并回車執行

!!  并回車執行

輸入 !-1  并回車執行

Ctrl+p  并回車執行

? Ctrl + n :歷史中的下一條命令

? !num: 按照history 命令輸出中的序號重復對應命令

? !-n : 重復n

? !string  重復前一個以“string ”開頭的命令

? !?string  重復前一個包含string 的命令

? !string:p  僅打印命令歷史,而不執行

? !$:p 打印輸出 !$  的內容

? !*:p 打印輸出 !* (所有參數)  的內容

? ^string  刪除上一條命令中的string

? ^string1^string2  將上一條命令中的string1 替換為string2

? !!:gs/string1/string2  將上一條命令中所有的string1 都替換為 string2

使用up (向上)和down (向下)鍵來上下瀏覽從前輸入的

命令

? ctrl-r 來在命令歷史中搜索命令

reverse-i-search `’:

? Ctrl+g :從歷史搜索模式退出

要重新調用前一個命令中最后一個參數:

? !$ 表示

? Esc, . (點擊Esc 鍵后松開,然后點擊鍵)

? Alt+ . (按住Alt 鍵的同時點擊鍵)

? command !^ :  利用上一個命令的第一個參數做cmd 的參數

? command !$ :  利用上一個命令的最后一個參數做cmd 的參數

? command !* :  利用上一個命令的全部參數做cmd 的參數

? command !:n :  利用上一個命令的第n 個參數做cmd

? command !n:^  調用第n 條命令的第一個 參數

? command !n:$  調用第n 條命令的最后一個 參數

? command !n:m  調用第n 條命令的第 m 參數

? command !n:*  調用第n 條命令的所有

-c:  清空命令歷史

-d:  刪除歷史中指定 的命令

#:  顯示最近的# 條歷史

-a:  追加本次會話新執行的命令歷史列表至歷史文件

-n:  讀歷史文件中未讀過的行到歷史列表

-r:  讀歷史文件附加到歷史列表

-w:  保存歷史列表到指定的歷史文件

-p:  展開 歷史參數成多行 ,但不存在歷史列表中

bash 的快捷鍵

? Ctrl + l 清屏,相當于clear 命令

? Ctrl + o 執行當前命令,并重新顯示本命令

? Ctrl + s 阻止屏幕輸出,鎖定

? Ctrl + q 允許屏幕輸出

? Ctrl + c 終止命令

? Ctrl + z 掛起命令

? Ctrl + a 移到命令行首

? Ctrl + e 移到命令行尾

? Ctrl + f 按字符前移(右向)

? Ctrl + b 按字符后移(左向)

? Alt + f 按單詞前移(右向)

? Alt + b 按單詞后移(左向)

? Ctrl + xx  在命令行首和光標之間移動

? Ctrl + u 從光標處刪除至命令行首

? Ctrl + k 從光標處刪除至命令行尾

? Ctrl + w 從光標處向左刪除至單詞首

? Alt + d 從光標處向右刪除至字尾

? Ctrl + d 刪除光標處的字符

? Ctrl + h 刪除光標前的字符

? Ctrl + y 將刪除的字符粘貼至光標后

? Alt + c 從光標處更改為首字母大寫的單詞

? Alt + u 從光標處更改為全部大寫的單詞

? Alt + l 從光標處更改為全部小寫的單詞

? Ctrl + t 交換光標處和之前的字符

? Alt + t 交換光標處和之前的單詞

 

? Alt + N 提示輸入指定字符后,重復顯示該字符N

注意:Alt快捷鍵較少使用,因為常常和編輯器沖突

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原創文章,作者:SDS,如若轉載,請注明出處:http://www.www58058.com/68888

(0)
SDSSDS
上一篇 2017-03-17 17:27
下一篇 2017-03-17 20:11

相關推薦

  • ?Web服務器之apache

    Web服務器之apache http協議 telnet的使用 curl命令 httpd的相關配置 welcome.conf — 403 forbidden 修改監聽的端口和地址 保持連接 DSO 定義物理主機站點文檔 資源訪問授權 路徑別名Alias 本地httpd-manual 開啟status 日志設定 虛擬主機 基于用戶的訪問控制 httpd壓力測試 …

    Linux干貨 2016-10-08
  • 【招聘福利】上海/北京/深圳丨 云絡科技丨招募linux系統運維工程師

    崗位要求: 1,安裝服務器 – Linux CentOS + netinstall 2.服務器安全 – 用戶、權限、iptables、sudo 3.計劃部署Linux?高可用性,包括HA,LB 4.協助Leader完成復雜的網絡設計 (完全冗余/故障遷移/高可用性) 5.用linux命令查看服務器(top/iostat/vmstat/sar/等) 6.安裝、…

    Linux干貨 2016-04-05
  • 馬哥教育網絡班22期+第5周課程練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell;cat /etc/passwd | grep "^\<root\>"cat /etc/passwd | grep "^\<fedora\>"cat /etc/passwd | grep "^\<user1\…

    Linux干貨 2016-09-19
  • Linux的哲學思想

    Linux的哲學思想 一切皆文件 不管是普通的文件、目錄,還是跟硬件相關的字符設備、塊設備、套接字等在Linux中都被當作文件來進行統一的操作管理。 單個程序完成簡單的功能,復雜的功能由多個程序組合而成 單個程序只實現簡單功能,保證了其高效運行,而復雜功能由多個簡單程序組合而成,也能保證一定的高效性。 盡量避免與用戶交互 程序從啟動開始到結束不需要用戶參與,…

    Linux干貨 2017-07-02
  • 淺談linux基礎知識(二)

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 文件管理工具:cp,mv,rm cp命令:copy 源文件,目標文件 單源復制:cp[OPTION]… [-T] SOURCE DEST 多源復制: cp[OPTION]… SOURCE… DIRECTORY cp[OPT…

    Linux干貨 2016-10-12
  • 馬哥教育網絡班22期+第1周課程練習

    一、計算機組成部分及其功能:硬件系統和軟件系統     1、計算機的硬件系統組成及其功能:         運算器:處理數據的算術運算及邏輯運算即數據加工處理;         控制器:根據…

    Linux干貨 2016-08-15
欧美性久久久久