前言
直接已經教大家如何創建虛擬機和安裝CentOS 操作系統了,那么今天就來開始入門吧。linux對于新手來說并不難,linux的構造 http://www.www58058.com/68853 這篇博客里我已經講解了,有興趣最好看一下llinux下每個目錄的作用。還有Linux的哲學思想。
這里我就開始介紹了。
一、用戶登陸
在linux中,用戶分為兩種,
1.1 普通用戶
權限有限
造成損害的能力比較有限
這個用戶相當于一個房子的租客,只能在自己租的區域里做事情。但不能對拆房子,或者買房子。
1.2 超級用戶root :
一個特殊的管理帳戶
也被稱為超級用戶
root已接近完整的系統控制
對系統損害幾乎有無限的能力
除非必要,不要登錄為root
這個用戶對簡單的來說就是一個房子的房東,他想對房子做什么就做什么因為房子是他的。他想干什么就干什么。(無敵的存在— —.)
二、終端(terminal)
這個是用來對linux進行操作的,與windows不同,linux因為不同于windows的哲學思想,所以在linux想要最直觀的的結果,那就是在字符界面下進行操作了,在字符界面下操作就離不開一種工具那就是終端,當然終端用很多種,比如在windows下去鏈接linux的終端軟件可以使用Xshell和secureCRT進行對系統的管理。
當然在Linux下也有不同的終端
2.1 設備終端
鍵盤鼠標顯示器
2.2 物理終端(/dev/console )
控制臺console
2.3 虛擬終端(tty:teletypewriters,/dev/tty# #為[1-6])
tty 可有n個,Ctrl+Alt+F[1-6]
2.4 圖形終端(/dev/tty7 )startx, xwindows
CentOS 6: Ctrl + Alt + F7
CentOS 7: 在哪個終端啟動,即位于哪個虛擬終端
2.5 串行終端(/dev/ttyS# )
ttyS(基本沒人用了)
2.6 偽終端(pty:pseudo-tty ,/dev/pts/# )
pty, SSH遠程連接
2.7 當然我們查看終端的命令是:#tty
[→_→TianRandai的滑稽臉] 我們得知道我們用的是什么終端嗎
三、shell是什么?
3.1 Shell 是Linux系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入內核去執行。我們都知道kernel是執行二進制命令的,但是我們不可能去輸入二進制啊,那太多也太麻煩了想一想一條命令要用多少個1和0啊,所以我們的shell 就是來做翻譯的,將我們看的懂的命令翻譯成二進制命令,發送到kernel來讓kernel執行二進制命令,kernel執行命令后回執的二進制結果,通過shell 在翻譯成我們看的懂的語言,額…就是類似翻譯機的軟件。當然shell也是一種高級程序設計語言。
[→_→TianRandai的滑稽臉] shell 腳本,聽說過么? 沒有! 以后會聽說的。
3.2 當然有了shell 就會有shell 的種類,想CentOS中使用的shel l就是 bash (Bourne-Again Shell),也是目前Linux標準的shell
[→_→TianRandai的滑稽臉](注釋:GNU Bourne-Again Shell(bash)是GNU計劃中重要的工具軟件之一,與sh兼容)
3.3 命令提示符:prompt (這不是命令 →_→)
3.3.1 顯示命令提示符的格式
3.3.2 修改提示符格式
PS1=”\[\e[31m\][\u@\h \W]\\$\[\e[0m\]”
\e \033 \u 當前用戶
\h 主機名簡稱 \H 主機名
\w 當前工作目錄 \W 當前工作目錄基名
\t 24小時時間格式 \T 12小時時間格式
\! 命令歷史數 \# 開機后命令歷史數
[→_→TianRandai的滑稽臉](注釋:[32m\]這里是顏色,顏色可以使用這條命令查看,數字應對的顏色cat /etc/DIR_COLORS)
四、命令的執行
4.1我們如何在終端中執行一條命令呢?
首先打開一個終端,在終端的命令提示附后輸入命令然后回車:
然后,提請shell程序找到鍵入命令所對應的可執行程序或代碼,并由其分析后提交給內核分配資源將其運行起來。
4.2在shell中可執行的命令有兩類:
內部命令:由shell自帶的,而且通過某命令形式提供
help 內部命令列表
enable cmd可以啟用
enable –n cmd禁用內部命令
enable –n 查看所有禁用的內部命令
[→_→TianRandai的滑稽臉](注釋:cmd不是命令,這里只帶應該輸入命令)
4.3外部命令:在文件系統路徑下有對應的可執行程序文件
查看路徑:which -a |–skip-alias; whereis
4.4區別指定的命令是內部或外部命令:
# type COMMAND
五、執行外部命令
5.1Hash緩存表:
系統初始hash表為空,當外部命令執行時,默認會從PATH路徑下尋找該命令,找到后會將這條命令的路徑記錄到hash表中,當再次使用該命令時,shell解釋器首先會查看hash表,存在將執行之,如果不存在,將會去PATH路徑下尋找。利用hash緩存表可大大提高命令的調用速率
5.2 Hash常見用法:
hash 顯示hash緩存
hash –l 顯示hash緩存,可作為輸入使用
hash –p path name 將命令全路徑path起別名為name
hash –t name 打印緩存中name的路徑
hash –d name 清除name緩存
hash –r 清除緩存
[→_→TianRandai的滑稽臉](注釋:運行過的命令hash會記錄下來,當內存記錄下來后,系統便不會找硬盤中的命令(只有外部命令才會存放在hash中))
[→_→TianRandai的滑稽臉](注釋:1.我在hash緩存表中將/etc/abc文件定義為vi命令,在執行vi命令,這里提示沒有abc文件或者目錄,這證明系統在運行外部命令時,先從緩存中找,找到則執行,找不到則在去硬盤找。)
六、命令別名
6.1定義別名
#alias
定義別名NAME,其相當于執行命令VALUE
#alias NAME=’VALUE’
[→_→TianRandai的滑稽臉](注釋:直接輸入alias 查詢現有的別名)
6.2取消別名
#unalias
格式: unalias 別名
[→_→TianRandai的滑稽臉](注釋:以上方法都是臨時建立別名的方法,重啟失效,若想開機生效則要寫入到特定的文件中 ~/.bashrc只對當前用戶有效 /etc/bashrc對所有用戶都有效)
[→_→TianRandai的滑稽臉](注釋:對于寫完文件想要文件立刻生效需要一些其他的命令)
source .bashrc 或者 . .bashrc讓進程重新讀取配置文件
[→_→TianRandai的滑稽臉](注釋:這里echo命令是輸出字符串,>>是重定向 ,不要糾結第一條命令,以后會講到的,現在同學們只需要知道這條命令是將alias ifeth0=”ifconfig ens33寫入到.bashrc中就好了。)
[→_→TianRandai的滑稽臉](注釋:系統中原本是沒有ifeth0這條命令的,這條命令是我自己定義出來的別名。)
[→_→TianRandai的滑稽臉](注釋:這里解釋一下系統執行命令運行的優先級,1.別名 2.內部命令 3.外部命令)
六、 命令格式
命令的書寫也是要按照特定格式的,朋友們,這東西不能胡亂寫。
COMMAND [OPTIONS…] [ARGUMENTS…]
翻譯過來就是 命令 選項 參數
選項:用于啟用或關閉命令的某個或某些功能;
短選項:-c, 例如:-l, -h
長選項:–word,例如:–all, –human-readable
參數:命令的作用對象,比如文件名,用戶名等
[→_→TianRandai的滑稽臉](注釋:有些命令是可以跟參數,選項執行的。有一些則需要跟上參數,選項執行)
[→_→TianRandai的滑稽臉](注釋“[]”中括號是可選項,這個…應該都知道吧。)
注意:
1、多選項,以及多參數和命令之間使用空白字符分隔
2、取消和結束命令執行:Ctrl+c,Ctrl+d
3、多個命令可以用;符號分開
4、一個命令可以用\分成多行
七、顯示日期和時間
#date
#date 月份日期小時分鐘年份.秒鐘
Linux的兩種時鐘
系統時鐘:由Linux內核通過CPU的工作頻率進行的
硬件時鐘:主板
hwclock,clock: 顯示硬件時鐘
-s, –hctosys以硬件時鐘為準,校正系統時鐘
-w, –systohc以系統時鐘為準,校正硬件時鐘
時區:/etc/localtime
cal顯示日歷
cal–y
nano文本編輯
八、關機重啟
關機:halt, poweroff
重啟:reboot
-f: 強制,不調用shutdown
-p: 切斷電源
關機或重啟:shutdown
shutdown [OPTION]… TIME [MESSAGE]
-r: reboot
-h: halt
-c:cancel
TIME:now: 立刻
+m: 相對時間表示法,多久之后;例如+3
hh:mm: 絕對時間表示,指明具體時間
九、用戶登錄信息查看命令:
whoami: 顯示當前登錄有效用戶
who: 系統當前所有的登錄會話
w: 系統當前所有的登錄會話及所做的操作
who am i 顯示的是實際用戶的用戶名,即用戶登陸的時候的用戶ID
十、screen命令:
創建新screen會話:
screen –S [SESSION]
加入screen會話:
screen –x [SESSION]
退出并關閉screen會話:
exit
剝離當前screen會話:
Ctrl+a,d
顯示所有已經打開的screen會話:
screen -ls
恢復某screen會話
screen -r [SESSION]
[→_→TianRandai的滑稽臉](注釋:這是一個類似遠程共享終端的命令,它可能需要單獨安裝。)
掛載好鏡像,下面是Centos7的安裝命令
[root@centos7 Packages]#cd /run/media/root/CentOS\ 7\ x86_64/Packages/
[root@centos7 Packages]#rpm -ivh screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm
掛載好鏡像,下面是Centos7的安裝命令
[root@centos6 Packages]#mount /dev/cdrom /mnt
[root@centos6 Packages]#cd /mnt/Packages/
[root@centos6 Packages]#rpm -ivh screen-4.0.3-19.el6.x86_64.rpm
[→_→TianRandai的滑稽臉](注釋:這個我有點解釋不清楚,其中奧妙自行體會吧。)
十一、echo命令
功能:顯示字符
語法:echo [-neE][字符串]
說明:echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號
選項:
-E (默認)不支持\解釋功能
-n 不自動換行
-e 啟用\字符的解釋功能
啟用命令選項-e,若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出
\a 發出警告聲
\b 退格鍵
\c 最后不加上換行符號
\n 換行且光標移至行首
\r 回車,即光標移至行首,但不換行
\t 插入tab
\\插入\字符
\0nnn 插入nnn(八進制)所代表的ASCII字符
echo -e ‘\033[43;31;5mmagedu\033[0m’
\xHH插入HH(十六進制)所代表的ASCII字
命令行擴展:$( ) 或“
把一個命令的輸出打印給另一個命令的參數
括號擴展:{ }
打印重復字符串的簡化形式
?顯示變量
echo “$VAR_NAME“ 變量會替換,雙引號表弱引用
echo ‘$VAR_NAME‘ 變量不會替換,強引用
今天就寫在這到這里啦。已經寫的好長啦,最近出Linux入門下半部,下半部記載著歷史命令與神器tab的使用方法…….[→_→TianRandai的滑稽臉](注釋:絕世武功,上半部 終)
原創文章,作者:TianRandai,如若轉載,請注明出處:http://www.www58058.com/69833