Linux初學者小記

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

Linux初學者小記

# 咱們再用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)

今天就分享到這吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章