歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

Linux新手掃盲,linux掃盲

Linux新手掃盲,linux掃盲


Linux新手掃盲,linux掃盲


一. Linux特點

1.免費/開源;

2.支持多線程/多用戶;

3.安全性好;

4.對內存和文件管理優越。

 

Linux最小只需4M ——> 嵌入式開發

二. 文件目錄

Linux系統所有軟硬件都是以文件的形式存在,可以自由設置、掛載、卸載。了解Linux文件目錄,是學習Linux的關鍵。

主要目錄

/ :Linux文件系統的上層根目錄,主目錄。

/root :超級管理員的主目錄,存放root用戶相關文件。

/home :一般用戶目錄或FTP站點目錄,存放普通用戶文件。

/etc :存放系統配置相關文件。

/boot :存放Linux系統啟動所需文件,相關引導文件。

/dev :系統設備文件,如:硬盤、打印機。

/mnt :裝置文件系統的加(掛)載點。如:光驅、軟盤等的掛載目錄。

/proc :當前系統核心與程序執行的信息。(process,系統當前運行的進程信息。)

/usr :存放系統應用程序和相關文件,類似於win的Program Files。

/var :存放系統經常變動的文件,如日志文件、用戶郵件。

/tmp :系統零時文件目錄(如安裝程序過程中產生的零時文件),每個用戶都可以對他進行讀寫操作,一段時間不使用系統會自動刪除該目錄下的文件。

/bin :存放可執行命令的目錄,系統任何用戶均可執行該目錄下的命令。

/sbin :存放系統啟動時所需執行的命令的目錄,該目錄裡的命令需要高級權限的用戶才可使用。

swap :相當於windows的虛擬內存。

當前目錄:pwd

相對路徑:指從當前目錄去訪問某個文件(夾)

絕對路徑:指從根目錄(/)去訪問某個文件(夾)

綠色  ---->代表可執行文件

紅色  ---->代表壓縮文件

深藍色---->代表目錄

淺藍色---->代表鏈接文件

灰色  ---->代表其它的一些文件

三. Linux系統分區

Linux系統分區和windows一樣,怎麼分,分多大因人而異,基礎分區如下:

/      根目錄分區(一般大小為分完其他分區後硬盤剩余的總量)

/boot  系統啟動、引導分區,大小隨意( 最好200+ M)。

swap   相當於win的虛擬內存,大小為內存兩倍,最好1024M以上。

分好區後,需要安裝軟、硬件可直接通過/mnt 掛載上去,不需要的時候再卸載。

(文件掛載先將其轉換成ISO格式)

001

四. Linux網絡環境的配置

修改IP的三種方法

第一種(在gui視圖模式下配置):

命令:/etc/rc.d/init.d/network restart

 

第二種(快速修改):

廣播地址和dns使用默認的。

注:此操作網絡配置會立即生效,但只是臨時生效,系統重啟會恢復到之前的。

 

第三種(修改最底層的網卡文件內容):

命令:/etc/rc.d/init.d/network restart

 

設置系統日期

data MMDDHHMMCCYY.SS

//修改系統時間,後面字母代表:月月日日時時分分年年年年.秒秒

 

  1. 查看日歷(calendar)

查看月歷:cal 5 2016   //查看2016年5月的月歷

查看年歷:cal 2016    //查看2016年的整年日歷

 

用戶的環境變量:/home/用戶/.bash_profile

系統環境變量:/etc/profile

配置.bashrc 文件可以指定某些程序在用戶登陸的時候自動啟動:

對系統某個用戶在:/home/用戶/.bashrc

整個系統(所有用戶):/etc/bashrc

 

Linux啟動過程分析

終止以K開頭的服務,啟動以S開頭的服務(如下圖init為5)

002

  1. /etc/rc.d/rc/local 執行本地配置;
  2. 其他特殊服務。

 

五. 用戶管理

添加用戶:useradd 用戶名(useradd aaa)

設置/修改密碼:passwd 用戶名(passwd aaa)

添加用戶組:groupadd 用戶組名(groupadd root123)

 

將用戶添加到某用戶組:

useradd –g 用戶組 用戶(useradd –g root123 aaa)

 

