Linux03_一些整理

常見的操做系統:
centos:企業 Linux-----Community Enterprise Operating System----開源免費
Redhat enterprise Linux(RHEL)---Linux操做系統佼佼者---企業版
Ubuntu----開源免費,可購買服務---借鑑Debian,超越Debian
Debian----歐洲流行
suse
oracle Linux
麒麟 kylin---軍方前端

cpu:一顆,裏面有4核,8核,16核 實現運算功能(core)
Intel:
core酷睿系列:i5,i7,i8,i9----我的電腦使用
xeon至強系列:服務器使用python

塔式服務器
機架式服務器:1路(1U),2路(2U),4路(4U)
1U = 4.5cmmysql

GUI 圖形用戶界面---能夠經過圖形看到效果,可點鼠標操做
CLI 命令行界面---只能經過敲命令來完成---Linux的專業人士nginx

localhost 本地主機---Linux系統安裝好以後默認的名字 一臺電腦就是一臺主機web

ps aux 查看當前Linux裏全部的進程的信息的命令
ps 命令
aux 選項
| 管道
grep 文本過濾的命令
ps aux|grep sshd
sshd Linux裏提供的遠程登錄服務的進程sql

Ubuntu裏安裝軟件的命令:
sudo apt-get install openssh#
sudo受權的命令,root用戶受權咱們當前的登錄去執行重要的命令,Ubuntu默認狀況下root用戶是禁用的
apt-get 是Ubuntu裏軟件管理的命令
openssh# 安裝軟件的名字以openssh開頭的
#是通配符,可表明任意個字符
openssh-clent openssh-servershell

service sshd start 啓動sshd服務編程

yum是centos系統裏管理軟件的命令
yum install/remove vim---安裝/刪除vim
CTRL+c 強行終止
ping網絡測試的命令,檢測網絡是否通暢
Linux會一直ping,須要CTRL+C強行終止,windows只會Ping4次ubuntu

關機命令:
init 0
poweroff
halt
shutdown -h nowvim

Ubuntu和centos區別:
派系:Debian Redhat
免費
開源
使用上的區別:Ubuntu不容許root用戶登錄,安裝命令:apt-get,,,yum
centos沒有桌面版本

nginx:web服務器軟件---提供網站服務
基礎軟件不要錢
增值軟件:須要購買----vip(使用更好的功能)
support:
NGINX Plus---plug 插件

提示符:第一提示符---PS1-- prompt symbol 1

Shell編程:Linux命令編程---簡單---腳本編程)——Linux命令堆積起來
腳本在Windows裏不能使用,有些命令在Windows沒有

echo Linux裏輸出內容的命令,至關於python裏的print()
[root@localhost ~]# echo $PS1
[\u@\h \W]\$
[root@localhost ~]#

shell賦值時等號左右不能有空格,有空格會當成命令
[root@localhost ~]# sg="han"--定義變量sg,賦值han
[root@localhost ~]# echo $sg---引用變量的值要接$
han

[root@localhost ~]# echo "hello,world"
hello,world
[root@localhost ~]# echo hello,world
hello,world
輸出一段內容可不加引號,可是不能用單引號

單引號和雙引號的區別:
1.雙引號裏能夠引用變量的值
2.單引號:所見即所得---$符號在裏面只是一個符號,沒有特殊做用,不能去引用變量的值

自定義:本身定義的變量---建議小寫
預約義變量:系統裏預先定義好的變量,不須要人再去定義,可直接使用

env查看預約義好的環境變量
環境變量:全局變量,全部用戶均可以使用
set查看全部變量
[root@localhost ~]# set|grep PS1
PS1='[\u@\h \W]\$ '

主提示符[登陸用戶@主機名 工做目錄]
PS1='[\u@\h \W]\$ '
輔助提示符
root用戶登陸後,提示符爲「#」
其餘普通用戶登錄後,該提示符爲「$」
PS1可修改(不推薦)----臨時修改:

[]只是一個符號,用來組合使用
\u 當前登陸用戶的名字 userbr/>@只是一個符號,無特殊做用
\h 當前Linux主機的名字 hostname
\W當前所在文件夾的名字(當前路徑) working directory 工做目錄 目錄=文件夾
~當前目錄所在的文件夾是家目錄
根目錄:整個Linux系統的文件夾開始的地方--最頂層的文件夾名字
家目錄:用戶登陸系統的時候直接進入的文件夾,就是這個用戶的家目錄
root用戶的家目錄在/root目錄
普通用戶的家目錄在/home下,默認與用戶名同名
區別:
家目錄在根目錄下,根目錄包含了家目錄(root的家目錄/root,普通用戶的家目錄/home)

cd 進入文件夾的命令 change directory to another directory
ls 查看文件夾裏的內容 list
[root@localhost ~]# cd /
[root@localhost /]#

