linux基礎瞭解的學習記錄

1、文件結構圖

linux的儲存結構爲文件樹

2、絕對路徑、相對路徑、權限

一、絕對路徑:

/usr/local/include       在路徑的最前面是 / 開頭的html

使用環境:當在當前路徑下想到其餘路徑顯得文件,需使用絕對路徑。python

二、相對路徑:

local/include             在路徑的最前面沒有 / 開頭的linux

使用環境:當在當前路徑下想進入當前路徑下的文件時,可以使用相對路徑。正則表達式

三、權限:

文件有執行的權限shell

drwx rw- rw-        d表示是文件而不是文件夾(文件夾d的位置是-),r表示有讀的權限,w表示有寫的權限,x表示有執行的權限(-表示沒有給位置的權限)ubuntu

3、linux命令、通配符(相似正則表達式)

linux命令:

touch hello.txt       建立一個空的文件vim

mkdir /home/python/djcode      建立一個空的文件夾路徑windows

tab鍵            自動補全,當輸入的命令太長時,輸入幾個字符就能夠按tab鍵系統自動補全其餘字符centos

更多經常使用見:http://www.cnblogs.com/Guido-admirers/p/6210267.html安全

經常使用文本編輯器VIM:http://www.cnblogs.com/Guido-admirers/p/6201370.html

通配符(ls過濾):

*          表示匹配一個或多個字符

?          表示匹配一個字符

[abc]     表示匹配[]內的任意一個字符內容

[a-c]     表示匹配[]內的任意一個字符內容

 \          轉義符,後面的內容沒有通配符含義

重定向:

>  從新定向輸出的位置,有文件就清空原文件,沒有文件就建立新的文件,把內容輸出到指定的文件

>> 從新定向輸出的位置,追加文件內容,其餘同上

cat:

輸出文件全部內容到屏幕,直接顯示到結尾(適合小文件的查看)

cat 123.py 345.py > 101.py(合併123和345重定向到101文件)

more:

輸出文件全部內容到屏幕,從開頭開始顯示,分屏顯示(適合大文件的查看)

管道(|):

前方的命令的輸出做爲後面的命令的輸入

cd ~:

進入當前用戶的家目錄

cd -:

快速回到上一次的工做路徑

rm:

rm 刪除文件 

rmdir   刪除文件夾,可是不能刪除空的文件夾

rm -r    遞歸的刪除目錄下的全部內容

rm -f    強制刪除,忽略不存在的文件,無需提示

rm -i    以進行交互式方式執行

ln:

建立軟連接

ln -s 源文件 連接文件

源文件被刪後,經過軟鏈接沒法找到文件內容

建立硬連接

ln 源文件 連接文件

至關於給原文件增長文件名,經過rm刪除的時候系統會檢測該文件有幾個文件名,而後刪除其中的一個文件名,而非刪除文件內容。

grep:

' ' 號內的內容爲正則表達式,在文件中按內容查找

grep -n 'a' 111.py(在111文件內尋找'a', -n顯示搜索獲得行號)

grep -n '^a' 111.py(在111文件內尋找'a'開頭的一行)

grep -n 'a$' 111.py(在111文件內尋找'a'結尾的的一行)

grep -n '[Hh]ello' 111.py(在111文件內尋找'hello'或'Hello')

find:

查找文件(文件名可用正則表達式進行匹配)

find ./ -name text.sh(./表示在當前路徑下查找)

find /home/ -name '*.sh'(在home路徑下找.sh爲結尾的文件名)

find /home/ -size +2M(在home路徑下找文件大小大於2M的文件,-2M爲小於)

find /home -size +3K -size -5M(查找home下文件大小在3K到5M之間的文件)

find /home -perm 0777(查找當前目錄下權限爲777的文件或目錄)

cp:

拷貝(tree顯示文件樹)

cp 123.py /home/name/pycode -arf(拷貝123到pycode文件夾,'a'所有內容包括連接文件屬性等等,'r'遞歸的執行下面的全部文件,'f'不進行提醒確認。)

mv:

剪切、移動文件、重命名

tar:

歸檔管理