修改用戶屬性(需root權限)

usermod –g 用戶組 用戶

usermod –d 目錄 用戶名   //改變用戶登陸的初始目錄

usermod -s shell類型 用戶名

usermod -c 注釋 用戶名

usermod -u 用戶編號 用戶名

 

刪除用戶:userdel aaa (刪除用戶,但/home下用戶主目錄文件信息仍存在)

userdel –r aaa (徹底刪除用戶及用戶所有文件信息)

 

查看系統中所有用戶:

cat /etc/passwd

 

查看系統所有用戶組:

cat /etc/group

 

默認情況下新建一個用戶,就會生成一個以該用戶名命名的用戶組。

 

六. 進程/網絡狀態管理

進程:

 

進程與線程:

進程:正在執行的程序。

線程:1. 輕量級的進程;

  1. 進程有獨立的地址空間,線程沒有;
  2. 線程不能獨立存在,它是由進程創建的;
  3. 線程耗費的cpu和內存小於進程。

查看進程:1. ps –aux (當前運行進程,靜態)

  1. top (動態監控進程)

003

終止進程:

kill 進程號( PID )

eg:kill 16251     //終止進程號為16251的進程

kill -9 16251   //某些進程不能被殺,使用 -9 參數強制終止進程

 

顯示網絡狀態命令:netstat

此命令用來顯示整個系統目前的網絡情況。如連接、數據包、路由表內容。

netstat –an 顯示所有端口和連接信息(包括遠程鏈接到本機的ip)

netstat –anp 與上面想比,多顯示進程號(PID),推薦使用此命令

 

顯示數據包經過歷程命令:traceroute

此命令用來檢測數據包在網絡上傳輸的過程,可顯示本機到目標主機所經歷路由的完整路徑。

traceroute + 參數 + 目標IP或網址   //參數可忽略,相當於win下的tracert。

eg:traceroute www.baidu.com

 

route –n 顯示本機網關、路由情況。

 

linux上進程有5種狀態:
1. 運行(正在運行或在運行隊列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)
4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)

 

ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process

 

七. 文件管理

文件所有者:

文件是哪個用戶創建的,它的所有者就是該用戶。

ls –ahl   查看文件所有者

// a代表顯示所有,包括隱藏文件;h代表輸出文件大小;l代表用長列表顯示,顯示更詳細內容。

 

修改文件所有者:chown 用戶名 文件名

修改文件夾所有者:chown –r 用戶名 文件夾目錄   //Linux中-r 為遞歸的意思。

 

文件所在組:

文件是哪個用戶創建的,它的所在組就是該用戶所在組。

ls –ahl   查看文件所在組(如上)

 

修改文件所在組:chgrp 組名 文件名

 

文件和目錄權限:

rwx = 421   //讀寫執行

chmod 777 aaa   //賦予文件aaa最高權限

 

文件賦權執行上面格式即可,下面做詳細诠釋。

 

chmod u=rwx,g=rx,o=rx aaa

//相當於chmod 755 aaa;u代表user;g代表group;o代表other

chmod u-x,g+w aaa   //給aaa去除用戶執行權限,增加用戶組寫的權限

 

八. 常用命令

Linux運行級別   init [0123456]

運行級別 0:關機           //shutdown –h now也可立即關機

1:單用戶

2:多用戶狀態沒有網絡服務

4:系統未使用保留給用戶

5:圖形界面

6:系統重啟       //reboot

常用運行級別是3和5,修改系統啟動默認的運行級別:

/etc/inittab文件中的id:5:initdefault中的數字。

 

查看用戶當前運行級別命令:runlevel 或 who -r

 

若不慎將默認運行級別設置為6,系統將不斷重啟。

解決:在啟動界面按e,進入第二個界面選中第二行按e,然後輸入1(以單用戶啟動,且進入不需要密碼,也可用於忘記密碼時進入然後重設密碼),進入init 1級別用命令改回文件的默認運行級別。

 

Linux常用命令

 

有問題用man命令(manual指南,相當於dos下的help)

eg :#man grep(後直接接命令)

 

ls:查看文件目錄,等於dir

