第三章-Linux基本命令操作

本節(jié)所講內(nèi)容:

3.1? ? Linux中斷介紹Shell提示符 Bash Shell基本語法

3.2? ? 基本命令的使用:ls,? ? pwd,? ? cd,? ? history

3.3? ? 查看系統(tǒng)和BIOS硬件時(shí)間

3.4? ? Linux如何獲得幫助

3.5? ? 開關(guān)機(jī)命令及7個(gè)啟動(dòng)級(jí)別

3.6? ? 實(shí)戰(zhàn):? ? 設(shè)置服務(wù)器來電后自動(dòng)開機(jī)

3.7? ? 實(shí)戰(zhàn):? ? 設(shè)置服務(wù)器定時(shí)開機(jī)


3.1? ? Linux終端介紹,Shell提示符,Bash基本語法

3.1.1? ? 登錄Linux終端

兩種終端仿真器:? ? 1,? ? GNOME桌面的GHOME Terminal;? ? 2,? ? KDE桌面的Konsole Terminal

遠(yuǎn)程連接終端工具:? ? Xshell,? ? CRT;

例1:通過tty命令看到當(dāng)前所屬的虛擬終端

[root@xuegod63 ~]# tty

/dev/pts/0

注: shift+ctrl+N快速打開一個(gè)終端.? ? ? ? 終端字體放大:? ? shift+ctrl+加號(hào).? ? ? ? 終端字體縮小:? ? ctrl+減號(hào)

例2:不同虛擬終端之間的通訊

同時(shí)打開兩終端,第一個(gè)終端執(zhí)行:

[root@xuegod63~]# echo xuegod >/dev/pts/1

在第二個(gè)終端查看:有xuegod輸出

例3:? ? 對(duì)所有終端廣播消息:? ? 系統(tǒng)10分鐘后關(guān)機(jī).

[root@xuegod63~]# shutdown + 10? ? ? ? #執(zhí)行此命令后,在其他終端都會(huì)受到關(guān)機(jī)的消息

[root@xuegod63~]# shutdown -c? ? ? ? #取消關(guān)機(jī)

或:

[root@xuegod63~]#wall? ? "The system will be shut down in 10 minutes"? ? #廣播,所有終端都能收到

3.1.2? ? 認(rèn)識(shí)shell

Shell俗稱殼,它提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口,它接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行

Shell實(shí)際上是一個(gè)命令解釋器,它通過解釋用戶輸入的命令并把它傳輸給系統(tǒng)內(nèi)核去執(zhí)行.

Shell有自己的編程語言用于對(duì)命令的編輯,它允許用戶編寫由Shell命令組成的程序.Shell

編程語言具有普通編程語言的很多特點(diǎn),比如它也由循環(huán)結(jié)構(gòu)和分支控制結(jié)構(gòu)等,用這種編輯語言寫的Shell程序與其他應(yīng)用程序具有同樣的效果.

內(nèi)部命令:? ? 在系統(tǒng)啟動(dòng)時(shí)就調(diào)入內(nèi)存,是常駐內(nèi)存的,所以執(zhí)行效率高

外部命令:? ? 是系統(tǒng)軟件的功能,用戶需要時(shí)才從硬盤中讀入內(nèi)存

如何區(qū)分內(nèi)外部命令?

使用type命令,? ? 語法:? ? type? ? 要檢測(cè)的命令

[root@xuegod63~]# type cat

cat是/usr/bin/cat

[root@xuegod63~]# type pwd

pwd是shell內(nèi)嵌

總結(jié):? ? 通過Shell,我們可以對(duì)Linux實(shí)現(xiàn)哪些操作或管理:

例如:

對(duì)文件的管理(創(chuàng)建,刪除,復(fù)制,修改)

1,對(duì)用戶的管理(添加,刪除)

2,相關(guān)權(quán)限的管理(授權(quán)用戶對(duì)相關(guān)文件的管理,比如增刪該查)

3,對(duì)磁盤的管理(分區(qū),raid,lvm)

4,對(duì)軟件的管理

5,對(duì)網(wǎng)絡(luò)的管理

3.1.3? ? Shell提示符 "#"號(hào)與 "$"號(hào)的區(qū)別

[root@xuegod63~]#? ? ? ? ? ? #表示是root用戶登陸,管理員賬號(hào)登陸

[root@xuegod63~]# su -mk? ? #切換到mk普通用戶

[root@xuegod63~]$? ? ? ? ? ? #表示普通用戶登錄