1|  -c    生成檔案文件,建立打包文件
2|  -v    列出歸檔解檔的詳細過程,顯示進度
3|  -f     指定歸檔文件名稱,f後面必定是.tar文件,因此必須放選項最後
4|  -t     列出檔案中包含的文件
5|  -x     解開檔案文件

除了f 要放在最後其餘無順序。

打包命令:tar -cvf text.tar t1.py t2.py t3.py(選項加z,表示打包壓縮)

解包命令:tar -xvf text.tar -C /home/name/pycode(-C指定解壓文件路徑,選項加z,表示解壓解包)

gzip:

壓縮打包文件:gzip -r text.tar text.tar.gz或者gzip text.tar

解壓壓縮文件:gzip -d text.tar.gz

bzip2:

文件格式爲text.tar.bz2

用法同前,區別zxvf—>jxvf, zcvf—>jcvf

zip與unzip:

跨平臺的文件格式

壓縮文件:zip myzip 目標文件(沒有擴展名)源文件

解壓文件:unzip -d text myzip.zip (解壓後目錄文件 壓縮文件)

which:

查看命令位置

經常使用的的系統管理命令:

cal:

查看系統當前的日曆

date:

顯示當前時間

修改時間:date 010203042016.55      (date [MMDDhhmm[[CC]YY][.ss]]+ format)

顯示格式:date "+%y,%m,%d,%H,%M,%S"

ps:

查看進程信息

ps -aux

1|  -a    顯示終端上的全部進程
2|  -u    顯示進程的詳細狀態
3|  -x    顯示沒有控制終端的進程
4|  -w   顯示加寬,以便顯示更多信息
5|  -r    只顯示正在運行的進程

reboot\shutdown:

重啓、關機

kill -9:

殺死進程

ctrl+shift+t再開一個終端

top:

顯示當前資源利用率的動態顯示,在top命令執行後,能夠按下案件獲得對顯示的結果進行排序:

M    根據內存使用量來排序
P    根據cpu佔有率來排序
T    根據進程運行時間的長短來排序
U    能夠根據後面輸入的用戶名來篩選進程
K    能夠根據後面輸入的PID來殺死進程
q    退出
h    得到幫助

df:

檢測磁盤空間

df -lh

du:

檢測當前目錄所佔磁盤空間

1|  -a    遞歸顯示指定目錄中各文件和子目錄中文件佔用的數據塊
2|  -s    顯示指定文件或目錄佔用的數據塊
3|  -b    以字節爲單位顯示磁盤佔用狀況
4|  -l     計算全部文件大小,對硬連接文件計算屢次

ifconfig:

查看網卡信息

ping:

測試遠程主機連通性

用戶和權限相關的命令:

who:

查看當前全部登錄系統的用戶信息。

ctrl+alt+F2(F2—F6)轉變黑屏顯示,F1爲圖形界面(centos7)

who -q (顯示有幾個用戶登陸)

whoami (查看當前登陸用戶)

ssh:

遠程登錄電腦命令,ping通以後可執行下方命令

ssh 用戶名@IP地址

(windows使用xshell來進行遠程鏈接)

useradd:

添加用戶

useradd guido -m  (自動建立用戶的家目錄)

useradd guido -d /home/name  (指定用戶家目錄)

passwd guido  (修改該用戶的密碼)

su guido  (切換用戶)

userdel guido:

刪除用戶

再切換多用戶後,想刪除用戶,須要關閉用戶,才能夠刪除。每次su一次,是保留原用戶登陸登錄其餘用戶,exit會返回上一次的用戶登陸關閉本次登錄。

用戶切換登陸、刪除權限示意圖:

用戶組管理:

查看有哪些用戶組

一、cat /etc/group    (cat /etc/passwd  查看用戶)

二、groupmod +三次tab鍵  (ubuntu中有效,centos中無效,其餘未驗證)

添加、刪除組

groupadd (添加)

groupdel(刪除)

查看用戶在那些用戶組

groups 用戶名

修改用戶所在組

usermod -g 用戶組 用戶名   (修改用戶默認組)

usermod -a -G 用戶組 用戶名  (添加用戶名到用戶組)

爲建立的普通用戶添加sudo權限

