a開頭的小命令
alias命令
# echo=' - - - ' > /sys/class/scsi_host/host0/scan這條命令是咱們在給虛擬機裝了一塊新的硬盤後,在不關機的前提下掃描你的硬盤,使你新裝的硬盤可用。
# 顯示現在只有一塊200G的硬盤sda
[sun@centos7 ~]$lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 100G 0 part /
├─sda3 8:3 0 3G 0 part [SWAP]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 50G 0 part /data
sr0 11:0 1 10.3G 0 rom /run/media/sun/CentOS 7 x86_64
# 手動添加硬盤ing
# 咱們再用lsblk命令去看,還是沒有新增硬盤的。
[sun@centos7 ~]$lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 100G 0 part /
├─sda3 8:3 0 3G 0 part [SWAP]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 50G 0 part /data
sr0 11:0 1 10.3G 0 rom /run/media/sun/CentOS 7 x86_64
# 現在執行這條長的命令echo=' - - - ' > /sys/class/scsi_host/host0/scan
# 我們再次使用lsblk命令查看,我們現在有了一塊新的100G硬盤sdb
[root@centos7 ~]#echo='- - -' > /sys/class/scsi_host/host0/scan
[root@centos7 ~]#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 100G 0 part /
├─sda3 8:3 0 3G 0 part [SWAP]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 50G 0 part /data
sdb 8:6 0 100G 0 disk
sr0 11:0 1 10.3G 0 rom /run/media/sun/CentOS 7 x86_64
# 給你們覺得比較長且難記的命令頂一個別名,就像小時候給別人取外號一樣。
列:
alias scandik="echo=' - - - ' > /sys/class/scsi_host/host0/scan"
# 定義別名NAME,其相當於執行命令VALUE
alias NAME='VALUE'
# 如果想永久有效,要定義在配置文件中
# 僅對當前用戶:~/.bashrc
# 對所有用戶有效:/etc/bashrc
b開頭的小命令
bc命令
# bc是一個相當於windows裏計算器的工具
[root@centos7 ~]#bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2*3
6
quit
[root@centos7 ~]#
bash命令
在Linux上採用bash作爲標準,基本上它描述了對帶有“.sh”擴展名的vi編輯器等文本的處理並執行。
與編程一樣,它有許多函數,如變量,函數和算術處理,所以如果你是一個小程序,你可以用bash編寫它。
此外,由於bash是由shell執行的,因此它也稱爲shell腳本
# 我們首先創建一個簡單的腳本,將“Hello World !!”輸出到控制檯。使用vim命令創建新文件。
[root@centos7 ~]#vim hello.sh
# 打開編輯器後,按如下所示編寫。
#!/usr/bin/bash
echo "Hello World!!"
exit 0
# 第一行上的“#!/ usr / bin / bash”表示它是使用bash的shell腳本。
# 第二行描述了要執行的語句。
# 最後,使用“exit 0”退出 bash。參數0表示正常結束。
# 創建文件後,使用bash命令執行shell腳本。
[root@centos7 ~]#bash hello.sh
# 執行結果
Hello World!!
c開頭的小命令
cat命令
# 一次顯示整個文件。
[root@centos7 ~]#cat filename
# 從鍵盤創建一個文件。
# 只能創建新文件,不能編輯已有文件.
[root@centos7 ~]#cat > filename
# 將幾個文件合併爲一個文件。
[root@centos7 ~]#cat file1 file2 > file
cd命令
# 跳轉至home目錄下
[root@centos7 ~]#cd /home
[root@centos7 home]#pwd
/home
# 返回父目錄
# 注:"/"此處可省略
[root@centos7 ~]#cd ../
e開頭的小命令
echo命令
# echo命令基本用法,很簡單,就是echo命令後面跟上要輸出的文本,如下:
[root@centos7 home]#echo 123
123
[root@centos7 home]#echo magedu
magedu
[root@centos7 home]#echo sunxiaobo
sunxiaobo
\b 轉義後相當於按退格鍵(backspace),但前提是"\b"後面存在字符,
\c 不換行輸出,在"\c"後面不存在字符的情況下,作用相當於echo -n
\n 換行
\f 換行,但是換行後的新行的開頭位置接着上一行的行尾
\v 與 \f 相同
\t 轉義後表示插入tab,即製表符
\r 光標移至行首,但是不換行,相當於"\r"以後的字符覆蓋"\r"之前同等長度的字符
\\表示插入"\"本身
enable命令
# enable命令用於臨時關閉或者激活指定的shell內部命令。若要執行的文件名稱與shell內建命令相同,可用enable -n來關閉shell內建命令。若不加-n選項,enable可重新啓動關閉的命令。
# -n:關閉指定的內部命令
# -a:顯示所有激活的內部命令
# -f:從指定文件中讀取內部命令
[root@centos7 home]#enable (選項)(參數)
exit命令
# exit命令用於退出目前的shell。執行exit可使shell以指定的狀態值退出。若不設置狀態值參數,則shell以預設值退出。狀態值0代表執行成功,其他值代表執行失敗。exit也可用在script,離開正在執行的script,回到shell。
f開頭的小命令
free命令
# free 命令顯示系統內存的使用情況
[root@centos7 home]#free
total used free shared buff/cache available
Mem: 1487296 823320 81604 57256 582372 447372
Swap: 3145724 264 3145460
# 如果加上 -h 選項,輸出的結果會友好很多
[root@centos7 home]#free -h
total used free shared buff/cache available
Mem: 1.4G 804M 79M 55M 568M 436M
Swap: 3.0G 264K 3.0G
# 下面先解釋一下輸出的內容:
Mem 行(第二行)是內存的使用情況。
Swap 行(第三行)是交換空間的使用情況。
total 列顯示系統總的可用物理內存和交換空間大小。
used 列顯示已經被使用的物理內存和交換空間。
free 列顯示還有多少物理內存和交換空間可用使用。
shared 列顯示被共享使用的物理內存大小。
buff/cache 列顯示被 buffer 和 cache 使用的物理內存大小。
available 列顯示還可以被應用程序使用的物理內存大小。
我想只有在理解了一些基本概念之後,上面的輸出才能幫助我們瞭解系統的內存狀況
g開頭的小命令
gedit命令
# gedit是Linux裏的一個圖形界面的文本編輯工具
# 當下Linux下面最流行的文本編輯器是vi,所以建議你使用vi
h開頭的小命令
hash命令
# linux系統下會有一個hash表,當你剛開機時這個hash表爲空,每當你執行過一條命令時,hash表會記錄下這條命令的路徑,就相當於緩存一樣。第一次執行命令shell解釋器默認的會從$PATH路徑下尋找該命令的路徑,當你第二次使用該命令時,shell解釋器首先會查看hash表,沒有該命令纔會去$PATH路徑下尋找。
# 輸入hash或hash -l 可以查看hash表的內容
# 我們執行hash,結果如下
[root@centos7 home]#hash
hits command
2 /usr/bin/pwd
3 /usr/bin/bash
1 /usr/bin/echo
1 /usr/bin/cat
2 /usr/bin/vim
1 /usr/bin/sh
1 /usr/bin/man
2 /usr/bin/free
# 我們執行hash -l,加參數-l既可以看到hash表命令的路徑,也可以看到它的名字,說不定會有別名哦!
[root@centos7 home]#hash -l
builtin hash -p /usr/bin/pwd pwd
builtin hash -p /usr/bin/bash bash
builtin hash -p /usr/bin/echo echo
builtin hash -p /usr/bin/cat cat
builtin hash -p /usr/bin/vim vim
builtin hash -p /usr/bin/sh sh
builtin hash -p /usr/bin/man man
builtin hash -p /usr/bin/free free
# 我們執行hash -t cat,加參數-t再加某條命令就可以查看這條命令在hash表中命令的路徑
[root@centos7 home]#hash -t cat
/usr/bin/cat
# 我們執行hash -d cat,加參數-d再加某條命令就可以清除這條命令在hash表中命令的路徑
centos7 home]#hash -d cat
[root@centos7 home]#hash -l
builtin hash -p /usr/bin/pwd pwd
builtin hash -p /usr/bin/bash bash
builtin hash -p /usr/bin/echo echo
builtin hash -p /usr/bin/vim vim
builtin hash -p /usr/bin/sh sh
builtin hash -p /usr/bin/man man
builtin hash -p /usr/bin/free free
# 我們執行hash -r,加參數-r是清除在hash表中所有命令的路徑
[root@centos7 home]#hash -r
[root@centos7 home]#hash
hash: hash table empty
hostname命令
# hostname用以顯示或設置系統的主機名稱。
[root@centos7 home]#hostname
centos7.magedu.sun.com
# 參數選項
-s: --short 短主機名
-a: --alias 別名
-i: --ip-address IP地址
-f: --fqdn, --long 長主機名
-d: --domain DNS域名
-y: --yp, --nis NIS/YP域名
-v: 運行時,顯示詳細的處理過程
-F: --filename 讀取指定文件
-h: --help 幫助信息
-V: --version 版本信息
halt命令
# halt 在Linux裏爲關閉系統的命令
# 參數選項
-n : 在關機前不做將記憶體資料寫回硬盤的動作
-w : 並不會真的關機,只是把記錄寫到 /var/log/wtmp 檔案裏
-d : 不把記錄寫到 /var/log/wtmp 檔案裏(-n 這個參數包含了 -d) -f : 強迫關機,不呼叫 shutdown 這個指令
-i : 在關機之前先把所有網絡相關的裝置先停止
-p : 當關機的時候,順便做關閉電源(poweroff)的動作
i開頭的小命令
init命令
# 關機
[root@centos7 ~]#init 0
# 切換到命令行模式
[root@centos7 ~]#init 3
# 切換至圖形化頁面
[root@centos7 ~]#init 5
# 重啓
[root@centos7 ~]#init 6
ip命令
# 在linux系統可以查看ip地址信息的命令
# 其餘的我還沒學到,但是問了度娘後,感覺我太難了
# 下文中!<---ip地址在這裏!,是我後期加的。
[root@centos7 home]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:79:c6:ce brd ff:ff:ff:ff:ff:ff
inet 192.168.111.129!<---ip地址在這!/24 brd 192.168.111.255 scope global noprefixroute dynamic ens33
valid_lft 1389sec preferred_lft 1389sec
inet6 fe80::e1d3:b8aa:accf:bf34/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:c1:d7:80 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:c1:d7:80 brd ff:ff:ff:ff:ff:ff
id命令
# id命令用於顯示用戶的ID,以及所屬羣組的ID。
# id會顯示用戶以及所屬羣組的實際與有效ID。若兩個ID相同,則僅顯示實際ID。若僅指定用戶名稱,則顯示目前用戶的ID。
[root@centos7 home]#id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
# 參數選項
-g: --group 顯示用戶所屬羣組的ID。
-G: --groups 顯示用戶所屬附加羣組的ID。
-n: --name 顯示用戶,所屬羣組或附加羣組的名稱。
-r: --real 顯示實際ID。
-u: --user 顯示用戶ID。
-help 顯示幫助。
-version 顯示版本信息。
l開頭的小命令
lsb_release命令
# lsb_release -a 是用來查看linux版本信息的
# 如果是用不了,可以通過yum -y stall redhat-lsb安裝這個命令的軟件包,就可以正常使用了。
[root@centos7 home]#lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.7.1908 (Core)
Release: 7.7.1908
Codename: Core
ls命令
# ls命令用於顯示指定工作目錄下之內容(列出目前工作目錄所含之文件及子目錄)。
[root@centos7 /]#ls
bin boot data dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
# 參數選項
-a 顯示所有文件及目錄 (ls內定將文件名或目錄名稱開頭爲"."的視爲隱藏檔,不會列出)
-l 除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出
-r 將文件以相反次序顯示(原定依英文字母次序)
-t 將文件依建立時間之先後次序列出
-A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
-F 在列出的文件名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/"
-R 若目錄下有文件,則以下之文件亦皆依序列出
lscpu命令
# lscpu命令可以顯示CPU的詳細信息
[root@centos7 /]#lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 2
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Model name: Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz
Stepping: 10
CPU MHz: 2400.001
BogoMIPS: 4800.00
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0,1
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
lsblk命令
# lsblk命令默認情況下將以樹狀列出所有塊設備
[root@centos7 /]#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 100G 0 part /
├─sda3 8:3 0 3G 0 part [SWAP]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 50G 0 part /data
sdb 8:16 0 100G 0 disk
sr0 11:0 1 10.3G 0 rom /run/media/root/CentOS 7 x86_64
# 解析方便理解
NAME :這是塊設備名。
MAJ:MIN : 本欄顯示主要和次要設備號。
RM : 本欄顯示設備是否可移動設備。注意,在本例中設備sdb和sr0的RM值等於1,這說明他們是可移動設備。
SIZE : 本欄列出設備的容量大小信息。例如298.1G表明該設備大小爲298.1GB,而1K表明該設備大小爲1KB。
RO : 該項表明設備是否爲只讀。在本案例中,所有設備的RO值爲0,表明他們不是隻讀的。
TYPE : 本欄顯示塊設備是否是磁盤或磁盤上的一個分區。在本例中,sda和sdb是磁盤,而sr0是隻讀存儲(rom)。
MOUNTPOINT :本欄指出設備掛載的掛載點。
logout命令
# logout指令讓用戶退出系統,其功能和login指令相互對應
[root@centos7 /]#logout
mv命令
# mv命令用來爲文件或目錄改名、或將文件或目錄移入其它位置。
# 將源文件名改爲目標文件名
[root@centos7 ~]#mv file1 file2
# 將文件移動到目標目錄
[root@centos7 ~]#mv file1 /data
# 目標目錄已存在,將源目錄
移動到目標目錄
[root@centos7 data]#ll
total 0
drwxr-xr-x. 2 root root 6 Sep 21 13:40 sun
drwxr-xr-x. 2 root root 6 Sep 21 13:39 sun1
[root@centos7 /]#mv /data/sun /data/sun1
[root@centos7 /]#cd /data
[root@centos7 data]#ll
total 0
drwxr-xr-x. 3 root root 17 Sep 21 13:41 sun1
[root@centos7 data]#ll sun1
total 0
drwxr-xr-x. 2 root root 6 Sep 21 13:40 sun
# 目標目錄不存在則改名
[root@centos7 data]#mkdir sun
[root@centos7 data]#mv /data/sun /data/sun2
[root@centos7 data]#ll
total 0
drwxr-xr-x. 3 root root 17 Sep 21 13:41 sun1
drwxr-xr-x. 2 root root 6 Sep 21 13:42 sun2
n開頭的小命令
nano命令
# nano命令可以打開指定文件進行編輯,默認情況下它會自動斷行,即在一行中輸入過長的內容時自動拆分成幾行,但用這種方式來處理某些文件可能會帶來問題,比如Linux系統的配置文件,自動斷行就會使本來只能寫在一行上的內容折斷成多行了,有可能造成系統不靈了。因此,如果你想避免這種情況出現,就加上-w選項吧。
[root@centos7 ~]#nano -w .bashrc
p開頭的小命令
poweroff命令
# poweroff在關閉計算機操作系統之後,最後還會發送ACPI指令,通知電源,最後切斷電源供應。
[root@centos7 ~]#poweroff
pwd命令
# pwd是Print Working Directory的縮寫,其功能是顯示當前所在工作目錄的全路徑。主要用在當不確定當前所在位置時,通過pwd來查看當前目錄的絕對路徑。
[root@centos7 ~]#pwd
/root
# 參數選項
-L:--logical, 顯示當前的路徑,有連接文件時,直接顯示連接文件的路徑,(不加參數時默認此方式)
-p:--physical,顯示當前的路徑,有連接文件時,不使用連接路徑,直接顯示連接文件所指向的文件。 當包含多層連接文件時,顯示連接文件最終指向的文件。
--help: 顯示幫助信息。
--version: 顯示版本信息。
q開頭的小命令
quit命令
# quit命令是起到從容退出的
r開頭的小命令
runlevel命令
# runlevel命令是顯示上次所處的以及目前的用戶模式
[root@centos7 ~]#runlevel
N 5
reboot命令
# reboot命令用於用來重新啓動計算機
[root@centos7 ~]#reboot
# 參數選項
-n : 在重開機前不做將記憶體資料寫回硬盤的動作
-w : 並不會真的重開機,只是把記錄寫到 /var/log/wtmp 檔案裏
-d : 不把記錄寫到 /var/log/wtmp 檔案裏(-n 這個參數包含了 -d)
-f : 強迫重開機,不呼叫 shutdown 這個指令
-i : 在重開機之前先把所有網絡相關的裝置先停止
s開頭的小命令
sudo命令
# sudo可以使其他用戶臨時擁有固定用戶的權限
# 並且sudo需要你輸入的是當前用戶的密碼,而並不是根密碼
[root@centos7 ~]#reboot
reboot:must be superuser
[root@centos7 ~]#sudo reboot
[sudo] password for rudy:
t開頭的小命令
tty命令
# tty命令用於顯示終端機連接標準輸入設備的文件名稱
[sun@centos7 ~]$tty
/dev/pts/0
type命令
# 一般命令的類型可以是如下幾種:
alias 別名
keyword 關鍵字,Shell保留字
function 函數,Shell函數
builtin 內建命令,Shell內建命令
file 文件,磁盤文件,外部命令
unfound 沒有找到
# type命令用來顯示指定命令的類型
[sun@centos7 ~]$type echo
echo is a shell builtin
# 參數選項
type -a 可以顯示所有可能的類型,比如有些命令如pwd是shell內建命令,也可以是外部命令。
type -p 只返回外部命令的信息,相當於which命令。
type -f 返回shell函數的信息。
type -t 只返回指定類型的信息。
u開頭的小命令
unalias命令
# unalias命令用於刪除別名。
# unalias爲shell內建指令,可刪除別名設置
unalias [-a] name [name ...]
-a 取消所有別名
# 如果別名同原命令同名,如果要執行原命令,可使用
\ALIASNAME
“ALIASNAME”
‘ALIASNAME’
command ALIASNAME
/path/commmand
w開頭的小命令
who命令
# who命令顯示關於當前在本地系統上的所有用戶的信息
[sun@centos7 ~]$who
sun :0 2019-09-21 14:31 (:0)
sun pts/0 2019-09-21 14:31 (:0)
whoami命令
# whoami命令用於顯示自身用戶名稱。
顯示自身的用戶名稱,本指令相當於執行"id -un"指令
[sun@centos7 ~]$whoami
sun
who am i命令
# who am i顯示的是“登錄用戶”的用戶名(用戶登錄時用過的id)
[sun@centos7 ~]$who am i
sun pts/0 2019-09-21 14:31 (:0)
今天就分享到這吧!