ls –l 用長列表顯示,顯示更詳細內容;

ls –a 顯示隱藏文件;

ls –h 顯示文件大小。

 

重定向命令:

ls –l > a.txt 將顯示的內容寫入a.txt(覆蓋原內容)

ls –al > aa.txt 將現實的內容追加到文件aa.txt的末尾(不覆蓋原內容)

 

lsb_release -a   //查看版本信息

uname -a   //可顯示電腦以及操作系統的相關信息。

cat /proc/version   //說明正在運行的內核版本。

cat /etc/issue   // 顯示的是發行版本信息

touch:創建空文件

mkdir:創建文件夾

vi:編輯文件,當文件不存在時可創建文件

cat:查看文件內容

cp:復制命令

cp –r aaa bbb (遞歸復制,將aaa文件及子文件復制到bbb)

mv:移動文件或重命名

rm:刪除文件

rm –rf * 刪除文件夾所有內容(包括目錄及子文件)

r 遞歸   f 強制

ln:建立符號鏈接,相當於建立快捷方式link。

ln –s 源文件路徑 目標文件路徑

eg:ln –s /root/abc3.java toabc3

//建立後顯示如下(文件屬性前會多個l,代表ln命令建立的)

004

more:分頁顯示文件內容,按空格查看下一頁,不可查看上一頁內容

less:分頁顯示文件內容,空格查看下一頁內容,上下鍵也可查看上/下一頁內容

grep:顯示文本中查找的內容(grep只顯示查找的內容,cat顯示文本所以內容)

grep –n 顯示內容所在行數

|:管道命令,把上一個命令的結果交給 | 後面的命令處理。(一條命令可有多個管道命令)

 

find:文件查找

find 文件路徑 –name 文件名

eg:find / -name aaa.txt 全目錄查找aaa.txt (路徑越詳細查找越快)

★ 搜索一段時間內被存取/變更的文件或目錄:

find /hoem –amin -10    //查找十分鐘內存取的文件或目錄

find /hoem –atime -10   //查找十小時內存取的文件或目錄

find /hoem –cmin -10    //查找十分鐘內更改過的文件或目錄

find /hoem –ctime +10   //查找十小時前更改過的文件或目錄

find /hoem –size +10k    //查找/home目錄下大於10k的文件

a:access 存取   c:change 更改

該查找多用於安全方面,查看黑客在一段時間內動過的系統文件。

 

pwd:查看當前路徑

whereis:查找目標文件的路徑

whereis ssh   //查看ssh的路徑

 

壓縮與解壓縮

zip(壓縮)和unzip(解壓縮)

zip(壓縮):

 

壓縮當前文件夾,兩種方法:

(1)zip –r 111.zip .  //.代表當前文件夾

