Linux經常使用命令-基礎命令

Linux基礎命令 

  用戶登錄

  • root 用戶mysql

    • 超級管理員linux

    • 對系統有徹底操做的權限sql

    • 誤操做對系統的損害無限大shell

    • 儘可能不要使用root登陸windows

  • 普通用戶centos

    • 對系統的操做權限很小緩存

    • 損害有限bash

    • 須要用普通用戶登陸服務器

  終端terminal分類

  • 設備終端
  • 物理終端
  • 虛擬終端(經過ctrl+alt+f[1-6]) /dev/tty#
  • 圖形終端 /dev/tty7
  • 串行終端
  • 僞終端(ssh遠程鏈接) /dev/pts/#
  • 查看當前的設備終端:tty

  查看ip

ifconfig  查看ip地址
ip addr 
ip a

 

  交互式接口

交互式接口:啓動終端後,在終端設備附加一個交互式的應用程序session

  • GUI(圖形)
  • CLI(命令行)
    • sh
    • csh
    • tcsh
    • ksh
    • bash(linux、mac上的shell)
    • zsh

  shell

shell 是linux系統的用戶界面,提供了用戶和內核進行交互操做的一種接口,它接受用戶輸入的 命令並將它送到內核去執行

  bash shell

  • 目前linux和mac上標準的shell
  • centos默認使用
  • 顯示當前使用的shell echo ${SHELL}
  • 顯示當前系統全部的shell cat /etc/shells
  • 切換shell chsh -s 指定的shell

  Xshell鏈接

  方式一:

  方式二:

 

  鏈接成功:

  命令提示符

[root@localhost ~]#
[xiaoxu@localhost ~]$
其中 # 表示管理員  $表示普通用戶
[用戶@主機名 目錄]命令提示符

  顯示提示符格式

[root@centos ~]# echo $PS1
[\u@\h \W]\$
[用戶@主機名 當前目錄] 命令提示符

 

  修改提示符格式

PS1="\[\e[1;7;47;30m\][\u@\h \W]\\$\[\e[0m\]"
\e 
\h 主機名簡稱
\w 當前工做目錄 \t 24小時時間格式 \! 命令歷史數
\u 當前用戶
\H 主機名
\W 當前工做目錄基名 \T 12小時時間格式
\# 開機後命令歷史數
1表示字體加粗, 0表示默認字體。4表示給字體加上下劃線。5表示字體閃爍。7表示用亮色突出顯示,來讓你的文字更加醒目
31表示字符顏色。
可選顏色:紅色、綠色、黃色、藍色、洋紅、青色和白色。他們對應的顏色代碼是:30(黑色)、31(紅色)、32(綠色)、 33(黃色)、34(藍色)、35(洋紅)、36(青色)、37(白色)
40表示字符背景色。可選顏色 40、4一、4二、4三、4四、4五、4六、47

 

寫到配置文件中

永久生效
echo 'PS1="\[\e[1;7;47;30m\][\u@\h \W]\\$\[\e[0m\]"' >> /etc/profile.d/ps.sh 

  執行命令

輸入命令後回車

在shell中能夠執行的命令分爲兩類

  • 內部命令 shell自帶的命令 安裝完系統之後自帶的命令

    • help 內容命令列表
  • 外部命令

    • 第三方提供的,在文件系統路徑下能夠有對應的文件
  • 如何區份內部仍是外部命令

type 查看命令的類型
which 查找命令的路徑

[root@centos ~]#type cd
cd is a shell builtin
cd 是 shell 內嵌 [root@centos ~]#type cp
cp is aliased to `cp -i'
cp 是 `cp -i' 的別名 [root@centos ~]#which cp alias cp='cp -i' /usr/bin/cp

  命令別名 alias

 顯示當前shell進程全部可用的命令別名 alias

 

定義別名name,其實就是至關於執行命令value

 

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

  • 若是想永久有效,要定義在配置文件中

    • 僅對當前用戶有效:~/.bashrc    eg:[root@localhost ~]#echo "alias cdetc='cd /etc'" >> .bashrc
    • 對全部用戶有效:/etc/bashrc                                            echo "alias cdetc='cd /etc'" >> /etc/bashrc
  • bash進程從新讀取配置文件 source /path/to/config_file

  • 撤銷別名 unalias -a 取消全部別名

