Linux學習筆記總結

2021-08-16 18:04:16 字數 4673 閱讀 7492

選擇作業系統

設定終端軟體

如何學習命令

使用者名稱@機器名:當前工作目錄$使用者輸入命令

peter@dog:~$

~ 表示使用者主目錄

lsmkdir 資料夾

rm 檔案

rm -r 資料夾

命令本身 引數 操作物件

the linux command line 教程

man rm 開啟命令手冊

/ 引數 查閱引數使用方法

/ -r

q 退出使用者手冊

檔案系統樹結構

絕對路徑和相對路徑

cd 命令

根目錄當前目錄 pwd

走馬觀花看命令

copy 

拷貝檔案 cp file1 file2

拷貝目錄 cp -r file1 file2

move

mv file dir

rename

mv file1 file2

mv dir1 dir2 # dir2 存在 則為移動操作

remove

rm file

rm -r dir

建立檔案

touch a.txt

>a.txt # 重定向符

建立目錄

mkdir dir

檢視檔案

cat file

檢視檔案型別

file a.txt

unix linux 對檔案字尾名不敏感

cat file

less file

ctrl --

ctrl ++

j 向下

k 向上

/ 進行字元查詢

g 到檔案頭

g 到檔案尾

q 退出檔案

vim 編輯器

echo 列印

萬用字元打包壓縮

unzip file.zip

zip -r file.zip dir/

.tar.gz

解壓 tar zxvf filename.tar.gz

壓縮 tar zcvf filename.tar.gz dir/

.tar.gz2

解壓 tar jxvf filename.tar.gz

壓縮 tar jcvf filename.tar.gz dir/

終端配置

檔案許可權

普通使用者在自己的 hone 目錄下有 寫許可權

在其他目錄下則沒有

超級管理員在任何地方都有 寫許可權

sudo touch aa.txt 以超級管理員的身份執行 系統會要求 密碼

sudo apt-get -y install vim

使用者許可權

三種許可權rw

x檔案模式

ls -l filename

- file

l sym link

d directory

...ls -ld dir

chmod 控制檔案模式

vim a.sh

zz 退出插入模式

./a.sh 執行檔案

chmod +x a.sh

chowm 改變檔案擁有者

重定向date >a.txt

ls /bin|grap less

ls /bin >bin.txt

grep less 重定向前清空

>> 不清空

標準錯誤輸出重定向

2>

2>>

標準輸入資訊(不常用,通常使用管道線)

<

<<

管道線前面乙個命令的輸出 作為後面乙個命令的輸入

cat files.txt|uniq 輸出不重複

cat files.txt|uniq/grep txt 只輸出txt結尾的檔案

cat files.txt|uniq/grep txt/sort 對輸出結果排序

軟體安裝

手動安裝

解壓 tar zxvf /tar jxvf

安裝 path

ln -s /opt/sublime_text_3/sublime_text /usr/bin/subl

進入原始碼目錄

./configure

make

sudo make install

deb 包

程式本身

配置檔案

安裝位置

依賴關係

sudo dpkg -i google-chrome-stable_current_i386.deb

dpkg -l 列出系統上所有安裝過的 deb 包

dpkg -l|grep chrome

dpkg -l google-chrome-stable 檢視 deb 包在系統上安裝了哪些檔案

dpkg -s dir 檢視 dir 來自於哪個包

從 apt-get 倉庫安裝

sudo apt-get install git 安裝

sudo apt-get remove git 解除安裝

sudo apt-get purge git 解除安裝 並刪除配置檔案

apt-cache search name|less 搜尋要安裝的軟體包的包名

搜尋locate 在系統全域性範圍內定位檔案

locate vimrc

locate --regrxp *** 匹配正規表示式

updatedb 每天執行一次 將檔名儲存到資料庫

locate 在資料庫正查詢 而不是在檔案系統中查詢 找不到系統中新建立的檔案

sudo updatedb

find 在乙個目錄範圍內定位檔案

find .

find .|grep .txt

find . -type f

find . -type d

find . -type f -exec ls -l '{}' ';' 

find . -type f -exec grep hello '{}' ';' -print

find . -type f -exec grep -n hello '{}' ';' -print

find . -type f -exec grep -ni hello '{}' ';' -print 忽略大小寫

grep 

程序獲取程序號

pidman ps

ctrl + alt + t 呼出終端

ctrl + shift + t 開啟乙個新的終端標籤

ps aux

ps aux|less

/str 查詢str

ps aux|grep vim

ctrl + shift + c 複製

ctrl + shift + v 貼上

ctrl + a 到行首

後台執行

firefox &

ctrl + z 暫停

bg 後台執行 

fg 回到前台

kill

kill -2 pid

kill -15 pid

kill -9 pid

網路操作

遠端操作

ssh 遠端操作工具

ssh 是網路上兩台機器互聯的一種協議 需要互開 22 埠

客戶端要安裝 相應的軟體 openssh-client

服務端安裝 軟體 openssh-server

ctrl + d 退出伺服器

ssh-keygen 

cd ~/.shh 

ls 會多出兩個檔案

id_rsa 私鑰

id_rsa.pub 公鑰

將公鑰上傳到伺服器 /hone/peter/.ssh/authorized_keys

tmux 強大的終端視窗管理器

tmux -a 回到上次因為網路中斷或者退出連線時的視窗

資料傳輸

rsync 資料傳輸工具

remote synchronization

上傳rsync -r 本地目錄 伺服器:指定的路徑(預設/hone/peter/)

mydir 目錄

mydir/ 目錄中的所有檔案

: 不可缺少

本地增加檔案後同步

前後兩個 / 都不能少

本地刪除檔案後同步

指令碼程式設計

指定解析器

#!/usr/bin/env bash

#!/usr/bin/env python

#!/usr/bin/env ruby

語句即命令

命令對空格非常敏感

指令碼語句對空格**的敏感

位置引數

peter.sh a.txt b.txt

$# 一共有多少個引數

$0 peter.sh

$1 a.txt

$2 b.txt

指令碼不在當前 shell 執行

指令碼中的語句不是在當前 shell 中執行的

新開乙個 shell 執行指令碼中語句

在當前 shell 中執行指令碼語句

source peter.sh

迴圈控制

給當前目錄中的檔案都加上 .txt 的字尾

cd $1

echo i am in `pwd`

for file in `ls`

domv $file $file.txt

done

遠端執行

確認執行

其他語言寫指令碼

linux學習筆記總結

for讀取列表中複雜值 for test in i don t konw if this ll work do shell會把列表中的單引號嘗試使用他們來一定乙個單獨的資料 兩種辦法解決 1 使用轉義字元 反斜線 來將單引號轉義 2 使用雙引號來定義用到的單引號 for test in i don ...

Linux學習筆記總結

一.檔案操作 linux裡面裡的檔案裡沒有字尾名的區別,所有的檔案都一樣,只看檔名,字尾名新增只是為了區分檔案的用途 a.建立檔案 jun vm 0 7 centos touch jun.txt touch 檔名b.刪除檔案 jun vm 0 7 centos rm rf jun.txt rm 檔名...

linux學習筆記 tar命令總結

首先,看下man tar name tar the gnu version of the tape archiver tar utility synopsis tar options operations a catenate concatenate c create 打包檔案 d diff com...