(2)zip –r 111.zip 文件夾路徑/*(eg:zip –r 111.zip /home/*)

unzip(解壓縮):

將壓縮文件解壓掃某處:unzip *.zip –d /目錄 (如果該目錄下沒某文件會自動創建)

 

gzip(壓縮)和gunzip(解壓):

3.gunzip a.gz     //解壓縮

 

tar.gz解壓:tar -zxvf aaa.tar.gz

 

corntab用於設置周期性被執行的指令,可用於任務調度。

005

終止任務調度:

conrtab –r :終止任務調度

conrtab –l :列出當前有哪些任務調度

 

其他常用命令:

http://www.oschina.net/translate/useful-linux-commands-for-newbies

http://www.tecmint.com/20-advanced-commands-for-middle-level-linux-users/

 

九. Shell

shell,殼,是指“提供使用者使用界面”的軟件,將命令解析成機器語言。從作用上說,類似於cmd,接受用戶命令然後調用相應應用;從功能上說又類似於bat批處理,可將程序編寫成shell執行。

 

shell的分類:

shell名稱     開發者     命令名稱

Bourne     S.R. Bourne    /bin/sh

C          Bill Joy        /bin/csh

Kom        David        /bin/ksh

 

Shell的修改:chsh –s 輸入新的shell   //eg:chsh –s /bin/csh

 

不同shell的命令稍有差別

 

用戶登陸後自動執行的shell腳本文件:

.bashrc 位於用戶主目錄下,它之前執行系統的腳本/etc/bashrc,主要是配置基礎數據

.bash_profile位於用戶主目錄下,它之前執行系統腳本/etc/profile,主要是配置環境變量

 

alias(別名),可簡化常用命令的輸入,shell程序用經常使用

命令:alias 自定義命名=’想要替換的命令’

eg:alias cp=’cp -i’

alias ll=’ls –l –color=tty’

 

十. 軟件的安裝

RPM管理

rpm,RPM Package Manager(RPM軟件包管理器)的縮寫,一種用於互聯網下載包的打包及安裝工具,它包含在某些Linux分發版中。它生成具有.rpm擴展名的文件,與dpkg類似。這一文件格式名稱雖然打上了RedHat的標志,但是其原始設計理念是開放式的,現在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分發版本都有采用,可以算是公認的行業標准了。

 

如何查詢linux中安裝了哪些rpm軟件:

rpm –q   //查看有沒有安裝mysql

006

rpm –qa  //查看所有rpm軟件

007

rpm常用命令:

008

安裝rpm包:

rpm –ivh *.rpm   // i=install安裝;v=verbose提示;h=hash進度條

 

卸載rpm包:

rpm –e *.rpm

//如果其他軟件包依賴於當前要卸載的包,會產生錯誤告警

rpm –e –nodeps *.rpm

//該命令用於強制卸載當前rpm包,但依賴於此包的軟件可能無法運行

 

升級rpm包:

rpm –U *.rpm

 

文件共享:

1.Samba服務器安裝:Linux下開發人員好像喜歡裝這個。

安裝傳送門

2.FTP服務器安裝:大多數Linux機器都是用的這個。

安裝傳送門

3.SCP命令:

scp [OPTIONS] file_source file_target
eg:scp ntp-4.2.8p7-0.10591.1.PTF.959243.x86_64.rpm [email protected]:/home/boco4a

OPTIONS:
-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接、認證、 或是配置錯誤
-C 使能壓縮選項
-P 選擇端口 . 注意 -p 已經被 rcp 使用

4.方便快捷的文件傳輸軟件:sshClient

另外putty、xshell、secureCRT也可用於管理主機,但文件傳輸基於FTP或rz、sz命令。

 

Mysql數據庫的安裝

Mysql數據庫由於免費、跨平台、輕、支持多並發,一直是中小型企業數據庫的首選。

 

安裝:

useradd –g mysql mysql     //創建mysql用戶,並放入到mysql組

進入/home下的mysql文件夾

sripts/mysql_install_db –user=mysql   //初始化數據庫

chown root .                      //修改文件所有者(.代表當前文件目錄)

chown –R mysql data

//修改data文件夾所有者(R參數代表遞歸,表示當前文件夾下所有文件/文件夾)

chgrp –R mysql .                   //改變用戶組

啟動mysql

bin/mysqld_safe –user=mysql &      // & 代表以後台方式啟動

查看端口3306是否起來:netstat –anp | more

進入mysql:

cd bin

./mysql –uroot –p123

//登錄mysql(此種方式只能在/home/mysql/bin下啟動mysql)

如果想在任何目錄都可以啟動mysql,修改環境變量裡面的路徑PATH:

env   //可以看到PATH路徑

在root用戶目錄下 ls –al | more 找到 .bash_profile

(此文件存放用戶變量,系統變量在/etc目錄下)

vi .bash_profile在PATH路徑後面加上mysql路徑

009

注銷/重啟電腦,然後任意路徑都能使用mysql –uroot –p123    進入mysql

(注:只能在此用戶任意目錄,其他用戶照樣修改。如要所有用戶都可以,那就需要改系統變量,在/etc/profile下也存在該文件)

 

數據庫備份與恢復

010

備份操作在mysql下的bin目錄下,非在數據庫中。

恢復的時候要先在數據庫中新建個空數據庫。

 

可以利用任務調度crontab,寫個shell腳本將數據庫自動備份。

http://xxxxxx/Linuxjc/1137424.html TechArticle

Copyright © Linux教程網 All Rights Reserved