[root@centos etc]#unalias cdetc
[root@centos etc]#cdetc
-bash: cdetc: 未找到命令

若是別名同原命令同名,若是要執行原命令,能夠用

  • \aliasname
  • "aliasname"
  • 'aliasname'
  • /path/command
[root@centos ~]#ls
anaconda-ks.cfg  a.retry  a.txt  b.yml    shellinabox
ansible2         a.sh     a.yml  GateOne  syncmysql
[root@centos ~]#"ls"
anaconda-ks.cfg  a.retry  a.txt  b.yml      shellinabox
ansible2     a.sh      a.yml  GateOne  syncmysql
[root@centos ~]#'ls'
anaconda-ks.cfg  a.retry  a.txt  b.yml      shellinabox
ansible2     a.sh      a.yml  GateOne  syncmysql
[root@centos ~]#\ls
anaconda-ks.cfg  a.retry  a.txt  b.yml      shellinabox
ansible2     a.sh      a.yml  GateOne  syncmysql

  命令格式

command [OPTIONS…][ARGS….]

  • 選項:用於啓用或者關閉命令的某個或者某些功能
    • 短選項:例如 -l -h -a
    • 長選項:例如 - - all - - help
  • 參數:命令的做用隊形,好比文件名,用戶名等
  • 注意:
    • 多個選項以及參數和命令之間使用空格分割
    • 取消和結束命令執行 ctrl+c
    • 多個命令能夠用;隔開
    • 一個命令能夠用\分紅多行

  日期和時間 

    date

  命令格式

[root@localhost ~]#date --help
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

  修改時間

[root@localhost ~]#date 073117322019
Wed Jul 31 17:32:00 CST 2019

ntpdate time.windows.com  自動與時間服務器同步時間

  顯示不一樣的時間格式

  [root@localhost ~]#date
  Wed Jul 31 17:33:41 CST 2019

1.顯示年月日
[root@centos ~]#date +%F
2019-07-05
2.顯示小時(24小時制)
[root@centos ~]#date +%H
10
3.顯示小時(12小時制)
[root@centos ~]#date +%I
10
4.顯示年
[root@centos ~]#date +%y
19
5.顯示月
[root@centos ~]#date +%m
07
6.顯示日
[root@centos ~]#date +%d
05
7.顯示分鐘
[root@centos ~]#date +%M
13
8.顯示星期
[root@centos ~]#date +%a
五
[root@centos ~]#date +%A
星期五
9 顯示所有時間
[root@centos ~]#date +%c
2019年07月05日 星期五 10時14分39秒
10.顯示時分秒
[root@centos ~]#date +%T
10:15:08
11.自定義時間格式
[root@centos ~]#date +%y-%M-%d
19-16-05
12.顯示自UTC 時間 1970-01-01 00:00:00 以來所通過的秒數
[root@centos ~]#date +%s
1562292991
13.一年中的第幾周
[root@centos ~]#date +%W
26

  時區

[root@localhost ~]#timedatectl

      Local time: Wed 2019-07-31 17:34:46 CST
  Universal time: Wed 2019-07-31 09:34:46 UTC
        RTC time: Wed 2019-07-31 09:35:19
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