usermod -a -G adm
usermod -a -G sudo

文件的權限修改:

chmod

字母法:

chmod u+x d.py(添加權限)

chmod o-r d.py(刪除權限)

chmod g=w d.py (賦予權限)

chmod a=x d.py  (a表明所有)

數字法:

r          4

w         2

x         1

chmod u=1,g=2,o=4 d.py

chmod u=7 d.py

chmod 761   (擁有者、同組成員、其餘)

修改文件的全部者

chown 用戶名 文件或目錄名

修改文件所屬組

chgrp 用戶組名 文件或目錄名

 

linux經常使用服務器構建-ftp服務器

 

FTP是File Transfer Protocol (文件傳輸協議)的英文簡稱,而中文簡稱爲「文傳協議」。

用於Internet上的控制文件的雙向傳輸。

同時,它也是一個應用程序(Application)。基於不一樣的操做系統有不一樣的FTP應用程序,而全部這些應用程序都遵照同一種協議以傳輸文件。

在FTP的使用當中,用戶常常遇到兩個概念:「下載」(Download)和「上傳」(Upload)。

「下載」文件就是從遠程主機拷貝文件至本身的計算機上;

「上傳」文件就是將文件從本身的計算機中拷貝至遠程主機上。用Internet語言來講,用戶可經過客戶機程序向(從)遠程主機上傳(下載)文件。

FTP服務器的下載安裝與配置

下載安裝
sudo yum install vsftpd

配置vsftpd.conf文件
sudo vim /etc/vsftpd.conf                      #打開vsftpd.conf

修改內容
anonymous_enable=No                        #不容許匿名用戶登陸
local_root=/home/python/ftp                #指定ftp上傳下載目錄
local_enable=YES                                  #容許本機登錄
chroot_list_enable=YES                         
chroot_list_file=/etc/vsftpd.chroot_list   #容許該文件中的用戶名進行登陸FTP服務器
write_enable=YES                                  #容許上傳文件到FTP服務器

創建如下文件,並將一個用戶名放到此文件中
sudo vim /etc/vsftpd.chroot_list

將此ftp文件夾的擁有者的權限減去w,即文件夾的擁有者不能有寫的權限
在文件夾中創建一個文件夾share,此文件夾就是使用ftp客戶端進行下載、上傳時的文件夾

重啓FTP服務器,由於已經修改過/etc/vsftpd.conf,因此只有重啓,才能使ftp服務器按照配置進行工做
sudo /etc/init.d/vsftpd restart

測試上傳功能,登陸ftp服務器
ftp IP
上傳put
下載get

 

linux經常使用服務器構建-ssh和scp

1.ssh

介紹:

SSH爲Secure Shell的縮寫,由IETF的網絡工做小組(Network Working Group)所制定;SSH爲創建在應用層和傳輸層基礎上的安全協議。

SSH是目前較可靠,專爲遠程登陸會話和其餘網絡服務提供安全性的協議。經常使用於遠程登陸,以及用戶之間進行資料拷貝。

利用SSH協議能夠有效防止遠程管理過程當中的信息泄露問題。SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其餘操做平臺。SSH在正確使用時能夠彌補網絡中的漏洞。SSH客戶端適用於多種平臺。

使用SSH服務,須要安裝相應的服務器和客戶端。客戶端和服務器的關係:若是,A機器想B機器遠程控制,那麼,A機器須要安裝SSH服務器,B機器須要安裝SSH客戶端。

安裝:

sudo yum install openssh-server(安裝)

ssh 用戶名@IP (登陸)

二、scp

遠程拷貝文件,scp -r的經常使用方法:

使用格式:

下載

scp -r 目標用戶名@目標主機IP地址:/目標文件的絕對路徑  /保存到本機的絕對或相對路徑

scp 192.168.1.1:/home/python/b.txt ./    (保存文件到當前目錄下)

上傳

scp -r /保存在本機的絕對或相對路徑   目標用戶名@目標主機IP地址:/目標文件的絕對路徑

scp a.txt 192.168.1.1:/home/python/   (把本地文件上傳到服務器的該路徑下)

相關文章
相關標籤/搜索