linux命令格式及基礎命令

linux命令格式及基礎命令介紹

命令格式

command [options] [arguments]   
* command:命令   
* options  --單詞      -單字   
* argument:參數(檔案名稱或其他)

基礎命令介紹

  • ifconfig 用于顯示或設置網絡設備

語法

ifconfig [網絡設備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<網絡設備類型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<網絡媒介類型>][mem_start<內存地址>][metric<數目>][mtu<字節>][netmask<子網掩碼>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

參數說明

  • add<地址> 設置網絡設備IPv6的IP地址。
  • del<地址> 刪除網絡設備IPv6的IP地址。
  • down 關閉指定的網絡設備。
  • hw<網絡設備類型><硬件地址>設置網絡設備的類型與硬件地址。
  • io_addr<I/O地址> 設置網絡設備的I/O地址。
  • irq<IRQ地址> 設置網絡設備的IRQ。
  • media<網絡媒介類型> 設置網絡設備的媒介類型。
  • mem_start<內存地址>設置網絡設備在主內存所占用的起始地址。
  • metric<數目>指定在計算數據包的轉送次數時,所要加上的數目。
  • mtu<字節> 設置網絡設備的MTU。
  • netmask<子網掩碼> 設置網絡設備的子網掩碼。
  • tunnel<地址> 建立IPv4與IPv6之間的隧道通信地址。
  • up 啟動指定的網絡設備。
  • -broadcast<地址>將要送往指定地址的數據包當成廣播數據包來處理。
  • -pointopoint<地址>與指定地址的網絡設備建立直接連線,此模式具有保密功能。
  • -promisc 關閉或啟動指定網絡設備的promiscuous模式。
  • [IP地址] 指定網絡設備的IP地址。
  • [網絡設備] 指定網絡設備的名稱。

示例

顯示網絡設備信息

[root@fox ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.31.98  netmask 255.255.255.0  broadcast 192.168.31.255
        inet6 fe80::4f57:d085:4595:1b79  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:82:83:d3  txqueuelen 1000  (Ethernet)
        RX packets 764  bytes 694100 (677.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 622  bytes 54201 (52.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 72  bytes 5728 (5.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 72  bytes 5728 (5.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:a1:74:c6  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

啟動關閉指定網卡

[root@fox ~]# ifconfig ens33 up
[root@fox ~]# ifconfig ens33 down

配置IP地址

[root@fox ~]# ifconfig ens33 192.168.1.100 
//ens33網卡配置IP地址
[root@fox ~]# ifconfig ens33 192.168.1.100 netmask 255.255.255.0 
// ens33網卡配置IP地址,并加上子掩碼
[root@fox ~]# ifconfig ens33 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
// ens33網卡配置IP地址,加上子掩碼,加上個廣播地址

啟動,關閉ARP協議

[root@fox ~]# ifconfig ens33 arp  //開啟
[root@fox ~]# ifconfig ens33 -arp  //關閉

設置最大傳輸單元

[root@fox ~]# ifconfig ens33 mtu 1500 
//設置能通過的最大數據包大小為 1500 bytes
  • echo 用于在shell中打印shell變量的值,或者直接輸出指定的字符串

語法

echo [選項] [參數]

參數說明

  • -e 激活轉義字符
    • \a 發出警告聲;
    • \b 刪除前一個字符;
    • \c 最后不加上換行符號;
    • \f 換行但光標仍舊停留在原來的位置;
    • \n 換行且光標移至行首;
    • \r 光標移至行首,但不換行;
    • \t 插入tab;
    • \v 與\f相同;
    • \ 插入\字符;
    • \nnn 插入nnn(八進制)所代表的ASCII字符;
  • tty用于顯示終端機連接標準輸入設備的文件名稱

語法

tty [-s][--help][--version]

參數說明

  • -s或–silent或–quiet不顯示任何信息,只回傳狀態代碼。
  • –help 在線幫助。
  • –version 顯示版本信息。

示例

[root@fox ~]# tty
/dev/pts/0
  • startx 用來啟動X window

語法

startx (參數)
  • export 用于顯示或設置環境變量

語法

export [-fnp][變量名稱]=[變量設置值]

參數說明

  • -f  代表[變量名稱]中為函數名稱。
  • -n  刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續指令的執行環境中。
  • -p  列出所有的shell賦予程序的環境變量。

示例

列出所有的環境變量

[root@fox ~]# export -p
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="fox"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x SELINUX_LEVEL_REQUESTED=""
declare -x SELINUX_ROLE_REQUESTED=""
declare -x SELINUX_USE_CURRENT_RANGE=""
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="192.168.31.144 60684 22"
declare -x SSH_CONNECTION="192.168.31.144 60684 192.168.31.98 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x USER="root"
declare -x XDG_DATA_DIRS="/root/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/"
declare -x XDG_RUNTIME_DIR="/run/user/0"
declare -x XDG_SESSION_ID="1"

  • pwd 用于顯示工作目錄

語法

pwd [--help][--version]

參數說明

  • –help 在線幫助。
  • –version 顯示版本信息。

示例

[root@fox ~]# pwd
/root

  • history 用于顯示歷史命令

語法

history [選項] [參數]

參數說明

  • -c:清空當前歷史命令
  • -a:將歷史命令緩沖區中命令寫入歷史命令文件中
  • -r:將歷史命令文件中的命令讀入當前歷史命令緩沖區
  • -w:將當前歷史命令緩沖區命令寫入歷史命令文件中

與history命令相關的幾個環境變量
HISTFILE—-指定存放歷史文件位置,默認位置在/.bash_profile(針對用戶)、/etc/profile(針對全局,如果/.bash_profile內沒有相關環境變量內容則使用全局變量設置) HISTFILESIZE—-命令歷史文件記錄歷史的條數
HISTSIZE—-命令歷史記錄的條數,默認為1000 HISTTIMEFORMAT=”%F %T”—-顯示命令發生的時間 HISTIGNORE=”str1:str2:…”—-忽略string1,string2歷史 HISTCONTROL—-包含一下4項,讓哪一項生效只需要讓其=下面一項即可:
ignoredups: 忽略重復的命令;連續且相同方為“重復” ignorespace: 忽略所有以空白開頭的命令 ignoreboth:ignoredups,ignorespace
erasedups: 刪除重復命令

示例

顯示最近10條歷史命令

[root@fox ~]# history 10
   14  echo -e "\e[1;31mThis is red text\e[0m"
   15  startx
   16  yum update
   17  reboot
   18  ls
   19  man tty
   20  tty
   21  export -p
   22  pwd
   23  history 10

執行命令歷史中的第18條命令

[root@fox ~]# !18
ls
anaconda-ks.cfg  Desktop  Documents  Downloads  initial-setup-ks.cfg  Music  Pictures  Public  Templates  Videos

  • shutdown 可以用來進行關機程序,并且在關機以前傳送訊息給所有使用者正在執行的程序,shutdown也可以用來重開機。

語法

shutdown [-t seconds] [-rkhncfF] time [message]

參數說明

  • -t seconds : 設定在幾秒鐘之后進行關機程序
  • -k : 并不會真的關機,只是將警告訊息傳送給所有只用者
  • -r : 關機后重新開機
  • -h : 關機后停機
  • -n : 不采用正常程序來關機,用強迫的方式殺掉所有執行中的程序后自行關機
  • -c : 取消目前已經進行中的關機動作
  • -f : 關機時,不做 fcsk 動作(檢查 Linux 檔系統)
  • -F : 關機時,強迫進行 fsck 動作
  • time : 設定關機的時間
  • message : 傳送給所有使用者的警告訊息

示例

立刻關機

[root@fox ~]# shutdown -h now

5分鐘后關機

[root@fox ~]# shutdown +5 System will shutdown after 5 minutes
//5分鐘夠關機并顯示警告信息
  • poweroff 用來關閉計算機操作系統并且切斷系統電源

語法

poweroff (選項)

參數說明

  • -n:關閉操作系統時不執行sync操作
  • -w:不真正關閉操作系統,僅在日志文件“/var/log/wtmp”中
  • -d:關閉操作系統時,不將操作寫入日志文件“/var/log/wtmp”中添加相應的記錄
  • -f:強制關閉操作系統; -i:關閉操作系統之前關閉所有的網絡接口
  • -h:關閉操作系統之前將系統中所有的硬件設置為備用模式
  • reboot 用于用來重新啟動計算機

語法

reboot [-n] [-w] [-d] [-f] [-i]

參數說明

  • -n : 在重開機前不做將記憶體資料寫回硬盤的動作
  • -w : 并不會真的重開機,只是把記錄寫到 /var/log/wtmp 檔案里
  • -d : 不把記錄寫到 /var/log/wtmp 檔案里(-n 這個參數包含了 -d)
  • -f : 強迫重開機,不呼叫 shutdown 這個指令
  • -i : 在重開機之前先把所有網絡相關的裝置先停止
  • hwclock 用于顯示與設定硬件時鐘

語法

hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test] [--utc][--version][--set --date=<日期與時間>]

參數說明

  • –adjust  hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用–adjust參數,可使hwclock根據先前的記錄來估算硬件時鐘的偏差,并用來校正目前的硬件時鐘。
  • –debug  顯示hwclock執行時詳細的信息。
  • –directisa  hwclock預設從/dev/rtc設備來存取硬件時鐘。若無法存取時,可用此參數直接以I/O指令來存取硬件時鐘。
  • –hctosys  將系統時鐘調整為與目前的硬件時鐘一致。
  • –set –date=<日期與時間>  設定硬件時鐘。
  • –show  顯示硬件時鐘的時間與日期。
  • –systohc  將硬件時鐘調整為與目前的系統時鐘一致。
  • –test  僅測試程序,而不會實際更改硬件時鐘。
  • –utc  若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工作。
  • –version  顯示版本信息。

示例

顯示當前時間

[root@fox ~]# hwclock
Sun 03 Dec 2017 05:25:46 PM CST  -0.537844 seconds

  • date 可以用來顯示或設定系統的日期與時間

語法

date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

參數說明

  • -d datestr : 顯示 datestr 中所設定的時間 (非系統時間)
  • –help : 顯示輔助訊息
  • -s datestr : 將系統時間設為 datestr 中所設定的時間
  • -u : 顯示目前的格林威治時間
  • –version : 顯示版本編號

格式設定

時間方面:

  • % : 印出 %
  • %n : 下一行
  • %t : 跳格
  • %H : 小時(00..23)
  • %I : 小時(01..12)
  • %k : 小時(0..23)
  • %l : 小時(1..12)
  • %M : 分鐘(00..59)
  • %p : 顯示本地 AM 或 PM
  • %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 : 星期幾 (Sun..Sat)
  • %A : 星期幾 (Sunday..Saturday)
  • %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)

顯示當前時間

[root@fox ~]# date
Sun Dec  3 17:37:49 CST 2017
[root@fox ~]# date '+%c'
Sun 03 Dec 2017 05:38:06 PM CST
[root@fox ~]# date '+%D'
12/03/17
[root@fox ~]# date '+%x'
12/03/2017
[root@fox ~]# date '+%X'
05:38:35 PM

linux獲取幫助信息的方法

info

Linuxinfo格式的幫助指令

tab鍵

在命令行中可以幫助你補全和提示命令、文件、目錄名稱,即可以少記很多東西,也可以減少按鍵次數。

help

用于顯示shell內部命令的幫助信息。help命令只能顯示shell內部的命令幫助信息。而對于外部命令的幫助信息只能使用man或者info命令查看

-h 或–help

適用于外部命令,在命令后面加-h參數即可查看到幫助信息。

man

Linux下的幫助指令,通過man指令可以查看Linux中的指令幫助、配置文件幫助和編程幫助等信息。
  • man的章節劃分
1 - commands 是普通的命令
2 - system calls 是系統調用,open,write之類的(通過這個,至少可以很方便的查到調用這個函數,需要加什么頭文件)
3 - library calls 是庫函數,printf,fread
4 - special files 是特殊文件,也就是/dev下的各種設備文件
5 - file formats and convertions 是指文件的格式,比如passwd, 就會說明這個文件中各個字段的含義
6 - games for linux 是給游戲留的,由各個游戲自己定義
7 - macro packages and conventions 是附件還有一些變量,比如向environ這種全局變量在這里就有說明
8 - system management commands 是系統管理用的命令,這些命令只能由root使用,ifconfig想要指定section就直接在man的后面加上數字
9 - 其他

linux發行版的基目錄名稱命名法則及公用規定

目錄 公用規定
/bin 所有用戶可用的基本命令程序文件
/sbin 供系統管理使用的工具程序
/boot 引導加載器必須用到的各靜態文件:kernel,initramfs(initrd),grub等
/dev 存儲特殊文件或設備文件:設備有兩種類型:字符設備、塊設備
/etc 系統程序的配置文件,只能為靜態。
/home 普通的家目錄的集中位置,一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄/home/yu
/lib 為系統啟動或跟文件系統上的應用程序(/bin,/sbin等)提供共享庫,以及為內核提供內核模塊 libc.so.:動態鏈接C庫:ld:運行時鏈接器和加載器;modules:用于存儲內部模塊的目錄
/lib64 64位系統特有的存放64位共享庫的路徑;
/media 便攜式設備掛載點:cdrom,floppy等;
/mnt 其它文件系統的臨時掛載點;
/opt 附加應用程序的安裝位置;可選路徑;
/tmp 為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;
/usr usr Hierarchy:全局共享的只讀數據路徑;

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

(0)
lingdulingdu
上一篇 2017-12-03
下一篇 2017-12-03

相關推薦

  • M20-1 8月3號 ACL訪問控制列表

    一、acl簡介:   access control list,用于實現靈活的權限管理,除了文件的所有者,所屬組和其他人,可以對更多的用戶設置權限,而acl生效的順序是所有者,自定義用戶組,自定義組,其他人。 二、ACL的設置技巧:   getfacl:取得某個文件/目錄的ACL設置項目   setfacl:設置某個目錄/文件的A…

    Linux干貨 2016-08-08
  • Linux 基礎(7)——文本處理工具

    cat  tac  rev  more  less           head  tail cut  paste  wc               &nbs…

    2017-07-29
  • 馬哥教育網絡版22期+第10周作業

    week10 1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) 2、為運行于虛擬機上的CentOS 6添加一塊新硬件,提供兩個主分區;   (1) 為硬盤新建兩個主分區;并為其安裝grub;   (2) 為硬盤的第一個主分區提供內核和ramdisk文件;&nbsp…

    Linux干貨 2016-10-29
  • 文件查找與解壓縮

    文件查找: which 查找可以執行文件,只搜索$PATH里的目錄 $ which ls /bin/ls which只搜索$PATH里的目錄,如果搜索當前目錄的文件是沒有任何結果的 $ ls -l 總用量 0 -rw-rw-r– 1 huanghao huanghao 0 3月 1 12:24 a.txt $ which a.txt wherei…

    Linux干貨 2017-08-04
  • 自制Linux系統

    自制Linux系統 1.首選準備一臺Linux虛擬機并添加一塊新硬盤 2.分區并創建文件系統,創建兩個必要的分區根分區和boot分區 fdisk /dev/sdb  分區 mke2fs -t ext4 /dev/sdb1    創建boot文件系統 mke2f…

    Linux干貨 2016-09-16
  • 文本處理工具-習題

    1 、找出ifconfig 命令結果中本機的所有IPv4地址 [root@centos7 ~]# ifconfig |head -2 |tail-1 |cut -dn -f2 |cut -d" " -f2 2 、查出分區空間使用率的最大百分比值 [root@centos7 ~]# df |cut -c44-46 |sort -n|tail…

    Linux干貨 2016-08-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-12-16 12:24

    博客中的例子需要修改一下~~繼續加油~

欧美性久久久久