[root@localhost ~]#timedatectl set-timezone  Asia/Shanghai
[root@localhost ~]#time
time         timedatectl  timeout      times        
[root@localhost ~]#timedatectl set-timezone 
Display all 425 possibilities? (y or n)
Africa/Abidjan                  America/Menominee               Asia/Ulaanbaatar
Africa/Accra                    America/Merida                  Asia/Urumqi
Africa/Addis_Ababa              America/Metlakatla              Asia/Ust-Nera
Africa/Algiers                  America/Mexico_City             Asia/Vientiane
Africa/Asmara                   America/Miquelon                Asia/Vladivostok
Africa/Bamako                   America/Moncton                 Asia/Yakutsk
Africa/Bangui                   America/Monterrey               Asia/Yangon
Africa/Banjul                   America/Montevideo              Asia/Yekaterinburg
Africa/Bissau                   America/Montserrat              Asia/Yerevan
Africa/Blantyre                 America/Nassau                  Atlantic/Azores
Africa/Brazzaville              America/New_York                Atlantic/Bermuda
Africa/Bujumbura                America/Nipigon                 Atlantic/Canary
Africa/Cairo                    America/Nome                    Atlantic/Cape_Verde
Africa/Casablanca               America/Noronha                 Atlantic/Faroe
Africa/Ceuta                    America/North_Dakota/Beulah     Atlantic/Madeira
Africa/Conakry                  America/North_Dakota/Center     Atlantic/Reykjavik
Africa/Dakar                    America/North_Dakota/New_Salem  Atlantic/South_Georgia
Africa/Dar_es_Salaam            America/Ojinaga                 Atlantic/Stanley
Africa/Djibouti                 America/Panama                  Atlantic/St_Helena
Africa/Douala                   America/Pangnirtung             Australia/Adelaide
Africa/El_Aaiun                 America/Paramaribo              Australia/Brisbane
Africa/Freetown                 America/Phoenix                 Australia/Broken_Hill
Africa/Gaborone                 America/Port-au-Prince          Australia/Currie
Africa/Harare                   America/Port_of_Spain           Australia/Darwin
Africa/Johannesburg             America/Porto_Velho             Australia/Eucla
Africa/Juba                     America/Puerto_Rico             Australia/Hobart
Africa/Kampala                  America/Punta_Arenas            Australia/Lindeman
Africa/Khartoum                 America/Rainy_River             Australia/Lord_Howe
Africa/Kigali                   America/Rankin_Inlet            Australia/Melbourne
--More--
View Code

  日曆

[root@localhost ~]#cal
      July 2019     
Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

cal -y 展現當年的日曆
cal -y # 顯示#年的日曆

 

  關機重啓

  重啓命令

  • reboot
    • -f 強制,不調用shutdown
    • -p 切斷電源
  • init 6

  關機命令

  • poweroff
  • halt
  • init 0

  關機或者重啓

  • shutdown   默認是一分鐘以後關機
    • -r reboot 重啓
    • -h halt 關機
    • -c 取消
    • TIME 無指定,默認至關於+1
      • now 馬上
      • +m: 至關於多長會時間之後
      • hh:mm 絕對時間表示,知名具體的時間

  查看用戶登錄信息

    • whoami: 顯示當前登錄有效用戶
    • who: 系統當前全部的登錄會話
    • w:系統當前全部的燈了會話及所作的事
[root@localhost ~]#whoami
root
[root@localhost ~]#who am i
root     pts/0        2019-07-31 17:00 (192.168.110.1)
[root@localhost ~]#who
root     :0           2019-07-31 16:44 (:0)
root     pts/0        2019-07-31 17:00 (192.168.110.1)
root     pts/1        2019-07-31 17:08 (:0)
[root@localhost ~]#w
 17:53:12 up  1:10,  3 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0       :0               16:44   ?xdm?  60.83s  0.93s /usr/libexec/gnome-session-binary
root     pts/0    192.168.110.1    17:00    0.00s  0.20s  0.03s w
root     pts/1    :0               17:08   45:02   0.02s  0.02s bash

  echo回顯

功能:顯示字符

說明:echo會將輸入的字符串顯示在標準屏幕上,輸出的字符串間以空白字符隔開,並在最後加上換行號

[root@centos ~]#echo qwqe
qwqe
[root@centos ~]#echo da\
> sadasd\
> sadad\
> \dadadad
dasadasdsadaddadadad

顯示變量

[root@centos ~]#name=alex
[root@centos ~]#echo '$name'
$name
[root@centos ~]#echo "$name"
alex

"" 能夠直接打印變量的值

'' 引號裏面寫什麼就打印什麼

  獲取環境變量

[root@localhost ~]#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

  命令行擴展、集合

命令行擴展 把一個命令輸出打印給另一個命令的參數

  • $()
  • ``
[root@centos ~]#echo "i am `whoami`"
i am root

 

括號擴展,命令展開

[root@centos ~]#echo file{1,2,3}
file1 file2 file3
[root@centos ~]#echo file{1..10} 命令展開
file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
[root@centos ~]#echo file{a..z}
filea fileb filec filed filee filef fileg fileh filei filej filek filel filem filen fileo filep fileq filer files filet fileu filev filew filex filey filez
[root@centos ~]#echo file{00..20..2} 指定步長
file00 file02 file04 file06 file08 file10 file12 file14 file16 file18 file20
[root@centos ~]#echo `seq 1 2 10`
1 3 5 7 9 

  命令引用