\$若登錄的root用戶,就使用#
[root@localhost ~]# useradd han---新建用戶han
[root@localhost ~]# su - han---切換用戶han,substitute替換
[han@localhost ~]$
[han@localhost ~]$ exit--退出登錄用戶
註銷
[root@localhost ~]#

註銷:退出當前用戶,退出時會關閉這個用戶開啓的全部(前端)程序

[root@localhost ~]# pwd---查看當前路徑---print name of current/working directory
/root
[root@localhost ~]# man pwd---使用man命令查看pwd命令的使用手冊--manual手冊,指南
按q(quit)退出man命令界面

[root@localhost /]# rm -rf china
[root@localhost /]# cd china
-bash: cd: china: 沒有那個文件或目錄

PS2是第2提示符:續行,一行沒寫完繼續到下一行寫的時候,出現的提示符
[root@localhost ~]# echo 'hello

world
han
'
hello
world
han

Linux通用命令格式:命令字符[選項][參數]
選項:用於調節命令的具體功能,是可供選擇的項目,接了有特殊做用
參數:參與進來的(),命令操做的對象,如文件,目錄名
中括號內可接可不接
「-」引導短格式選項----「-a」
「--」引導長格式選項(多個字符)---「--all」
-p --parents:1.文件夾若是存在,不報錯
2.當父目錄不存在的時候,自動新建

Linux命令:用於實現某一類功能的指令或程序
ls,makdir,cp,rm,pwd都是命令,c語言編寫
命令的執行依賴於解釋器程序(如bin\bash)

Linux命令的分類:
內部命令:屬於shell解釋器的一部分----安裝好bash就有的命令,這些命令不用額外安裝
外部命令:獨立於解釋器以外的程序文件---安裝好bash並無提供的命令,須要咱們另外安裝的

操做系統:
1.內核:操做系統內部最核心軟件
做用:1.對cpu進行調度管理
2.對內存進行分配
3.對文件系統進行管理
4.對進程進行管理
5.對其餘硬件進行管理
系統調用:system call 操做系統內部的程序,它是內核對外的接口程序---理解爲函數,如read(),write(),fork()等

2.庫:函數庫,用來實現一個具體的功能,可被其餘程序調用--至關於一個輪子
3.應用程序:具體拿來使用的軟件,如nginx,mysql,ls,mkdir等----普通用戶使用的軟件

硬件(服務器方向):cpu,內存,網卡,磁盤

shell是Linux系統裏的解釋器---中間傳遞
shell解釋器:翻譯工具,將人輸入的命令翻譯給內核,內核把執行結果給shell,shell再返回給人
用戶---》ip add---》shell 1.分析語法2.查找命令在哪3.讓內核去啓動程序--》內核執行程序---》執行結果---》shell---》用戶
bash:Linux裏最好使用的shell解釋器,不少版本的Linux默認解釋器(centos,ubuntu,redhat)
bash也是一個程序,用c語言縮寫出來的
bsh----bash again
[root@localhost ~]# echo $SHELL 查看Linux裏默認的shell
/bin/bash

[root@localhost ~]# cat /etc/shells 查看Linux裏有哪些shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/usr/bin/tmux
/bin/tmux

shell主要的工做:
1.解釋用戶輸入的命令,哪一個是命令,哪些是參數和選項
2.查找命令在磁盤裏存放的位置
3.啓動這個程序

shell編程:就是Linux裏的shell裏寫程序---讓shell幫忙執行Linux命令

cd /
mkdir -p han
cd han

#建立20個文件夾,以sanchuang開頭
for i in {1..20}
do
mkdir sanchuang$i
done

#for in do done 都是關鍵字
#建立10個用戶,用戶名以feng開頭,並建立完後輸出信息
for a in {1..10}
do
useradd feng$a
echo "create user feng$a ok"
done

shell腳本:劇本,裏面的內容都是提早安排好的
shell腳本是一個文件,裏面是大量的Linux命令,執行這個腳本就會執行裏面的命令,按照相關的順序,從頭至尾的執行
[root@localhost ~]# bash create_file.sh 執行腳本
create user feng1 ok
create user feng2 ok
create user feng3 ok
create user feng4 ok
create user feng5 ok
create user feng6 ok
create user feng7 ok
create user feng8 ok
create user feng9 ok
create user feng10 ok

echo $? 上一條命令執行的返回值爲0,說明上一條命令執行成功,非0表示執行失敗
id判斷用戶是否存在,查詢用戶信息的命令,若是能顯示出來,說明用戶存在

if 條件
then
命令1
else
命令2
fi
條件:能夠是執行的一條Linux命令,命令執行成功,條件爲真(成立),失敗則爲假(不成立)
fi 關閉符號

&>/dev/null 將內容不要在屏幕上顯示,重定向到黑洞文件/dev/null 黑洞文件,任何內容只要存放到這個文件裏,都不保存重定向:將id feng$a再屏幕上的輸出內容重定向到/dev/null文件裏,這個文件不保存內容

相關文章
相關標籤/搜索