上面各位置對(duì)應(yīng)的內(nèi)容代表的意思如下:

[root? ? @? ?xuegod63? ? ?~? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?]#

用戶名@---主機(jī)名--------當(dāng)前所在目錄(~表示當(dāng)前用戶的家目錄)---(#root/$普通用戶)

3.1.4? ? 認(rèn)識(shí)Bash Shell

查看所有shell類型

[root@xuegod63~]# cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

具體你使用的哪一個(gè),取決于你的用戶配置,也就是說你可以看一下/etc/passwd文件的每一行的最后一個(gè)字段

[root@xuegod63~]#head -1 /etc/passwd

root:x:0:0:root:/root:/bin/bash

3.2? ? 基本命令操作

在Linux中使用一個(gè)命令,命令格式如下:

命令? ? [選項(xiàng)]? ? [參數(shù)]

命令:? ? 具體執(zhí)行的命令,? ? 比如pwd,head

選項(xiàng):? ? 會(huì)影響到命令的一些行為操作, 通常以- --實(shí)現(xiàn)

參數(shù):? ? 命令作用的對(duì)象

3.2.1? ? 基本命令之--ls

作用:? ? 查看當(dāng)前目錄下有哪些文件(list)

語法:? ? ls? ? 目錄/文件? ? ,如果什么也不加,那么查看的是當(dāng)前目錄下的內(nèi)容

常用選項(xiàng):

命令后面不加任何選項(xiàng)

[root@xuegod63~]# ls

-l? ? 列出文件的詳細(xì)信息,如創(chuàng)建者,? ? 創(chuàng)建時(shí)間,? ? 文件的讀寫權(quán)限列表等,長列表

[root@xuegod63~]# ls -l

總用量 8

-rw-------. 1 root root 1680 9月 19 12:16 anaconda-ks.cfg

-rw-r--r--. 1 root root 1728 9月? 19 12:55 initial-setup-ks.cfg

drwxr-xr-x. 2 root root? ? 6 9月? 19 13:05 公共

drwxr-xr-x. 2 root root? ? 6 9月? 19 13:05 模板

drwxr-xr-x. 2 root root? ? 6 9月? 19 13:05 視頻

第一個(gè)字符文件類型中:

d:? ? 目錄文件

l:? ? ? 鏈接文件

b:? ? 塊設(shè)備文件

c:? ? 字符設(shè)備文件

p:? ? 管道文件

-:? ? 表示普通文件

為什么有的目錄文件有不同的顏色呢?

linux系統(tǒng)中不同的顏色代表了不同的文件類型

藍(lán)色---目錄---/etc

黑色---文件---/etc/passwd

淺藍(lán)色---鏈接---/etc/grub2.cfg

紅色---壓縮包---boot.tar.gz

綠色---可執(zhí)行文件---/etc/init_d/network

黑底黃字---設(shè)備文件---/dev/sda

-a? ? 列出目錄下所有的文件,? ? 包括以'.'開頭的隱藏文件(linux下隱藏文件是以.開頭的,如果存在2個(gè)點(diǎn)代表存在著父目錄,1個(gè)點(diǎn)表示當(dāng)前目錄)

[root@xuegod63~]# ls -a

.bash_profile .dbus .mozilla 視頻 桌面

-d? ? 查看目錄(不查看里面的內(nèi)容)

[root@xuegod63~]# ls -ld /root/

dr-xr-x---. 15 root root 4096 11月 15 21:37 /root/

-S? ? 以文件的大小進(jìn)行排序

[root@xuegod63~]# ls -IS /root/

總用量 8

-rw-r--r--. 1 root root 1728 9月 19 12:55 initial-setup-ks.cfg

-rw-------. 1 root root 1680 9月? 19 12:16 anaconda-ks.cfg

ls -l 和ll 這兩個(gè)命令是等價(jià)的

[root@xuegod63 ~]# ll /etc/passwd

-rw-r--r--. 1 root root 2053 9月? 19 12:57 /etc/passwd

[root@xuegod63 ~]# ls -l /etc/passwd

-rw-r--r--. 1 root root 2053 9月? 19 12:57 /etc/passwd

[root@xuegod63 ~]# type ll

ll 是 `ls -l --color=auto' 的別名

3.2.2? ? 別名的使用

定義一個(gè)別名:

[root@xuegod63~]# alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'

[root@xuegod63~]# vimens33

刪除別名:

[root@xuegod63~]# unalias vimens33

設(shè)置別名永久生效:

==> 當(dāng)前用戶

[root@xuegod63~]# vim /root/.bashrc? ? #插入以下內(nèi)容

8 alias vimens33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"

[root@xuegod63~]# source /root/.bashrc

[root@xuegod63~]# vimens33

==>全局使用

[root@xuegod63~]#vim /etc/bashrc? ? #在文件最后插入

alias vimens33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"

[root@xuegod63~]# su -mk

上一次登錄:四 11月 16 10:22:03 CST 2017pts/1 上

[mk@xuegod63 ~]$ vimenss33

3.2.3? ? 基本命令之--cd

作用:? ? 切換目錄(change directory)
語法:? ? cd? ? 目錄
說明:? ? 直接輸入 cd? 表示回到當(dāng)前用戶的宿主(家)目錄
[root@xuegod63 ~]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cd
[root@xuegod63 ~]# cd ~

cd ..? ? 表示返回到上級(jí)目錄位置,? ? 也就是父目錄
cd .? ? 表示進(jìn)入到當(dāng)前用戶所在的目錄

[root@xuegod63 ~]# pwd
/root
[root@xuegod63 ~]# cd ..
[root@xuegod63 /]# pwd
/
[root@xuegod63 /]# cd .
[root@xuegod63 /]#
cd -? #表示返回切換前的目錄
[root@xuegod63 /]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cd -
/

3.2.4? ? 歷史命令之history
命令:? ? history
4個(gè)快速查找Linux歷史命令的技巧
方法1:? ? 光標(biāo)上下鍵↑↓
方法2:? ? ctrl+r →
方法3:? ? !數(shù)字? ? // 執(zhí)行歷史命令第N條命令
方法4:? ? !字符串? ? // 搜索歷史命令中最近一個(gè)以xxxx字符開頭的命令,例如!vim

3.2.5? ? Linux下快捷鍵

都是用CTRL+下面的單詞,? ? ^表示CTRL

^C

? ? ? ?終止前臺(tái)運(yùn)行的程序? ? ,例如: ping g.cn 后,想停下按住ctrl+c

^D

? ? ? 退出? 等價(jià) exit

^L

? ? 清屏與clear功能一樣

^R

? ? 搜索歷史命令,? ? 可以利用好關(guān)鍵詞

!$? ? 引用上一個(gè)命令的最后一個(gè)參數(shù),? ? 等價(jià)于

[root@xuegod63 network-scripts]# cat /etc/hosts

[root@xuegod63 network-scripts]# vim !$? #相當(dāng)于執(zhí)行: vim /etc/hosts

補(bǔ)全命令使用tab鍵,Tab只能補(bǔ)全命令和文件

3.3 系統(tǒng)時(shí)間管理

在Linux中有硬件時(shí)鐘與系統(tǒng)時(shí)鐘等兩種時(shí)鐘.硬件時(shí)鐘是指主板上的時(shí)鐘設(shè)備,也就是通??稍贐IOS? ? 畫面設(shè)定的時(shí)鐘;? ? 系統(tǒng)時(shí)鐘則是指kernel中的時(shí)鐘;? ? 所有Linux相關(guān)指令與函數(shù)都是讀取系統(tǒng)時(shí)鐘的設(shè)定
當(dāng)Linux啟動(dòng)時(shí),系統(tǒng)時(shí)鐘會(huì)去讀硬件時(shí)鐘的設(shè)定,? ? 之后系統(tǒng)時(shí)鐘即獨(dú)立運(yùn)作

3.3.1? ? 兩種時(shí)間

查看硬件時(shí)間

[root @ xuegod63 etc]# hwclock

查看系統(tǒng)時(shí)間

[root @ xuegod63 mnt]# date

時(shí)區(qū):

UTC (Universal Time Coordinated):世界標(biāo)準(zhǔn)時(shí)間

GMT (Greenwich Mean Time):格林尼治時(shí)間

CST? (China standard Time):中國標(biāo)準(zhǔn)時(shí)間

3.3.2? ? 如何修改時(shí)間

date 命令相關(guān)參數(shù)

date --help

-s, --set=STRING? ? 把時(shí)間設(shè)為字符串所描述的時(shí)間

例: [root@xuegod63 ~]# date -s "2018-11-2 22:30"

2018年 11月 02日 星期五 22:30:00 CST

%F? ? 完整日期格式,? ? 等價(jià)于? ? %Y-%m-%d

[root@xuegod63 ~]# date "+%F"

2018-11-02

%y 年份最后兩位數(shù)位 (00-99)

%Y 年份

%m? month (01..12)

%d 按月計(jì)的日期(例如:01)

%M? minute (00..59)

%H 小時(shí)(00-23)

%S 秒(00-60)

[root@xuegod63 ~]# date "+%Y%m%d"? ?

20181102

[root@xuegod63 ~]# date "+%Y-%m-%d %H:%M:%S"? ? #在年月日之前可以添加自己想要的符號(hào)

2018-11-02 22:34:27

[root@xuegod63 ~]# date "+%Y/%m/%d %H:%M:%S"

2018/11/02 22:34:38

[root@xuegod63 ~]# date "+%Y%m%d %H:%M:%S"

20181102 22:35:03


-d,? ? --date=STRING? ? ? ? #顯示由字符串描述的時(shí)間,而不是"當(dāng)前時(shí)間"

date -d "+1 months" +%F

2018-12-02

3.3.3? ? 使用time命令測(cè)試一個(gè)命令運(yùn)行的時(shí)間

time? ? 作用:? ? 一般用來測(cè)量一個(gè)命令的運(yùn)行時(shí)間

使用方法:? ? time? ? 在后面直接跟上命令和參數(shù)

[root@xuegod63 ~]# time ls -l /etc/

real 0m0.056s

user0m0.016s

sys 0m0.040s

說明:

real:? ? 實(shí)際使用時(shí)間

user:? ? 用戶狀態(tài)使用的時(shí)間

sys:? ? 內(nèi)核狀態(tài)使用的時(shí)間


3.4? ? 幫助命令使用

遇到命令不知道添加哪個(gè)參數(shù),? ? 可以使用命令幫助查看相關(guān)介紹,常用的查看幫助信息命令如下幾個(gè):

3.4.1? ? man? ? 命令? ? :查看手冊(cè)頁或命令描述

[root@xuegod63 ~]# man find

man命令查看幫助時(shí),支持它支持上翻下翻,搜索(直接輸入斜線),退出用q

3.4.2 使用-h或--help查看命令選項(xiàng)

[root@xuegod63 ~]# find -h? #不可以執(zhí)行

[root@xuegod63 ~]# find --help

3.5? ? 開關(guān)機(jī)命令及7個(gè)啟動(dòng)級(jí)別

常用的幾個(gè)關(guān)機(jī),重啟命令

shutdown

init

reboot?

poweroff

3.5.1 關(guān)機(jī)命令之--shutdown

作用:關(guān)機(jī),重啟,定時(shí)關(guān)機(jī)

語法:shutdown? [選項(xiàng)]

參數(shù):

-r? ? => 重新啟動(dòng)計(jì)算機(jī)

-h? ? => 關(guān)機(jī)

-h? 時(shí)間? =>定時(shí)關(guān)機(jī)

例如:

[root@xuegod63 ~]# shutdown -h +10? ? ? ? #10分鐘之后關(guān)機(jī)

[root@xuegod63 ~]# shutdown -h 23:30? ? #指定具體的時(shí)間進(jìn)行關(guān)機(jī)

[root@xuegod63 ~]# shutdown -h now? ? ?#立即關(guān)機(jī)

[root@xuegod63 ~]# shutdown -r 22:22? ? #22:22 以后重啟

3.5.2 7個(gè)啟動(dòng)級(jí)別

作用:切換系統(tǒng)運(yùn)行級(jí)別

語法:init? 0-6

Linux 7個(gè)啟動(dòng)級(jí)別:

0? ? 系統(tǒng)停機(jī)模式,? ? 系統(tǒng)默認(rèn)運(yùn)行級(jí)別不能設(shè)置為0,? ? 否則不能正常啟動(dòng),機(jī)器關(guān)的

1? ? 單用戶模式,? ? root權(quán)限,? ? 用于系統(tǒng)維護(hù),? ? 禁止遠(yuǎn)程登陸,? ? 就像Windows下的安全模式登錄

2? ? 多用戶模式,? ? 沒有NFS和網(wǎng)絡(luò)支持

3? ? 完整的多用戶文本模式,? ? 有NFS和網(wǎng)絡(luò),? ? 登陸后進(jìn)入控制臺(tái)命令行模式

4? ? 系統(tǒng)未使用,? ? 保留一般不用,? ? 在一些特殊情況下可以使用它做一些事情.例如在筆記本電腦的電池用盡時(shí),可以切換到這個(gè)模式來做一些設(shè)置

5? ? 圖形化模式,? ? 登陸后進(jìn)入圖形GUI模式,? ? X Windows系

6? ? ?重啟模式,? ? 默認(rèn)運(yùn)行級(jí)別不能設(shè)為6,? ? 否則不能正常啟動(dòng).? ? 運(yùn)行init 6機(jī)器就會(huì)重啟.

[root@localhost ~]# init 0? #關(guān)機(jī)

[root@localhost ~]# init 3? #進(jìn)入3級(jí)別字符界面

[root@localhost ~]# init 5? #進(jìn)入5級(jí)別圖形界面

3.5.3? 設(shè)置默認(rèn)的運(yùn)行界別

centos7不再使用/etc/inittab文件進(jìn)行默認(rèn)的啟動(dòng)級(jí)別配置,而使用比sysvinit的運(yùn)行級(jí)更為自由的target替代。

第3運(yùn)行級(jí)用multi-user.target替代。

第5運(yùn)行級(jí)用graphical.target替代。

設(shè)置默認(rèn)第三啟動(dòng)級(jí)別

[root@xuegod63 ~]#? systemctl set-default multi-user.target

設(shè)置默認(rèn)第五啟動(dòng)級(jí)別

[root@xuegod63 ~]# systemctl set-default graphical.target

[root@xuegod63 ~]# runlevel

3 5? #表示從3級(jí)別切換到了5級(jí)別

查看當(dāng)前默認(rèn)的啟動(dòng)級(jí)別

[root@xuegod63 ~]# systemctl get-default

graphical.target

3.6? ? 實(shí)戰(zhàn):? ? 設(shè)置服務(wù)器來點(diǎn)后自動(dòng)開機(jī)

進(jìn)入bios,? ? ?一般是在開機(jī)后出現(xiàn)主板畫面是按Delete這個(gè)鍵,? ? 部分品牌機(jī)可能按F2,F1

選擇Integrated Peripharals (外圍設(shè)備設(shè)置)中的SuperIO Device? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Integrated [??nt?gre?t?d] 集成 ; Peripharals [p??r?f?r?l] 外圍

將其中的Restore On AC Power Loss 選項(xiàng)修改: Power On

(若要加電不開機(jī)選擇Power Off,若要加電之前斷電狀態(tài)選擇Last State)

3.7? ? 設(shè)置服務(wù)器定時(shí)開機(jī)

Power Management Setup,? ? 就進(jìn)入電源管理設(shè)置了

通過回車進(jìn)入這個(gè)設(shè)置后,選擇Wake Up Event Setup,回車選擇Press Enter

找到RTC??Alarm([??lɑ:m] 報(bào)警),將Disabied?更改為Enabled,然后繼續(xù)回車確定。然后再繼續(xù)設(shè)置時(shí)間點(diǎn)和日期

按F10保存,退出

總結(jié):

3.1? Linux終端介紹 Shell提示符 Bash Shell基本語法

3.2? 基本命令的使用:ls、pwd、cd、history

3.3? 查看系統(tǒng)和BIOS硬件時(shí)間

3.4? Linux如何獲得幫助

3.5? 開關(guān)機(jī)命令及7個(gè)啟動(dòng)級(jí)別

3.6 實(shí)戰(zhàn):設(shè)置服務(wù)器來電后自動(dòng)開機(jī)

3.7 實(shí)戰(zhàn):設(shè)置服務(wù)器定時(shí)開機(jī)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個(gè)...
    _小老虎_閱讀 6,335評(píng)論 0 10
  • 1.命令格式:ifconfig [網(wǎng)絡(luò)設(shè)備] [參數(shù)] 2.命令功能: ifconfig 命令用來查看和配置網(wǎng)絡(luò)設(shè)...
    Nuuuu閱讀 4,152評(píng)論 0 12
  • Linux習(xí)慣問題: 在vim編輯時(shí),按了ctrl + s后,再按ctrl + q就可以繼續(xù)執(zhí)行了。ctrl + ...
    光著腳的鞋閱讀 4,694評(píng)論 0 16
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,715評(píng)論 0 5
  • 我是一個(gè)內(nèi)向又沉默的女孩,也許是因?yàn)樯L環(huán)境,又或許是因?yàn)樵诩胰说谋Wo(hù)下,逐漸變成不善言辭,膽小內(nèi)向的一個(gè)人...
    玉念痕閱讀 167評(píng)論 0 0

友情鏈接更多精彩內(nèi)容