`date`
$(date)

[root@localhost ~]#echo `date`
Wed Jul 31 20:38:51 CST 2019
[root@localhost ~]#echo $(date)
Wed Jul 31 20:39:10 CST 2019

 

  tab鍵  命令補全

  • 命令補全

    • 內部命令:
    • 外部命令:bash根據PATH環境變量定義的路徑,自左向右在每一個路徑搜索以給定命令命名的文件,第一次找到的命令就是要執行的命令
      • 用戶給定的字符串只有一條惟一對應的命令,直接補全
      • 不然,再次tab會給出列表(要按兩次tab鍵)
  • 路徑補全

    • 把用戶給出的字符串當作路徑開頭,並在其指定上級目錄下搜索以指定的字 符串開頭的文件名

      若是唯一:則直接補全 不然:再次Tab給出列表

  命令行歷史

  • 保存你輸入的命令歷史,能夠用來重複執行命令
  • 登陸shell時,會讀取歷史文件中記錄的命令~/.bash_history
  • 登陸進shell後新執行的命令只會記錄在緩存中;這些命令會用戶退出時「追加」至命令歷史文件中(正常退出纔會有)
  • 重複前一個命令
    • 鍵盤的上下方向鍵,找到以後回車
    • 按!!並回車執行
    • 輸入!-1並回車執行
    • 按ctrl+p並回車執行
  • !:0 執行前一條命令(去除參數)
  • !n 執行history命令輸出對應序號n的命令
[root@localhost ~]#!123
which cp
alias cp='cp -i'
    /usr/bin/cp

 

  • !-n 執行history命令中倒數第n個命令
  • !string 重複前一個以「string」開頭的命令
  • !?string 重複前一個包含「string」的命令
  • ctrl+r來在命令歷史中搜索命令:
    • (reverse-i-search)`':
  • ctrl+g:從歷史搜索模式退出
  • 從新調用前一個命令的最後一個參數
    • !$
    • esc,.(點擊Esc鍵後鬆開,而後點擊 . 鍵)
  • history
    • -c 清空命令歷史
    • n 顯示最近的n條記錄

  bash的快捷鍵

  • ctrl+l 清屏,至關於clear命令
  • ctrl+o 執行當前命令,並從新顯示本命令
  • ctrl+s 阻止屏幕輸出,鎖定
  • ctrl+q 容許屏幕輸出
  • ctrl+c 終止命令
  • ctrl+z 掛起命令
  • ctrl+a 光標移動到行首,至關於home
  • ctrl+e 光標移動到行尾,至關於end
  • ctrl+xx光標在命令行首和光標之間移動
  • ctrl+u 從光標處刪除至命令行首
  • ctrl+k 從光標處刪除至命令行尾
  • alt+r 刪除當前正行
  • alt+f 光標向右移動一個單詞尾
  • alt+b 光標向左移動一個單詞首
  • 須要注意: alt組合鍵常常和其餘軟件衝突

  獲取幫助

  • 內部命令
    • help command 或者man bash
  • 外部命令
    • command --help
    • command -h
    • man command    q退出
    • 官方文檔
    • google
  • - - help和-h選項
    • 顯示用法總結和參數列表
    • 適用大多數,但並不是全部
[root@centos ~]#date --help
用法:date [選項]... [+格式]
 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
 []表示可選項
 <>表示變化的數據
 ...表示一個列表
 x|y|z 表示或者
 -abc 表示-a -b -c
 {}表示分組

  man章節

  • 1:用戶命令                           Executable programs or shell commands
  • 2:系統調用                           System calls (functions provided by the kernel)
  • 3:c庫調用                             Library calls (functions within program libraries)
  • 4:設備文件與特殊文件         Special files (usually found in /dev)
  • 5:配置文件格式                   File formats and conventions eg /etc/passwd
  • 6:遊戲                                  Games
  • 7:雜項                                  Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
  • 8:管理類的命令                   System administration commands (usually only for root)
  • 9:Linux內核API                   Kernel routines [Non standard]

      箭頭來控制輸出

      回車輸出下一行

      空格切換到下一屏

        q 退出man

相關文章
相關標籤/搜索